63 template<
class Po
int,
class Po
intRef>
class tetrahedron;
65 template<
class Po
int,
class Po
intRef>
72 template<
class Po
int,
class Po
intRef>
83 template<
class Po
int,
class Po
intRef>
90 PointRef a_, b_, c_, d_;
131 inline const Point&
a()
const;
133 inline const Point&
b()
const;
135 inline const Point&
c()
const;
137 inline const Point&
d()
const;
154 inline Point
centre()
const;
157 inline scalar
mag()
const;
225 friend Istream&
operator>> <Point, PointRef>
231 friend Ostream& operator<< <Point, PointRef>
A triangle primitive used to calculate face normals and swept volumes.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
pointHit containmentSphere(const scalar tol) const
Return (min)containment sphere, i.e. the smallest sphere with.
scalar circumRadius() const
Return circum-radius.
tetrahedron(const Point &a, const Point &b, const Point &c, const Point &d)
Construct from points.
Point circumCentre() const
Return circum-centre.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
void gradNiSquared(scalarField &buffer) const
Fill buffer with shape function products.
const Point & a() const
Return vertices.
A bounding box defined in terms of the points at its extremities.
Point barycentricToPoint(const barycentric &bary) const
Calculate the point from the given barycentric coordinates.
Forward declarations of the specialisations of Field<T> for scalar, vector and tensor.
scalar quality() const
Return quality: Ratio of tetrahedron and circum-sphere.
void gradNiGradNi(tensorField &buffer) const
scalar mag() const
Return volume.
cachedRandom rndGen(label(0), -1)
vector Sa() const
Return face normal.
Point centre() const
Return centre (centroid)
bool inside(const point &pt) const
Return true if point is inside tetrahedron.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
Simple random number generator.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
triPointRef tri(const label facei) const
Return i-th face.
boundBox bounds() const
Calculate the bounding box.
barycentric pointToBarycentric(const point &pt) const
Calculate the barycentric coordinates from the given point.
void gradNiGradNj(tensorField &buffer) const
pointHit nearestPoint(const point &p) const
Return nearest point to p on tetrahedron. Is p itself.
void gradNiDotGradNj(scalarField &buffer) const
Point randomPoint(Random &rndGen) const
Return a random point in the tetrahedron from a.