44#ifndef Foam_cellShape_H
45#define Foam_cellShape_H
95 const bool doCollapse =
false
104 const bool doCollapse =
false
112 const bool doCollapse =
false
120 const bool doCollapse =
false
128 const bool doCollapse =
false
134 const word& modelName,
136 const bool doCollapse =
false
152 inline label
nPoints()
const noexcept;
155 inline label
nEdges()
const;
158 inline label
nFaces()
const;
200 inline label
min()
const;
204 inline label
max()
const;
211 const bool doCollapse =
false
220 const bool doCollapse =
false
244 inline void operator+=(
const label vertexOffset);
A 1D vector of objects of type <T> with a fixed length <N>.
A helper class for outputting values to Ostream.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Maps a geometry to a set of cell primitives.
modelType
Enumeration of commonly used cellModel types.
An analytical geometric cellShape.
const cellModel & model() const
Model reference.
labelList meshEdges(const edgeList &allEdges, const labelList &cEdges) const
Mesh edge labels of this cell (in order of model).
label min() const
Return the smallest vertex label used by the shape or -1 if the shape is empty.
friend bool operator==(const cellShape &a, const cellShape &b)
scalar mag(const UList< point > &points) const
Scalar magnitude.
void reset(const cellModel &model, const labelUList &labels, const bool doCollapse=false)
Reset from components.
autoPtr< cellShape > clone() const
Clone.
void collapse()
Collapse shape to correct one after removing duplicate vertices.
Foam::face face(const label modelFacei) const
The face for the specified model face.
pointField points(const UList< point > &meshPoints) const
The points corresponding to this shape.
labelList meshFaces(const faceList &allFaces, const cell &cFaces) const
Mesh face labels of this cell (in order of model).
void operator+=(const label vertexOffset)
Increment (offset) vertices by given amount.
point centre(const UList< point > &points) const
Centroid of the cell.
friend Ostream & operator<<(Ostream &os, const cellShape &s)
static int compare(const cellShape &a, const cellShape &b)
Compare cellShape vertices.
label nPoints() const noexcept
Number of points.
faceList faces() const
Faces of this cell.
constexpr cellShape() noexcept
Default construct. Empty shape, no cell model.
edgeList edges() const
Edges of this shape.
Foam::edge edge(const label modelEdgei) const
The edge for the specified model edge.
label max() const
Return the largest vertex label used by the shape or -1 if the shape is empty.
faceList collapsedFaces() const
Collapsed faces of this cell.
label nEdges() const
Number of edges.
friend Istream & operator>>(Istream &is, cellShape &s)
label nFaces() const
Number of faces.
InfoProxy< cellShape > info() const noexcept
Return info proxy, used to print information to a stream.
A cell is defined as a list of faces with extra functionality.
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.
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
List< edge > edgeList
List of edge.
List< label > labelList
A List of labels.
List< face > faceList
List of faces.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces).
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
Istream & operator>>(Istream &, directionInfo &)
vector point
Point is a vector.
vectorField pointField
pointField is a vectorField.
UList< label > labelUList
A UList of labels.