VTK-m  2.0
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
vtkm::worklet::contourtree_augmented::DataSetMesh Class Reference

#include <DataSetMesh.h>

Inheritance diagram for vtkm::worklet::contourtree_augmented::DataSetMesh:
vtkm::worklet::contourtree_augmented::DataSetMeshTriangulation2DFreudenthal vtkm::worklet::contourtree_augmented::DataSetMeshTriangulation3DFreudenthal vtkm::worklet::contourtree_augmented::DataSetMeshTriangulation3DMarchingCubes

Public Member Functions

 DataSetMesh ()
 
 DataSetMesh (vtkm::Id3 meshSize)
 
virtual ~DataSetMesh ()
 
vtkm::Id GetNumberOfVertices () const
 
template<typename T , typename StorageType >
void SortData (const vtkm::cont::ArrayHandle< T, StorageType > &values)
 
vtkm::cont::ArrayHandleTransform< vtkm::cont::ArrayHandlePermutation< IdArrayType, IdArrayType >, mesh_dem::IdRelabelerGetGlobalIdsFromSortIndices (const IdArrayType &sortIds, const mesh_dem::IdRelabeler *localToGlobalIdRelabeler) const
 Routine to return the global IDs for a set of vertices We here return a fancy array handle to convert values on-the-fly without requiring additional memory. More...
 
template<typename MeshIdArrayType >
vtkm::cont::ArrayHandleTransform< MeshIdArrayType, mesh_dem::IdRelabelerGetGlobalIdsFromMeshIndices (const MeshIdArrayType &meshIds, const mesh_dem::IdRelabeler *localToGlobalIdRelabeler) const
 Routine to return the global IDs for a set of vertices We here return a fancy array handle to convert values on-the-fly without requiring additional memory SortIdArrayType must be an array if Ids. More...
 
void DebugPrint (const char *message, const char *fileName, long lineNum)
 

Public Attributes

vtkm::Id3 MeshSize
 
vtkm::Id NumVertices
 
vtkm::Id NumLogSteps
 
IdArrayType SortOrder
 
IdArrayType SortIndices
 

Protected Member Functions

template<typename MeshTypeObj >
void GetOwnedVerticesByGlobalIdImpl (const MeshTypeObj *mesh, const vtkm::worklet::contourtree_augmented::mesh_dem::IdRelabeler &localToGlobalIdRelabeler, IdArrayType &ownedVertices) const
 Compute a list of the global Iss of all vertices that logically belong to the data block represented by this mesh object (used in distributd parallel computation). More...
 
virtual void DebugPrintExtends ()
 
template<typename T , typename StorageType >
void DebugPrintValues (const vtkm::cont::ArrayHandle< T, StorageType > &values)
 

Constructor & Destructor Documentation

◆ DataSetMesh() [1/2]

vtkm::worklet::contourtree_augmented::DataSetMesh::DataSetMesh ( )
inline

◆ DataSetMesh() [2/2]

vtkm::worklet::contourtree_augmented::DataSetMesh::DataSetMesh ( vtkm::Id3  meshSize)
inline

◆ ~DataSetMesh()

virtual vtkm::worklet::contourtree_augmented::DataSetMesh::~DataSetMesh ( )
inlinevirtual

Member Function Documentation

◆ DebugPrint()

void vtkm::worklet::contourtree_augmented::DataSetMesh::DebugPrint ( const char *  message,
const char *  fileName,
long  lineNum 
)
inline

◆ DebugPrintExtends()

void vtkm::worklet::contourtree_augmented::DataSetMesh::DebugPrintExtends ( )
inlineprotectedvirtual

◆ DebugPrintValues()

template<typename T , typename StorageType >
void vtkm::worklet::contourtree_augmented::DataSetMesh::DebugPrintValues ( const vtkm::cont::ArrayHandle< T, StorageType > &  values)
inlineprotected

◆ GetGlobalIdsFromMeshIndices()

template<typename MeshIdArrayType >
vtkm::cont::ArrayHandleTransform<MeshIdArrayType, mesh_dem::IdRelabeler> vtkm::worklet::contourtree_augmented::DataSetMesh::GetGlobalIdsFromMeshIndices ( const MeshIdArrayType &  meshIds,
const mesh_dem::IdRelabeler localToGlobalIdRelabeler 
) const
inline

Routine to return the global IDs for a set of vertices We here return a fancy array handle to convert values on-the-fly without requiring additional memory SortIdArrayType 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

Parameters
[in]meshIdsArray with mesh Ids to be converted from local to global Ids
[in]localToGlobalIdRelabelerThis parameter is the IdRelabeler used to transform local to global Ids. The relabeler relies on the decomposition of the global mesh which is not know by this block.

◆ GetGlobalIdsFromSortIndices()

vtkm::cont::ArrayHandleTransform< vtkm::cont::ArrayHandlePermutation<IdArrayType, IdArrayType>, mesh_dem::IdRelabeler> vtkm::worklet::contourtree_augmented::DataSetMesh::GetGlobalIdsFromSortIndices ( const IdArrayType sortIds,
const mesh_dem::IdRelabeler localToGlobalIdRelabeler 
) const
inline

Routine to return the global IDs for a set of vertices We here return a fancy array handle to convert values on-the-fly without requiring additional memory.

Parameters
[in]meshIdsArray with sort Ids to be converted from local to global Ids
[in]localToGlobalIdRelabelerThis parameter is the IdRelabeler used to transform local to global Ids. The relabeler relies on the decomposition of the global mesh which is not know by this block.

◆ GetNumberOfVertices()

vtkm::Id vtkm::worklet::contourtree_augmented::DataSetMesh::GetNumberOfVertices ( ) const
inline

◆ GetOwnedVerticesByGlobalIdImpl()

template<typename MeshTypeObj >
void vtkm::worklet::contourtree_augmented::DataSetMesh::GetOwnedVerticesByGlobalIdImpl ( const MeshTypeObj *  mesh,
const vtkm::worklet::contourtree_augmented::mesh_dem::IdRelabeler localToGlobalIdRelabeler,
IdArrayType ownedVertices 
) const
protected

Compute a list of the global Iss of all vertices that logically belong to the data block represented by this mesh object (used in distributd parallel computation).

This is needed to avoid multiple counting on bousndaries in the hierarchy during distributed parallel contour tree computation. Implementation of GetOwnedVerticesByGlobalId used internally by derived classes to implement the specific variant of the function .The implementations vary based on the MeshBoundary object used, and so derived classes just need to specify their mesh boundary object and then call this funtion

Parameters
[in]meshFor derived meshes set simply to this. Derived meshes inherit also from ExecutionObjectBase and as such have PrepareForExecution functions that return a MeshBoundary object that we can use here. We are passing in the mesh since the base DataSetMesh class does not know about MeshBoundary classes and so we are passing the mesh in.
[out]ownedVerticesList of vertices that logically belong to

◆ SortData()

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

Member Data Documentation

◆ MeshSize

vtkm::Id3 vtkm::worklet::contourtree_augmented::DataSetMesh::MeshSize

◆ NumLogSteps

vtkm::Id vtkm::worklet::contourtree_augmented::DataSetMesh::NumLogSteps

◆ NumVertices

vtkm::Id vtkm::worklet::contourtree_augmented::DataSetMesh::NumVertices

◆ SortIndices

IdArrayType vtkm::worklet::contourtree_augmented::DataSetMesh::SortIndices

◆ SortOrder

IdArrayType vtkm::worklet::contourtree_augmented::DataSetMesh::SortOrder

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