Go to the documentation of this file.
64 template<
class Po
int,
class Po
intRef>
class tetrahedron;
66 template<
class Po
int,
class Po
intRef>
73 template<
class Po
int,
class Po
intRef>
86 template<
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>
bool inside(const point &pt) const
Return true if point is inside tetrahedron.
pointHit nearestPoint(const point &p) const
Return nearest point to p on tetrahedron. Is p itself.
Forward declarations of the specialisations of Field<T> for scalar, vector and tensor.
Describes the interaction of a face and a point. It carries the info of a successful hit and (if succ...
void operator()(const tetPoints &)
Point circumCentre() const
Return circum-centre.
tetrahedron(const Point &a, const Point &b, const Point &c, const Point &d)
Construct from points.
void gradNiGradNi(tensorField &buffer) const
tetrahedron< point, const point & > tetPointRef
A tetrahedron using referred points.
Geometric class that creates a 3D plane and can return the intersection point between a line and the ...
A triangle primitive used to calculate face normals and swept volumes.
void gradNiDotGradNj(scalarField &buffer) const
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
pointHit containmentSphere(const scalar tol) const
Return (min)containment sphere, i.e. the smallest sphere with.
vector Sb() const
Face area normal for side b.
void operator()(const tetPoints &)
scalar circumRadius() const
Return circum-radius.
scalar quality() const
Return quality: Ratio of tetrahedron and circum-sphere.
void gradNiSquared(scalarField &buffer) const
Fill buffer with shape function products.
barycentric pointToBarycentric(const point &pt) const
Calculate the barycentric coordinates from the given point.
Tet storage. Null constructable (unfortunately tetrahedron<point, point> is not)
const Point & a() const
Return vertices.
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
triPointRef tri(const label facei) const
Return i-th face.
vector Sa() const
Face area normal for side a.
Point randomPoint(Random &rndGen) const
Return a random point in the tetrahedron from a.
A 1D vector of objects of type <T> with a fixed length <N>.
Point centre() const
Return centre (centroid)
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
vector Sd() const
Face area normal for side d.
FixedList< tetPoints, 200 > tetIntersectionList
Storage type for tets originating from intersecting tets.
A bounding box defined in terms of min/max extrema points.
storeOp(tetIntersectionList &, label &)
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
boundBox bounds() const
Calculate the bounding box.
vector Sc() const
Face area normal for side c.
scalar mag() const
Return volume.
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.
void operator()(const tetPoints &)