VTK-m  2.0
Classes | Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType > Class Template Reference

#include <CellLocatorBoundingIntervalHierarchy.h>

Classes

struct  LastCell
 

Public Member Functions

VTKM_CONT CellLocatorBoundingIntervalHierarchy (const NodeArrayHandle &nodes, const CellIdArrayHandle &cellIds, const CellSetType &cellSet, const vtkm::cont::CoordinateSystem::MultiplexerArrayType &coords, vtkm::cont::DeviceAdapterId device, vtkm::cont::Token &token)
 
VTKM_EXEC vtkm::ErrorCode FindCell (const vtkm::Vec3f &point, vtkm::Id &cellId, vtkm::Vec3f &parametric) const
 
VTKM_EXEC vtkm::ErrorCode FindCell (const vtkm::Vec3f &point, vtkm::Id &cellId, vtkm::Vec3f &parametric, LastCell &lastCell) const
 
VTKM_EXEC vtkm::ErrorCode FindCellImpl (const vtkm::Vec3f &point, vtkm::Id &cellId, vtkm::Vec3f &parametric, LastCell &lastCell) const
 

Private Types

enum  FindCellState { FindCellState::EnterNode, FindCellState::AscendFromNode, FindCellState::DescendLeftChild, FindCellState::DescendRightChild }
 
using NodeArrayHandle = vtkm::cont::ArrayHandle< vtkm::exec::CellLocatorBoundingIntervalHierarchyNode >
 
using CellIdArrayHandle = vtkm::cont::ArrayHandle< vtkm::Id >
 
using VisitType = vtkm::TopologyElementTagCell
 
using IncidentType = vtkm::TopologyElementTagPoint
 
using NodePortal = typename NodeArrayHandle::ReadPortalType
 
using CellIdPortal = typename CellIdArrayHandle::ReadPortalType
 
using CellSetPortal = typename CellSetType::template ExecConnectivityType< VisitType, IncidentType >
 
using CoordsPortal = typename vtkm::cont::CoordinateSystem::MultiplexerArrayType::ReadPortalType
 

Private Member Functions

VTKM_EXEC vtkm::ErrorCode EnterNode (FindCellState &state, const vtkm::Vec3f &point, vtkm::Id &cellId, vtkm::Id nodeIndex, vtkm::Vec3f &parametric, LastCell &lastCell) const
 
VTKM_EXEC void AscendFromNode (FindCellState &state, vtkm::Id &nodeIndex) const
 
VTKM_EXEC void DescendLeftChild (FindCellState &state, const vtkm::Vec3f &point, vtkm::Id &nodeIndex) const
 
VTKM_EXEC void DescendRightChild (FindCellState &state, const vtkm::Vec3f &point, vtkm::Id &nodeIndex) const
 
VTKM_EXEC vtkm::ErrorCode FindInLeaf (const vtkm::Vec3f &point, vtkm::Vec3f &parametric, const vtkm::exec::CellLocatorBoundingIntervalHierarchyNode &node, vtkm::Id &containingCellId) const
 
VTKM_EXEC vtkm::ErrorCode PointInCell (const vtkm::Vec3f &point, vtkm::Id &cellId, vtkm::Vec3f &parametric) const
 

Static Private Member Functions

template<typename CoordsType , typename CellShapeTag >
static VTKM_EXEC vtkm::ErrorCode IsPointInCell (const vtkm::Vec3f &point, vtkm::Vec3f &parametric, CellShapeTag cellShape, const CoordsType &cellPoints, bool &isInside)
 

Private Attributes

NodePortal Nodes
 
CellIdPortal CellIds
 
CellSetPortal CellSet
 
CoordsPortal Coords
 

Member Typedef Documentation

◆ CellIdArrayHandle

template<typename CellSetType >
using vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType >::CellIdArrayHandle = vtkm::cont::ArrayHandle<vtkm::Id>
private

◆ CellIdPortal

template<typename CellSetType >
using vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType >::CellIdPortal = typename CellIdArrayHandle::ReadPortalType
private

◆ CellSetPortal

template<typename CellSetType >
using vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType >::CellSetPortal = typename CellSetType::template ExecConnectivityType<VisitType, IncidentType>
private

◆ CoordsPortal

template<typename CellSetType >
using vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType >::CoordsPortal = typename vtkm::cont::CoordinateSystem::MultiplexerArrayType::ReadPortalType
private

◆ IncidentType

template<typename CellSetType >
using vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType >::IncidentType = vtkm::TopologyElementTagPoint
private

◆ NodeArrayHandle

◆ NodePortal

template<typename CellSetType >
using vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType >::NodePortal = typename NodeArrayHandle::ReadPortalType
private

◆ VisitType

template<typename CellSetType >
using vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType >::VisitType = vtkm::TopologyElementTagCell
private

Member Enumeration Documentation

◆ FindCellState

template<typename CellSetType >
enum vtkm::exec::CellLocatorBoundingIntervalHierarchy::FindCellState
strongprivate
Enumerator
EnterNode 
AscendFromNode 
DescendLeftChild 
DescendRightChild 

Constructor & Destructor Documentation

◆ CellLocatorBoundingIntervalHierarchy()

template<typename CellSetType >
VTKM_CONT vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType >::CellLocatorBoundingIntervalHierarchy ( const NodeArrayHandle nodes,
const CellIdArrayHandle cellIds,
const CellSetType &  cellSet,
const vtkm::cont::CoordinateSystem::MultiplexerArrayType coords,
vtkm::cont::DeviceAdapterId  device,
vtkm::cont::Token token 
)
inline

Member Function Documentation

◆ AscendFromNode()

template<typename CellSetType >
VTKM_EXEC void vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType >::AscendFromNode ( FindCellState state,
vtkm::Id nodeIndex 
) const
inlineprivate

◆ DescendLeftChild()

template<typename CellSetType >
VTKM_EXEC void vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType >::DescendLeftChild ( FindCellState state,
const vtkm::Vec3f point,
vtkm::Id nodeIndex 
) const
inlineprivate

◆ DescendRightChild()

template<typename CellSetType >
VTKM_EXEC void vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType >::DescendRightChild ( FindCellState state,
const vtkm::Vec3f point,
vtkm::Id nodeIndex 
) const
inlineprivate

◆ EnterNode()

template<typename CellSetType >
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType >::EnterNode ( FindCellState state,
const vtkm::Vec3f point,
vtkm::Id cellId,
vtkm::Id  nodeIndex,
vtkm::Vec3f parametric,
LastCell lastCell 
) const
inlineprivate

◆ FindCell() [1/2]

template<typename CellSetType >
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType >::FindCell ( const vtkm::Vec3f point,
vtkm::Id cellId,
vtkm::Vec3f parametric 
) const
inline

◆ FindCell() [2/2]

template<typename CellSetType >
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType >::FindCell ( const vtkm::Vec3f point,
vtkm::Id cellId,
vtkm::Vec3f parametric,
LastCell lastCell 
) const
inline

◆ FindCellImpl()

template<typename CellSetType >
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType >::FindCellImpl ( const vtkm::Vec3f point,
vtkm::Id cellId,
vtkm::Vec3f parametric,
LastCell lastCell 
) const
inline

◆ FindInLeaf()

template<typename CellSetType >
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType >::FindInLeaf ( const vtkm::Vec3f point,
vtkm::Vec3f parametric,
const vtkm::exec::CellLocatorBoundingIntervalHierarchyNode node,
vtkm::Id containingCellId 
) const
inlineprivate

◆ IsPointInCell()

template<typename CellSetType >
template<typename CoordsType , typename CellShapeTag >
static VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType >::IsPointInCell ( const vtkm::Vec3f point,
vtkm::Vec3f parametric,
CellShapeTag  cellShape,
const CoordsType &  cellPoints,
bool &  isInside 
)
inlinestaticprivate

◆ PointInCell()

template<typename CellSetType >
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType >::PointInCell ( const vtkm::Vec3f point,
vtkm::Id cellId,
vtkm::Vec3f parametric 
) const
inlineprivate

Member Data Documentation

◆ CellIds

template<typename CellSetType >
CellIdPortal vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType >::CellIds
private

◆ CellSet

template<typename CellSetType >
CellSetPortal vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType >::CellSet
private

◆ Coords

template<typename CellSetType >
CoordsPortal vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType >::Coords
private

◆ Nodes

template<typename CellSetType >
NodePortal vtkm::exec::CellLocatorBoundingIntervalHierarchy< CellSetType >::Nodes
private

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