65 template<
class T,
unsigned SizeInc,
unsigned SizeMult,
unsigned SizeDiv>
68 inline bool operator==(
const face& a,
const face&
b);
69 inline bool operator!=(
const face& a,
const face&
b);
102 label mostConcaveAngle
123 const splitMode
mode,
261 const scalar tol = 0.0
339 template<
unsigned SizeInc,
unsigned SizeMult,
unsigned SizeDiv>
403 face result(x.size());
407 result[xI] = x[xI] + offset;
int edgeDirection(const edge &) const
Return the edge direction on the face.
pointHit intersection(const point &p, const vector &q, const point &ctr, const pointField &, const intersection::algorithm alg, const scalar tol=0.0) const
Fast intersection with a ray.
A simple container for copying or transferring objects of type <T>.
point centre(const pointField &) const
Centre point of face.
label trianglesQuads(const pointField &points, label &triI, label &quadI, faceList &triFaces, faceList &quadFaces) const
Split into triangles and quads.
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
friend Ostream & operator(Ostream &, const UList< T > &)
A face is a list of labels corresponding to mesh vertices.
proxType
Return types for classify.
label nEdges() const
Return number of edges.
label which(const label globalIndex) const
Navigation through face vertices.
friend Istream & operator>>(Istream &, face &)
tensor inertia(const pointField &, const point &refPt=vector::zero, scalar density=1.0) const
Return the inertia tensor, with optional reference.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
scalar contactSphereDiameter(const point &p, const vector &n, const pointField &) const
Return contact sphere diameter.
label prevLabel(const label i) const
Previous vertex on face.
vector normal(const pointField &) const
Vector normal; magnitude is equal to area of face.
label collapse()
Collapse face by removing duplicate point labels.
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
Type average(const pointField &, const Field< Type > &) const
Calculate average value at centroid of face.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects...
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
const dimensionedScalar b
Wien displacement law constant: default SI units: [m.K].
tmp< fvMatrix< Type > > operator==(const fvMatrix< Type > &, const fvMatrix< Type > &)
A triangular face using a FixedList of labels corresponding to mesh vertices.
Istream & operator>>(Istream &, directionInfo &)
static int compare(const face &, const face &)
Compare faces.
scalar sweptVol(const pointField &oldPoints, const pointField &newPoints) const
Return the volume swept out by the face when its points move.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
edgeList edges() const
Return edges in face point ordering,.
scalar areaInContact(const pointField &, const scalarField &v) const
Return area in contact, given the displacement in vertices.
static const char *const typeName
pointHit nearestPoint(const point &p, const pointField &) const
Return nearest point to face.
label nTrianglesQuads(const pointField &points, label &nTris, label &nQuads) const
Number of triangles and quads after splitting.
edge faceEdge(const label n) const
Return n-th face edge.
label longestEdge(const face &f, const pointField &pts)
Find the longest edge on a face. Face point labels index into pts.
static bool sameVertices(const face &, const face &)
Return true if the faces have the same vertices.
pointHit ray(const point &p, const vector &n, const pointField &, const intersection::algorithm alg=intersection::FULL_RAY, const intersection::direction dir=intersection::VECTOR) const
Return potential intersection with face with a ray starting.
pointHit nearestPointClassify(const point &p, const pointField &, label &nearType, label &nearLabel) const
Return nearest point to face and classify it:
label nTriangles() const
Number of triangles after splitting.
mode_t mode(const fileName &)
Return the file mode.
void flip()
Flip the face in-place.
label triangles(const pointField &points, label &triI, faceList &triFaces) const
Split into triangles using existing points.
face reverseFace() const
Return face with reverse direction.
label nextLabel(const label i) const
Next vertex on face.
friend bool operator==(const face &a, const face &b)
static const Vector< scalar > zero
friend bool operator!=(const face &a, const face &b)
A class for managing temporary objects.
bool operator!=(const particle &, const particle &)
scalar mag(const pointField &) const
Magnitude of face area.
pointField points(const pointField &) const
Return the points corresponding to this face.