AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
Shapes.hpp File Reference
#include "axom/core/ArrayView.hpp"
#include "axom/slic.hpp"
#include <cassert>
#include <iostream>
#include <type_traits>

Classes

struct  axom::bump::views::PointTraits
 Point type traits. More...
 
struct  axom::bump::views::LineTraits
 Line type traits. More...
 
struct  axom::bump::views::TriTraits
 Triangle type traits. More...
 
struct  axom::bump::views::QuadTraits
 Quad type traits. More...
 
struct  axom::bump::views::TetTraits
 Tet type traits. More...
 
struct  axom::bump::views::PyramidTraits
 Pyramid type traits. More...
 
struct  axom::bump::views::WedgeTraits
 Wedge type traits. More...
 
struct  axom::bump::views::HexTraits
 Hex type traits. More...
 
struct  axom::bump::views::PolygonTraits
 
struct  axom::bump::views::PolyhedronTraits
 Polyhedron shape traits. More...
 
struct  axom::bump::views::PolygonShape< ConnType >
 This struct represents a polygon zone. More...
 
struct  axom::bump::views::Shape< ShapeTraits, ConnStorage >
 This class extends the ShapeTraits with object state so it can represent a zone. More...
 
struct  axom::bump::views::VariableShape< ConnType >
 This is a shape that can act as any of the other shapes. More...
 

Namespaces

 axom
 
 axom::bump
 
 axom::bump::views
 

Typedefs

template<typename ConnType >
using axom::bump::views::PointShape = Shape< PointTraits, typename std::conditional< std::is_integral< ConnType >::value, axom::ArrayView< ConnType >, ConnType >::type >
 Some concrete shape classes based on the shape traits. More...
 
template<typename ConnType >
using axom::bump::views::LineShape = Shape< LineTraits, typename std::conditional< std::is_integral< ConnType >::value, axom::ArrayView< ConnType >, ConnType >::type >
 
template<typename ConnType >
using axom::bump::views::TriShape = Shape< TriTraits, typename std::conditional< std::is_integral< ConnType >::value, axom::ArrayView< ConnType >, ConnType >::type >
 
template<typename ConnType >
using axom::bump::views::QuadShape = Shape< QuadTraits, typename std::conditional< std::is_integral< ConnType >::value, axom::ArrayView< ConnType >, ConnType >::type >
 
template<typename ConnType >
using axom::bump::views::TetShape = Shape< TetTraits, typename std::conditional< std::is_integral< ConnType >::value, axom::ArrayView< ConnType >, ConnType >::type >
 
template<typename ConnType >
using axom::bump::views::PyramidShape = Shape< PyramidTraits, typename std::conditional< std::is_integral< ConnType >::value, axom::ArrayView< ConnType >, ConnType >::type >
 
template<typename ConnType >
using axom::bump::views::WedgeShape = Shape< WedgeTraits, typename std::conditional< std::is_integral< ConnType >::value, axom::ArrayView< ConnType >, ConnType >::type >
 
template<typename ConnType >
using axom::bump::views::HexShape = Shape< HexTraits, typename std::conditional< std::is_integral< ConnType >::value, axom::ArrayView< ConnType >, ConnType >::type >
 

Enumerations

enum  {
  axom::bump::views::Point_ShapeID = 0 , axom::bump::views::Line_ShapeID = 1 , axom::bump::views::Tri_ShapeID = 2 , axom::bump::views::Quad_ShapeID = 3 ,
  axom::bump::views::Polygon_ShapeID = 4 , axom::bump::views::Tet_ShapeID = 5 , axom::bump::views::Pyramid_ShapeID = 6 , axom::bump::views::Wedge_ShapeID = 7 ,
  axom::bump::views::Hex_ShapeID = 8 , axom::bump::views::Polyhedron_ShapeID = 9 , axom::bump::views::Mixed_ShapeID = 10 , axom::bump::views::Invalid_ShapeID = 20
}
 Shape ids. These are used to identify shapes. These are used as indices in bit fields in some algorithms. More...
 

Functions

template<typename T >
constexpr AXOM_HOST_DEVICE bool axom::bump::views::isValidShapeID (T shapeID)
 Determine whether a value is a valid ShapeID. More...
 
constexpr AXOM_HOST_DEVICE IndexType axom::bump::views::shapeDimension (int shapeId)
 prototype More...
 
int axom::bump::views::shapeNameToID (const std::string &name)
 Given a shape name (matches Blueprint shape name), return the Shape id() value. More...