AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::bump::views::Shape< ShapeTraits, ConnStorage > Struct Template Reference

This class extends the ShapeTraits with object state so it can represent a zone. More...

#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/develop/src/axom/bump/views/Shapes.hpp>

Inherits ShapeTraits.

Public Types

using ConnectivityStorage = ConnStorage
 
using ConnectivityStorageRef = ConnStorage &
 
using ConnectivityStorageConstRef = const ConnStorage &
 
using ConnectivityType = typename ConnStorage::value_type
 
using ConnectivityView = axom::ArrayView< ConnectivityType >
 

Public Member Functions

AXOM_HOST_DEVICE Shape ()
 Construct a shape. More...
 
AXOM_HOST_DEVICE Shape (ConnectivityStorageConstRef ids)
 Construct a shape. More...
 
AXOM_HOST_DEVICE ConnectivityType getId (size_t index) const
 Get a specific id that makes up this shape. More...
 
AXOM_HOST_DEVICE ConnectivityStorageRef getIdsStorage ()
 Get the storage for the ids that make up this shape. More...
 
AXOM_HOST_DEVICE ConnectivityStorageConstRef getIdsStorage () const
 Get the storage for the ids that make up this shape. More...
 
AXOM_HOST_DEVICE ConnectivityView getIds () const
 Get the ids that make up this shape as a view. More...
 
AXOM_HOST_DEVICE ConnectivityStorageConstRef getUniqueIds () const
 Get the unique ids that make up this shape. For basic shapes, assume they are unique. More...
 
template<int _ndims = ShapeTraits::dimension()>
AXOM_HOST_DEVICE std::enable_if<(_ndims==2), void >::type getFace (axom::IndexType AXOM_UNUSED_PARAM(faceIndex), ConnectivityType *ids, axom::IndexType &numIds) const
 Get the ids for the requested face. More...
 
template<int _ndims = ShapeTraits::dimension()>
AXOM_HOST_DEVICE std::enable_if< _ndims !=2, void >::type getFace (axom::IndexType faceIndex, ConnectivityType *ids, axom::IndexType &numIds) const
 

Detailed Description

template<typename ShapeTraits, typename ConnStorage>
struct axom::bump::views::Shape< ShapeTraits, ConnStorage >

This class extends the ShapeTraits with object state so it can represent a zone.

Template Parameters
ShapeTraitsA shape traits class from which to inherit.
ConnStorageA view or container that contains connectivity.

Member Typedef Documentation

◆ ConnectivityStorage

template<typename ShapeTraits , typename ConnStorage >
using axom::bump::views::Shape< ShapeTraits, ConnStorage >::ConnectivityStorage = ConnStorage

◆ ConnectivityStorageRef

template<typename ShapeTraits , typename ConnStorage >
using axom::bump::views::Shape< ShapeTraits, ConnStorage >::ConnectivityStorageRef = ConnStorage &

◆ ConnectivityStorageConstRef

template<typename ShapeTraits , typename ConnStorage >
using axom::bump::views::Shape< ShapeTraits, ConnStorage >::ConnectivityStorageConstRef = const ConnStorage &

◆ ConnectivityType

template<typename ShapeTraits , typename ConnStorage >
using axom::bump::views::Shape< ShapeTraits, ConnStorage >::ConnectivityType = typename ConnStorage::value_type

◆ ConnectivityView

template<typename ShapeTraits , typename ConnStorage >
using axom::bump::views::Shape< ShapeTraits, ConnStorage >::ConnectivityView = axom::ArrayView<ConnectivityType>

Constructor & Destructor Documentation

◆ Shape() [1/2]

template<typename ShapeTraits , typename ConnStorage >
AXOM_HOST_DEVICE axom::bump::views::Shape< ShapeTraits, ConnStorage >::Shape ( )
inline

Construct a shape.

◆ Shape() [2/2]

template<typename ShapeTraits , typename ConnStorage >
AXOM_HOST_DEVICE axom::bump::views::Shape< ShapeTraits, ConnStorage >::Shape ( ConnectivityStorageConstRef  ids)
inline

Construct a shape.

Parameters
idsA reference to connectivity storage for this shape.

References SLIC_ASSERT.

Member Function Documentation

◆ getId()

template<typename ShapeTraits , typename ConnStorage >
AXOM_HOST_DEVICE ConnectivityType axom::bump::views::Shape< ShapeTraits, ConnStorage >::getId ( size_t  index) const
inline

Get a specific id that makes up this shape.

Returns
The i'th id that makes up this shape.

References SLIC_ASSERT.

◆ getIdsStorage() [1/2]

template<typename ShapeTraits , typename ConnStorage >
AXOM_HOST_DEVICE ConnectivityStorageRef axom::bump::views::Shape< ShapeTraits, ConnStorage >::getIdsStorage ( )
inline

Get the storage for the ids that make up this shape.

Returns
The container for the ids that make up this shape.

◆ getIdsStorage() [2/2]

template<typename ShapeTraits , typename ConnStorage >
AXOM_HOST_DEVICE ConnectivityStorageConstRef axom::bump::views::Shape< ShapeTraits, ConnStorage >::getIdsStorage ( ) const
inline

Get the storage for the ids that make up this shape.

Returns
The container for the ids that make up this shape.

◆ getIds()

template<typename ShapeTraits , typename ConnStorage >
AXOM_HOST_DEVICE ConnectivityView axom::bump::views::Shape< ShapeTraits, ConnStorage >::getIds ( ) const
inline

Get the ids that make up this shape as a view.

Returns
A view containing the ids that make up this shape.

◆ getUniqueIds()

template<typename ShapeTraits , typename ConnStorage >
AXOM_HOST_DEVICE ConnectivityStorageConstRef axom::bump::views::Shape< ShapeTraits, ConnStorage >::getUniqueIds ( ) const
inline

Get the unique ids that make up this shape. For basic shapes, assume they are unique.

Returns
The unique ids that make up this shape.

◆ getFace() [1/2]

template<typename ShapeTraits , typename ConnStorage >
template<int _ndims = ShapeTraits::dimension()>
AXOM_HOST_DEVICE std::enable_if<(_ndims == 2), void>::type axom::bump::views::Shape< ShapeTraits, ConnStorage >::getFace ( axom::IndexType   AXOM_UNUSED_PARAMfaceIndex,
ConnectivityType ids,
axom::IndexType numIds 
) const
inline

Get the ids for the requested face.

Parameters
faceIndexThe index of the desired face.
[out]idsA buffer that will contain the ids. The buffer must be large enough to accommodate the largest number of ids that could be returned, which can be obtained in most cases from the maxNodesInFace() method.
[out]numIdsThe number of ids returned for the face.

◆ getFace() [2/2]

template<typename ShapeTraits , typename ConnStorage >
template<int _ndims = ShapeTraits::dimension()>
AXOM_HOST_DEVICE std::enable_if<_ndims != 2, void>::type axom::bump::views::Shape< ShapeTraits, ConnStorage >::getFace ( axom::IndexType  faceIndex,
ConnectivityType ids,
axom::IndexType numIds 
) const
inline

The documentation for this struct was generated from the following file: