|
VTK-m
2.3
|
A CellLocator that works generally well for any supported cell set. More...
#include <CellLocatorGeneral.h>
Public Types | |
| using | ContLocatorList = vtkm::List< vtkm::cont::CellLocatorUniformGrid, vtkm::cont::CellLocatorRectilinearGrid, vtkm::cont::CellLocatorTwoLevel > |
| using | ExecLocatorList = vtkm::List< vtkm::cont::internal::ExecutionObjectType< vtkm::cont::CellLocatorUniformGrid >, vtkm::cont::internal::ExecutionObjectType< vtkm::cont::CellLocatorRectilinearGrid >, vtkm::cont::internal::ExecutionObjectType< vtkm::cont::CellLocatorTwoLevel > > |
| using | ExecObjType = vtkm::ListApply< ExecLocatorList, vtkm::exec::CellLocatorMultiplexer > |
| using | LastCell = typename ExecObjType::LastCell |
Public Member Functions | |
| 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 | 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 Member Functions | |
| void | Build () override |
Private Attributes | |
| vtkm::cont::ListAsVariant< ContLocatorList > | LocatorImpl |
Additional Inherited Members | |
Protected Member Functions inherited from vtkm::cont::CellLocatorBase | |
| void | SetModified () |
| bool | GetModified () const |
A CellLocator that works generally well for any supported cell set.
CellLocatorGeneral creates a CellLocator that acts like a multiplexer to switch at runtime to any supported cell set. It is a convenient class to use when the type of CellSet cannot be determined at runtime.
Note that CellLocatorGeneral only supports a finite amount of CellSet types. Thus, it is possible to give it a cell set type that is not supported.
Also note that CellLocatorGeneral can add a significant amount of code inside of worklet that uses it, and this might cause some issues with some compilers.
| using vtkm::cont::CellLocatorGeneral::ContLocatorList = vtkm::List<vtkm::cont::CellLocatorUniformGrid, vtkm::cont::CellLocatorRectilinearGrid, vtkm::cont::CellLocatorTwoLevel> |
| using vtkm::cont::CellLocatorGeneral::ExecLocatorList = vtkm::List<vtkm::cont::internal::ExecutionObjectType<vtkm::cont::CellLocatorUniformGrid>, vtkm::cont::internal::ExecutionObjectType<vtkm::cont::CellLocatorRectilinearGrid>, vtkm::cont::internal::ExecutionObjectType<vtkm::cont::CellLocatorTwoLevel> > |
| using vtkm::cont::CellLocatorGeneral::ExecObjType = vtkm::ListApply<ExecLocatorList, vtkm::exec::CellLocatorMultiplexer> |
| using vtkm::cont::CellLocatorGeneral::LastCell = typename ExecObjType::LastCell |
|
overrideprivatevirtual |
Implements vtkm::cont::CellLocatorBase.
| ExecObjType vtkm::cont::CellLocatorGeneral::PrepareForExecution | ( | vtkm::cont::DeviceAdapterId | device, |
| vtkm::cont::Token & | token | ||
| ) | const |
|
private |
1.8.17