Worklet used to implement the main part of HierarchicalAugmenter::CreateSuperarcs Connect superarcs for the level & set hyperparents & superchildren count, whichRound, whichIteration, super2hypernode.  
 More...
#include <CreateSuperarcsWorklet.h>
 | 
| using  | ControlSignature = void(WholeArrayIn supernodeSorter, WholeArrayIn superparentSet, WholeArrayIn baseTreeSuperarcs, WholeArrayIn newSupernodeIds, WholeArrayIn baseTreeSupernodes, WholeArrayIn baseTreeRegularNodeGlobalIds, FieldIn globalRegularIdSet, WholeArrayIn baseTreeSuper2Hypernode, WholeArrayIn baseTreeWhichIteration, FieldOut augmentedTreeSuperarcsView, WholeArrayInOut augmentedTreeFirstSupernodePerIteration, FieldOut augmentedTreeSuper2hypernode) | 
|   | Control signature for the worklet.  More...
  | 
|   | 
| using  | ExecutionSignature = void(InputIndex, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) | 
|   | 
| using  | InputDomain = _1 | 
|   | 
| template<typename Worklet >  | 
| using  | Dispatcher = vtkm::worklet::DispatcherMapField< Worklet > | 
|   | 
 | 
| VTKM_EXEC_CONT  | CreateSuperarcsWorklet (const vtkm::Id &numSupernodesAlready, const vtkm::Id &baseTreeNumRounds, const vtkm::Id &augmentedTreeNumIterations, const vtkm::Id &roundNumber, const vtkm::Id &numAugmentedTreeSupernodes) | 
|   | Default Constructor.  More...
  | 
|   | 
| template<typename InFieldPortalType , typename InOutFieldPortalType >  | 
| VTKM_EXEC void  | operator() (const vtkm::Id &supernode, const InFieldPortalType &supernodeSorterPortal, const InFieldPortalType &superparentSetPortal, const InFieldPortalType &baseTreeSuperarcsPortal, const InFieldPortalType &newSupernodeIdsPortal, const InFieldPortalType &baseTreeSupernodesPortal, const InFieldPortalType &baseTreeRegularNodeGlobalIdsPortal, const vtkm::Id &globalRegularIdSetValue, const InFieldPortalType &baseTreeSuper2HypernodePortal, const InFieldPortalType &baseTreeWhichIterationPortal, vtkm::Id &augmentedTreeSuperarcsValue, const InOutFieldPortalType &augmentedTreeFirstSupernodePerIterationPortal, vtkm::Id &augmentedTreeSuper2hypernodeValue) const | 
|   | operator() of the workelt  More...
  | 
|   | 
Worklet used to implement the main part of HierarchicalAugmenter::CreateSuperarcs Connect superarcs for the level & set hyperparents & superchildren count, whichRound, whichIteration, super2hypernode. 
 
◆ ControlSignature
      
        
          | using vtkm::worklet::contourtree_distributed::hierarchical_augmenter::CreateSuperarcsWorklet::ControlSignature =  void( WholeArrayIn supernodeSorter, WholeArrayIn superparentSet, WholeArrayIn baseTreeSuperarcs, WholeArrayIn newSupernodeIds, WholeArrayIn baseTreeSupernodes, WholeArrayIn baseTreeRegularNodeGlobalIds, FieldIn globalRegularIdSet, WholeArrayIn baseTreeSuper2Hypernode, WholeArrayIn baseTreeWhichIteration, FieldOut augmentedTreeSuperarcsView, WholeArrayInOut augmentedTreeFirstSupernodePerIteration, FieldOut augmentedTreeSuper2hypernode ) | 
        
      
 
Control signature for the worklet. 
- Parameters
 - 
  
    | [in] | supernodeSorter | input domain. We need access to InputIndex and InputIndex+1, therefore this is a WholeArrayIn transfer.  | 
    | [in] | superparentSet | WholeArrayIn because we need access to superparentSet[supernodeSorter[InputIndex]] and superparentSet[supernodeSorter[InputIndex+1]].  | 
    | [in] | baseTreeSuperarcs | WholeArrayIn because we need access to baseTreeSuperarcsPortal.Get(superparentOldSuperId) While this could be done with fancy array magic, it would require a sequence of multiple fancy arrays and would likely not be cheaper then computing things in the worklet.  | 
    | [in] | newSupernodeIds | WholeArrayIn because we need to access newSupernodeIdsPortal.Get(oldTargetSuperId) where oldTargetSuperId is the unmasked baseTreeSuperarcsPortal.Get(superparentOldSuperId)  | 
    | [in] | baseTreeSupernodes | WholeArrayIn because we need to access baseTreeSupernodesPortal.Get(superparentOldSuperId);  | 
    | [in] | baseTreeRegularNodeGlobalIds | WholeArrayIn because we need to access baseTreeRegularNodeGlobalIdsPortal.Get(superparentOldSuperId);  | 
    | [in] | globalRegularIdSet | FieldInd. Permute globalRegularIdSet with supernodeSorter in order to allow this to be a FieldIn.  | 
    | [in] | baseTreeSuper2Hypernode | WholeArrayIn because we need to access baseTreeSuper2HypernodePortal.Get(superparentOldSuperId)  | 
    | [in] | baseTreeWhichIteration | WholeArrayIn because we need to access baseTreeWhichIterationPortal.Get(superparentOldSuperId) and baseTreeWhichIterationPortal.Get(superparentOldSuperId+1)  | 
    | [in] | augmentedTreeSuperarcsView | output view of this->AugmentedTree->Superarcs with vtkm::cont::make_ArrayHandleView(this->AugmentedTree->Superarcs, numSupernodesAlready, this->SupernodeSorter.GetNumberOfValues()). By using this view allows us to do this one as a FieldOut and it effectively the same as accessing the array at the newSuppernodeId location.  | 
    | [in] | augmentedTreeFirstSupernodePerIteration | WholeArrayInOut because we need to update multiple locations. In is used to preseve original values. Set to augmentedTree->firstSupernodePerIteration[roundNumber].  | 
    | [in] | augmentedTreeSuper2hypernode | FieldOut. Output view of this->AugmentedTree->Super2Hypernode vtkm::cont::make_ArrayHandleView(this->AugmentedTree->Super2Hypernode, numSupernodesAlready, this->SupernodeSorter.GetNumberOfValues()). By using this view allows us to do this one as a FieldOut and it effectively the same as accessing the array at the newSuppernodeId location.  | 
  
   
 
 
◆ ExecutionSignature
      
        
          | using vtkm::worklet::contourtree_distributed::hierarchical_augmenter::CreateSuperarcsWorklet::ExecutionSignature =  void(InputIndex, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) | 
        
      
 
 
◆ InputDomain
◆ CreateSuperarcsWorklet()
  
  
      
        
          | VTKM_EXEC_CONT vtkm::worklet::contourtree_distributed::hierarchical_augmenter::CreateSuperarcsWorklet::CreateSuperarcsWorklet  | 
          ( | 
          const vtkm::Id &  | 
          numSupernodesAlready,  | 
         
        
           | 
           | 
          const vtkm::Id &  | 
          baseTreeNumRounds,  | 
         
        
           | 
           | 
          const vtkm::Id &  | 
          augmentedTreeNumIterations,  | 
         
        
           | 
           | 
          const vtkm::Id &  | 
          roundNumber,  | 
         
        
           | 
           | 
          const vtkm::Id &  | 
          numAugmentedTreeSupernodes  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   | 
  
 
Default Constructor. 
- Parameters
 - 
  
    | [in] | numSupernodesAlready | Set to vtkm::cont::ArrayGetValue(0, this->AugmentedTree->FirstSupernodePerIteration[roundNumber]);  | 
    | [in] | baseTreeNumRounds | Set to this->BaseTree->NumRounds  | 
    | [in] | augmentedTreeNumIterations | Set to vtkm::cont::ArrayGetValue(roundNumber, this->AugmentedTree->NumIterations);  | 
    | [in] | roundNumber | Set the current round  | 
    | [in] | numAugmentedTreeSupernodes | Set to augmentedTreeSupernodes this->AugmentedTree->Supernodes.GetNumberOfValues();  | 
  
   
 
 
◆ operator()()
template<typename InFieldPortalType , typename InOutFieldPortalType > 
  
  
      
        
          | VTKM_EXEC void vtkm::worklet::contourtree_distributed::hierarchical_augmenter::CreateSuperarcsWorklet::operator()  | 
          ( | 
          const vtkm::Id &  | 
          supernode,  | 
         
        
           | 
           | 
          const InFieldPortalType &  | 
          supernodeSorterPortal,  | 
         
        
           | 
           | 
          const InFieldPortalType &  | 
          superparentSetPortal,  | 
         
        
           | 
           | 
          const InFieldPortalType &  | 
          baseTreeSuperarcsPortal,  | 
         
        
           | 
           | 
          const InFieldPortalType &  | 
          newSupernodeIdsPortal,  | 
         
        
           | 
           | 
          const InFieldPortalType &  | 
          baseTreeSupernodesPortal,  | 
         
        
           | 
           | 
          const InFieldPortalType &  | 
          baseTreeRegularNodeGlobalIdsPortal,  | 
         
        
           | 
           | 
          const vtkm::Id &  | 
          globalRegularIdSetValue,  | 
         
        
           | 
           | 
          const InFieldPortalType &  | 
          baseTreeSuper2HypernodePortal,  | 
         
        
           | 
           | 
          const InFieldPortalType &  | 
          baseTreeWhichIterationPortal,  | 
         
        
           | 
           | 
          vtkm::Id &  | 
          augmentedTreeSuperarcsValue,  | 
         
        
           | 
           | 
          const InOutFieldPortalType &  | 
          augmentedTreeFirstSupernodePerIterationPortal,  | 
         
        
           | 
           | 
          vtkm::Id &  | 
          augmentedTreeSuper2hypernodeValue  | 
         
        
           | 
          ) | 
           |  const | 
         
       
   | 
  
inline   | 
  
 
operator() of the workelt 
 
 
◆ AugmentedTreeNumIterations
  
  
      
        
          | const vtkm::Id vtkm::worklet::contourtree_distributed::hierarchical_augmenter::CreateSuperarcsWorklet::AugmentedTreeNumIterations | 
         
       
   | 
  
private   | 
  
 
 
◆ BaseTreeNumRounds
  
  
      
        
          | const vtkm::Id vtkm::worklet::contourtree_distributed::hierarchical_augmenter::CreateSuperarcsWorklet::BaseTreeNumRounds | 
         
       
   | 
  
private   | 
  
 
 
◆ NumAugmentedTreeSupernodes
  
  
      
        
          | const vtkm::Id vtkm::worklet::contourtree_distributed::hierarchical_augmenter::CreateSuperarcsWorklet::NumAugmentedTreeSupernodes | 
         
       
   | 
  
private   | 
  
 
 
◆ NumSupernodesAlready
  
  
      
        
          | const vtkm::Id vtkm::worklet::contourtree_distributed::hierarchical_augmenter::CreateSuperarcsWorklet::NumSupernodesAlready | 
         
       
   | 
  
private   | 
  
 
 
◆ RoundNumber
  
  
      
        
          | const vtkm::Id vtkm::worklet::contourtree_distributed::hierarchical_augmenter::CreateSuperarcsWorklet::RoundNumber | 
         
       
   | 
  
private   | 
  
 
 
The documentation for this class was generated from the following file: