40#ifndef faceAreaIntersect_H
41#define faceAreaIntersect_H
93 bool cacheTriangulation_;
116 inline void setTriPoints
126 inline point planeIntersection
135 inline scalar triArea(
const triPoints& t)
const;
141 void triSliceWithPlane
151 void triangleIntersect
174 const bool reverseB =
false,
226 const scalar threshold
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
Enum is a wrapper around a list of names/values that represent particular enumeration (or int) values...
A 1D vector of objects of type <T> with a fixed length <N>.
void calc(const face &faceA, const face &faceB, const vector &n, scalar &area, vector ¢roid) const
bool overlaps(const face &faceA, const face &faceB, const vector &n, const scalar threshold) const
Return area of intersection of faceA with faceB.
static void triangleFan(const face &f, DynamicList< face > &faces)
Decompose face into triangle fan.
const DynamicList< triPoints > triangles() const
Const access to the triangulation.
static const Enum< triangulationMode > triangulationModeNames_
bool cacheTriangulation() const
Const access to the cacheTriangulation flag.
static void triangulate(const face &f, const pointField &points, const triangulationMode &triMode, faceList &faceTris)
Triangulate a face using the given triangulation mode.
static scalar & tolerance()
Fraction of local length scale to use as intersection tolerance.
A face is a list of labels corresponding to mesh vertices.
Geometric class that creates a 3D plane and can return the intersection point between a line and the ...
Triangle storage. Null constructable (unfortunately triangle<point, point> is not)
void reverse(UList< T > &list, const label n)
Reverse the first n elements of the list.