VTK-m
2.2
|
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 () | |
void | SetDims (const vtkm::Id3 &dims) |
vtkm::Id3 | GetDims () const |
void | PrintSummary (std::ostream &out) const |
ExecObjType | PrepareForExecution (vtkm::cont::DeviceAdapterId device, vtkm::cont::Token &token) const |
Public Member Functions inherited from vtkm::cont::CellLocatorBase | |
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 | 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 | |
Protected Member Functions inherited from vtkm::cont::CellLocatorBase | |
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 |
|
inline |
|
overrideprivatevirtual |
Implements vtkm::cont::CellLocatorBase.
|
inline |
ExecObjType vtkm::cont::CellLocatorUniformBins::PrepareForExecution | ( | vtkm::cont::DeviceAdapterId | device, |
vtkm::cont::Token & | token | ||
) | const |
void vtkm::cont::CellLocatorUniformBins::PrintSummary | ( | std::ostream & | out | ) | const |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |