VTK-m  2.0
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
vtkm::exec::PointLocatorSparseGrid Class Reference

#include <PointLocatorSparseGrid.h>

Public Types

using CoordPortalType = typename vtkm::cont::CoordinateSystem::MultiplexerArrayType::ReadPortalType
 
using IdPortalType = typename vtkm::cont::ArrayHandle< vtkm::Id >::ReadPortalType
 

Public Member Functions

 PointLocatorSparseGrid (const vtkm::Vec3f &min, const vtkm::Vec3f &max, const vtkm::Id3 &dims, const CoordPortalType &coords, const IdPortalType &pointIds, const IdPortalType &cellLower, const IdPortalType &cellUpper)
 
VTKM_EXEC void FindNearestNeighbor (const vtkm::Vec3f &queryPoint, vtkm::Id &nearestNeighborId, vtkm::FloatDefault &distance2) const
 Nearest neighbor search using a Uniform Grid. More...
 

Private Member Functions

VTKM_EXEC void FindInCell (const vtkm::Vec3f &queryPoint, const vtkm::Id3 &ijk, vtkm::Id &nearestNeighborId, vtkm::FloatDefault &nearestDistance2) const
 
VTKM_EXEC void FindInBox (const vtkm::Vec3f &queryPoint, const vtkm::Id3 &boxCenter, vtkm::Id level, vtkm::Id &nearestNeighborId, vtkm::FloatDefault &nearestDistance2) const
 
VTKM_EXEC void FindInPlane (const vtkm::Vec3f &queryPoint, const vtkm::Id3 &planeCenter, const vtkm::Id3 &div, const vtkm::Id3 &mod, const vtkm::Id3 &origin, vtkm::Id numInPlane, vtkm::Id &nearestNeighborId, vtkm::FloatDefault &nearestDistance2) const
 
VTKM_EXEC void FindInXPlane (const vtkm::Vec3f &queryPoint, const vtkm::Id3 &planeCenter, vtkm::Id level, vtkm::Id &nearestNeighborId, vtkm::FloatDefault &nearestDistance2) const
 
VTKM_EXEC void FindInYPlane (const vtkm::Vec3f &queryPoint, vtkm::Id3 planeCenter, vtkm::Id level, vtkm::Id &nearestNeighborId, vtkm::FloatDefault &nearestDistance2) const
 
VTKM_EXEC void FindInZPlane (const vtkm::Vec3f &queryPoint, vtkm::Id3 planeCenter, vtkm::Id level, vtkm::Id &nearestNeighborId, vtkm::FloatDefault &nearestDistance2) const
 

Private Attributes

vtkm::Vec3f Min
 
vtkm::Id3 Dims
 
vtkm::Vec3f Dxdydz
 
CoordPortalType Coords
 
IdPortalType PointIds
 
IdPortalType CellLower
 
IdPortalType CellUpper
 

Member Typedef Documentation

◆ CoordPortalType

using vtkm::exec::PointLocatorSparseGrid::CoordPortalType = typename vtkm::cont::CoordinateSystem::MultiplexerArrayType::ReadPortalType

◆ IdPortalType

Constructor & Destructor Documentation

◆ PointLocatorSparseGrid()

vtkm::exec::PointLocatorSparseGrid::PointLocatorSparseGrid ( const vtkm::Vec3f min,
const vtkm::Vec3f max,
const vtkm::Id3 dims,
const CoordPortalType coords,
const IdPortalType pointIds,
const IdPortalType cellLower,
const IdPortalType cellUpper 
)
inline

Member Function Documentation

◆ FindInBox()

VTKM_EXEC void vtkm::exec::PointLocatorSparseGrid::FindInBox ( const vtkm::Vec3f queryPoint,
const vtkm::Id3 boxCenter,
vtkm::Id  level,
vtkm::Id nearestNeighborId,
vtkm::FloatDefault nearestDistance2 
) const
inlineprivate

◆ FindInCell()

VTKM_EXEC void vtkm::exec::PointLocatorSparseGrid::FindInCell ( const vtkm::Vec3f queryPoint,
const vtkm::Id3 ijk,
vtkm::Id nearestNeighborId,
vtkm::FloatDefault nearestDistance2 
) const
inlineprivate

◆ FindInPlane()

VTKM_EXEC void vtkm::exec::PointLocatorSparseGrid::FindInPlane ( const vtkm::Vec3f queryPoint,
const vtkm::Id3 planeCenter,
const vtkm::Id3 div,
const vtkm::Id3 mod,
const vtkm::Id3 origin,
vtkm::Id  numInPlane,
vtkm::Id nearestNeighborId,
vtkm::FloatDefault nearestDistance2 
) const
inlineprivate

◆ FindInXPlane()

VTKM_EXEC void vtkm::exec::PointLocatorSparseGrid::FindInXPlane ( const vtkm::Vec3f queryPoint,
const vtkm::Id3 planeCenter,
vtkm::Id  level,
vtkm::Id nearestNeighborId,
vtkm::FloatDefault nearestDistance2 
) const
inlineprivate

◆ FindInYPlane()

VTKM_EXEC void vtkm::exec::PointLocatorSparseGrid::FindInYPlane ( const vtkm::Vec3f queryPoint,
vtkm::Id3  planeCenter,
vtkm::Id  level,
vtkm::Id nearestNeighborId,
vtkm::FloatDefault nearestDistance2 
) const
inlineprivate

◆ FindInZPlane()

VTKM_EXEC void vtkm::exec::PointLocatorSparseGrid::FindInZPlane ( const vtkm::Vec3f queryPoint,
vtkm::Id3  planeCenter,
vtkm::Id  level,
vtkm::Id nearestNeighborId,
vtkm::FloatDefault nearestDistance2 
) const
inlineprivate

◆ FindNearestNeighbor()

VTKM_EXEC void vtkm::exec::PointLocatorSparseGrid::FindNearestNeighbor ( const vtkm::Vec3f queryPoint,
vtkm::Id nearestNeighborId,
vtkm::FloatDefault distance2 
) const
inline

Nearest neighbor search using a Uniform Grid.

Parallel search of nearesat neighbor for each point in the queryPoints in the set of coords. Returns neareast neighbot in nearestNeighborIds and distances to nearest neighbor in distances.

Parameters
queryPointPoint coordinates to query for nearest neighbor.
nearestNeighborIdNeareast neighbor in the training dataset for each points in the test set
distance2Squared distance between query points and their nearest neighbors.

Member Data Documentation

◆ CellLower

IdPortalType vtkm::exec::PointLocatorSparseGrid::CellLower
private

◆ CellUpper

IdPortalType vtkm::exec::PointLocatorSparseGrid::CellUpper
private

◆ Coords

CoordPortalType vtkm::exec::PointLocatorSparseGrid::Coords
private

◆ Dims

vtkm::Id3 vtkm::exec::PointLocatorSparseGrid::Dims
private

◆ Dxdydz

vtkm::Vec3f vtkm::exec::PointLocatorSparseGrid::Dxdydz
private

◆ Min

vtkm::Vec3f vtkm::exec::PointLocatorSparseGrid::Min
private

◆ PointIds

IdPortalType vtkm::exec::PointLocatorSparseGrid::PointIds
private

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