52#ifndef Foam_ensightFaces_H
53#define Foam_ensightFaces_H
67template<
class T>
class InfoProxy;
91 static constexpr int nTypes = 3;
100 static inline const char*
key(
const elemType etype);
125 inline label add(
const elemType etype, label
id,
bool flip=
false);
275Ostream&
operator<<(Ostream&,
const InfoProxy<ensightFaces>&);
A 1D vector of objects of type <T> with a fixed length <N>.
A helper class for outputting values to Ostream.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
Sorting/classification of faces (2D) into corresponding ensight types.
FixedList< label, nTypes > sizes() const
Processor-local sizes per element type.
virtual ~ensightFaces()=default
Destructor.
bool usesFlipMap() const
True for non-zero flip-map that spans the addresses.
void decrFaceIds(const label off)
Decrease face ids by specified offset value.
label uniqueMeshPoints(const polyMesh &mesh, labelList &uniqueMeshPointLabels, bool parallel) const
void classify(const UList< face > &faces)
Classify the face types and set the element lists.
const labelList & faceIds() const noexcept
Processor-local face ids of all elements.
const labelList & faceOrder() const noexcept
TypeName("ensightFaces")
Declare type-name, virtual type (with debug switch)
void reduce()
Sum element counts across all processes.
void sort()
Inplace sort element lists numerically.
static const char * key(const elemType etype)
The ensight element name for the specified 'Face' type.
void incrFaceIds(const label off)
Increase face ids by specified offset value.
static constexpr int nTypes
Number of 'Face' element types (3)
virtual void writeDict(Ostream &os, const bool full=false) const
static const char * elemNames[nTypes]
The ensight 'Face' element type names.
elemType
Supported ensight 'Face' element types.
ensightFaces()
Default construct, with part index 0.
label size() const noexcept
Processor-local size of all elements.
label total() const
The global size of all element types.
void clear()
Set addressable sizes to zero, free up addressing memory.
const boolList & flipMap() const
Processor-local flip-map of all elements.
void clearOut()
Clear any demand-driven data.
InfoProxy< ensightFaces > info() const
Return info proxy.
const FixedList< label, nTypes > & totals() const
The global sizes for each element type.
Specialized Ensight output with extra geometry file header.
Base class for ensightCells, ensightFaces, ensightOutputSurfaces.
label size() const noexcept
Processor-local size of all elements.
A face is a list of labels corresponding to mesh vertices.
A range or interval of labels defined by a start and a size.
Mesh consisting of general polyhedral cells.
OBJstream os(runTime.globalPath()/outputName)
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.