67template<
class T,
int SizeMin>
class DynamicList;
86 label mostConcaveAngle
107 const splitMode
mode,
140 inline explicit
face(const label sz);
149 inline explicit
face(std::initializer_list<label> list);
219 inline label
which(
const label pointLabel)
const;
223 inline label
thisLabel(
const label i)
const;
226 inline label
nextLabel(
const label i)
const;
229 inline label
prevLabel(
const label i)
const;
279 const scalar tol = 0.0
314 const scalar tol = SMALL
398 template<
int SizeMin>
448 inline
unsigned hash_code(
unsigned seed=0)
const
497 inline face operator()
503 face result(
x.size());
507 result[i] =
x[i] + offset;
Info<< nl<< "Wrote faMesh in vtk format: "<< writer.output().name()<< nl;}{ vtk::lineWriter writer(aMesh.points(), aMesh.edges(), fileName(aMesh.mesh().time().globalPath()/"finiteArea-edges"));writer.writeGeometry();writer.beginCellData(4);writer.writeProcIDs();{ Field< scalar > fld(faMeshTools::flattenEdgeField(aMesh.magLe(), true))
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
A 1D vector of objects of type <T> with a fixed length <N>.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Describes the interaction of a face and a point. It carries the info of a successful hit and (if succ...
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
const T * cdata() const noexcept
Return pointer to the underlying array serving as data storage.
std::streamsize size_bytes() const noexcept
Number of contiguous bytes for the List data.
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.
label trianglesQuads(const UList< point > &points, label &triI, label &quadI, faceList &triFaces, faceList &quadFaces) const
Split into triangles and quads.
pointHit ray(const point &p, const vector &n, const UList< point > &meshPoints, const intersection::algorithm alg=intersection::FULL_RAY, const intersection::direction dir=intersection::VECTOR) const
pointHit nearestPointClassify(const point &p, const UList< point > &meshPoints, label &nearType, label &nearLabel) const
Return nearest point to face and classify it:
void flip()
Flip the face in-place.
static unsigned symmhash_code(const UList< label > &f, unsigned seed=0)
The symmetric hash value for face.
scalar sweptVol(const UList< point > &oldPoints, const UList< point > &newPoints) const
Return the volume swept out by the face when its points move.
label nEdges() const noexcept
Return number of edges.
label triangles(const UList< point > &points, label &triI, faceList &triFaces) const
Split into triangles using existing points.
scalar mag(const UList< point > &p) const
Magnitude of face area.
unsigned hash_code(unsigned seed=0) const
The hash value for face.
label nTrianglesQuads(const UList< point > &points, label &nTris, label &nQuads) const
Number of triangles and quads after splitting.
static int compare(const face &a, const face &b)
Compare faces.
tensor inertia(const UList< point > &p, const point &refPt=vector::zero, scalar density=1.0) const
scalar areaInContact(const UList< point > &meshPoints, const scalarField &v) const
Return area in contact, given the displacement in vertices.
int edgeDirection(const Foam::edge &e) const
Test the edge direction on the face.
Foam::edge rcEdge(const label edgei) const
Return i-th face edge in reverse walk order.
label longestEdge(const UList< point > &pts) const
Find the longest edge on a face.
proxType
The proximity classifications.
pointHit nearestPoint(const point &p, const UList< point > &meshPoints) const
Return nearest point to face.
point centre(const UList< point > &points) const
Centre point of face.
label which(const label pointLabel) const
Find local index on face for the point label, same as find()
scalar contactSphereDiameter(const point &p, const vector &n, const UList< point > &meshPoints) const
Return contact sphere diameter.
int sign(const point &p, const UList< point > &points, const scalar tol=SMALL) const
label nextLabel(const label i) const
Next vertex on face.
vector unitNormal(const UList< point > &p) const
The unit normal.
label thisLabel(const label i) const
edgeList rcEdges() const
Return list of edges in reverse walk order.
label collapse()
Collapse face by removing duplicate point labels.
face reverseFace() const
Return face with reverse direction.
Foam::edge faceEdge(label edgei) const
Identical to edge()
label nTriangles() const
Number of triangles after splitting.
static bool sameVertices(const face &a, const face &b)
Return true if the faces have the same vertices.
edgeList edges() const
Return list of edges in forward walk order.
vector areaNormal(const UList< point > &p) const
The area normal - with magnitude equal to area of face.
Type average(const UList< point > &meshPoints, const Field< Type > &fld) const
Calculate average value at centroid of face.
constexpr face() noexcept=default
Default construct.
label prevLabel(const label i) const
Previous vertex on face.
static const char *const typeName
A class for managing temporary objects.
A triangular face using a FixedList of labels corresponding to mesh vertices.
Forwards for various types of face lists.
bool operator!=(const eddy &a, const eddy &b)
unsigned Hasher(const void *data, size_t len, unsigned seed=0)
Bob Jenkins's 96-bit mixer hashing function (lookup3)
mode_t mode(const fileName &name, const bool followLink=true)
Return the file mode, normally following symbolic links.
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
#define forAll(list, i)
Loop across all elements in list.
#define FOAM_DEPRECATED_FOR(since, replacement)
Hash function class. The default definition is for primitives. Non-primitives used to hash entries on...
Hashing functor for face.
unsigned operator()(const face &obj, unsigned seed=0) const
Symmetric hashing functor for face.
unsigned operator()(const face &obj, unsigned seed=0) const
Offset operator for ListListOps::combineOffset()
A non-counting (dummy) refCount.
const Vector< label > N(dict.get< Vector< label > >("N"))