Go to the documentation of this file.
54 #ifndef vtk_m_worklet_contourtree_augmented_active_graph_transfer_saddle_starts_set_new_outdegree_for_saddles_h
55 #define vtk_m_worklet_contourtree_augmented_active_graph_transfer_saddle_starts_set_new_outdegree_for_saddles_h
65 namespace contourtree_augmented
67 namespace active_graph_inc
76 WholeArrayIn firstEdge,
77 WholeArrayIn outdegree,
78 WholeArrayIn activeEdges,
79 WholeArrayIn hyperarcs,
81 WholeArrayOut newOutdegree);
89 template <
typename OutFieldPortalType,
typename InFieldPortalType>
92 const InFieldPortalType& firstEdgePortal,
93 const InFieldPortalType& outdegreePortal,
94 const InFieldPortalType& activeEdgesPortal,
95 const InFieldPortalType& hyperarcsPortal,
96 const InFieldPortalType& edgeFarPortal,
97 const OutFieldPortalType& newOutdegreePortal)
const
101 bool isGenuineSaddle =
false;
104 vtkm::Id firstE = firstEdgePortal.Get(vertexId);
105 for (
vtkm::Id edge = firstE; edge < firstE + outdegreePortal.Get(vertexId); edge++)
108 vtkm::Id edgeId = activeEdgesPortal.Get(edge);
112 if (nbrFar == vertexId)
119 if (firstExt != nbrFar)
121 isGenuineSaddle =
true;
127 if (!isGenuineSaddle)
129 newOutdegreePortal.Set(vertex, 0);
133 newOutdegreePortal.Set(vertex, outdegreePortal.Get(vertexId));
void ControlSignature(FieldIn activeVertices, WholeArrayIn firstEdge, WholeArrayIn outdegree, WholeArrayIn activeEdges, WholeArrayIn hyperarcs, WholeArrayIn edgeFar, WholeArrayOut newOutdegree)
Definition: TransferSaddleStartsSetNewOutdegreeForSaddles.h:75
#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 &vertexId, const vtkm::Id vertex, const InFieldPortalType &firstEdgePortal, const InFieldPortalType &outdegreePortal, const InFieldPortalType &activeEdgesPortal, const InFieldPortalType &hyperarcsPortal, const InFieldPortalType &edgeFarPortal, const OutFieldPortalType &newOutdegreePortal) const
Definition: TransferSaddleStartsSetNewOutdegreeForSaddles.h:90
_1 InputDomain
Definition: TransferSaddleStartsSetNewOutdegreeForSaddles.h:83
VTKM_EXEC_CONT TransferSaddleStartsSetNewOutdegreeForSaddles()
Definition: TransferSaddleStartsSetNewOutdegreeForSaddles.h:87
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
void ExecutionSignature(_1, InputIndex, _2, _3, _4, _5, _6, _7)
Definition: TransferSaddleStartsSetNewOutdegreeForSaddles.h:82
Definition: TransferSaddleStartsSetNewOutdegreeForSaddles.h:72
A control signature tag for input fields.
Definition: WorkletMapField.h:49
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