Go to the documentation of this file.
70 #ifndef vtkm_worklet_contourtree_saddle_ascent_functor_h
71 #define vtkm_worklet_contourtree_saddle_ascent_functor_h
88 WholeArrayIn firstEdge,
89 WholeArrayIn outdegree,
90 WholeArrayIn activeEdges,
91 WholeArrayIn chainExtemum,
92 WholeArrayInOut edgeFar,
101 template <
typename InFieldPortalType,
typename InOutFieldPortalType>
103 const InFieldPortalType& firstEdge,
104 const InFieldPortalType& outdegree,
105 const InFieldPortalType& activeEdges,
106 const InFieldPortalType& chainExtremum,
107 const InOutFieldPortalType& edgeFar)
const
113 bool isGenuineSaddle =
false;
116 for (
vtkm::Id edge = 0; edge < outdegree.Get(vertexID); edge++)
119 vtkm::Id edgeID = activeEdges.Get(firstEdge.Get(vertexID) + edge);
120 vtkm::Id nbrHigh = chainExtremum.Get(edgeFar.Get(edgeID));
121 edgeFar.Set(edgeID, nbrHigh);
127 if (firstMax != nbrHigh)
129 isGenuineSaddle =
true;
134 if (!isGenuineSaddle)
137 newOutdegree = outdegree.Get(vertexID);
_1 InputDomain
Definition: SaddleAscentFunctor.h:95
#define VTKM_EXEC
Definition: ExportMacros.h:51
Groups connected points that have the same field value.
Definition: Atomic.h:19
VTKM_EXEC vtkm::Id operator()(const vtkm::Id &vertexID, const InFieldPortalType &firstEdge, const InFieldPortalType &outdegree, const InFieldPortalType &activeEdges, const InFieldPortalType &chainExtremum, const InOutFieldPortalType &edgeFar) const
Definition: SaddleAscentFunctor.h:102
#define VTKM_EXEC_CONT
Definition: ExportMacros.h:52
A control signature tag for output fields.
Definition: WorkletMapField.h:60
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
void(FieldIn vertexID, WholeArrayIn firstEdge, WholeArrayIn outdegree, WholeArrayIn activeEdges, WholeArrayIn chainExtemum, WholeArrayInOut edgeFar, FieldOut newOutdegree) ControlSignature
Definition: SaddleAscentFunctor.h:93
A control signature tag for input fields.
Definition: WorkletMapField.h:49
#define NO_VERTEX_ASSIGNED
Definition: filter/scalar_topology/worklet/contourtree/Types.h:77
VTKM_EXEC_CONT SaddleAscentFunctor()
Definition: SaddleAscentFunctor.h:99
_7(_1, _2, _3, _4, _5, _6) ExecutionSignature
Definition: SaddleAscentFunctor.h:94
Definition: SaddleAscentFunctor.h:84
Base class for worklets that do a simple mapping of field arrays.
Definition: WorkletMapField.h:38