A deep-copy description of an OpenFOAM volume mesh in data structures suitable for VTK UnstructuredGrid, including the possibility of decomposing polyhedral cells into primitive cell types. More...
Public Member Functions | |
vtuCells (const enum contentType output=contentType::XML, const bool decompose=false) | |
Default construct (XML format, no polyhedral decomposition) More... | |
vtuCells (const polyMesh &mesh, const enum contentType output=contentType::XML, const bool decompose=false) | |
Construct from components, create output information immediately. More... | |
vtuCells (const vtk::outputOptions opts, const bool decompose=false) | |
Construct from components. More... | |
vtuCells (const polyMesh &mesh, const vtk::outputOptions opts, const bool decompose=false) | |
Construct from components, create output information immediately. More... | |
enum contentType | content () const noexcept |
The output content type. More... | |
bool | decomposeRequested () const noexcept |
Query the polyhedral decompose requested flag. More... | |
bool | empty () const noexcept |
True if no cellTypes are populated. More... | |
label | size () const noexcept |
The size of populated cellTypes. More... | |
void | clear () |
Reset all sizes to zero. More... | |
void | reset (const polyMesh &mesh) |
void | reset (const polyMesh &mesh, const labelUList &subsetCellsIds) |
void | reset (const polyMesh &mesh, const enum contentType output, const bool decompose) |
void | resetShapes (const UList< cellShape > &shapes) |
Reset sizing using primitive shapes only (ADVANCED USAGE) More... | |
void | renumberCells (const labelUList &mapping) |
Renumber cell ids to account for subset meshes. More... | |
void | renumberPoints (const labelUList &mapping) |
Renumber point ids to account for subset meshes. More... | |
void | addPointCellLabels (const labelUList &cellIds) |
Define which additional cell-centres are to be used (ADVANCED!) More... | |
const List< uint8_t > & | cellTypes () const noexcept |
Values for "types" (XML) and "CELL_TYPES" (legacy) More... | |
const labelList & | vertLabels () const noexcept |
Values for "connectivity" (XML) or "CELLS" (legacy) More... | |
const labelList & | vertOffsets () const noexcept |
Values for "offsets" (XML only) More... | |
const labelList & | faceLabels () const noexcept |
Values for "faces" (XML only) More... | |
const labelList & | faceOffsets () const noexcept |
Values for "faceoffset" (XML only) More... | |
const labelList & | addPointCellLabels () const noexcept |
Additional point addressing (from added point to original cell) More... | |
const labelList & | cellMap () const noexcept |
Original cell ids for all cells (regular and decomposed). More... | |
![]() | |
vtuSizing () noexcept | |
Default construct. More... | |
vtuSizing (const polyMesh &mesh) | |
Construct sizing by analyzing the mesh. More... | |
vtuSizing (const polyMesh &mesh, const bool decompose) | |
Construct sizing by analyzing the mesh. More... | |
void | reset (const polyMesh &mesh, const bool decompose=false) |
Reset sizing by analyzing the mesh. More... | |
void | reset (const polyMesh &mesh, const labelUList &subsetCellsIds, const bool decompose=false) |
Reset sizing by analyzing a subset of the mesh. More... | |
void | resetShapes (const UList< cellShape > &shapes) |
Reset sizing using primitive shapes only (ADVANCED USAGE) More... | |
void | clear () noexcept |
Reset all sizes to zero. More... | |
bool | decompose () const noexcept |
Query the decompose flag (normally off) More... | |
selectionModeType | selectionMode () const noexcept |
Query how the mesh cells have been selected or defined. More... | |
label | nCells () const noexcept |
Number of cells for the mesh. More... | |
label | nPoints () const noexcept |
Number of points for the mesh. More... | |
label | nVertLabels () const noexcept |
Number of vertex labels for the mesh. More... | |
label | nFaceLabels () const noexcept |
Number of polyhedral face labels for the mesh. More... | |
label | nCellsPoly () const noexcept |
Number of polyhedral cells for the mesh. More... | |
label | nVertPoly () const noexcept |
Number of vertex labels for polyhedral cells of the mesh. More... | |
label | nAddCells () const noexcept |
Number of additional (decomposed) cells for the mesh. More... | |
label | nAddPoints () const noexcept |
Number of additional (decomposed) points for the mesh. More... | |
label | nAddVerts () const noexcept |
Number of additional (decomposed) vertices for the mesh. More... | |
label | nFieldCells () const noexcept |
Number of field cells = nCells + nAddCells. More... | |
label | nFieldPoints () const noexcept |
Number of field points = nPoints + nAddPoints. More... | |
void | setNumPoints (label n) noexcept |
Alter number of mesh points (ADVANCED USAGE) More... | |
void | setNumAddPoints (label n) noexcept |
Alter number of additional (cell-centre) points (ADVANCED USAGE) More... | |
label | sizeOf (const enum contentType output, const enum slotType slot) const |
Return the required size for the storage slot. More... | |
label | sizeLegacy () const |
The calculated size for legacy storage. More... | |
label | sizeLegacy (const enum slotType slot) const |
The calculated size for legacy storage of the specified slot. More... | |
label | sizeXml (const enum slotType slot) const |
The calculated size for xml storage of the specified slot. More... | |
label | sizeInternal1 (const enum slotType slot) const |
The calculated size for vtk-internal storage of the specified slot. More... | |
label | sizeInternal2 (const enum slotType slot) const |
The calculated size for vtk-internal storage of the specified slot. More... | |
void | populateLegacy (const polyMesh &mesh, UList< uint8_t > &cellTypes, labelUList &connectivity, foamVtkMeshMaps &maps) const |
Populate lists for Legacy output. More... | |
void | populateXml (const polyMesh &mesh, UList< uint8_t > &cellTypes, labelUList &connectivity, labelUList &offsets, labelUList &faces, labelUList &facesOffsets, foamVtkMeshMaps &maps) const |
Populate lists for XML output. More... | |
void | populateInternal (const polyMesh &mesh, UList< uint8_t > &cellTypes, UList< int > &connectivity, UList< int > &offsets, UList< int > &faces, UList< int > &facesOffsets, foamVtkMeshMaps &maps, const enum contentType output) const |
Populate lists for Internal VTK format. More... | |
void | populateInternal (const polyMesh &mesh, UList< uint8_t > &cellTypes, UList< int > &connectivity, UList< int > &offsets, UList< int > &faces, UList< int > &facesOffsets, labelUList &cellMap, labelUList &addPointsIds, const enum contentType output) const |
Populate lists for Internal VTK format. More... | |
void | populateInternal (const polyMesh &mesh, UList< uint8_t > &cellTypes, UList< long > &connectivity, UList< long > &offsets, UList< long > &faces, UList< long > &facesOffsets, foamVtkMeshMaps &maps, const enum contentType output) const |
Populate lists for Internal VTK format. More... | |
void | populateInternal (const polyMesh &mesh, UList< uint8_t > &cellTypes, UList< long > &connectivity, UList< long > &offsets, UList< long > &faces, UList< long > &facesOffsets, labelUList &cellMap, labelUList &addPointsIds, const enum contentType output) const |
Populate lists for Internal VTK format. More... | |
void | populateInternal (const polyMesh &mesh, UList< uint8_t > &cellTypes, UList< long long > &connectivity, UList< long long > &offsets, UList< long long > &faces, UList< long long > &facesOffsets, foamVtkMeshMaps &maps, const enum contentType output) const |
Populate lists for Internal VTK format. More... | |
void | populateInternal (const polyMesh &mesh, UList< uint8_t > &cellTypes, UList< long long > &connectivity, UList< long long > &offsets, UList< long long > &faces, UList< long long > &facesOffsets, labelUList &cellMap, labelUList &addPointsIds, const enum contentType output) const |
Populate lists for Internal VTK format. More... | |
void | info (Ostream &os) const |
Report some information. More... | |
bool | operator== (const vtuSizing &rhs) const |
Test equality. More... | |
bool | operator!= (const vtuSizing &rhs) const |
Test inequality. More... | |
Additional Inherited Members | |
![]() | |
enum | contentType : char { LEGACY, XML, INTERNAL1, INTERNAL2 } |
Types of content that the storage may represent. More... | |
enum | slotType : char { CELLS, CELLS_OFFSETS, FACES, FACES_OFFSETS } |
The possible storage 'slots' that can be used. More... | |
enum | selectionModeType : char { FULL_MESH, SUBSET_MESH, SHAPE_MESH } |
How the mesh cells have been selected or defined. More... | |
![]() | |
static labelList | copyVertLabelsLegacy (const labelUList &connectivity, const label globalPointOffset) |
Copy vertex labels with a global point offset - legacy format. More... | |
static labelList | copyVertLabelsXml (const labelUList &connectivity, const label globalPointOffset) |
Copy vertex labels with a global point offset - XML format. More... | |
static labelList | copyFaceLabelsXml (const labelUList &faceLabels, const label globalPointOffset) |
Copy faces stream labels with a global point offset - XML format. More... | |
static labelList | copyFaceOffsetsXml (const labelUList &faceOffsets, const label prevOffset) |
Copy face offsets with an offset from previous - XML format. More... | |
static void | renumberVertLabelsLegacy (labelUList &connectivity, const label globalPointOffset) |
Renumber vertex labels by global point offset - legacy format. More... | |
static void | renumberVertLabelsXml (labelUList &connectivity, const label globalPointOffset) |
Renumber vertex labels by global point offset - XML format. More... | |
static void | renumberFaceLabelsXml (labelUList &faceLabels, const label globalPointOffset) |
Renumber faces stream labels by global point offset - XML format. More... | |
static void | renumberFaceOffsetsXml (labelUList &faceOffsets, const label prevOffset) |
Renumber face offsets with an offset from previous - XML format. More... | |
![]() | |
void | populateShapesLegacy (const UList< cellShape > &shapes, UList< uint8_t > &cellTypes, labelUList &connectivity, foamVtkMeshMaps &maps) const |
Reset list for primitive shapes only (ADVANCED USAGE) More... | |
void | populateShapesXml (const UList< cellShape > &shapes, UList< uint8_t > &cellTypes, labelUList &connectivity, labelUList &offsets, labelUList &faces, labelUList &facesOffsets, foamVtkMeshMaps &maps) const |
Reset list for primitive shapes only (ADVANCED USAGE) More... | |
A deep-copy description of an OpenFOAM volume mesh in data structures suitable for VTK UnstructuredGrid, including the possibility of decomposing polyhedral cells into primitive cell types.
Knowledge of the vtkUnstructuredGrid and the corresponding .vtu xml file-format aids in understanding this class. The class can be used for the VTK xml format, legacy format, as well as a VTK internal representation. The internal representation is somewhat related to the xml format, but not entirely.
Definition at line 70 of file foamVtuCells.H.
|
explicit |
Default construct (XML format, no polyhedral decomposition)
|
explicit |
Construct from components, create output information immediately.
|
explicit |
Construct from components.
Optionally with polyhedral decomposition.
Definition at line 66 of file foamVtuCells.C.
vtuCells | ( | const polyMesh & | mesh, |
const vtk::outputOptions | opts, | ||
const bool | decompose = false |
||
) |
Construct from components, create output information immediately.
Definition at line 80 of file foamVtuCells.C.
|
inlinenoexcept |
The output content type.
Definition at line 33 of file foamVtuCellsI.H.
|
inlinenoexcept |
Query the polyhedral decompose requested flag.
Definition at line 39 of file foamVtuCellsI.H.
|
inlinenoexcept |
True if no cellTypes are populated.
Definition at line 45 of file foamVtuCellsI.H.
|
inlinenoexcept |
The size of populated cellTypes.
Definition at line 51 of file foamVtuCellsI.H.
void clear | ( | ) |
Reset all sizes to zero.
Definition at line 219 of file foamVtuCells.C.
References clear().
void reset | ( | const polyMesh & | mesh | ) |
Create the geometry using the previously requested output and decomposition types.
Definition at line 232 of file foamVtuCells.C.
Referenced by isoSurfaceTopo::isoSurfaceTopo().
void reset | ( | const polyMesh & | mesh, |
const labelUList & | subsetCellsIds | ||
) |
Create the geometry for a mesh subset, using previously requested output and decomposition types.
Definition at line 242 of file foamVtuCells.C.
void reset | ( | const polyMesh & | mesh, |
const enum contentType | output, | ||
const bool | decompose | ||
) |
Respecify requested output and decomposition type prior to creating the geometry
Reset sizing using primitive shapes only (ADVANCED USAGE)
Effectively removes any polyhedrals!
Definition at line 274 of file foamVtuCells.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::identity(), Foam::nl, and WarningInFunction.
Referenced by isoSurfaceTopo::isoSurfaceTopo().
void renumberCells | ( | const labelUList & | mapping | ) |
Renumber cell ids to account for subset meshes.
Definition at line 342 of file foamVtuCells.C.
void renumberPoints | ( | const labelUList & | mapping | ) |
Renumber point ids to account for subset meshes.
Definition at line 348 of file foamVtuCells.C.
void addPointCellLabels | ( | const labelUList & | cellIds | ) |
Define which additional cell-centres are to be used (ADVANCED!)
Definition at line 335 of file foamVtuCells.C.
Referenced by isoSurfaceTopo::isoSurfaceTopo().
|
inlinenoexcept |
Values for "types" (XML) and "CELL_TYPES" (legacy)
Definition at line 58 of file foamVtuCellsI.H.
|
inlinenoexcept |
Values for "connectivity" (XML) or "CELLS" (legacy)
Definition at line 65 of file foamVtuCellsI.H.
|
inlinenoexcept |
Values for "offsets" (XML only)
Definition at line 72 of file foamVtuCellsI.H.
|
inlinenoexcept |
Values for "faces" (XML only)
Definition at line 79 of file foamVtuCellsI.H.
|
inlinenoexcept |
Values for "faceoffset" (XML only)
Definition at line 86 of file foamVtuCellsI.H.
|
inlinenoexcept |
Additional point addressing (from added point to original cell)
Definition at line 93 of file foamVtuCellsI.H.
|
inlinenoexcept |
Original cell ids for all cells (regular and decomposed).
Definition at line 100 of file foamVtuCellsI.H.