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 vtuCells &)=delete | |
| No copy construct. More... | |
| void | operator= (const vtuCells &)=delete |
| No copy assignment. More... | |
| 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 | merged () const noexcept |
| Query the point merge status. More... | |
| bool | empty () const noexcept |
| True if no cellTypes are populated. More... | |
| label | size () const noexcept |
| The size of populated cellTypes (the number of cells) More... | |
| bool | useCellMap () const noexcept |
| The cellMap is non-identity for a SUBSET_MESH or when there are decomposed cells. More... | |
| bool | usePointMap () const noexcept |
| The pointMap is available and non-identity (eg, after point merge) More... | |
| bool | is_hdf () const noexcept |
| Test for hdf content type. More... | |
| void | clear () |
| Reset all sizes to zero. More... | |
| void | reset (const polyMesh &mesh) |
| Create the geometry using the previously requested output and decomposition types. More... | |
| void | reset (const polyMesh &mesh, const labelUList &subsetCellsIds) |
| Create the geometry for a mesh subset, using previously requested output and decomposition types. More... | |
| void | reset (const polyMesh &mesh, const enum contentType output, const bool decompose) |
| Respecify requested output and decomposition type prior to creating the geometry. More... | |
| 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... | |
| void | mergePoints (const polyMesh &mesh) |
| Determine topological point merging, renumbers contents accordingly. More... | |
| const List< uint8_t > & | cellTypes () const noexcept |
The cell "types" (legacy: "CELL_TYPES") More... | |
| const labelList & | vertLabels () const noexcept |
The cell "connectivity" (legacy: "CELLS") More... | |
| const labelList & | vertOffsets () const noexcept |
The "offsets" into the connectivity list vertLabels() More... | |
| const labelList & | faceLabels () const noexcept |
The polyhedral "faces" or "FaceConnectivity". More... | |
| const labelList & | faceOffsets () const noexcept |
The "facesoffset" or the "FaceOffsets". More... | |
| const labelList & | polyFaceIds () const |
| Face ids per polyhedral cell (HDF only) More... | |
| const labelList & | polyFaceOffsets () const noexcept |
| Offsets into the polyhedral face ids (HDF only) More... | |
| const labelList & | addPointCellLabels () const noexcept |
| Additional point addressing (from added point to original cell) More... | |
| const labelList & | cellMap () const noexcept |
| The mesh cell ids for all cells (regular and decomposed). More... | |
| const labelUList & | pointMap () const noexcept |
| The mesh point ids [FUTURE USE]. More... | |
| refPtr< labelList > | vertLabels (label pointOffset) const |
| The "connectivity" (legacy: "CELLS") adjusted by the specified (global) point offset. More... | |
| refPtr< labelList > | vertOffsets (label beginOffset, bool syncPar=false) const |
| Connectivity (vertices) offsets for each cell adjusted by the specified (global) cell offset. More... | |
| refPtr< labelList > | faceLabels (label pointOffset) const |
| The "faces" stream/connectivity (non-legacy only) adjusted by the specified (global) point offset. More... | |
| refPtr< labelList > | faceOffsets (label beginOffset, bool syncPar=false) const |
| The offsets into "faces" (non-legacy only) adjusted by the specified (global) face offset. More... | |
| refPtr< labelList > | polyFaceIds (label beginOffset) const |
| The "PolyhedronToFaces" ids (HDF only) adjusted by the specified (global) face offset. More... | |
| refPtr< labelList > | polyFaceOffsets (label beginOffset, bool syncPar=false) const |
| The "PolyhedronOffsets" (HDF only), which are the offsets into the polyhedral face ids, adjusted by the specified (global) cell offset. More... | |
| template<class PointType = Foam::point> | |
| tmp< Field< PointType > > | points (const polyMesh &mesh) const |
| Return the mesh points, possibly with cell centres for addPointCellLabels() More... | |
Public Member Functions inherited from vtuSizing | |
| 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... | |
| bool | manifold () const noexcept |
| Manifold mesh cells detected? Globally consistent quantity. More... | |
| selectionModeType | selectionMode () const noexcept |
| Query how the mesh cells have been selected or defined. More... | |
| bool | hasPolyCells () const noexcept |
| Has polyhedral cells? 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, without any prefixing information. More... | |
| label | nFaceLabels (contentType output) const |
| Number of polyhedral face labels for the mesh with format-dependent prefixing information. More... | |
| label | nCellsPoly () const noexcept |
| Number of output polyhedral cells for the mesh. More... | |
| label | nFacesPoly () const noexcept |
| Number of (non-unique) faces used by polyhedral cells. 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 noexcept |
| Return the required size for the storage slot. More... | |
| template<vtuSizing::slotType slot> | |
| label | sizeOf (contentType output) const noexcept |
| Return the required size for the storage 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 | populateHdf (const polyMesh &mesh, UList< uint8_t > &cellTypes, labelUList &connectivity, labelUList &offsets, labelUList &faces, labelUList &facesOffsets, labelUList &polyFaceIds, labelUList &polyFaceOffsets, foamVtkMeshMaps &maps) const |
| Populate lists for HDF 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... | |
| label | sizeLegacy () const |
| The calculated size for legacy storage. More... | |
| label | sizeLegacy (slotType slot) const |
| The calculated size for legacy storage of the specified slot. More... | |
| label | sizeXml (slotType slot) const |
| The calculated size for xml storage of the specified slot. More... | |
| label | sizeInternal2 (slotType slot) const |
| The calculated size for vtk-internal storage of the specified slot. More... | |
Additional Inherited Members | |
Public Types inherited from vtuSizing | |
| enum | contentType : unsigned char { LEGACY, XML, INTERNAL2, HDF } |
| Types of content that the storage may represent. More... | |
| enum | slotType : unsigned char { CELLS, CELLS_OFFSETS, FACES, FACES_OFFSETS, POLY_FACEIDS, POLY_FACEIDS_OFFSETS } |
| The possible storage 'slots' that can be used. More... | |
| enum | selectionModeType : unsigned char { FULL_MESH, SUBSET_MESH, SHAPE_MESH } |
| How the mesh cells have been selected or defined. More... | |
| enum | mergeType : unsigned char { NONE, MERGED } |
| Tracking of the point merge status. More... | |
Static Public Member Functions inherited from vtuSizing | |
| static void | renumberVertLabels (labelUList &connectivity, const label pointOffset, const contentType output) |
| Renumber vertex labels by (global) point offset. More... | |
| static void | renumberFaceLabels (labelUList &faceLabels, const label pointOffset, const contentType output) |
| Renumber faces stream labels by (global) point offset. More... | |
| static void | renumberVertLabels (labelUList &connectivity, const labelUList &oldToNew, const contentType output) |
| Renumber vertex labels. More... | |
| static void | renumberFaceLabels (labelUList &faceLabels, const labelUList &oldToNew, const contentType output) |
| Renumber faces stream labels. More... | |
| static void | renumberFaceOffsets (labelUList &faceOffsets, const label beginOffset, const contentType output) |
| Renumber face offsets with a specified (global) begin offset. More... | |
| static labelList | copyVertLabels (const labelUList &connectivity, const label pointOffset, const contentType output) |
| Copy vertex labels with a (global) point offset. More... | |
| static labelList | copyFaceLabels (const labelUList &faceLabels, const label pointOffset, const contentType output) |
| Copy faces stream labels with a (global) point offset. More... | |
| static labelList | copyFaceOffsets (const labelUList &faceOffsets, const label beginOffset, const contentType output) |
| Copy face offsets with a specified (global) begin offset. More... | |
| static void | renumberVertLabelsLegacy (labelUList &connectivity, const label pointOffset) |
| Renumber vertex labels by (global) point offset - legacy format. More... | |
| static void | renumberVertLabelsXml (labelUList &connectivity, const label pointOffset) |
| Renumber vertex labels by (global) point offset - XML format. More... | |
| static void | renumberFaceLabelsXml (labelUList &faceLabels, const label pointOffset) |
| Renumber faces stream labels by (global) point offset - XML format. More... | |
| static void | renumberFaceOffsetsXml (labelUList &faceOffsets, const label beginOffset) |
| Renumber face offsets with a specified begin offset - XML format. More... | |
| static labelList | copyVertLabelsLegacy (const labelUList &connectivity, const label pointOffset) |
| Copy vertex labels with a (global) point offset - legacy format. More... | |
| static labelList | copyVertLabelsXml (const labelUList &connectivity, const label pointOffset) |
| Copy vertex labels with a (global) point offset - XML format. More... | |
| static labelList | copyFaceLabelsXml (const labelUList &faceLabels, const label pointOffset) |
| Copy faces stream labels with a (global) point offset - XML format. More... | |
| static labelList | copyFaceOffsetsXml (const labelUList &faceOffsets, const label beginOffset) |
| Copy face offsets with an offset from previous - XML format. More... | |
Protected Member Functions inherited from vtuSizing | |
| 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... | |
Static Protected Member Functions inherited from vtuSizing | |
| static labelList | dummyFaceOffsets (const label numCells, const enum contentType output, label beginOffset=0) |
| Return a list of dummy faceOffsets. 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 73 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.
| vtuCells | ( | const polyMesh & | mesh, |
| const vtk::outputOptions | opts, | ||
| const bool | decompose = false |
||
| ) |
Construct from components, create output information immediately.
|
delete |
No copy assignment.
|
inlinenoexcept |
The output content type.
Definition at line 26 of file foamVtuCellsI.H.
|
inlinenoexcept |
Query the polyhedral decompose requested flag.
Definition at line 38 of file foamVtuCellsI.H.
|
inlinenoexcept |
Query the point merge status.
Definition at line 44 of file foamVtuCellsI.H.
References vtuSizing::MERGED.
|
inlinenoexcept |
True if no cellTypes are populated.
Definition at line 50 of file foamVtuCellsI.H.
|
inlinenoexcept |
The size of populated cellTypes (the number of cells)
Definition at line 56 of file foamVtuCellsI.H.
|
inlinenoexcept |
The cellMap is non-identity for a SUBSET_MESH or when there are decomposed cells.
Definition at line 111 of file foamVtuCellsI.H.
|
inlinenoexcept |
The pointMap is available and non-identity (eg, after point merge)
Definition at line 128 of file foamVtuCellsI.H.
|
inlinenoexcept |
Test for hdf content type.
Definition at line 32 of file foamVtuCellsI.H.
| void clear | ( | ) |
Reset all sizes to zero.
| void reset | ( | const polyMesh & | mesh | ) |
Create the geometry using the previously requested output and decomposition types.
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.
| 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!
Referenced by isoSurfaceTopo::isoSurfaceTopo().

| void renumberCells | ( | const labelUList & | mapping | ) |
Renumber cell ids to account for subset meshes.
| void renumberPoints | ( | const labelUList & | mapping | ) |
Renumber point ids to account for subset meshes.
| void addPointCellLabels | ( | const labelUList & | cellIds | ) |
Define which additional cell-centres are to be used (ADVANCED!)
Referenced by isoSurfaceTopo::isoSurfaceTopo().

| void mergePoints | ( | const polyMesh & | mesh | ) |
Determine topological point merging, renumbers contents accordingly.
|
inlinenoexcept |
The cell "types" (legacy: "CELL_TYPES")
Definition at line 63 of file foamVtuCellsI.H.
|
inlinenoexcept |
The cell "connectivity" (legacy: "CELLS")
Definition at line 70 of file foamVtuCellsI.H.
|
inlinenoexcept |
The "offsets" into the connectivity list vertLabels()
The content depends on the format:
Definition at line 77 of file foamVtuCellsI.H.
|
inlinenoexcept |
The polyhedral "faces" or "FaceConnectivity".
The content depends on the format:
Definition at line 84 of file foamVtuCellsI.H.
|
inlinenoexcept |
The "facesoffset" or the "FaceOffsets".
The content depends on the format:
end offset into faceLabels(),begin offset into faceLabels(), with -1 for primitive typesDefinition at line 91 of file foamVtuCellsI.H.
| const labelList& polyFaceIds | ( | ) | const |
Face ids per polyhedral cell (HDF only)
Possibly demand-driven content
|
inlinenoexcept |
Offsets into the polyhedral face ids (HDF only)
Definition at line 98 of file foamVtuCellsI.H.
|
inlinenoexcept |
Additional point addressing (from added point to original cell)
Definition at line 105 of file foamVtuCellsI.H.
|
inlinenoexcept |
The mesh cell ids for all cells (regular and decomposed).
For a volume field these would be the cell ids to extract from the field.
Definition at line 122 of file foamVtuCellsI.H.
|
inlinenoexcept |
The mesh point ids [FUTURE USE].
Definition at line 135 of file foamVtuCellsI.H.
The "connectivity" (legacy: "CELLS") adjusted by the specified (global) point offset.
Connectivity (vertices) offsets for each cell adjusted by the specified (global) cell offset.
| beginOffset | For formats with begin/end, can specify -1 for an automatic calculation (in parallel) |
| syncPar | For begin/end offsets for parallel concatenation |
The "faces" stream/connectivity (non-legacy only) adjusted by the specified (global) point offset.
The offsets into "faces" (non-legacy only) adjusted by the specified (global) face offset.
Returns a dummy set of offsets if there are no "faces"
| beginOffset | For formats with begin/end, can specify -1 for an automatic calculation (in parallel) |
| syncPar | For begin/end offsets for parallel concatenation |
The "PolyhedronToFaces" ids (HDF only) adjusted by the specified (global) face offset.
The "PolyhedronOffsets" (HDF only), which are the offsets into the polyhedral face ids, adjusted by the specified (global) cell offset.
| beginOffset | For formats with begin/end, can specify -1 for an automatic calculation (in parallel) |
| syncPar | For begin/end offsets for parallel concatenation |
Return the mesh points, possibly with cell centres for addPointCellLabels()