|
| AXOM_HOST_DEVICE | PrimalAdaptor (const TopologyView &topologyView, const CoordsetView &coordsetView) |
| | Constructor. More...
|
| |
| AXOM_HOST_DEVICE axom::IndexType | numberOfZones () const |
| | Return the number of zones in the associated topology view. More...
|
| |
| AXOM_HOST_DEVICE BoundingBox | getBoundingBox (axom::IndexType zi) const |
| | Return the bounding box for the zi'th zone. More...
|
| |
| template<int TDIM = CoordsetView::dimension()> |
| AXOM_HOST_DEVICE std::enable_if< TDIM==2, Polygon >::type | getShape (axom::IndexType zi) const |
| | Get the zone zi as a polygon. This is enabled when the input topology is 2D. More...
|
| |
| template<int TDIM = CoordsetView::dimension(), typename ShapeType = typename TopologyView::ShapeType> |
| AXOM_HOST_DEVICE std::enable_if< TDIM==3 &&std::is_same< ShapeType, axom::bump::views::TetShape< typename ShapeType::ConnectivityStorage > >::value, Tetrahedron >::type | getShape (axom::IndexType zi) const |
| | Get the zone zi as a Tetrahedron. This is enabled when the input topology contains tets. More...
|
| |
| template<int TDIM = CoordsetView::dimension(), typename ShapeType = typename TopologyView::ShapeType> |
| AXOM_HOST_DEVICE std::enable_if< TDIM==3 &&std::is_same< ShapeType, axom::bump::views::HexShape< typename ShapeType::ConnectivityStorage > >::value, Hexahedron >::type | getShape (axom::IndexType zi) const |
| | Get the zone zi as a Hexahedron. This is enabled when the input topology contains hexs. More...
|
| |
| template<int TDIM = CoordsetView::dimension(), typename ShapeType = typename TopologyView::ShapeType> |
| AXOM_HOST_DEVICE std::enable_if<(TDIM==3) &&(std::is_same< ShapeType, axom::bump::views::PyramidShape< typename ShapeType::ConnectivityType >>::value||std::is_same< ShapeType, axom::bump::views::WedgeShape< typename ShapeType::ConnectivityType >>::value||std::is_same< ShapeType, axom::bump::views::VariableShape< typename ShapeType::ConnectivityType >>::value), axom::bump::VariableShape< value_type, 3 > >::type | getShape (axom::IndexType zi) const |
| | Get the zone zi as a VariableShape. This is enabled when the input topology contains wedges, pyramids, or mixed shapes. More...
|
| |
| template<int TDIM = CoordsetView::dimension(), typename ShapeType = typename TopologyView::ShapeType> |
| AXOM_HOST_DEVICE std::enable_if< TDIM==3 &&ShapeType::is_polyhedral(), Polyhedron >::type | getShape (axom::IndexType zi) const |
| | Get the zone zi as a Polyhedron. This is enabled when the input topology contains polyhedra. More...
|
| |
template<typename TopologyView, typename CoordsetView, int MAX_VERTS_2D = 12, bool makeFaces = false>
struct axom::bump::PrimalAdaptor< TopologyView, CoordsetView, MAX_VERTS_2D, makeFaces >
This class is a view that exposes shapes in MIR topology and coordset views as primal shapes. SFINAE is used for the getShape() method.
- Template Parameters
-
| TopologyView | The topology view type. |
| CoordsetView | The coordset view type. |
| MAX_VERTS_2D | The maximum number of vertices allowed in a polygon. |
| makeFaces | Whether to make faces for polyhedral shapes or to make primal::Polyhedron. |
template<typename TopologyView , typename CoordsetView , int MAX_VERTS_2D = 12, bool makeFaces = false>
template<int TDIM = CoordsetView::dimension()>
Get the zone zi as a polygon. This is enabled when the input topology is 2D.
- Parameters
-
| zi | The index of the zone we want to return. |
- Returns
- A Polygon that represents the zone from the input topology.
References axom::primal::Polygon< T, NDIMS, ARRAY_TYPE, MAX_VERTS >::addVertex(), axom::bump::PrimalAdaptor< TopologyView, CoordsetView, MAX_VERTS_2D, makeFaces >::m_coordsetView, and axom::bump::PrimalAdaptor< TopologyView, CoordsetView, MAX_VERTS_2D, makeFaces >::m_topologyView.
template<typename TopologyView , typename CoordsetView , int MAX_VERTS_2D = 12, bool makeFaces = false>
template<int TDIM = CoordsetView::dimension(), typename ShapeType = typename TopologyView::ShapeType>
template<typename TopologyView , typename CoordsetView , int MAX_VERTS_2D = 12, bool makeFaces = false>
template<int TDIM = CoordsetView::dimension(), typename ShapeType = typename TopologyView::ShapeType>
template<typename TopologyView , typename CoordsetView , int MAX_VERTS_2D = 12, bool makeFaces = false>
template<int TDIM = CoordsetView::dimension(), typename ShapeType = typename TopologyView::ShapeType>
Get the zone zi as a VariableShape. This is enabled when the input topology contains wedges, pyramids, or mixed shapes.
- Parameters
-
| zi | The index of the zone we want to return. |
- Returns
- A VariableShape that represents the zone from the input topology. VariableShape is used because primal lacks Pyramid, Wedge classes and because if we're using this, we might have a mesh with mixed zone types.
References axom::bump::PrimalAdaptor< TopologyView, CoordsetView, MAX_VERTS_2D, makeFaces >::m_coordsetView, axom::bump::VariableShape< T, NDIMS, N >::m_shapeId, axom::bump::PrimalAdaptor< TopologyView, CoordsetView, MAX_VERTS_2D, makeFaces >::m_topologyView, and axom::bump::VariableShape< T, NDIMS, N >::push_back().
template<typename TopologyView , typename CoordsetView , int MAX_VERTS_2D = 12, bool makeFaces = false>
template<int TDIM = CoordsetView::dimension(), typename ShapeType = typename TopologyView::ShapeType>
Get the zone zi as a Polyhedron. This is enabled when the input topology contains polyhedra.
- Parameters
-
| zi | The index of the zone we want to return. |
- Returns
- A Polyhedron that represents the zone from the input topology.
References axom::bump::AdaptPolyhedron< TopologyView, CoordsetView, makeFaces >::convert(), axom::bump::PrimalAdaptor< TopologyView, CoordsetView, MAX_VERTS_2D, makeFaces >::m_coordsetView, and axom::bump::PrimalAdaptor< TopologyView, CoordsetView, MAX_VERTS_2D, makeFaces >::m_topologyView.