35 #ifndef Foam_ensightCells_H 36 #define Foam_ensightCells_H 76 static constexpr
int nTypes = 5;
107 inline label add(
const elemType etype, label
id);
114 template<
class Addressing>
118 label meshPointMapppings
128 static void writePolysConnectivity
138 static void writeShapeConnectivity
285 Ostream& operator<<(Ostream&, const InfoProxy<ensightCells>&);
void classify(const polyMesh &mesh)
Classify cell types and set the element lists.
label uniqueMeshPoints(const polyMesh &mesh, labelList &uniqueMeshPointLabels, bool parallel) const
Globally unique mesh points. Required when writing point fields.
Map< label > meshPointMap(const polyMesh &mesh) const
Mesh point map.
A range or interval of labels defined by a start and a size.
void sort()
Sort element lists numerically.
label size() const noexcept
Processor-local size of all elements.
Specialized Ensight output with extra geometry file header.
InfoProxy< ensightCells > info() const
Return info proxy.
virtual void writeDict(Ostream &os, const bool full=false) const
Write information about the object as a dictionary, optionally write all element addresses.
labelRange range(const elemType etype) const
Processor-local offset/size of element type.
ensightCells()
Default construct, with part index 0.
void decrCellIds(const label off)
Decrease face ids by specified offset value.
label total() const noexcept
Same as totalSize()
virtual ~ensightCells()=default
Destructor.
void clearOut()
Clear any demand-driven data.
FixedList< label, nTypes > sizes() const
Processor-local sizes per element type.
Sorting/classification of cells (3D) into corresponding ensight element types.
elemType
Supported ensight 'Cell' element types.
void incrCellIds(const label off)
Increase cell ids by specified offset value.
void reduce()
Sum element counts across all processes.
virtual void write(ensightGeoFile &os, const polyMesh &mesh, bool parallel) const
Write geometry, using a mesh reference (serial only)
An Ostream is an abstract base class for all output systems (streams, files, token lists...
void clear()
Set addressable sizes to zero, free up addressing memory.
Base class for ensightCells, ensightFaces, ensightOutputSurfaces.
OBJstream os(runTime.globalPath()/outputName)
static const char * key(const elemType etype) noexcept
The ensight element name for the specified 'Cell' type.
A helper class for outputting values to Ostream.
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
const FixedList< label, nTypes > & totals() const
The global sizes for each element type.
TypeName("ensightCells")
Declare type-name, virtual type (with debug switch)
static const char * elemNames[nTypes]
The ensight 'Cell' element type names.
Mesh consisting of general polyhedral cells.
bool manifold() const noexcept
Manifold mesh cells detected? Globally consistent quantity.
label totalSize() const noexcept
The global size of all element types.
const labelList & cellIds() const
Processor-local cell ids of all elements.
static constexpr int nTypes
Number of 'Cell' element types (5)