Go to the documentation of this file.
53 #ifndef vtk_m_worklet_contourtree_augmented_active_graph_compact_active_edges_new_vertex_outdegree_h
54 #define vtk_m_worklet_contourtree_augmented_active_graph_compact_active_edges_new_vertex_outdegree_h
64 namespace contourtree_augmented
66 namespace active_graph_inc
75 WholeArrayIn activeEdges,
77 WholeArrayIn firstEdge,
78 WholeArrayIn outdegree,
79 WholeArrayInOut hyperarcs,
88 template <
typename InFieldPortalType,
typename InOutFieldPortalType>
92 const InFieldPortalType& activeEdgesPortal,
93 const InFieldPortalType& edgeFarPortal,
94 const InFieldPortalType& firstEdgePortal,
95 const InFieldPortalType& outdegreePortal,
96 const InOutFieldPortalType& hyperarcsPortal)
const
98 vtkm::Id edgeFirst = firstEdgePortal.Get(vertexId);
100 vtkm::Id edgeLast = edgeFirst + outdegreePortal.Get(vertexId);
113 for (
vtkm::Id edge = edgeFirst; edge < edgeLast; edge++)
116 vtkm::Id edgeID = activeEdgesPortal.Get(edge);
119 vtkm::Id farEnd = edgeFarPortal.Get(edgeID);
122 vtkm::Id hyperFar = hyperarcsPortal.Get(farEnd);
128 if (farEnd != vertexId)
134 return newOutdegreeValue;
VTKM_EXEC vtkm::Id operator()(const vtkm::Id &vertexId, const vtkm::Id, const InFieldPortalType &activeEdgesPortal, const InFieldPortalType &edgeFarPortal, const InFieldPortalType &firstEdgePortal, const InFieldPortalType &outdegreePortal, const InOutFieldPortalType &hyperarcsPortal) const
Definition: CompactActiveEdgesComputeNewVertexOutdegree.h:89
#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
A control signature tag for output fields.
Definition: WorkletMapField.h:60
constexpr vtkm::Id TERMINAL_ELEMENT
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:74
VTKM_EXEC_CONT CompactActiveEdgesComputeNewVertexOutdegree()
Definition: CompactActiveEdgesComputeNewVertexOutdegree.h:86
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
_7 ExecutionSignature(_1, InputIndex, _2, _3, _4, _5, _6)
Definition: CompactActiveEdgesComputeNewVertexOutdegree.h:81
A control signature tag for input fields.
Definition: WorkletMapField.h:49
void ControlSignature(FieldIn activeVertices, WholeArrayIn activeEdges, WholeArrayIn edgeFar, WholeArrayIn firstEdge, WholeArrayIn outdegree, WholeArrayInOut hyperarcs, FieldOut newOutdegree)
Definition: CompactActiveEdgesComputeNewVertexOutdegree.h:74
constexpr vtkm::Id IS_SUPERNODE
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:75
_1 InputDomain
Definition: CompactActiveEdgesComputeNewVertexOutdegree.h:82
Definition: CompactActiveEdgesComputeNewVertexOutdegree.h:71
Base class for worklets that do a simple mapping of field arrays.
Definition: WorkletMapField.h:38