|
AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
|
Represent various shapes that consist of points. More...
#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/main/src/axom/bump/VariableShape.hpp>
Public Types | |
| using | PointType = axom::primal::Point< T, NDIMS > |
Public Member Functions | |
| AXOM_HOST_DEVICE int | id () const |
| Return the shape id type. More... | |
| AXOM_HOST_DEVICE axom::IndexType | size () const |
| Return the number of points in the shape. More... | |
| AXOM_HOST_DEVICE void | push_back (const PointType &pt) |
| Add a point to the shape. More... | |
| AXOM_HOST_DEVICE const PointType & | operator[] (axom::IndexType index) const |
| Return the index'th point. More... | |
| AXOM_HOST_DEVICE double | volume () const |
| Return unsigned shape volume. More... | |
| AXOM_HOST_DEVICE void | splitPyramid (axom::primal::Tetrahedron< T, NDIMS > tets[2]) const |
| Split the shape into tets. More... | |
| AXOM_HOST_DEVICE void | splitWedge (axom::primal::Tetrahedron< T, NDIMS > tets[3]) const |
| Split the shape into tets. More... | |
Public Attributes | |
| int | m_shapeId |
| axom::StaticArray< PointType, N > | m_points |
Represent various shapes that consist of points.
| T | The coordinate precision type. |
| NDIMS | The spatial coordinate dimension. |
| N | The max number of points that the shape can contain. |
| using axom::bump::VariableShape< T, NDIMS, N >::PointType = axom::primal::Point<T, NDIMS> |
|
inline |
Return the shape id type.
References axom::bump::VariableShape< T, NDIMS, N >::m_shapeId.
|
inline |
Return the number of points in the shape.
References axom::bump::VariableShape< T, NDIMS, N >::m_points.
|
inline |
Add a point to the shape.
| pt | The point to add. |
References axom::bump::VariableShape< T, NDIMS, N >::m_points.
|
inline |
Return the index'th point.
| index | The index of the point to return. |
References axom::bump::VariableShape< T, NDIMS, N >::m_points.
|
inline |
Return unsigned shape volume.
References axom::bump::views::Hex_ShapeID, axom::bump::VariableShape< T, NDIMS, N >::m_points, axom::bump::VariableShape< T, NDIMS, N >::m_shapeId, axom::bump::views::Pyramid_ShapeID, SLIC_ASSERT, axom::bump::VariableShape< T, NDIMS, N >::splitPyramid(), axom::bump::VariableShape< T, NDIMS, N >::splitWedge(), axom::bump::views::Tet_ShapeID, axom::primal::Hexahedron< T, NDIMS >::volume(), axom::primal::Tetrahedron< T, NDIMS >::volume(), and axom::bump::views::Wedge_ShapeID.
|
inline |
Split the shape into tets.
| [out] | tets | The output array of tets that make up the shape. |
References axom::bump::VariableShape< T, NDIMS, N >::m_points, axom::bump::VariableShape< T, NDIMS, N >::m_shapeId, axom::bump::views::Pyramid_ShapeID, and SLIC_ASSERT.
|
inline |
Split the shape into tets.
| [out] | tets | The output array of tets that make up the shape. |
References axom::bump::VariableShape< T, NDIMS, N >::m_points, axom::bump::VariableShape< T, NDIMS, N >::m_shapeId, SLIC_ASSERT, and axom::bump::views::Wedge_ShapeID.
| int axom::bump::VariableShape< T, NDIMS, N >::m_shapeId |
| axom::StaticArray<PointType, N> axom::bump::VariableShape< T, NDIMS, N >::m_points |