Go to the documentation of this file.
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);
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;
label longestEdge(const face &f, const pointField &pts)
Find the longest edge on a face. Face point labels index into pts.
vector normal(const pointField &) const
Vector normal; magnitude is equal to area of face.
vectorField pointField
pointField is a vectorField.
static const char *const typeName
Templated 3D tensor derived from VectorSpace adding construction from 9 components,...
int edgeDirection(const edge &) const
Return the edge direction on the face.
face reverseFace() const
Return face with reverse direction.
label trianglesQuads(const pointField &points, label &triI, label &quadI, faceList &triFaces, faceList &quadFaces) const
Split into triangles and quads.
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.
scalar mag(const pointField &) const
Magnitude of face area.
#define forAll(list, i)
Loop across all elements in list.
Type average(const pointField &, const Field< Type > &) const
Calculate average value at centroid of face.
A class for managing temporary objects.
This class describes the interaction of a face and a point. It carries the info of a successful hit a...
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
friend bool operator!=(const face &a, const face &b)
label nEdges() const
Return number of edges.
label split(const splitMode mode, const pointField &points, label &triI, label &quadI, faceList &triFaces, faceList &quadFaces) const
Split face into triangles or triangles&quads.
edge faceEdge(const label n) const
Return n-th face edge.
friend Istream & operator>>(Istream &, face &)
point centre(const pointField &) const
Centre point of face.
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
label nTriangles() const
Number of triangles after splitting.
tmp< fvMatrix< Type > > operator==(const fvMatrix< Type > &, const fvMatrix< Type > &)
label triangles(const pointField &points, label &triI, faceList &triFaces) const
Split into triangles using existing points.
scalar contactSphereDiameter(const point &p, const vector &n, const pointField &) const
Return contact sphere diameter.
scalar edgeCos(const vectorField &edges, const label index) const
Cos between neighbouring edges.
A simple container for copying or transferring objects of type <T>.
scalar sweptVol(const pointField &oldPoints, const pointField &newPoints) const
Return the volume swept out by the face when its points move.
mode_t mode(const fileName &)
Return the file mode.
label which(const label globalIndex) const
Navigation through face vertices.
scalar areaInContact(const pointField &, const scalarField &v) const
Return area in contact, given the displacement in vertices.
tmp< vectorField > calcEdges(const pointField &points) const
Construct list of edge vectors for face.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
label nTrianglesQuads(const pointField &points, label &nTris, label &nQuads) const
Number of triangles and quads after splitting.
const dimensionedScalar b
Wien displacement law constant: default SI units: [m.K].
Pre-declare SubField and related Field type.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
tensor inertia(const pointField &, const point &refPt=vector::zero, scalar density=1.0) const
Return the inertia tensor, with optional reference.
label mostConcaveAngle(const pointField &points, const vectorField &edges, scalar &edgeCos) const
Find index of largest internal angle on face.
proxType
Return types for classify.
pointHit nearestPointClassify(const point &p, const pointField &, label &nearType, label &nearLabel) const
Return nearest point to face and classify it:
bool operator!=(const particle &, const particle &)
void flip()
Flip the face in-place.
edgeList edges() const
Return edges in face point ordering,.
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
friend bool operator==(const face &a, const face &b)
pointField points(const pointField &) const
Return the points corresponding to this face.
pointHit nearestPoint(const point &p, const pointField &) const
Return nearest point to face.
label prevLabel(const label i) const
Previous vertex on face.
label nextLabel(const label i) const
Next vertex on face.
A triangular face using a FixedList of labels corresponding to mesh vertices.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
label right(const label i) const
Edge to the right of face vertex i.
splitMode
Enumeration listing the modes for split()
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
Istream & operator>>(Istream &, edgeMesh &)
label collapse()
Collapse face by removing duplicate point labels.
A face is a list of labels corresponding to mesh vertices.
static int compare(const face &, const face &)
Compare faces.
label left(const label i) const
Edge to the left of face vertex i.
static bool sameVertices(const face &, const face &)
Return true if the faces have the same 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.