VTK-m
2.0
|
A locator that uses a uniform grid. More...
#include <CellLocatorUniformBins.h>
Public Types | |
using | SupportedCellSets = VTKM_DEFAULT_CELL_SET_LIST |
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 |
Private Types | |
using | Superclass = vtkm::cont::internal::CellLocatorBase< CellLocatorUniformBins > |
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 | |
VTKM_CONT void | Build () |
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 |
|
private |
using vtkm::cont::CellLocatorUniformBins::SupportedCellSets = VTKM_DEFAULT_CELL_SET_LIST |
|
inline |
|
private |
|
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 |
|
private |