Go to the documentation of this file.
   53 #ifndef vtk_m_worklet_contourtree_augmented_active_graph_set_super_arcs_set_tree_superarcs_h 
   54 #define vtk_m_worklet_contourtree_augmented_active_graph_set_super_arcs_set_tree_superarcs_h 
   63 namespace contourtree_augmented
 
   65 namespace active_graph_inc
 
   74     WholeArrayIn hyperarcs,             
 
   75     WholeArrayIn treeHyperparents,      
 
   78     WholeArrayOut treeSuperarcs,        
 
   79     WholeArrayOut treeFirstSuperchild); 
 
   87   template <
typename InFieldPortalType, 
typename OutFieldPortalType>
 
   90                             const InFieldPortalType& hyperarcsPortal,
 
   91                             const InFieldPortalType& treeHyperparentsPortal,
 
   92                             const InFieldPortalType& superIDPortal,
 
   93                             const InFieldPortalType& hyperIDPortal,
 
   94                             const OutFieldPortalType& treeSuperarcsPortal,
 
   95                             const OutFieldPortalType& treeFirstSuperchildPortal)
 const 
   98     vtkm::Id hyperparent = treeHyperparentsPortal.Get(supernode);
 
  101     bool firstSupernode = 
false;
 
  104       firstSupernode = 
true;
 
  109       vtkm::Id prevHyperparent = treeHyperparentsPortal.Get(supernode - 1);
 
  112       firstSupernode = (hyperparent != prevHyperparent);
 
  121       vtkm::Id prunesTo = hyperarcsPortal.Get(hyperparent);
 
  126         treeSuperarcsPortal.Set(supernode, superIDPortal.Get(
MaskedIndex(prunesTo)));
 
  129       treeFirstSuperchildPortal.Set(hyperIDPortal.Get(hyperparent), supernode);
 
  134       treeSuperarcsPortal.Set(supernode, supernode - 1);
 
  
#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 &, const vtkm::Id supernode, const InFieldPortalType &hyperarcsPortal, const InFieldPortalType &treeHyperparentsPortal, const InFieldPortalType &superIDPortal, const InFieldPortalType &hyperIDPortal, const OutFieldPortalType &treeSuperarcsPortal, const OutFieldPortalType &treeFirstSuperchildPortal) const
Definition: SetSuperArcsSetTreeSuperarcs.h:88
 
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
 
Definition: SetSuperArcsSetTreeSuperarcs.h:69
 
VTKM_EXEC_CONT bool NoSuchElement(vtkm::Id flaggedIndex)
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:97
 
A control signature tag for input fields.
Definition: WorkletMapField.h:49
 
_1 InputDomain
Definition: SetSuperArcsSetTreeSuperarcs.h:81
 
void ControlSignature(FieldIn treeSupernodes, WholeArrayIn hyperarcs, WholeArrayIn treeHyperparents, WholeArrayIn superId, WholeArrayIn hyperId, WholeArrayOut treeSuperarcs, WholeArrayOut treeFirstSuperchild)
Definition: SetSuperArcsSetTreeSuperarcs.h:72
 
void ExecutionSignature(_1, InputIndex, _2, _3, _4, _5, _6, _7)
Definition: SetSuperArcsSetTreeSuperarcs.h:80
 
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
 
VTKM_EXEC_CONT SetSuperArcsSetTreeSuperarcs()
Definition: SetSuperArcsSetTreeSuperarcs.h:85