Go to the documentation of this file.
53 #ifndef vtk_m_worklet_contourtree_distributed_bract_maker_propagate_boundary_counts_compute_group_totals_worklet_h
54 #define vtk_m_worklet_contourtree_distributed_bract_maker_propagate_boundary_counts_compute_group_totals_worklet_h
63 namespace contourtree_distributed
76 WholeArrayIn hyperarcTargetSortPermutation,
77 WholeArrayIn hyperarcs,
78 WholeArrayIn accumulatedBoundaryCountPortal,
79 WholeArrayInOut supernodeTransferBoundaryCountPortal
88 template <
typename InFieldPortalType,
typename InOutFieldPortalType>
90 const InFieldPortalType& hyperarcTargetSortPermutationPortal,
91 const InFieldPortalType& hyperarcsPortal,
92 const InFieldPortalType& accumulatedBoundaryCountPortal,
93 const InOutFieldPortalType& supernodeTransferBoundaryCountPortal)
const
102 hyperarcsPortal.Get(hyperarcTargetSortPermutationPortal.Get(hyperarc)));
104 hyperarcsPortal.Get(hyperarcTargetSortPermutationPortal.Get(hyperarc - 1)));
107 if (hyperarcTarget != prevHyperarcTarget)
112 supernodeTransferBoundaryCountPortal.Set(
114 supernodeTransferBoundaryCountPortal.Get(hyperarcTarget) -
115 accumulatedBoundaryCountPortal.Get(hyperarc - 1));
VTKM_EXEC_CONT PropagateBoundaryCountsComputeGroupTotalsWorklet()
Definition: PropagateBoundaryCountsComputeGroupTotalsWorklet.h:86
#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
Worklet to subtract the beginning of the group to get the total for each group Part of the BoundaryRe...
Definition: PropagateBoundaryCountsComputeGroupTotalsWorklet.h:72
VTKM_EXEC_CONT vtkm::Id MaskedIndex(vtkm::Id flaggedIndex)
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:127
_1 InputDomain
Definition: PropagateBoundaryCountsComputeGroupTotalsWorklet.h:82
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
VTKM_EXEC_CONT bool NoSuchElement(vtkm::Id flaggedIndex)
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:97
void(WholeArrayIn hyperarcTargetSortPermutation, WholeArrayIn hyperarcs, WholeArrayIn accumulatedBoundaryCountPortal, WholeArrayInOut supernodeTransferBoundaryCountPortal) ControlSignature
Definition: PropagateBoundaryCountsComputeGroupTotalsWorklet.h:80
void(InputIndex, _1, _2, _3, _4) ExecutionSignature
Definition: PropagateBoundaryCountsComputeGroupTotalsWorklet.h:81
Base class for worklets that do a simple mapping of field arrays.
Definition: WorkletMapField.h:38
VTKM_EXEC void operator()(const vtkm::Id &hyperarc, const InFieldPortalType &hyperarcTargetSortPermutationPortal, const InFieldPortalType &hyperarcsPortal, const InFieldPortalType &accumulatedBoundaryCountPortal, const InOutFieldPortalType &supernodeTransferBoundaryCountPortal) const
Definition: PropagateBoundaryCountsComputeGroupTotalsWorklet.h:89