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,
264 const scalar tol = 0.0
342 template<
unsigned SizeInc,
unsigned SizeMult,
unsigned SizeDiv>
406 face result(x.size());
410 result[xI] = x[xI] + offset;
A simple container for copying or transferring objects of type <T>.
label nTrianglesQuads(const pointField &points, label &nTris, label &nQuads) const
Number of triangles and quads after splitting.
#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.
edgeList edges() const
Return edges in face point ordering,.
friend Istream & operator>>(Istream &, face &)
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
label nEdges() const
Return number of edges.
label nextLabel(const label i) const
Next vertex on face.
tensor inertia(const pointField &, const point &refPt=vector::zero, scalar density=1.0) const
Return the inertia tensor, with optional reference.
point centre(const pointField &) const
Centre point of face.
label which(const label globalIndex) const
Navigation through face vertices.
label triangles(const pointField &points, label &triI, faceList &triFaces) const
Split into triangles using existing points.
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.
label prevLabel(const label i) const
Previous vertex on face.
vector normal(const pointField &) const
Return unit normal.
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...
face reverseFace() const
Return face with reverse direction.
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.
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...
int edgeDirection(const edge &) const
Return the edge direction on the face.
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.
mode_t mode(const fileName &, const bool followLink=true)
Return the file mode.
scalar mag(const pointField &) const
Return scalar magnitude.
label trianglesQuads(const pointField &points, label &triI, label &quadI, faceList &triFaces, faceList &quadFaces) const
Split into triangles and quads.
Type average(const pointField &, const Field< Type > &) const
Calculate average value at centroid of face.
pointField points(const pointField &) const
Return the points corresponding to this face.
scalar areaInContact(const pointField &, const scalarField &v) const
Return area in contact, given the displacement in vertices.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
vector area(const pointField &) const
Return vector area.
static const char *const typeName
scalar sweptVol(const pointField &oldPoints, const pointField &newPoints) const
Return the volume swept out by the face when its points move.
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 nearestPoint(const point &p, const pointField &) const
Return nearest point to face.
void flip()
Flip the face in-place.
friend bool operator==(const face &a, const face &b)
friend bool operator!=(const face &a, const face &b)
label nTriangles() const
Number of triangles after splitting.
A class for managing temporary objects.
edge faceEdge(const label n) const
Return n-th face edge.
bool operator!=(const particle &, const particle &)
scalar contactSphereDiameter(const point &p, const vector &n, const pointField &) const
Return contact sphere diameter.
static const Vector< scalar > zero
pointHit nearestPointClassify(const point &p, const pointField &, label &nearType, label &nearLabel) const
Return nearest point to face and classify it: