|
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