|
| | Impl (MeshClipper &impl) |
| |
| virtual | ~Impl ()=default |
| |
| virtual void | initVolumeOverlaps (const axom::ArrayView< MeshClipperStrategy::LabelType > &labels, axom::ArrayView< double > ovlap)=0 |
| | Initialize overlap volumes to full for cells completely inside the shape and zero for cells outside or on shape boundary. More...
|
| |
| virtual void | zeroVolumeOverlaps (axom::ArrayView< double > ovlap)=0 |
| | Initialize overlap volumes to zero. More...
|
| |
| virtual void | collectOnIndices (const axom::ArrayView< LabelType > &labels, axom::Array< axom::IndexType > &onIndices)=0 |
| | Collect unlabeled LABEL_ON indices into an index list. More...
|
| |
| virtual void | remapTetIndices (axom::ArrayView< const axom::IndexType > cellIndices, axom::ArrayView< axom::IndexType > tetIndices)=0 |
| | Remap tet indices by de-referencing the cell indices they refer to. More...
|
| |
| virtual void | addVolumesOfInteriorTets (axom::ArrayView< const axom::IndexType > cellsOnBdry, axom::ArrayView< const LabelType > tetLabels, axom::ArrayView< double > ovlap)=0 |
| | Add volumes of tets inside the geometry to the volume data. More...
|
| |
| virtual void | computeClipVolumes3D (axom::ArrayView< double > ovlap, conduit::Node &statistics)=0 |
| | Compute clip volumes for every cell. More...
|
| |
| virtual void | computeClipVolumes3D (const axom::ArrayView< axom::IndexType > &cellIndices, axom::ArrayView< double > ovlap, conduit::Node &statistics)=0 |
| | Compute clip volumes for cell in an index list. More...
|
| |
| virtual void | computeClipVolumes3DTets (const axom::ArrayView< axom::IndexType > &tetIndices, axom::ArrayView< double > ovlap, conduit::Node &statistics)=0 |
| | Compute clip volumes for cell tets in an index list. More...
|
| |
| virtual void | getLabelCounts (axom::ArrayView< const LabelType > labels, axom::IndexType &inCount, axom::IndexType &onCount, axom::IndexType &outCount)=0 |
| | Count the number of labels of each type. More...
|
| |
| ShapeMesh & | getShapeMesh () |
| |
| MeshClipperStrategy & | getStrategy () |
| |
| MeshClipper & | myClipper () |
| |
Single interface for methods implemented with execution space templates.
These methods require messy instantiation of execution spaces and their runtime selection.
The implementations are in class detail::MeshClipperImpl, which is templated on execution space.
Remap tet indices by de-referencing the cell indices they refer to.
- Parameters
-
| cellIndices | [in] a list of cell indices. |
| tetIndices | [in,out] a list of tet indices. |
On input, tetIndices have values in [0, cellIndices.size()*NUM_TETS_PER_HEX), as though the cells have indices in [0, cellIndices.size()).
On output, tetIndices values are remapped to match real cell indices. For example, tet index values in [i*NUM_TETS_PER_HEX, (i+1)*NUM_TETS_PER_HEX) are remapped to [j*NUM_TETS_PER_HEX, (j+1)*NUM_TETS_PER_HEX), where j = cellIndices[i], the real cell index.