AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, primal::Point< CoordType, DIM > > Struct Template Reference

Traits class to manage types for different point representations in a SparseOctreeLevel. More...

#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/latest/src/axom/spin/SparseOctreeLevel.hpp>

Public Types

using GridPt = primal::Point< CoordType, DIM >
 
using PointRepresentationType = GridPt
 
using PointHashType = PointHash< CoordType >
 
using MapType = std::unordered_map< GridPt, BroodDataType, PointHashType >
 
using BroodType = Brood< GridPt, GridPt >
 

Public Member Functions

 AXOM_STATIC_ASSERT_MSG (std::is_integral< CoordType >::value, "CoordType must be integral")
 

Static Public Member Functions

static const PointRepresentationTypeconvertPoint (const GridPt &pt)
 
static void initializeMap (MapType &map)
 

Detailed Description

template<typename CoordType, int DIM, typename BroodDataType>
struct axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, primal::Point< CoordType, DIM > >

Traits class to manage types for different point representations in a SparseOctreeLevel.

This is a specialization meant for point representation that use an integer grid point. The underlying hashmap uses a Morton-based hash function.

Member Typedef Documentation

◆ GridPt

template<typename CoordType , int DIM, typename BroodDataType >
using axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, primal::Point< CoordType, DIM > >::GridPt = primal::Point<CoordType, DIM>

◆ PointRepresentationType

template<typename CoordType , int DIM, typename BroodDataType >
using axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, primal::Point< CoordType, DIM > >::PointRepresentationType = GridPt

◆ PointHashType

template<typename CoordType , int DIM, typename BroodDataType >
using axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, primal::Point< CoordType, DIM > >::PointHashType = PointHash<CoordType>

◆ MapType

template<typename CoordType , int DIM, typename BroodDataType >
using axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, primal::Point< CoordType, DIM > >::MapType = std::unordered_map<GridPt, BroodDataType, PointHashType>

◆ BroodType

template<typename CoordType , int DIM, typename BroodDataType >
using axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, primal::Point< CoordType, DIM > >::BroodType = Brood<GridPt, GridPt>

Member Function Documentation

◆ AXOM_STATIC_ASSERT_MSG()

template<typename CoordType , int DIM, typename BroodDataType >
axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, primal::Point< CoordType, DIM > >::AXOM_STATIC_ASSERT_MSG ( std::is_integral< CoordType >::value  ,
"CoordType must be integral"   
)

◆ convertPoint()

template<typename CoordType , int DIM, typename BroodDataType >
static const PointRepresentationType& axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, primal::Point< CoordType, DIM > >::convertPoint ( const GridPt pt)
inlinestatic

Simple function to convert a point to its representation type

Note
This is a pass through function since the representation and grid point types are the same

◆ initializeMap()

template<typename CoordType , int DIM, typename BroodDataType >
static void axom::spin::BroodRepresentationTraits< CoordType, DIM, BroodDataType, primal::Point< CoordType, DIM > >::initializeMap ( MapType map)
inlinestatic

Utility function to initialize a MapType

Note
sparse hashmaps require setting some default keys

References AXOM_UNUSED_VAR, and axom::utilities::max().


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