| 
    VTK-m
    2.0
    
   | 
 
Facture class for augmenting the hierarchical contour tree to enable computations of measures, e.g., volumne. More...
#include <HierarchicalAugmenter.h>
Public Member Functions | |
| HierarchicalAugmenter () | |
| empty constructor  More... | |
| void | Initialize (vtkm::Id blockId, vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > *inBaseTree, vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > *inAugmentedTree) | 
| initializer (called explicitly after constructor)  More... | |
| void | PrepareOutAttachmentPoints (vtkm::Id round) | 
| routine to prepare the set of attachment points to transfer  More... | |
| void | RetrieveInAttachmentPoints () | 
| routine to retrieve partner's current list of attachment points  More... | |
| void | ReleaseSwapArrays () | 
| routine to release memory used for swap arrays  More... | |
| void | BuildAugmentedTree () | 
| routine to reconstruct a hierarchical tree using the augmenting supernodes  More... | |
| void | PrepareAugmentedTree () | 
| initial preparation  More... | |
| void | CopyHyperstructure () | 
| transfer of hyperstructure but not superchildren count  More... | |
| void | CopySuperstructure () | 
| transfer level of superstructure with insertions  More... | |
| void | UpdateHyperstructure () | 
| reset the super Ids in the hyperstructure to the new values  More... | |
| void | CopyBaseRegularStructure () | 
| copy the remaining base level regular nodes  More... | |
| void | RetrieveOldSupernodes (vtkm::Id roundNumber) | 
| gets a list of all the old supernodes to transfer at this level (ie except attachment points  More... | |
| void | ResizeArrays (vtkm::Id roundNumber) | 
| resizes the arrays for the level  More... | |
| void | CreateSuperarcs (vtkm::Id roundNumber) | 
| adds a round full of superarcs (and regular nodes) to the tree  More... | |
| std::string | DebugPrint (std::string message, const char *fileName, long lineNum) | 
| debug routine  More... | |
| void | DebugSave (std::string filename) | 
Public Attributes | |
| vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > * | BaseTree | 
| the tree that it hypersweeps over  More... | |
| vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > * | AugmentedTree | 
| the tree that it is building  More... | |
| vtkm::Id | BlockId | 
| the ID of the base block (used for debug output)  More... | |
| vtkm::worklet::contourtree_augmented::IdArrayType | GlobalRegularIds | 
| arrays storing the details for the attachment points & old supernodes the Id in the global data set  More... | |
| vtkm::cont::ArrayHandle< FieldType > | DataValues | 
| the data value  More... | |
| vtkm::worklet::contourtree_augmented::IdArrayType | SupernodeIds | 
| the supernode index when we swap attachment points, we will set this to NO_SUCH_ELEMENT because the supernodes added are on a different block, so their original supernodeId becomes invalid  More... | |
| vtkm::worklet::contourtree_augmented::IdArrayType | Superparents | 
| the superarc will ALWAYS be -1 for a true attachment point, so we don't store it instead, the superparent stores the Id for the arc it inserts into WARNING: in order for sorting to work, we will need to carry forward the ascending / descending flag This flag is normally stored on the superarc, but will be stored in this class on the superparent  More... | |
| vtkm::worklet::contourtree_augmented::IdArrayType | SuperparentRounds | 
| we want to track the round on which the superparent is transferred (we could look it up, but it's more convenient to have it here).  More... | |
| vtkm::worklet::contourtree_augmented::IdArrayType | WhichRounds | 
| we also want to track the round on which the attachment point was originally transferred  More... | |
| vtkm::worklet::contourtree_distributed::hierarchical_augmenter::HierarchicalAugmenterInOutData< FieldType > | OutData | 
| if we're not careful, we'll have read-write conflicts when swapping with the partner there are other solutions, but the simpler solution is to have a transfer buffer for the set we want to send - which means another set of parallel arrays Output arrays used in DIY exchange  More... | |
| vtkm::worklet::contourtree_distributed::hierarchical_augmenter::HierarchicalAugmenterInOutData< FieldType > | InData | 
| Output arrays used in DIY exchange.  More... | |
| vtkm::worklet::contourtree_augmented::IdArrayType | AttachmentIds | 
| these are essentially temporary local variables, but are placed here to make the DebugPrint() more comprehensive.  More... | |
| vtkm::worklet::contourtree_augmented::IdArrayType | FirstAttachmentPointInRound | 
| tracks segments of attachment points by round  More... | |
| vtkm::worklet::contourtree_augmented::IdArrayType | NewSupernodeIds | 
| maps from old supernode Id to new supernode Id  More... | |
| vtkm::worklet::contourtree_augmented::IdArrayType | KeptSupernodes | 
| tracks which supernodes are kept in a given round  More... | |
| vtkm::worklet::contourtree_augmented::IdArrayType | SupernodeSorter | 
| sorting array & arrays for data details  More... | |
| vtkm::worklet::contourtree_augmented::IdArrayType | GlobalRegularIdSet | 
| vtkm::cont::ArrayHandle< FieldType > | DataValueSet | 
| vtkm::worklet::contourtree_augmented::IdArrayType | SuperparentSet | 
| vtkm::worklet::contourtree_augmented::IdArrayType | SupernodeIdSet | 
| vtkm::worklet::contourtree_augmented::IdArrayType | RegularSuperparents | 
| data for transferring regular nodes  More... | |
| vtkm::worklet::contourtree_augmented::IdArrayType | RegularNodesNeeded | 
Private Attributes | |
| vtkm::cont::Invoker | Invoke | 
| Used internally to Invoke worklets.  More... | |
Facture class for augmenting the hierarchical contour tree to enable computations of measures, e.g., volumne.
      
  | 
  inline | 
empty constructor
| void vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::BuildAugmentedTree | 
routine to reconstruct a hierarchical tree using the augmenting supernodes
| void vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::CopyBaseRegularStructure | 
copy the remaining base level regular nodes
| void vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::CopyHyperstructure | 
transfer of hyperstructure but not superchildren count
| void vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::CopySuperstructure | 
transfer level of superstructure with insertions
| void vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::CreateSuperarcs | ( | vtkm::Id | roundNumber | ) | 
adds a round full of superarcs (and regular nodes) to the tree
| std::string vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::DebugPrint | ( | std::string | message, | 
| const char * | fileName, | ||
| long | lineNum | ||
| ) | 
debug routine
| void vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::DebugSave | ( | std::string | filename | ) | 
| void vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::Initialize | ( | vtkm::Id | blockId, | 
| vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > * | inBaseTree, | ||
| vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > * | inAugmentedTree | ||
| ) | 
initializer (called explicitly after constructor)
| void vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::PrepareAugmentedTree | 
initial preparation
| void vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::PrepareOutAttachmentPoints | ( | vtkm::Id | round | ) | 
routine to prepare the set of attachment points to transfer
| void vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::ReleaseSwapArrays | 
routine to release memory used for swap arrays
| void vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::ResizeArrays | ( | vtkm::Id | roundNumber | ) | 
resizes the arrays for the level
| void vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::RetrieveInAttachmentPoints | 
routine to retrieve partner's current list of attachment points
| void vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::RetrieveOldSupernodes | ( | vtkm::Id | roundNumber | ) | 
gets a list of all the old supernodes to transfer at this level (ie except attachment points
| void vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::UpdateHyperstructure | 
reset the super Ids in the hyperstructure to the new values
| vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::AttachmentIds | 
these are essentially temporary local variables, but are placed here to make the DebugPrint() more comprehensive.
They will be allocated where used this one makes a list of attachment Ids and is used in sevral different places, so resize it when done
| vtkm::worklet::contourtree_distributed::HierarchicalContourTree<FieldType>* vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::AugmentedTree | 
the tree that it is building
| vtkm::worklet::contourtree_distributed::HierarchicalContourTree<FieldType>* vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::BaseTree | 
the tree that it hypersweeps over
| vtkm::Id vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::BlockId | 
the ID of the base block (used for debug output)
| vtkm::cont::ArrayHandle<FieldType> vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::DataValues | 
the data value
| vtkm::cont::ArrayHandle<FieldType> vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::DataValueSet | 
| vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::FirstAttachmentPointInRound | 
tracks segments of attachment points by round
| vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::GlobalRegularIds | 
arrays storing the details for the attachment points & old supernodes the Id in the global data set
| vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::GlobalRegularIdSet | 
| vtkm::worklet::contourtree_distributed::hierarchical_augmenter::HierarchicalAugmenterInOutData< FieldType> vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::InData | 
Output arrays used in DIY exchange.
      
  | 
  private | 
Used internally to Invoke worklets.
| vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::KeptSupernodes | 
tracks which supernodes are kept in a given round
| vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::NewSupernodeIds | 
maps from old supernode Id to new supernode Id
| vtkm::worklet::contourtree_distributed::hierarchical_augmenter::HierarchicalAugmenterInOutData< FieldType> vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::OutData | 
if we're not careful, we'll have read-write conflicts when swapping with the partner there are other solutions, but the simpler solution is to have a transfer buffer for the set we want to send - which means another set of parallel arrays Output arrays used in DIY exchange
| vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::RegularNodesNeeded | 
| vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::RegularSuperparents | 
data for transferring regular nodes
| vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::SupernodeIds | 
the supernode index when we swap attachment points, we will set this to NO_SUCH_ELEMENT because the supernodes added are on a different block, so their original supernodeId becomes invalid
| vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::SupernodeIdSet | 
| vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::SupernodeSorter | 
sorting array & arrays for data details
| vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::SuperparentRounds | 
we want to track the round on which the superparent is transferred (we could look it up, but it's more convenient to have it here).
Also, we don't need the iteration.
| vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::Superparents | 
the superarc will ALWAYS be -1 for a true attachment point, so we don't store it instead, the superparent stores the Id for the arc it inserts into WARNING: in order for sorting to work, we will need to carry forward the ascending / descending flag This flag is normally stored on the superarc, but will be stored in this class on the superparent
| vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::SuperparentSet | 
| vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::HierarchicalAugmenter< FieldType >::WhichRounds | 
we also want to track the round on which the attachment point was originally transferred
 1.8.17