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,
150 template<
class Po
intField>
154 template<
class Po
intField>
277 const scalar tol = 0.0
355 template<
unsigned SizeInc,
unsigned SizeMult,
unsigned SizeDiv>
425 face result(x.size());
429 result[xI] = x[xI] + offset;
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.
mode_t mode(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file mode.
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.
pointHit ray(const point &p, const vector &n, const pointField &, const intersection::algorithm alg=intersection::algorithm::fullRay, const intersection::direction dir=intersection::direction::vector) const
Return potential intersection with face with a ray starting.
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.
static vector area(const PointField &ps)
Return vector area given face points.
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.
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.
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...
static const char *const typeName
static vector centre(const PointField &ps)
Return centre point given face points.
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
void operator=(labelList &&)
Move assignment labelList.
pointHit nearestPointClassify(const point &p, const pointField &, label &nearType, label &nearLabel) const
Return nearest point to face and classify it: