Go to the documentation of this file.
54 #ifndef vtk_m_worklet_contourtree_augmented_active_graph_initialize_active_graph_vertices_h
55 #define vtk_m_worklet_contourtree_augmented_active_graph_initialize_active_graph_vertices_h
63 namespace contourtree_augmented
65 namespace active_graph_inc
74 WholeArrayIn outDegrees,
75 WholeArrayIn inverseIndex,
77 WholeArrayOut activeIndices,
78 WholeArrayOut globalIndex,
79 WholeArrayOut outdegree,
80 WholeArrayOut hyperarcs,
81 WholeArrayOut activeVertices);
89 template <
typename InFieldPortalType,
typename OutFieldPortalType>
91 const InFieldPortalType& outDegrees,
92 const InFieldPortalType& inverseIndex,
93 const InFieldPortalType& extrema,
95 const OutFieldPortalType& activeIndices,
96 const OutFieldPortalType& globalIndex,
97 const OutFieldPortalType& outdegree,
98 const OutFieldPortalType& hyperarcs,
99 const OutFieldPortalType& activeVertices)
const
101 if (outDegrees.Get(sortIndex) != 1)
103 vtkm::Id activeIndex = inverseIndex.Get(sortIndex);
105 activeIndices.Set(sortIndex, activeIndex);
107 globalIndex.Set(activeIndex, sortIndex);
109 outdegree.Set(activeIndex, outDegrees.Get(sortIndex));
111 hyperarcs.Set(activeIndex,
MaskedIndex(extrema.Get(sortIndex)));
113 activeVertices.Set(activeIndex, activeIndex);
_1 InputDomain
Definition: InitializeActiveGraphVertices.h:83
#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 InitializeActiveGraphVertices()
Definition: InitializeActiveGraphVertices.h:87
Definition: InitializeActiveGraphVertices.h:70
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
A control signature tag for input fields.
Definition: WorkletMapField.h:49
void ExecutionSignature(_1, _2, _3, _4, InputIndex, _5, _6, _7, _8, _9)
Definition: InitializeActiveGraphVertices.h:82
void ControlSignature(FieldIn sortIndex, WholeArrayIn outDegrees, WholeArrayIn inverseIndex, WholeArrayIn extrema, WholeArrayOut activeIndices, WholeArrayOut globalIndex, WholeArrayOut outdegree, WholeArrayOut hyperarcs, WholeArrayOut activeVertices)
Definition: InitializeActiveGraphVertices.h:73
VTKM_EXEC void operator()(const vtkm::Id &sortIndex, const InFieldPortalType &outDegrees, const InFieldPortalType &inverseIndex, const InFieldPortalType &extrema, const vtkm::Id, const OutFieldPortalType &activeIndices, const OutFieldPortalType &globalIndex, const OutFieldPortalType &outdegree, const OutFieldPortalType &hyperarcs, const OutFieldPortalType &activeVertices) const
Definition: InitializeActiveGraphVertices.h:90
Base class for worklets that do a simple mapping of field arrays.
Definition: WorkletMapField.h:38