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::CellLocatorTwoLevel< CellStructureType > Class Template Reference

#include <CellLocatorTwoLevel.h>

Classes

struct  LastCell
 

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 vtkm::ErrorCode FindCell (const FloatVec3 &point, vtkm::Id &cellId, FloatVec3 &parametric, LastCell &lastCell) 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
 

Private Member Functions

VTKM_EXEC vtkm::ErrorCode PointInCell (const vtkm::Vec3f &point, const vtkm::Id &cid, vtkm::Vec3f &parametric) const
 
VTKM_EXEC vtkm::ErrorCode PointInLeaf (const FloatVec3 &point, const vtkm::Id &leafIdx, vtkm::Id &cellId, FloatVec3 &parametric) const
 
VTKM_EXEC vtkm::ErrorCode FindCellImpl (const FloatVec3 &point, vtkm::Id &cellId, FloatVec3 &parametric, LastCell &lastCell) const
 

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() [1/2]

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

◆ FindCell() [2/2]

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

◆ FindCellImpl()

template<typename CellStructureType >
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellLocatorTwoLevel< CellStructureType >::FindCellImpl ( const FloatVec3 point,
vtkm::Id cellId,
FloatVec3 parametric,
LastCell lastCell 
) const
inlineprivate

◆ PointInCell()

template<typename CellStructureType >
VTKM_EXEC vtkm::ErrorCode vtkm::exec::CellLocatorTwoLevel< CellStructureType >::PointInCell ( const vtkm::Vec3f point,
const vtkm::Id cid,
vtkm::Vec3f parametric 
) const
inlineprivate

◆ PointInLeaf()

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

◆ 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: