92 auto iter =
p.begin();
94 for (
const label pointi : *
this)
107 (void)
n.normalise(ROOTVSMALL);
129 for (
const label pointi : *
this)
131 bb.first() =
min(bb.first(),
pts[pointi]);
132 bb.second() =
max(bb.second(),
pts[pointi]);
145 if (
const auto n = size();
n)
147 for (
const auto pointi : *
this)
185 const label pointi = edgei ? (
nEdges() - edgei) : 0;
198 const label pointi = edgei ? (
nEdges() - edgei) : 0;
235 for (
const label pointi : *
this)
249 for (
const label pointi : *
this)
251 if (other.contains(pointi))
273 for (
auto& vrt :
static_cast<labelList&
>(*
this))
A 1D vector of objects of type <T> with a fixed length <N>.
bool contains(const T &val) const
True if the value is contained in the list.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
An ordered pair of two objects of type <T> with first() and second() elements.
const T & first() const noexcept
Access the first element.
const T & second() const noexcept
Access the second element.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
bool contains(const T &val) const
True if the value is contained in the list.
const label & rcValue(const label i) const
const label & fcValue(const label i) const
label size() const noexcept
label & operator[](const label i)
label find(const label &val) const
static const Form rootMin
static const Form rootMax
A Vector of values with double precision.
An edge is a list of two vertex labels. This can correspond to a directed graph edge or an edge on a ...
A face is a list of labels corresponding to mesh vertices.
Foam::edge edge(const label edgei) const
Return i-th face edge (forward walk order).
Pair< point > box(const UList< point > &pts) const
The enclosing (bounding) box for the face.
bool contains(const Foam::edge &e) const
True if face contains(edge).
label nEdges() const noexcept
Return number of edges.
scalar mag(const UList< point > &p) const
Magnitude of face area.
static int compare(const face &a, const face &b)
Compare faces.
bool connected(const labelUList &other) const
True if the face has at least one vertex in common with other.
int edgeDirection(const Foam::edge &e) const
Test the edge direction on the face.
void operator+=(const label vertexOffset)
Increment (offset) vertices by given amount.
Foam::edge rcEdge(const label edgei) const
Return i-th face edge in reverse walk order.
point average(const UList< point > &points) const
Average of face points: a quick estimate of the face centre.
pointField points(const UList< point > &pts) const
Return the points corresponding to this face.
label which(const label vertex) const
Find local vertex on face for the vertex label, same as find().
scalar magSqr(const UList< point > &p) const
Magnitude squared of face area.
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
The vertex on face - identical to operator[], but with naming similar to nextLabel(),...
vector areaNormal(const UList< point > &p) const
The area normal - with magnitude equal to area of face.
label nTriangles() const noexcept
Number of triangles after splitting.
constexpr face() noexcept=default
Default construct.
label prevLabel(const label i) const
Previous vertex on face.
bool operator!=(const eddy &a, const eddy &b)
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
List< label > labelList
A List of labels.
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
Vector< double > doubleVector
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
vector point
Point is a vector.
static constexpr const zero Zero
Global zero (0).
vectorField pointField
pointField is a vectorField.
UList< label > labelUList
A UList of labels.