66 inline bool operator==(
const face& a,
const face&
b);
67 inline bool operator!=(
const face& a,
const face&
b);
96 template<
class Po
intField>
100 template<
class Po
intField>
104 template<
class Po
intField>
110 template<
class Po
intField>
233 const scalar tol = 0.0
327 inline face operator()
333 face result(
x.size());
#define forAll(list, i)
Loop across all elements in list.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
A 2-tuple for storing two objects of different types.
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
A face is a list of labels corresponding to mesh vertices.
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.
void flip()
Flip the face in-place.
pointField points(const pointField &) const
Return the points corresponding to this face.
tensor inertia(const pointField &, const point &refPt=vector::zero, scalar density=1.0) const
Return the inertia tensor, with optional reference.
scalar areaInContact(const pointField &, const scalarField &v) const
Return area in contact, given the displacement in vertices.
scalar mag(const pointField &) const
Return scalar magnitude.
int edgeDirection(const edge &) const
Return the edge direction on the face.
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.
pointHit nearestPoint(const point &p, const pointField &) const
Return nearest point to face.
friend Istream & operator>>(Istream &, face &)
static int compare(const face &, const face &)
Compare faces.
proxType
Return types for classify.
static bool sameVertices(const face &, const face &)
Return true if the faces have the same vertices.
friend bool operator==(const face &a, const face &b)
scalar sweptVol(const pointField &oldPoints, const pointField &newPoints) const
Return the volume swept out by the face when its points move.
void operator=(labelList &&)
Move assignment labelList.
label nextLabel(const label i) const
Next vertex on face.
static vector centre(const PointField &ps)
Return centre point given face points.
vector normal(const pointField &) const
Return unit normal.
label collapse()
Collapse face by removing duplicate point labels.
face reverseFace() const
Return face with reverse direction.
label nTriangles() const
Size of the face's triangulation.
Type average(const pointField &, const Field< Type > &) const
Calculate average value at centroid of face.
edgeList edges() const
Return edges in face point ordering,.
static Tuple2< vector, point > areaAndCentreStabilised(const PointField &)
Return vector area and centre point given face points. Stabilised.
scalar contactSphereDiameter(const point &p, const vector &n, const pointField &) const
Return contact sphere diameter.
static vector area(const PointField &ps)
Return vector area given face points.
pointHit nearestPointClassify(const point &p, const pointField &, label &nearType, label &nearLabel) const
Return nearest point to face and classify it:
label which(const label globalIndex) const
Navigation through face vertices.
friend bool operator!=(const face &a, const face &b)
label prevLabel(const label i) const
Previous vertex on face.
label nEdges() const
Return number of edges.
static const char *const typeName
edge faceEdge(const label n) const
Return n-th face edge.
static Tuple2< vector, point > areaAndCentre(const PointField &)
Return vector area and centre point given face points.
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
A triangular face using a FixedList of labels corresponding to mesh vertices.
bool operator!=(const particle &, const particle &)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
tmp< fvMatrix< Type > > operator==(const fvMatrix< Type > &, const fvMatrix< Type > &)
vectorField pointField
pointField is a vectorField.
Istream & operator>>(Istream &, pistonPointEdgeData &)
label longestEdge(const face &f, const pointField &pts)
Find the longest edge on a face. Face point labels index into pts.
void offset(label &lst, const label o)