VTK-m  2.0
Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType > Class Template Reference

#include <ContourTreeMesh.h>

Inheritance diagram for vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >:
vtkm::cont::ExecutionObjectBase

Public Member Functions

void SetPrepareForExecutionBehavior (bool getMax)
 
contourtree_mesh_inc_ns::MeshStructureContourTreeMesh PrepareForExecution (vtkm::cont::DeviceAdapterId, vtkm::cont::Token &token) const
 
 ContourTreeMesh ()
 
 ContourTreeMesh (const IdArrayType &arcs, const IdArrayType &inSortOrder, const vtkm::cont::ArrayHandle< FieldType > &values, const IdArrayType &inGlobalMeshIndex)
 
 ContourTreeMesh (const IdArrayType &nodes, const IdArrayType &arcs, const IdArrayType &inSortOrder, const vtkm::cont::ArrayHandle< FieldType > &values, const IdArrayType &inGlobalMeshIndex)
 
 ContourTreeMesh (const IdArrayType &nodes, const IdArrayType &arcs, const ContourTreeMesh< FieldType > &mesh)
 
 ContourTreeMesh (const IdArrayType &arcs, const ContourTreeMesh< FieldType > &mesh)
 
 ContourTreeMesh (const char *filename)
 
vtkm::Id GetNumberOfVertices () const
 
void MergeWith (ContourTreeMesh< FieldType > &other, vtkm::cont::LogLevel TreeLogLevel=vtkm::cont::LogLevel::Perf, std::string timingsMessage="")
 
void Save (const char *filename) const
 
void Load (const char *filename)
 
template<typename T , typename StorageType >
void SortData (const vtkm::cont::ArrayHandle< T, StorageType > &values) const
 
void PrintContent (std::ostream &outStream=std::cout) const
 
void DebugPrint (const char *message, const char *fileName, long lineNum) const
 
MeshBoundaryContourTreeMeshExec GetMeshBoundaryExecutionObject (vtkm::Id3 globalSize, vtkm::Id3 minIdx, vtkm::Id3 maxIdx) const
 
void GetBoundaryVertices (IdArrayType &boundaryVertexArray, IdArrayType &boundarySortIndexArray, MeshBoundaryContourTreeMeshExec *meshBoundaryExecObj) const
 
vtkm::cont::ArrayHandlePermutation< IdArrayType, IdArrayTypeGetGlobalIdsFromSortIndices (const IdArrayType &sortIds, const vtkm::worklet::contourtree_augmented::mesh_dem::IdRelabeler *localToGlobalIdRelabeler=nullptr) const
 copies the global IDs for a set of sort IDs notice that the sort ID is the same as the mesh ID for the ContourTreeMesh class. More...
 
template<typename MeshIdArrayType >
vtkm::cont::ArrayHandlePermutation< MeshIdArrayType, IdArrayTypeGetGlobalIdsFromMeshIndices (const MeshIdArrayType &meshIds, const vtkm::worklet::contourtree_augmented::mesh_dem::IdRelabeler *localToGlobalIdRelabeler=nullptr) const
 copies the global IDs for a set of mesh IDs notice that the sort ID is the same as the mesh ID for the ContourTreeMesh class. More...
 

Public Attributes

vtkm::Id NumVertices
 
vtkm::cont::ArrayHandleIndex SortOrder
 
vtkm::cont::ArrayHandleIndex SortIndices
 
vtkm::cont::ArrayHandle< FieldType > SortedValues
 
IdArrayType GlobalMeshIndex
 
IdArrayType NeighborConnectivity
 
IdArrayType NeighborOffsets
 
vtkm::Id MaxNeighbors
 

Static Public Attributes

static const int MAX_OUTDEGREE = 20
 

Private Member Functions

void InitializeNeighborConnectivityFromArcs (const IdArrayType &arcs)
 
void ComputeMaxNeighbors ()
 
template<typename ValueType >
void SaveVector (std::ostream &os, const vtkm::cont::ArrayHandle< ValueType > &vec) const
 
template<typename ValueType >
void LoadVector (std::istream &is, vtkm::cont::ArrayHandle< ValueType > &vec)
 

Private Attributes

vtkm::cont::Invoker Invoke
 
bool mGetMax
 

Constructor & Destructor Documentation

◆ ContourTreeMesh() [1/6]

template<typename FieldType >
vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::ContourTreeMesh ( )
inline

◆ ContourTreeMesh() [2/6]

template<typename FieldType >
vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::ContourTreeMesh ( const IdArrayType arcs,
const IdArrayType inSortOrder,
const vtkm::cont::ArrayHandle< FieldType > &  values,
const IdArrayType inGlobalMeshIndex 
)

◆ ContourTreeMesh() [3/6]

template<typename FieldType >
vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::ContourTreeMesh ( const IdArrayType nodes,
const IdArrayType arcs,
const IdArrayType inSortOrder,
const vtkm::cont::ArrayHandle< FieldType > &  values,
const IdArrayType inGlobalMeshIndex 
)
inline

◆ ContourTreeMesh() [4/6]

template<typename FieldType >
vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::ContourTreeMesh ( const IdArrayType nodes,
const IdArrayType arcs,
const ContourTreeMesh< FieldType > &  mesh 
)
inline

◆ ContourTreeMesh() [5/6]

template<typename FieldType >
vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::ContourTreeMesh ( const IdArrayType arcs,
const ContourTreeMesh< FieldType > &  mesh 
)
inline

◆ ContourTreeMesh() [6/6]

template<typename FieldType >
vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::ContourTreeMesh ( const char *  filename)
inline

Member Function Documentation

◆ ComputeMaxNeighbors()

template<typename FieldType >
void vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::ComputeMaxNeighbors
inlineprivate

◆ DebugPrint()

template<typename FieldType >
void vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::DebugPrint ( const char *  message,
const char *  fileName,
long  lineNum 
) const
inline

◆ GetBoundaryVertices()

template<typename FieldType >
void vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::GetBoundaryVertices ( IdArrayType boundaryVertexArray,
IdArrayType boundarySortIndexArray,
MeshBoundaryContourTreeMeshExec meshBoundaryExecObj 
) const
inline

◆ GetGlobalIdsFromMeshIndices()

template<typename FieldType >
template<typename MeshIdArrayType >
vtkm::cont::ArrayHandlePermutation<MeshIdArrayType, IdArrayType> vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::GetGlobalIdsFromMeshIndices ( const MeshIdArrayType &  meshIds,
const vtkm::worklet::contourtree_augmented::mesh_dem::IdRelabeler localToGlobalIdRelabeler = nullptr 
) const
inline

copies the global IDs for a set of mesh IDs notice that the sort ID is the same as the mesh ID for the ContourTreeMesh class.

To reduce memory usage we here use a fancy array handle rather than copy data as is needed for the DataSetMesh types. MeshIdArrayType must be an array if Ids. Usually this is a vtkm::worklet::contourtree_augmented::IdArrayType but in some cases it may also be a fancy array to avoid memory allocation We here return a fancy array handle to convert values on-the-fly without requiring additional memory

Parameters
[in]meshIdsArray with mesh Ids to be converted from local to global Ids
[in]localToGlobalIdRelabelerThis parameter is here only for consistency with the DataSetMesh types but is not used here and as such can simply be set to nullptr

◆ GetGlobalIdsFromSortIndices()

template<typename FieldType >
vtkm::cont::ArrayHandlePermutation<IdArrayType, IdArrayType> vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::GetGlobalIdsFromSortIndices ( const IdArrayType sortIds,
const vtkm::worklet::contourtree_augmented::mesh_dem::IdRelabeler localToGlobalIdRelabeler = nullptr 
) const
inline

copies the global IDs for a set of sort IDs notice that the sort ID is the same as the mesh ID for the ContourTreeMesh class.

To reduce memory usage we here use a fancy array handle rather than copy data as is needed for the DataSetMesh types. We here return a fancy array handle to convert values on-the-fly without requiring additional memory

Parameters
[in]sortIdsArray with sort Ids to be converted from local to global Ids
[in]localToGlobalIdRelabelerThis parameter is here only for consistency with the DataSetMesh types but is not used here and as such can simply be set to nullptr

◆ GetMeshBoundaryExecutionObject()

template<typename FieldType >
MeshBoundaryContourTreeMeshExec vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::GetMeshBoundaryExecutionObject ( vtkm::Id3  globalSize,
vtkm::Id3  minIdx,
vtkm::Id3  maxIdx 
) const
inline

◆ GetNumberOfVertices()

template<typename FieldType >
vtkm::Id vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::GetNumberOfVertices ( ) const
inline

◆ InitializeNeighborConnectivityFromArcs()

template<typename FieldType >
void vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::InitializeNeighborConnectivityFromArcs ( const IdArrayType arcs)
inlineprivate

◆ Load()

template<typename FieldType >
void vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::Load ( const char *  filename)
inline

◆ LoadVector()

template<typename FieldType >
template<typename ValueType >
void vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::LoadVector ( std::istream &  is,
vtkm::cont::ArrayHandle< ValueType > &  vec 
)
inlineprivate

◆ MergeWith()

template<typename FieldType >
void vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::MergeWith ( ContourTreeMesh< FieldType > &  other,
vtkm::cont::LogLevel  TreeLogLevel = vtkm::cont::LogLevel::Perf,
std::string  timingsMessage = "" 
)
inline

◆ PrepareForExecution()

template<typename FieldType >
contourtree_mesh_inc_ns::MeshStructureContourTreeMesh vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::PrepareForExecution ( vtkm::cont::DeviceAdapterId  device,
vtkm::cont::Token token 
) const
inline

◆ PrintContent()

template<typename FieldType >
void vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::PrintContent ( std::ostream &  outStream = std::cout) const
inline

◆ Save()

template<typename FieldType >
void vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::Save ( const char *  filename) const
inline

◆ SaveVector()

template<typename FieldType >
template<typename ValueType >
void vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::SaveVector ( std::ostream &  os,
const vtkm::cont::ArrayHandle< ValueType > &  vec 
) const
inlineprivate

◆ SetPrepareForExecutionBehavior()

template<typename FieldType >
void vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::SetPrepareForExecutionBehavior ( bool  getMax)
inline

◆ SortData()

template<typename FieldType >
template<typename T , typename StorageType >
void vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::SortData ( const vtkm::cont::ArrayHandle< T, StorageType > &  values) const
inline

Member Data Documentation

◆ GlobalMeshIndex

template<typename FieldType >
IdArrayType vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::GlobalMeshIndex

◆ Invoke

template<typename FieldType >
vtkm::cont::Invoker vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::Invoke
private

◆ MAX_OUTDEGREE

template<typename FieldType >
const int vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::MAX_OUTDEGREE = 20
static

◆ MaxNeighbors

template<typename FieldType >
vtkm::Id vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::MaxNeighbors

◆ mGetMax

template<typename FieldType >
bool vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::mGetMax
private

◆ NeighborConnectivity

template<typename FieldType >
IdArrayType vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::NeighborConnectivity

◆ NeighborOffsets

template<typename FieldType >
IdArrayType vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::NeighborOffsets

◆ NumVertices

template<typename FieldType >
vtkm::Id vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::NumVertices

◆ SortedValues

template<typename FieldType >
vtkm::cont::ArrayHandle<FieldType> vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::SortedValues

◆ SortIndices

template<typename FieldType >
vtkm::cont::ArrayHandleIndex vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::SortIndices

◆ SortOrder

template<typename FieldType >
vtkm::cont::ArrayHandleIndex vtkm::worklet::contourtree_augmented::ContourTreeMesh< FieldType >::SortOrder

The documentation for this class was generated from the following file: