VTK-m  2.2
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
vtkm::exec::CellLocatorUniformBins< CellStructureType > Class Template Reference

#include <CellLocatorUniformBins.h>

Classes

struct  LastCell
 

Public Member Functions

template<typename CellSetType >
 CellLocatorUniformBins (const vtkm::Id3 &cellDims, const vtkm::Vec3f &origin, const vtkm::Vec3f &maxPoint, const vtkm::Vec3f &invSpacing, const vtkm::Id3 &maxCellIds, const vtkm::cont::ArrayHandleGroupVecVariable< CellIdArrayType, CellIdOffsetArrayType > &cellIds, const CellSetType &cellSet, const vtkm::cont::CoordinateSystem &coords, vtkm::cont::DeviceAdapterId device, vtkm::cont::Token &token)
 
vtkm::ErrorCode FindCell (const vtkm::Vec3f &point, vtkm::Id &cellId, vtkm::Vec3f &parametric) const
 
vtkm::ErrorCode FindCell (const vtkm::Vec3f &point, vtkm::Id &cellId, vtkm::Vec3f &parametric, LastCell &lastCell) const
 
CellLocatorUniformBinsoperator-> ()
 
const CellLocatorUniformBinsoperator-> () const
 

Private Types

template<typename T >
using ReadPortal = typename vtkm::cont::ArrayHandle< T >::ReadPortalType
 
using CoordsPortalType = typename vtkm::cont::CoordinateSystem::MultiplexerArrayType::ReadPortalType
 
using CellIdArrayType = vtkm::cont::ArrayHandle< vtkm::Id >
 
using CellIdOffsetArrayType = vtkm::cont::ArrayHandle< vtkm::Id >
 
using CellIdReadPortal = typename vtkm::cont::ArrayHandleGroupVecVariable< CellIdArrayType, CellIdOffsetArrayType >::ReadPortalType
 

Private Member Functions

vtkm::Id FindBinIdx (const vtkm::Vec3f &point) const
 
bool LastCellValid (const LastCell &lastCell) const
 
bool IsInside (const vtkm::Vec3f &point) const
 
vtkm::ErrorCode FindCellImpl (const vtkm::Vec3f &point, vtkm::Id &cellId, vtkm::Vec3f &parametric, LastCell &lastCell, vtkm::Id ptBinIdx=-1) const
 
template<typename PointsVecType >
vtkm::Bounds ComputeCellBounds (const PointsVecType &points) const
 
template<typename CellShapeTag , typename CoordsType >
vtkm::ErrorCode PointInsideCell (vtkm::Vec3f point, CellShapeTag cellShape, CoordsType cellPoints, vtkm::Vec3f &parametricCoordinates, bool &inside) const
 
bool PointInBin (const vtkm::Vec3f &point, const vtkm::Id &binIdx, vtkm::Id &cellId, vtkm::Vec3f &parametric, const vtkm::Id &skipCellId=-1) const
 
bool PointInCell (const vtkm::Vec3f &point, const vtkm::Id &cid, vtkm::Vec3f &parametric) const
 

Private Attributes

vtkm::Id3 CellDims
 
vtkm::Vec3f Origin
 
vtkm::Vec3f MaxPoint
 
vtkm::Vec3f InvSpacing
 
vtkm::Id3 MaxCellIds
 
CellIdReadPortal CellIds
 
CellStructureType CellSet
 
CoordsPortalType Coords
 

Member Typedef Documentation

◆ CellIdArrayType

template<typename CellStructureType >
using vtkm::exec::CellLocatorUniformBins< CellStructureType >::CellIdArrayType = vtkm::cont::ArrayHandle<vtkm::Id>
private

◆ CellIdOffsetArrayType

template<typename CellStructureType >
using vtkm::exec::CellLocatorUniformBins< CellStructureType >::CellIdOffsetArrayType = vtkm::cont::ArrayHandle<vtkm::Id>
private

◆ CellIdReadPortal

template<typename CellStructureType >
using vtkm::exec::CellLocatorUniformBins< CellStructureType >::CellIdReadPortal = typename vtkm::cont::ArrayHandleGroupVecVariable<CellIdArrayType, CellIdOffsetArrayType>::ReadPortalType
private

◆ CoordsPortalType

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

◆ ReadPortal

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

Constructor & Destructor Documentation

◆ CellLocatorUniformBins()

template<typename CellStructureType >
template<typename CellSetType >
vtkm::exec::CellLocatorUniformBins< CellStructureType >::CellLocatorUniformBins ( const vtkm::Id3 cellDims,
const vtkm::Vec3f origin,
const vtkm::Vec3f maxPoint,
const vtkm::Vec3f invSpacing,
const vtkm::Id3 maxCellIds,
const vtkm::cont::ArrayHandleGroupVecVariable< CellIdArrayType, CellIdOffsetArrayType > &  cellIds,
const CellSetType &  cellSet,
const vtkm::cont::CoordinateSystem coords,
vtkm::cont::DeviceAdapterId  device,
vtkm::cont::Token token 
)
inline

Member Function Documentation

◆ ComputeCellBounds()

template<typename CellStructureType >
template<typename PointsVecType >
vtkm::Bounds vtkm::exec::CellLocatorUniformBins< CellStructureType >::ComputeCellBounds ( const PointsVecType &  points) const
inlineprivate

◆ FindBinIdx()

template<typename CellStructureType >
vtkm::Id vtkm::exec::CellLocatorUniformBins< CellStructureType >::FindBinIdx ( const vtkm::Vec3f point) const
inlineprivate

◆ FindCell() [1/2]

template<typename CellStructureType >
vtkm::ErrorCode vtkm::exec::CellLocatorUniformBins< CellStructureType >::FindCell ( const vtkm::Vec3f point,
vtkm::Id cellId,
vtkm::Vec3f parametric 
) const
inline

◆ FindCell() [2/2]

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

◆ FindCellImpl()

template<typename CellStructureType >
vtkm::ErrorCode vtkm::exec::CellLocatorUniformBins< CellStructureType >::FindCellImpl ( const vtkm::Vec3f point,
vtkm::Id cellId,
vtkm::Vec3f parametric,
LastCell lastCell,
vtkm::Id  ptBinIdx = -1 
) const
inlineprivate

◆ IsInside()

template<typename CellStructureType >
bool vtkm::exec::CellLocatorUniformBins< CellStructureType >::IsInside ( const vtkm::Vec3f point) const
inlineprivate

◆ LastCellValid()

template<typename CellStructureType >
bool vtkm::exec::CellLocatorUniformBins< CellStructureType >::LastCellValid ( const LastCell lastCell) const
inlineprivate

◆ operator->() [1/2]

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

◆ operator->() [2/2]

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

◆ PointInBin()

template<typename CellStructureType >
bool vtkm::exec::CellLocatorUniformBins< CellStructureType >::PointInBin ( const vtkm::Vec3f point,
const vtkm::Id binIdx,
vtkm::Id cellId,
vtkm::Vec3f parametric,
const vtkm::Id skipCellId = -1 
) const
inlineprivate

◆ PointInCell()

template<typename CellStructureType >
bool vtkm::exec::CellLocatorUniformBins< CellStructureType >::PointInCell ( const vtkm::Vec3f point,
const vtkm::Id cid,
vtkm::Vec3f parametric 
) const
inlineprivate

◆ PointInsideCell()

template<typename CellStructureType >
template<typename CellShapeTag , typename CoordsType >
vtkm::ErrorCode vtkm::exec::CellLocatorUniformBins< CellStructureType >::PointInsideCell ( vtkm::Vec3f  point,
CellShapeTag  cellShape,
CoordsType  cellPoints,
vtkm::Vec3f parametricCoordinates,
bool &  inside 
) const
inlineprivate

Member Data Documentation

◆ CellDims

template<typename CellStructureType >
vtkm::Id3 vtkm::exec::CellLocatorUniformBins< CellStructureType >::CellDims
private

◆ CellIds

template<typename CellStructureType >
CellIdReadPortal vtkm::exec::CellLocatorUniformBins< CellStructureType >::CellIds
private

◆ CellSet

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

◆ Coords

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

◆ InvSpacing

template<typename CellStructureType >
vtkm::Vec3f vtkm::exec::CellLocatorUniformBins< CellStructureType >::InvSpacing
private

◆ MaxCellIds

template<typename CellStructureType >
vtkm::Id3 vtkm::exec::CellLocatorUniformBins< CellStructureType >::MaxCellIds
private

◆ MaxPoint

template<typename CellStructureType >
vtkm::Vec3f vtkm::exec::CellLocatorUniformBins< CellStructureType >::MaxPoint
private

◆ Origin

template<typename CellStructureType >
vtkm::Vec3f vtkm::exec::CellLocatorUniformBins< CellStructureType >::Origin
private

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