Go to the documentation of this file.
46 #ifndef vtk_m_worklet_contourtree_distributed_hierarchical_augmenter_set_first_attachment_point_in_round_worklet_h
47 #define vtk_m_worklet_contourtree_distributed_hierarchical_augmenter_set_first_attachment_point_in_round_worklet_h
56 namespace contourtree_distributed
58 namespace hierarchical_augmenter
70 WholeArrayIn superparentRounds,
71 WholeArrayInOut firstAttachmentPointInRound
81 template <
typename InFieldPortalType,
typename InOutFieldPortalType>
83 const InFieldPortalType& attachmentIdsPortal,
84 const InFieldPortalType& superparentRoundsPortal,
85 const InOutFieldPortalType& firstAttachmentPointInRoundPortal)
const
89 vtkm::Id attachmentPointId = attachmentIdsPortal.Get(attachmentPoint);
91 if (attachmentPoint == 0)
93 firstAttachmentPointInRoundPortal.Set(superparentRoundsPortal.Get(attachmentPointId),
100 vtkm::Id previousAttachmentPointId = attachmentIdsPortal.Get(attachmentPoint - 1);
102 vtkm::Id superparentRound = superparentRoundsPortal.Get(attachmentPointId);
103 vtkm::Id previousSuperparentRound = superparentRoundsPortal.Get(previousAttachmentPointId);
105 if (superparentRound != previousSuperparentRound)
107 firstAttachmentPointInRoundPortal.Set(superparentRound, attachmentPoint);
Worklet used in HierarchicalHyperSweeper.TransferWeights(...) to implement step 7b.
Definition: SetFirstAttachmentPointInRoundWorklet.h:63
#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_CONT SetFirstAttachmentPointInRoundWorklet()
Definition: SetFirstAttachmentPointInRoundWorklet.h:79
void(InputIndex, _1, _2, _3) ExecutionSignature
Definition: SetFirstAttachmentPointInRoundWorklet.h:74
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
_1 InputDomain
Definition: SetFirstAttachmentPointInRoundWorklet.h:75
void(WholeArrayIn attachmentIds, WholeArrayIn superparentRounds, WholeArrayInOut firstAttachmentPointInRound) ControlSignature
Control signature for the worklet NOTE: we need this to be in/out because any valyes we don't set her...
Definition: SetFirstAttachmentPointInRoundWorklet.h:73
VTKM_EXEC void operator()(const vtkm::Id &attachmentPoint, const InFieldPortalType &attachmentIdsPortal, const InFieldPortalType &superparentRoundsPortal, const InOutFieldPortalType &firstAttachmentPointInRoundPortal) const
Definition: SetFirstAttachmentPointInRoundWorklet.h:82
Base class for worklets that do a simple mapping of field arrays.
Definition: WorkletMapField.h:38