Go to the documentation of this file.
47 #ifndef vtk_m_worklet_contourtree_distributed_hierarchical_hyper_sweeper_compute_superarc_dependent_weights_worklet_h
48 #define vtk_m_worklet_contourtree_distributed_hierarchical_hyper_sweeper_compute_superarc_dependent_weights_worklet_h
57 namespace contourtree_distributed
59 namespace hierarchical_hyper_sweeper
64 template <
typename FieldType>
71 hierarchicalTreeSuperarcsView,
73 hierarchicalTreeHyperparentsView,
74 WholeArrayIn hierarchicalTreeHypernodes,
75 WholeArrayIn valuePrefixSum,
84 const vtkm::Id& hierarchicalTreeNumRounds)
91 template <
typename InFieldPortalType>
96 const InFieldPortalType& hierarchicalTreeHypernodesPortal,
97 const InFieldPortalType& valuePrefixSumPortal,
109 dependentValue = valuePrefixSumPortal.Get(supernode);
116 dependentValue = valuePrefixSumPortal.Get(supernode);
122 valuePrefixSumPortal.Get(supernode) - valuePrefixSumPortal.Get(supernode - 1);
129 vtkm::Id hyperparentSuperId = hierarchicalTreeHypernodesPortal.Get(hyperparent);
132 FieldType baseValue = 0;
135 baseValue = valuePrefixSumPortal.Get(hyperparentSuperId - 1);
138 dependentValue = valuePrefixSumPortal.Get(supernode) - baseValue;
VTKM_EXEC_CONT ComputeSuperarcDependentWeightsWorklet(const vtkm::Id &firstSupernode, const vtkm::Id &round, const vtkm::Id &hierarchicalTreeNumRounds)
Definition: ComputeSuperarcDependentWeightsWorklet.h:82
#define VTKM_EXEC
Definition: ExportMacros.h:51
Groups connected points that have the same field value.
Definition: Atomic.h:19
#define VTKM_EXEC_CONT
Definition: ExportMacros.h:52
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
void(_1, _2, _3, _4, _5, _6) ExecutionSignature
Definition: ComputeSuperarcDependentWeightsWorklet.h:78
const vtkm::Id HierarchicalTreeNumRounds
Definition: ComputeSuperarcDependentWeightsWorklet.h:189
VTKM_EXEC_CONT bool NoSuchElement(vtkm::Id flaggedIndex)
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:97
Worklet used in HierarchicalHyperSweeper.ComputeSuperarcDependentWeightsWorklet(.....
Definition: ComputeSuperarcDependentWeightsWorklet.h:65
A control signature tag for input fields.
Definition: WorkletMapField.h:49
const vtkm::Id Round
Definition: ComputeSuperarcDependentWeightsWorklet.h:188
A control signature tag for input-output (in-place) fields.
Definition: WorkletMapField.h:71
VTKM_EXEC void operator()(const vtkm::Id &supernode, const vtkm::Id &superarcTo, const vtkm::Id &hyperparent, const InFieldPortalType &hierarchicalTreeHypernodesPortal, const InFieldPortalType &valuePrefixSumPortal, vtkm::Id &dependentValue) const
Definition: ComputeSuperarcDependentWeightsWorklet.h:92
const vtkm::Id FirstSupernode
Definition: ComputeSuperarcDependentWeightsWorklet.h:187
void(FieldIn supernodeIndex, FieldIn hierarchicalTreeSuperarcsView, FieldIn hierarchicalTreeHyperparentsView, WholeArrayIn hierarchicalTreeHypernodes, WholeArrayIn valuePrefixSum, FieldInOut dependentValuesView) ControlSignature
Definition: ComputeSuperarcDependentWeightsWorklet.h:77
Base class for worklets that do a simple mapping of field arrays.
Definition: WorkletMapField.h:38