| 
    VTK-m
    2.0
    
   | 
 
Worklet implementing the TreeGrafter.IdentifyLeafHyperarcs function. More...
#include <IdentifyLeafHyperarcsWorklet.h>
  
Public Types | |
| using | ControlSignature = void(FieldIn activeSuperarcs, WholeArrayIn supernodeType, WholeArrayIn upNeighbour, WholeArrayIn downNeighbour, WholeArrayOut hierarchicalHyperparent, WholeArrayOut hierarchicalHyperarcPortal, WholeArrayOut whenTransferredPortal) | 
| using | ExecutionSignature = void(_1, _2, _3, _4, _5, _6, _7) | 
| using | InputDomain = _1 | 
  Public Types inherited from vtkm::worklet::WorkletMapField | |
| template<typename Worklet > | |
| using | Dispatcher = vtkm::worklet::DispatcherMapField< Worklet > | 
Public Member Functions | |
| VTKM_EXEC_CONT | IdentifyLeafHyperarcsWorklet (const vtkm::Id &numTransferIterations) | 
| template<typename InFieldPortalType , typename OutFieldPortalType > | |
| VTKM_EXEC void | operator() (const vtkm::worklet::contourtree_augmented::EdgePair &activeSuperarc, const InFieldPortalType supernodeTypePortal, const InFieldPortalType upNeighbourPortal, const InFieldPortalType downNeighbourPortal, const OutFieldPortalType &hierarchicalHyperparentPortal, const OutFieldPortalType &hierarchicalHyperarcPortal, const OutFieldPortalType &whenTransferredPortal) const | 
Private Attributes | |
| vtkm::Id | NumTransferIterations | 
Worklet implementing the TreeGrafter.IdentifyLeafHyperarcs function.
At this stage, we have: i. hierarchicalRegularID set for any supernode stored at all in the parent ii. hierarchicalSuperID set for any supernode that is a supernode in the parent iii. hierarchicalHyperParent set for any attachment point iv. supernodeType set to indicate what type of supernode v. up/dn neighbours set for all supernodes
at the end of the chain collapse, the up/down neighbours define the start & end of the hyperarc one end may be a leaf, in which case we can transfer the hyperarc note that because we are grafting, we have a guarantee that they can't both be leaves we therefore: a. for leaves, determine whether up or down hyperarc, create hyperarc b. for regular vertices pointing to a leaf hyperarc, set superarc / hyperparent c. for other vertices, ignore
| using vtkm::worklet::contourtree_distributed::tree_grafter::IdentifyLeafHyperarcsWorklet::ControlSignature = void( FieldIn activeSuperarcs, WholeArrayIn supernodeType, WholeArrayIn upNeighbour, WholeArrayIn downNeighbour, WholeArrayOut hierarchicalHyperparent, WholeArrayOut hierarchicalHyperarcPortal, WholeArrayOut whenTransferredPortal ) | 
| using vtkm::worklet::contourtree_distributed::tree_grafter::IdentifyLeafHyperarcsWorklet::ExecutionSignature = void(_1, _2, _3, _4, _5, _6, _7) | 
| using vtkm::worklet::contourtree_distributed::tree_grafter::IdentifyLeafHyperarcsWorklet::InputDomain = _1 | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  private | 
 1.8.17