VTK-m  1.8
Public Member Functions | Private Types | Static Private Member Functions | Private Attributes | List of all members
vtkm::exec::CellLocatorTwoLevel< CellStructureType > Class Template Reference

#include <CellLocatorTwoLevel.h>

Public Member Functions

template<typename CellSetType >
VTKM_CONT CellLocatorTwoLevel (const vtkm::internal::cl_uniform_bins::Grid &topLevelGrid, const vtkm::cont::ArrayHandle< DimVec3 > &leafDimensions, const vtkm::cont::ArrayHandle< vtkm::Id > &leafStartIndex, const vtkm::cont::ArrayHandle< vtkm::Id > &cellStartIndex, const vtkm::cont::ArrayHandle< vtkm::Id > &cellCount, const vtkm::cont::ArrayHandle< vtkm::Id > &cellIds, const CellSetType &cellSet, const vtkm::cont::CoordinateSystem &coords, vtkm::cont::DeviceAdapterId device, vtkm::cont::Token &token)
 
VTKM_EXEC vtkm::ErrorCode FindCell (const FloatVec3 &point, vtkm::Id &cellId, FloatVec3 &parametric) const
 
VTKM_EXEC CellLocatorTwoLeveloperator-> ()
 
const VTKM_EXEC CellLocatorTwoLeveloperator-> () const
 

Private Types

using DimVec3 = vtkm::internal::cl_uniform_bins::DimVec3
 
using FloatVec3 = vtkm::internal::cl_uniform_bins::FloatVec3
 
template<typename T >
using ReadPortal = typename vtkm::cont::ArrayHandle< T >::ReadPortalType
 
using CoordsPortalType = typename vtkm::cont::CoordinateSystem::MultiplexerArrayType::ReadPortalType
 

Static Private Member Functions

template<typename CellShapeTag , typename CoordsType >
static VTKM_EXEC vtkm::ErrorCode PointInsideCell (FloatVec3 point, CellShapeTag cellShape, CoordsType cellPoints, FloatVec3 &parametricCoordinates, bool &inside)
 

Private Attributes

vtkm::internal::cl_uniform_bins::Grid TopLevel
 
ReadPortal< DimVec3LeafDimensions
 
ReadPortal< vtkm::IdLeafStartIndex
 
ReadPortal< vtkm::IdCellStartIndex
 
ReadPortal< vtkm::IdCellCount
 
ReadPortal< vtkm::IdCellIds
 
CellStructureType CellSet
 
CoordsPortalType Coords
 

Member Typedef Documentation

◆ CoordsPortalType

template<typename CellStructureType >
using vtkm::exec::CellLocatorTwoLevel< CellStructureType >::CoordsPortalType = typename vtkm::cont::CoordinateSystem::MultiplexerArrayType::ReadPortalType
private

◆ DimVec3

template<typename CellStructureType >
using vtkm::exec::CellLocatorTwoLevel< CellStructureType >::DimVec3 = vtkm::internal::cl_uniform_bins::DimVec3
private

◆ FloatVec3

template<typename CellStructureType >
using vtkm::exec::CellLocatorTwoLevel< CellStructureType >::FloatVec3 = vtkm::internal::cl_uniform_bins::FloatVec3
private

◆ ReadPortal

template<typename CellStructureType >
template<typename T >
using vtkm::exec::CellLocatorTwoLevel< CellStructureType >::ReadPortal = typename vtkm::cont::ArrayHandle<T>::ReadPortalType
private

Constructor & Destructor Documentation

◆ CellLocatorTwoLevel()

template<typename CellStructureType >
template<typename CellSetType >
VTKM_CONT vtkm::exec::CellLocatorTwoLevel< CellStructureType >::CellLocatorTwoLevel ( const vtkm::internal::cl_uniform_bins::Grid &  topLevelGrid,
const vtkm::cont::ArrayHandle< DimVec3 > &  leafDimensions,
const vtkm::cont::ArrayHandle< vtkm::Id > &  leafStartIndex,
const vtkm::cont::ArrayHandle< vtkm::Id > &  cellStartIndex,
const vtkm::cont::ArrayHandle< vtkm::Id > &  cellCount,
const vtkm::cont::ArrayHandle< vtkm::Id > &  cellIds,
const CellSetType &  cellSet,
const vtkm::cont::CoordinateSystem coords,
vtkm::cont::DeviceAdapterId  device,
vtkm::cont::Token token 
)
inline

Member Function Documentation

◆ FindCell()

template<typename CellStructureType >
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellLocatorTwoLevel< CellStructureType >::FindCell ( const FloatVec3 point,
vtkm::Id cellId,
FloatVec3 parametric 
) const
inline

◆ operator->() [1/2]

template<typename CellStructureType >
VTKM_EXEC CellLocatorTwoLevel* vtkm::exec::CellLocatorTwoLevel< CellStructureType >::operator-> ( )
inline

◆ operator->() [2/2]

template<typename CellStructureType >
const VTKM_EXEC CellLocatorTwoLevel* vtkm::exec::CellLocatorTwoLevel< CellStructureType >::operator-> ( ) const
inline

◆ PointInsideCell()

template<typename CellStructureType >
template<typename CellShapeTag , typename CoordsType >
static VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellLocatorTwoLevel< CellStructureType >::PointInsideCell ( FloatVec3  point,
CellShapeTag  cellShape,
CoordsType  cellPoints,
FloatVec3 parametricCoordinates,
bool &  inside 
)
inlinestaticprivate

Member Data Documentation

◆ CellCount

template<typename CellStructureType >
ReadPortal<vtkm::Id> vtkm::exec::CellLocatorTwoLevel< CellStructureType >::CellCount
private

◆ CellIds

template<typename CellStructureType >
ReadPortal<vtkm::Id> vtkm::exec::CellLocatorTwoLevel< CellStructureType >::CellIds
private

◆ CellSet

template<typename CellStructureType >
CellStructureType vtkm::exec::CellLocatorTwoLevel< CellStructureType >::CellSet
private

◆ CellStartIndex

template<typename CellStructureType >
ReadPortal<vtkm::Id> vtkm::exec::CellLocatorTwoLevel< CellStructureType >::CellStartIndex
private

◆ Coords

template<typename CellStructureType >
CoordsPortalType vtkm::exec::CellLocatorTwoLevel< CellStructureType >::Coords
private

◆ LeafDimensions

template<typename CellStructureType >
ReadPortal<DimVec3> vtkm::exec::CellLocatorTwoLevel< CellStructureType >::LeafDimensions
private

◆ LeafStartIndex

template<typename CellStructureType >
ReadPortal<vtkm::Id> vtkm::exec::CellLocatorTwoLevel< CellStructureType >::LeafStartIndex
private

◆ TopLevel

template<typename CellStructureType >
vtkm::internal::cl_uniform_bins::Grid vtkm::exec::CellLocatorTwoLevel< CellStructureType >::TopLevel
private

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