VTK-m
2.0
|
Base class for worklets that map topology elements onto each other. More...
#include <WorkletMapTopology.h>
Classes | |
struct | CellSetIn |
A control signature tag for input connectivity. More... | |
struct | CellShape |
An execution signature tag for getting the cell shape. More... | |
struct | FieldInIncident |
A control signature tag for input fields from the incident topology. More... | |
struct | FieldInOut |
A control signature tag for input-output (in-place) fields from the visited topology. More... | |
struct | FieldInVisit |
A control signature tag for input fields from the visited topology. More... | |
struct | FieldOut |
A control signature tag for output fields. More... | |
struct | IncidentElementCount |
An execution signature tag to get the number of incident elements. More... | |
struct | IncidentElementIndices |
An execution signature tag to get the indices of from elements. More... | |
Public Types | |
using | VisitTopologyType = VisitTopology |
using | IncidentTopologyType = IncidentTopology |
Public Member Functions | |
template<typename OutToInArrayType , typename VisitArrayType , typename ThreadToOutArrayType , typename InputDomainType > | |
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC vtkm::exec::arg::ThreadIndicesTopologyMap< InputDomainType, vtkm::exec::arg::CustomScatterOrMaskTag > | GetThreadIndices (vtkm::Id threadIndex, const OutToInArrayType &outToIn, const VisitArrayType &visit, const ThreadToOutArrayType &threadToOut, const InputDomainType &connectivity) const |
Topology map worklets use topology map indices. More... | |
template<typename OutToInArrayType , typename VisitArrayType , typename ThreadToOutArrayType , typename InputDomainType , bool S = IsScatterIdentity, bool M = IsMaskNone> | |
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC EnableFnWhen< S &&M, vtkm::exec::arg::ThreadIndicesTopologyMap< InputDomainType, vtkm::exec::arg::DefaultScatterAndMaskTag > > | GetThreadIndices (vtkm::Id threadIndex1D, const vtkm::Id3 &threadIndex3D, const OutToInArrayType &vtkmNotUsed(outToIn), const VisitArrayType &vtkmNotUsed(visit), const ThreadToOutArrayType &vtkmNotUsed(threadToOut), const InputDomainType &connectivity) const |
Optimized for ScatterIdentity and MaskNone. More... | |
template<typename OutToInArrayType , typename VisitArrayType , typename ThreadToOutArrayType , typename InputDomainType , bool S = IsScatterIdentity, bool M = IsMaskNone> | |
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC EnableFnWhen<!(S &&M), vtkm::exec::arg::ThreadIndicesTopologyMap< InputDomainType, vtkm::exec::arg::CustomScatterOrMaskTag > > | GetThreadIndices (vtkm::Id threadIndex1D, const vtkm::Id3 &threadIndex3D, const OutToInArrayType &outToIn, const VisitArrayType &visit, const ThreadToOutArrayType &threadToOut, const InputDomainType &connectivity) const |
Default version. More... | |
Private Types | |
template<bool Cond, typename ReturnType > | |
using | EnableFnWhen = typename std::enable_if< Cond, ReturnType >::type |
Static Private Attributes | |
static constexpr bool | IsScatterIdentity |
In the remaining methods and constexpr we determine at compilation time which method definition will be actually used for GetThreadIndices. More... | |
static constexpr bool | IsMaskNone = std::is_same<MaskType, vtkm::worklet::MaskNone>::value |
Base class for worklets that map topology elements onto each other.
The template parameters for this class must be members of the TopologyElementTag group. The VisitTopology indicates the elements of a cellset that will be visited, and the IncidentTopology will be mapped onto the VisitTopology.
For instance, WorkletMapTopology<TopologyElementTagPoint, TopologyElementCell>
will execute one instance per point, and provides convenience methods for gathering information about the cells incident to the current point.
|
private |
using vtkm::worklet::WorkletMapTopology< VisitTopology, IncidentTopology >::IncidentTopologyType = IncidentTopology |
using vtkm::worklet::WorkletMapTopology< VisitTopology, IncidentTopology >::VisitTopologyType = VisitTopology |
|
inline |
Topology map worklets use topology map indices.
|
inline |
Default version.
|
inline |
Optimized for ScatterIdentity and MaskNone.
|
staticconstexprprivate |
|
staticconstexprprivate |
In the remaining methods and constexpr
we determine at compilation time which method definition will be actually used for GetThreadIndices.
We want to avoid further function calls when we use WorkletMapTopology in which ScatterType is set as ScatterIdentity and MaskType as MaskNone. Otherwise, we call the default method defined at the bottom of this class.