52#ifndef Foam_ensightFaces_H
53#define Foam_ensightFaces_H
91 static constexpr int nTypes = 3;
100 static inline const char*
key(
const elemType etype)
noexcept;
125 inline label add(
const elemType etype, label
id,
bool flip=
false);
281Ostream&
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 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
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
Globally unique mesh points. Required when writing point fields.
labelRange range(const elemType etype) const
Processor-local offset/size of element type.
static const char * key(const elemType etype) noexcept
The ensight element name for the specified 'Face' type.
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
Processor-local face order (where applicable).
label totalSize() const noexcept
The global size of all element types.
label total() const noexcept
Same as totalSize.
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.
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
Write information about the object as a dictionary, optionally write all element addresses.
static const char * elemNames[nTypes]
The ensight 'Face' element type names.
elemType
Supported ensight 'Face' element types.
ensightFaces()
Default construct, with part index 0.
InfoProxy< ensightFaces > info() const noexcept
Return info proxy, used to print information to a stream.
label size() const noexcept
Processor-local size of all elements.
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.
const FixedList< label, nTypes > & totals() const
The global sizes for each element type.
A variant of ensightFile (Ensight writing) that includes the extra geometry file header information.
label size() const noexcept
Processor-local size of all elements.
ensightPart()
Default construct. Index=0, identifier = -1.
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)
List< label > labelList
A List of labels.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces).
void reduce(T &value, BinaryOp bop, const int tag=UPstream::msgType(), const int communicator=UPstream::worldComm)
Reduce inplace (cf. MPI Allreduce).
void sort(UList< T > &list)
Sort the list.
List< bool > boolList
A List of bools.
UList< label > labelUList
A UList of labels.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.