Go to the documentation of this file.
53 #ifndef vtk_m_worklet_contourtree_distributed_bract_maker_propagate_boundary_counts_transfer_cumulative_counts_worklet_h
54 #define vtk_m_worklet_contourtree_distributed_bract_maker_propagate_boundary_counts_transfer_cumulative_counts_worklet_h
63 namespace contourtree_distributed
77 WholeArrayIn hyperarcTargetSortPermutation,
78 WholeArrayIn hyperarcs,
79 WholeArrayIn accumulatedBoundaryCountPortal,
80 WholeArrayInOut supernodeTransferBoundaryCountPortal
89 template <
typename InFieldPortalType,
typename InOutFieldPortalType>
91 const InFieldPortalType& hyperarcTargetSortPermutationPortal,
92 const InFieldPortalType& hyperarcsPortal,
93 const InFieldPortalType& accumulatedBoundaryCountPortal,
94 const InOutFieldPortalType& supernodeTransferBoundaryCountPortal)
const
99 hyperarcsPortal.Get(hyperarcTargetSortPermutationPortal.Get(hyperarc));
111 if (hyperarc == hyperarcTargetSortPermutationPortal.GetNumberOfValues() - 1)
113 supernodeTransferBoundaryCountPortal.Set(
115 supernodeTransferBoundaryCountPortal.Get(hyperarcTarget) +
116 accumulatedBoundaryCountPortal.Get(hyperarc));
122 hyperarcsPortal.Get(hyperarcTargetSortPermutationPortal.Get(hyperarc + 1)));
125 if (hyperarcTarget != nextHyperarcTarget)
127 supernodeTransferBoundaryCountPortal.Set(
129 supernodeTransferBoundaryCountPortal.Get(hyperarcTarget) +
130 accumulatedBoundaryCountPortal.Get(hyperarc));
#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_EXEC void operator()(const vtkm::Id &hyperarc, const InFieldPortalType &hyperarcTargetSortPermutationPortal, const InFieldPortalType &hyperarcsPortal, const InFieldPortalType &accumulatedBoundaryCountPortal, const InOutFieldPortalType &supernodeTransferBoundaryCountPortal) const
Definition: PropagateBoundaryCountsTransferCumulativeCountsWorklet.h:90
VTKM_EXEC_CONT vtkm::Id MaskedIndex(vtkm::Id flaggedIndex)
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:127
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: PropagateBoundaryCountsTransferCumulativeCountsWorklet.h:81
VTKM_EXEC_CONT PropagateBoundaryCountsTransferCumulativeCountsWorklet()
Definition: PropagateBoundaryCountsTransferCumulativeCountsWorklet.h:87
Worklet to transfer the cumulative counts for hyperarcs Part of the BoundaryRestrictedAugmentedContou...
Definition: PropagateBoundaryCountsTransferCumulativeCountsWorklet.h:73
void(InputIndex, _1, _2, _3, _4) ExecutionSignature
Definition: PropagateBoundaryCountsTransferCumulativeCountsWorklet.h:82
_1 InputDomain
Definition: PropagateBoundaryCountsTransferCumulativeCountsWorklet.h:83
Base class for worklets that do a simple mapping of field arrays.
Definition: WorkletMapField.h:38