64template<
class Po
int,
class Po
intRef>
class tetrahedron;
66template<
class Po
int,
class Po
intRef>
73template<
class Po
int,
class Po
intRef>
86template<
class Po
int,
class Po
intRef>
135 PointRef a_, b_, c_, d_;
137 inline static point planeIntersection
145 template<
class TetOp>
146 inline static void decomposePrism
152 template<
class AboveTetOp,
class BelowTetOp>
153 inline static void tetSliceWithPlane
200 inline const Point&
a()
const;
202 inline const Point&
b()
const;
204 inline const Point&
c()
const;
206 inline const Point&
d()
const;
230 inline scalar
mag()
const;
269 template<
class AboveTetOp,
class BelowTetOp>
320 friend Ostream& operator<< <Point, PointRef>
A 1D vector of objects of type <T> with a fixed length <N>.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Describes the interaction of a face and a point. It carries the info of a successful hit and (if succ...
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
A bounding box defined in terms of min/max extrema points.
Geometric class that creates a 3D plane and can return the intersection point between a line and the ...
Tet storage. Null constructable (unfortunately tetrahedron<point, point> is not)
void operator()(const tetPoints &)
void operator()(const tetPoints &)
void operator()(const tetPoints &)
Point circumCentre() const
Return circum-centre.
barycentric pointToBarycentric(const point &pt) const
Calculate the barycentric coordinates from the given point.
pointHit containmentSphere(const scalar tol) const
Return (min)containment sphere, i.e. the smallest sphere with.
void gradNiDotGradNj(scalarField &buffer) const
void gradNiGradNi(tensorField &buffer) const
vector Sd() const
Face area normal for side d.
triPointRef tri(const label facei) const
Return i-th face.
boundBox bounds() const
Calculate the bounding box.
scalar circumRadius() const
Return circum-radius.
const Point & a() const
Return vertices.
Point centre() const
Return centre (centroid)
vector Sc() const
Face area normal for side c.
bool inside(const point &pt) const
Return true if point is inside tetrahedron.
vector Sb() const
Face area normal for side b.
scalar mag() const
Return volume.
void tetOverlap(const tetrahedron< Point, PointRef > &tetB, tetIntersectionList &insideTets, label &nInside, tetIntersectionList &outsideTets, label &nOutside) const
Decompose tet into tets inside and outside other tet.
void gradNiGradNj(tensorField &buffer) const
pointHit nearestPoint(const point &p) const
Return nearest point to p on tetrahedron. Is p itself.
Point randomPoint(Random &rndGen) const
Return a random point in the tetrahedron from a.
FixedList< tetPoints, 200 > tetIntersectionList
Storage type for tets originating from intersecting tets.
void sliceWithPlane(const plane &pl, AboveTetOp &aboveOp, BelowTetOp &belowOp) const
Decompose tet into tets above and below plane.
Point barycentricToPoint(const barycentric &bary) const
Calculate the point from the given barycentric coordinates.
scalar quality() const
Return quality: Ratio of tetrahedron and circum-sphere.
void gradNiSquared(scalarField &buffer) const
Fill buffer with shape function products.
vector Sa() const
Face area normal for side a.
A triangle primitive used to calculate face normals and swept volumes.
tetrahedron< point, const point & > tetPointRef
A tetrahedron using referred points.
Forward declarations of the specialisations of Field<T> for scalar, vector and tensor.