Go to the documentation of this file.
18 #ifndef viskores_cont_CellLocatorTwoLevel_h
19 #define viskores_cont_CellLocatorTwoLevel_h
54 template <
typename CellSetCont>
68 using LastCell =
typename ExecObjType::LastCell;
81 this->DensityL1 = val;
94 this->DensityL2 = val;
101 void PrintSummary(std::ostream& out)
const;
111 viskores::internal::cl_uniform_bins::Grid
TopLevel;
118 struct MakeExecObject;
124 #endif // viskores_cont_CellLocatorTwoLevel_h
Base class for all CellLocator classes.
Definition: CellLocatorBase.h:42
typename ExecObjType::LastCell LastCell
Definition: cont/CellLocatorTwoLevel.h:68
viskores::ListTransform< CellExecObjectList, viskores::exec::CellLocatorTwoLevel > CellLocatorExecList
Definition: cont/CellLocatorTwoLevel.h:64
A tag used to identify the cell elements in a topology.
Definition: TopologyElementTag.h:32
CellLocatorTwoLevel()
Definition: cont/CellLocatorTwoLevel.h:70
typename detail::ListApplyImpl< List, Target >::type ListApply
Applies the list of types to a template.
Definition: List.h:146
Manages an array-worth of data.
Definition: ArrayHandle.h:313
viskores::cont::ArrayHandle< viskores::Id > CellIds
Definition: cont/CellLocatorTwoLevel.h:116
viskores::ListApply< CellLocatorExecList, viskores::exec::CellLocatorMultiplexer > ExecObjType
Definition: cont/CellLocatorTwoLevel.h:67
A tag used to identify the point elements in a topology.
Definition: TopologyElementTag.h:42
viskores::FloatDefault DensityL2
Definition: cont/CellLocatorTwoLevel.h:109
viskores::ListTransform< SupportedCellSets, CellSetContToExec > CellExecObjectList
Definition: cont/CellLocatorTwoLevel.h:62
#define VISKORES_CONT
Definition: ExportMacros.h:65
Groups connected points that have the same field value.
Definition: Atomic.h:27
viskores::internal::cl_uniform_bins::Grid TopLevel
Definition: cont/CellLocatorTwoLevel.h:111
#define VISKORES_DEFAULT_CELL_SET_LIST
Definition: DefaultTypes.h:85
typename detail::ListTransformImpl< List, Transform >::type ListTransform
Constructs a list containing all types in a source list applied to a transform template.
Definition: List.h:617
void SetDensityL1(viskores::FloatDefault val)
Specify the desired approximate number of cells per level 1 bin.
Definition: cont/CellLocatorTwoLevel.h:79
void SetDensityL2(viskores::FloatDefault val)
Specify the desired approximate number of cells per level 2 bin.
Definition: cont/CellLocatorTwoLevel.h:92
viskores::cont::ArrayHandle< viskores::Id > LeafStartIndex
Definition: cont/CellLocatorTwoLevel.h:113
A locator that uses 2 nested levels of grids.
Definition: cont/CellLocatorTwoLevel.h:52
viskores::cont::ArrayHandle< viskores::Id > CellCount
Definition: cont/CellLocatorTwoLevel.h:115
::viskores::cont::internal::CellSetList SupportedCellSets
Definition: cont/CellLocatorTwoLevel.h:60
An object used to specify a device.
Definition: DeviceAdapterTag.h:66
viskores::cont::ArrayHandle< viskores::internal::cl_uniform_bins::DimVec3 > LeafDimensions
Definition: cont/CellLocatorTwoLevel.h:112
viskores::Float32 FloatDefault
The floating point type to use when no other precision is specified.
Definition: Types.h:244
viskores::FloatDefault GetDensityL2() const
Specify the desired approximate number of cells per level 2 bin.
Definition: cont/CellLocatorTwoLevel.h:98
typename CellSetCont::template ExecConnectivityType< viskores::TopologyElementTagCell, viskores::TopologyElementTagPoint > CellSetContToExec
Definition: cont/CellLocatorTwoLevel.h:57
A token to hold the scope of an ArrayHandle or other object.
Definition: Token.h:43
viskores::FloatDefault GetDensityL1() const
Specify the desired approximate number of cells per level 1 bin.
Definition: cont/CellLocatorTwoLevel.h:85
viskores::cont::ArrayHandle< viskores::Id > CellStartIndex
Definition: cont/CellLocatorTwoLevel.h:114