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