Go to the documentation of this file.
46 #ifndef vtk_m_worklet_contourtree_distributed_hierarchical_augmenter_find_superparent_for_necessary_nodes_worklet_h
47 #define vtk_m_worklet_contourtree_distributed_hierarchical_augmenter_find_superparent_for_necessary_nodes_worklet_h
56 namespace contourtree_distributed
58 namespace hierarchical_augmenter
68 FieldIn baseTreeRegularNodeGlobalIds,
71 WholeArrayIn baseTreeSuperarcs,
72 WholeArrayIn newSupernodeIds,
75 ExecObject findRegularByGlobal,
76 ExecObject findSuperArcForUnknownNode,
89 template <
typename InFieldPortalType,
91 typename ExecObjectType1,
92 typename ExecObjectType2>
97 const FieldType& dataValue,
98 const InFieldPortalType& baseTreeSuperarcsPortal,
99 const InFieldPortalType& newSupernodeIdsPortal,
100 const ExecObjectType1& findRegularByGlobal,
101 const ExecObjectType2&
102 findSuperArcForUnknownNode,
104 regularSuperparentsValue,
106 regularNodesNeededValue
112 vtkm::Id newRegularId = findRegularByGlobal.FindRegularByGlobal(globalRegularId);
121 vtkm::Id oldSuperarc = baseTreeSuperarcsPortal.Get(oldSuperparent);
130 vtkm::Id newSuperparent = newSupernodeIdsPortal.Get(oldSuperparent);
131 vtkm::Id newSuperTarget = newSupernodeIdsPortal.Get(oldSuperTarget);
135 if (ascendingSuperarc)
137 regularSuperparentsValue = findSuperArcForUnknownNode.FindSuperArcForUnknownNode(
138 globalRegularId, dataValue, newSuperTarget, newSuperparent);
142 regularSuperparentsValue = findSuperArcForUnknownNode.FindSuperArcForUnknownNode(
143 globalRegularId, dataValue, newSuperparent, newSuperTarget);
146 regularNodesNeededValue = regularNode;
Worklet used in HierarchicalAugmenter::CopyBaseRegularStructure for finding the superparent for each ...
Definition: FindSuperparentForNecessaryNodesWorklet.h:63
VTKM_EXEC_CONT bool IsAscending(vtkm::Id flaggedIndex)
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:121
#define VTKM_EXEC
Definition: ExportMacros.h:51
Groups connected points that have the same field value.
Definition: Atomic.h:19
VTKM_EXEC_CONT FindSuperparentForNecessaryNodesWorklet()
Default Constructor.
Definition: FindSuperparentForNecessaryNodesWorklet.h:86
#define VTKM_EXEC_CONT
Definition: ExportMacros.h:52
A control signature tag for output fields.
Definition: WorkletMapField.h:60
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
_1 InputDomain
Definition: FindSuperparentForNecessaryNodesWorklet.h:82
void(FieldIn baseTreeRegularNodeGlobalIds, FieldIn baseTreeSuperparents, FieldIn baseTreeDataValues, WholeArrayIn baseTreeSuperarcs, WholeArrayIn newSupernodeIds, ExecObject findRegularByGlobal, ExecObject findSuperArcForUnknownNode, FieldOut regularSuperparents, FieldOut regularNodesNeeded) ControlSignature
Control signature for the worklet.
Definition: FindSuperparentForNecessaryNodesWorklet.h:80
A control signature tag for input fields.
Definition: WorkletMapField.h:49
void(InputIndex, _1, _2, _3, _4, _5, _6, _7, _8, _9) ExecutionSignature
Definition: FindSuperparentForNecessaryNodesWorklet.h:81
VTKM_EXEC void operator()(const vtkm::Id ®ularNode, const vtkm::Id &globalRegularId, const vtkm::Id &oldSuperparent, const FieldType &dataValue, const InFieldPortalType &baseTreeSuperarcsPortal, const InFieldPortalType &newSupernodeIdsPortal, const ExecObjectType1 &findRegularByGlobal, const ExecObjectType2 &findSuperArcForUnknownNode, vtkm::Id ®ularSuperparentsValue, vtkm::Id ®ularNodesNeededValue) const
operator() of the workelt
Definition: FindSuperparentForNecessaryNodesWorklet.h:93
constexpr vtkm::Id NO_SUCH_ELEMENT
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:73
Base class for worklets that do a simple mapping of field arrays.
Definition: WorkletMapField.h:38