VTK-m
2.3
|
A locator that uses a uniform grid. More...
#include <CellLocatorUniformBins.h>
Public Types | |
using | SupportedCellSets = ::vtkm::cont::internal::CellSetList |
using | CellExecObjectList = vtkm::ListTransform< SupportedCellSets, CellSetContToExec > |
using | CellLocatorExecList = vtkm::ListTransform< CellExecObjectList, vtkm::exec::CellLocatorUniformBins > |
using | ExecObjType = vtkm::ListApply< CellLocatorExecList, vtkm::exec::CellLocatorMultiplexer > |
using | LastCell = typename ExecObjType::LastCell |
Public Member Functions | |
CellLocatorUniformBins ()=default | |
void | SetDims (const vtkm::Id3 &dims) |
Specify the dimensions of the grid used to establish bins. More... | |
vtkm::Id3 | GetDims () const |
Specify the dimensions of the grid used to establish bins. More... | |
void | PrintSummary (std::ostream &out) const |
Print a summary of the state of this locator. More... | |
ExecObjType | PrepareForExecution (vtkm::cont::DeviceAdapterId device, vtkm::cont::Token &token) const |
![]() | |
virtual | ~CellLocatorBase ()=default |
const vtkm::cont::UnknownCellSet & | GetCellSet () const |
Specify the CellSet defining the structure of the cells being searched. More... | |
void | SetCellSet (const vtkm::cont::UnknownCellSet &cellSet) |
Specify the CellSet defining the structure of the cells being searched. More... | |
const 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 |
Build the search structure used to look up cells. More... | |
Private Types | |
template<typename CellSetCont > | |
using | CellSetContToExec = typename CellSetCont::template ExecConnectivityType< vtkm::TopologyElementTagCell, vtkm::TopologyElementTagPoint > |
using | CellIdArrayType = vtkm::cont::ArrayHandle< vtkm::Id > |
using | CellIdOffsetArrayType = vtkm::cont::ArrayHandle< vtkm::Id > |
Private Member Functions | |
void | Build () override |
Additional Inherited Members | |
![]() | |
void | SetModified () |
bool | GetModified () const |
A locator that uses a uniform grid.
CellLocatorUniformBins
creates a cell search structure using a single uniform grid. The size of the uniform grid is specified using the SetDims
method. In general, the CellLocatorTwoLevel
has the better performance. However, there are some cases where this is not the case. One example of this is a uniformly dense triangle grid. In some cases the CellLocatorUniformBins
produces a more efficient search structure, especially for GPUs where memory access patterns are critical to performance.
using vtkm::cont::CellLocatorUniformBins::CellExecObjectList = vtkm::ListTransform<SupportedCellSets, CellSetContToExec> |
|
private |
|
private |
using vtkm::cont::CellLocatorUniformBins::CellLocatorExecList = vtkm::ListTransform<CellExecObjectList, vtkm::exec::CellLocatorUniformBins> |
|
private |
using vtkm::cont::CellLocatorUniformBins::ExecObjType = vtkm::ListApply<CellLocatorExecList, vtkm::exec::CellLocatorMultiplexer> |
using vtkm::cont::CellLocatorUniformBins::LastCell = typename ExecObjType::LastCell |
using vtkm::cont::CellLocatorUniformBins::SupportedCellSets = ::vtkm::cont::internal::CellSetList |
|
default |
|
overrideprivatevirtual |
Implements vtkm::cont::CellLocatorBase.
|
inline |
Specify the dimensions of the grid used to establish bins.
This locator will establish a grid over the bounds of the input data that contains the number of bins specified by these dimensions in each direction. Larger dimensions will reduce the number of cells in each bin, but will require more memory. SetDims()
must be called before Update()
.
ExecObjType vtkm::cont::CellLocatorUniformBins::PrepareForExecution | ( | vtkm::cont::DeviceAdapterId | device, |
vtkm::cont::Token & | token | ||
) | const |
void vtkm::cont::CellLocatorUniformBins::PrintSummary | ( | std::ostream & | out | ) | const |
Print a summary of the state of this locator.
|
inline |
Specify the dimensions of the grid used to establish bins.
This locator will establish a grid over the bounds of the input data that contains the number of bins specified by these dimensions in each direction. Larger dimensions will reduce the number of cells in each bin, but will require more memory. SetDims()
must be called before Update()
.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |