VTK-m
2.0
|
Graft the InteriorForest (i.e., the residue of a BRACT) onto a hierarchical tree. More...
#include <TreeGrafter.h>
Public Member Functions | |
TreeGrafter (MeshType *mesh, vtkm::worklet::contourtree_augmented::ContourTree &contourTree, vtkm::worklet::contourtree_distributed::InteriorForest *interiorForest) | |
constructor More... | |
template<typename StorageTag > | |
void | GraftInteriorForests (vtkm::Id theRound, vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > &hierarchicalTree, const vtkm::cont::ArrayHandle< FieldType, StorageTag > &meshDataValues, const vtkm::worklet::contourtree_augmented::mesh_dem::IdRelabeler *localToGlobalIdRelabeler=nullptr) |
routine to graft the InteriorForest residue from the BoundaryTree computation into the tree. More... | |
template<typename StorageTag > | |
void | GetHierarchicalIds (vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > &hierarchicalTree, const vtkm::cont::ArrayHandle< FieldType, StorageTag > &meshDataValues, const vtkm::worklet::contourtree_augmented::mesh_dem::IdRelabeler *localToGlobalIdRelabeler=nullptr) |
Routine to convert supernode IDs from global to IDs in the existing hierarchical tree. More... | |
void | InitializeActiveSuperarcs () |
sets up an active superarc set More... | |
void | FindCriticalPoints () |
find the critical points in what's left More... | |
void | CollapseRegularChains () |
pointer-double to collapse chains More... | |
void | IdentifyLeafHyperarcs () |
routine to identify one iteration worth of leaves More... | |
void | CompressActiveArrays () |
void | ListNewHypernodes (vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > &hierarchicalTree) |
Makes a list of new hypernodes, and maps their old IDs to their new ones. More... | |
void | ListNewSupernodes (vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > &hierarchicalTree) |
Makes a list of new supernodes, and maps their old IDs to their new ones. More... | |
void | ListNewNodes (vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > &hierarchicalTree, const vtkm::worklet::contourtree_augmented::mesh_dem::IdRelabeler *localToGlobalIdRelabeler=nullptr) |
Makes a list of new nodes, and maps their old IDs to their new ones. More... | |
void | CopyNewHypernodes (vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > &hierarchicalTree) |
Copies in the hypernodes, now that we have correct super IDs. More... | |
void | CopyNewSupernodes (vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > &hierarchicalTree, vtkm::Id theRound) |
Copies in the supernodes, now that we have correct regular IDs. More... | |
template<typename StorageTag > | |
void | CopyNewNodes (vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > &hierarchicalTree, const vtkm::cont::ArrayHandle< FieldType, StorageTag > &meshDataValues, const vtkm::worklet::contourtree_augmented::mesh_dem::IdRelabeler *localToGlobalIdRelabeler=nullptr) |
Copies the regular nodes in, setting all arrays except superparents Must be called LAST since it depends on the hypernodes & supernodes that have just been added in order to resolve the superparents. More... | |
void | CopyIterationDetails (vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > &hierarchicalTree, vtkm::Id theRound) |
Transfers the details of nodes used in each iteration. More... | |
std::string | DebugPrint (const char *message, const char *fileName, long lineNum) |
prints the contents of the object in a standard format More... | |
Private Attributes | |
vtkm::cont::Invoker | Invoke |
Used internally to Invoke worklets. More... | |
Graft the InteriorForest (i.e., the residue of a BRACT) onto a hierarchical tree.
|
inline |
constructor
void vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::CollapseRegularChains |
pointer-double to collapse chains
Side effects. This function updates:
void vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::CompressActiveArrays |
Side effects. This function updates:
void vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::CopyIterationDetails | ( | vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > & | hierarchicalTree, |
vtkm::Id | theRound | ||
) |
Transfers the details of nodes used in each iteration.
Side effects. This function updates:
void vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::CopyNewHypernodes | ( | vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > & | hierarchicalTree | ) |
Copies in the hypernodes, now that we have correct super IDs.
Copies in the hypernodes, now that we have correct super IDs Side effe cts.
This function updates:
void vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::CopyNewNodes | ( | vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > & | hierarchicalTree, |
const vtkm::cont::ArrayHandle< FieldType, StorageTag > & | meshDataValues, | ||
const vtkm::worklet::contourtree_augmented::mesh_dem::IdRelabeler * | localToGlobalIdRelabeler = nullptr |
||
) |
Copies the regular nodes in, setting all arrays except superparents Must be called LAST since it depends on the hypernodes & supernodes that have just been added in order to resolve the superparents.
[in] | hierarchicalTree | Reference to the hierarchical tree |
[in] | meshDataValues | Data values associated with the mesh. This is mesh.SortedValues in the case of a ContourTreeMesh and the original data values in the case of a Mesh_DEM_Triangulation mesh. |
[in] | localToGlobalIdRelabeler | IdRelabeler for the mesh needed to call this->Mesh->GetGlobalIdsFromMeshIndices(...) and this->Mesh->GetGlobalIdsFroSortIndices(...) If this->Mesh is a ContourTreeMesh then the IdRelabeler is not needed and we can simply set it to a nullptr. |
Side effects. This function updates:
void vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::CopyNewSupernodes | ( | vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > & | hierarchicalTree, |
vtkm::Id | theRound | ||
) |
Copies in the supernodes, now that we have correct regular IDs.
Copies in the supernodes, now that we have correct regular IDs Side effe cts.
This function updates:
|
inline |
prints the contents of the object in a standard format
void vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::FindCriticalPoints |
find the critical points in what's left
Side effects. This function updates:
void vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::GetHierarchicalIds | ( | vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > & | hierarchicalTree, |
const vtkm::cont::ArrayHandle< FieldType, StorageTag > & | meshDataValues, | ||
const vtkm::worklet::contourtree_augmented::mesh_dem::IdRelabeler * | localToGlobalIdRelabeler = nullptr |
||
) |
Routine to convert supernode IDs from global to IDs in the existing hierarchical tree.
routine to convert supernode IDs from global to IDs in the existing hierarchical tree Side effects: This function updates:
[in] | hierarchicalTree | Reference to the hierarchical tree |
[in] | meshDataValues | Data values associated with the mesh. This is mesh.SortedValues in the case of a ContourTreeMesh and the original data values in the case of a Mesh_DEM_Triangulation mesh. |
[in] | localToGlobalIdRelabeler | IdRelabeler for the mesh needed to call this->Mesh->GetGlobalIdsFromMeshIndices(...) and this->Mesh->GetGlobalIdsFroSortIndices(...) If this->Mesh is a ContourTreeMesh then the IdRelabeler is not needed and we can simply set it to a nullptr. |
void vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::GraftInteriorForests | ( | vtkm::Id | theRound, |
vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > & | hierarchicalTree, | ||
const vtkm::cont::ArrayHandle< FieldType, StorageTag > & | meshDataValues, | ||
const vtkm::worklet::contourtree_augmented::mesh_dem::IdRelabeler * | localToGlobalIdRelabeler = nullptr |
||
) |
routine to graft the InteriorForest residue from the BoundaryTree computation into the tree.
Previously called GraftResidue
[in] | theRound | The reducting round we are in |
[in] | hierarchicalTree | Reference to the hierarchical tree |
[in] | meshDataValues | Data values associated with the mesh. This is mesh.SortedValues in the case of a ContourTreeMesh and the original data values in the case of a Mesh_DEM_Triangulation mesh. Needed for GetHierarchicalIds. |
[in] | localToGlobalIdRelabeler | IdRelabeler for the mesh needed to call this->Mesh->GetGlobalIdsFromMeshIndices(...) and this->Mesh->GetGlobalIdsFroSortIndices(...) If this->Mesh is a ContourTreeMesh then the IdRelabeler is not needed and we can simply set it to a nullptr. Needed for GetHierarchicalIds. (default=nullptr). |
void vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::IdentifyLeafHyperarcs |
routine to identify one iteration worth of leaves
Side effects. This function updates:
void vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::InitializeActiveSuperarcs |
sets up an active superarc set
sets up an active superarc set Side effects.
This function updates:
void vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::ListNewHypernodes | ( | vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > & | hierarchicalTree | ) |
Makes a list of new hypernodes, and maps their old IDs to their new ones.
Makes a list of new hypernodes, and maps their old IDs to their new ones Side effects.
This function updates:
void vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::ListNewNodes | ( | vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > & | hierarchicalTree, |
const vtkm::worklet::contourtree_augmented::mesh_dem::IdRelabeler * | localToGlobalIdRelabeler = nullptr |
||
) |
Makes a list of new nodes, and maps their old IDs to their new ones.
Makes a list of new nodes, and maps their old IDs to their new ones Side effe cts.
[in] | hierarchicalTree | Reference to the hierarchical tree |
[in] | localToGlobalIdRelabeler | IdRelabeler for the mesh needed to call this->Mesh->GetGlobalIdsFromMeshIndices(...) and this->Mesh->GetGlobalIdsFroSortIndices(...) If this->Mesh is a ContourTreeMesh then the IdRelabeler is not needed and we can simply set it to a nullptr. |
This function updates:
void vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::ListNewSupernodes | ( | vtkm::worklet::contourtree_distributed::HierarchicalContourTree< FieldType > & | hierarchicalTree | ) |
Makes a list of new supernodes, and maps their old IDs to their new ones.
Makes a list of new supernodes, and maps their old IDs to their new ones Side effects.
This function updates:
vtkm::worklet::contourtree_augmented::EdgePairArray vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::ActiveSuperarcs |
vtkm::worklet::contourtree_augmented::ContourTree& vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::ContourTree |
vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::DownNeighbour |
vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::HierarchicalHyperarc |
vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::HierarchicalHyperId |
vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::HierarchicalHyperparent |
vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::HierarchicalRegularId |
vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::HierarchicalSuperId |
vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::HierarchicalSuperparent |
vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::HierarchicalTreeId |
vtkm::worklet::contourtree_distributed::InteriorForest* vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::InteriorForest |
|
private |
Used internally to Invoke worklets.
MeshType* vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::Mesh |
vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::NewHypernodes |
vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::NewNodes |
vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::NewSupernodeId |
vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::NewSupernodes |
vtkm::Id vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::NumTransferIterations |
vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::SupernodeType |
vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::UpNeighbour |
vtkm::worklet::contourtree_augmented::IdArrayType vtkm::worklet::contourtree_distributed::TreeGrafter< MeshType, FieldType >::WhenTransferred |