9 #include "imstkMacros.h" 10 #include "imstkVolumetricMesh.h" 28 void clear()
override;
35 void print()
const override;
56 std::unique_ptr<HexahedralMesh>
clone()
58 return std::unique_ptr<HexahedralMesh>(cloneImplementation());
67 geom->m_indices = std::make_shared<VecDataArray<int, 8>>(*m_indices);
68 for (
auto i : m_cellAttributes)
70 geom->m_cellAttributes[i.first] = i.second->clone();
72 geom->m_initialVertexPositions = std::make_shared<VecDataArray<double, 3>>(*m_initialVertexPositions);
73 geom->m_vertexPositions = std::make_shared<VecDataArray<double, 3>>(*m_vertexPositions);
74 for (
auto i : m_vertexAttributes)
76 geom->m_vertexAttributes[i.first] = i.second->clone();
void clear() override
Clear all the mesh data.
int getNumHexahedra() const
Returns the number of hexahedra.
void print() const override
Print the hexahedral mesh.
std::unique_ptr< HexahedralMesh > clone()
Polymorphic clone, hides the declaration in superclass return own type.
int getNumCells() const override
Returns the number of cells.
std::shared_ptr< SurfaceMesh > extractSurfaceMesh() override
Extract surface Mesh.
Base class for all volume mesh types.
double getVolume() override
Compute and return the volume of the hexahedral mesh.