VTK-m
2.2
|
A locator that bins points in a sparsely stored grid. More...
#include <PointLocatorSparseGrid.h>
Public Types | |
using | RangeType = vtkm::Vec< vtkm::Range, 3 > |
Public Member Functions | |
void | SetRange (const RangeType &range) |
const RangeType & | GetRange () const |
void | SetComputeRangeFromCoordinates () |
void | SetNumberOfBins (const vtkm::Id3 &bins) |
const vtkm::Id3 & | GetNumberOfBins () const |
vtkm::exec::PointLocatorSparseGrid | PrepareForExecution (vtkm::cont::DeviceAdapterId device, vtkm::cont::Token &token) const |
Public Member Functions inherited from vtkm::cont::PointLocatorBase | |
virtual | ~PointLocatorBase ()=default |
vtkm::cont::CoordinateSystem | GetCoordinates () const |
Specify the CoordinateSystem defining the location of the cells. More... | |
void | SetCoordinates (const vtkm::cont::CoordinateSystem &coords) |
Specify the CoordinateSystem defining the location of the cells. More... | |
void | SetCoordinates (const vtkm::cont::UnknownArrayHandle &coords) |
Specify the CoordinateSystem defining the location of the cells. More... | |
void | Update () const |
Private Member Functions | |
bool | IsRangeInvalid () const |
void | Build () override |
Private Attributes | |
RangeType | Range = { { 0.0, -1.0 } } |
vtkm::Id3 | Dims = { 32 } |
vtkm::cont::ArrayHandle< vtkm::Id > | PointIds |
vtkm::cont::ArrayHandle< vtkm::Id > | CellLower |
vtkm::cont::ArrayHandle< vtkm::Id > | CellUpper |
Additional Inherited Members | |
Protected Member Functions inherited from vtkm::cont::PointLocatorBase | |
void | SetModified () |
bool | GetModified () const |
A locator that bins points in a sparsely stored grid.
PointLocatorSparseGrid
creates a very dense logical grid over the region containing the points of the provided data set. Although this logical grid has uniform structure, it is stored sparsely. So, it is expected that most of the bins in the structure will be empty but not explicitly stored. This makes PointLocatorSparseGrid
a good representation for unstructured or irregular collections of points.
The algorithm used in PointLocatorSparseGrid
is described in the following publication:
Abhishek Yenpure, Hank Childs, and Kenneth Moreland. "Efficient Point Merging Using Data Parallel Techniques." In Eurographics Symposium on Parallel Graphics and Visualization (EGPGV), June 2019. DOI 10.2312/pgv.20191112.
|
overrideprivatevirtual |
Implements vtkm::cont::PointLocatorBase.
|
inline |
|
inline |
|
inlineprivate |
vtkm::exec::PointLocatorSparseGrid vtkm::cont::PointLocatorSparseGrid::PrepareForExecution | ( | vtkm::cont::DeviceAdapterId | device, |
vtkm::cont::Token & | token | ||
) | const |
|
inline |
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |