VTK-m  2.0
Classes | Functions | Variables
vtkm::worklet::marching_cells Namespace Reference

Classes

class  CellClassifyTable
 
class  ClassifyCell
 
struct  CopyEdgeIds
 
struct  EdgeVertex
 
class  EdgeWeightGenerate
 Compute the weights for each edge that is used to generate a point in the resulting iso-surface. More...
 
class  EdgeWeightGenerateMetaData
 Used to store data need for the EdgeWeightGenerate worklet. More...
 
struct  GenerateNormals
 
struct  MergeDuplicateValues
 
struct  MultiContourLess
 
class  NormalsWorkletPass1
 
class  NormalsWorkletPass2
 
class  TriangleGenerationTable
 

Functions

template<typename S >
vtkm::cont::ArrayHandle< vtkm::Float32, S > make_ScalarField (const vtkm::cont::ArrayHandle< vtkm::Float32, S > &ah)
 
template<typename S >
vtkm::cont::ArrayHandle< vtkm::Float64, S > make_ScalarField (const vtkm::cont::ArrayHandle< vtkm::Float64, S > &ah)
 
template<typename S >
vtkm::cont::ArrayHandleCast< vtkm::FloatDefault, vtkm::cont::ArrayHandle< vtkm::UInt8, S > > make_ScalarField (const vtkm::cont::ArrayHandle< vtkm::UInt8, S > &ah)
 
template<typename S >
vtkm::cont::ArrayHandleCast< vtkm::FloatDefault, vtkm::cont::ArrayHandle< vtkm::Int8, S > > make_ScalarField (const vtkm::cont::ArrayHandle< vtkm::Int8, S > &ah)
 
template<typename KeyType , typename KeyStorage >
void MergeDuplicates (const vtkm::cont::Invoker &invoker, const vtkm::cont::ArrayHandle< KeyType, KeyStorage > &original_keys, vtkm::cont::ArrayHandle< vtkm::FloatDefault > &weights, vtkm::cont::ArrayHandle< vtkm::Id2 > &edgeIds, vtkm::cont::ArrayHandle< vtkm::Id > &cellids, vtkm::cont::ArrayHandle< vtkm::Id > &connectivity)
 
template<typename CellSetType , typename CoordinateSystem , typename ValueType , typename StorageTagField , typename StorageTagVertices , typename StorageTagNormals , typename CoordinateType , typename NormalType >
vtkm::cont::CellSetSingleType execute (const CellSetType &cells, const CoordinateSystem &coordinateSystem, const std::vector< ValueType > &isovalues, const vtkm::cont::ArrayHandle< ValueType, StorageTagField > &inputField, vtkm::cont::ArrayHandle< vtkm::Vec< CoordinateType, 3 >, StorageTagVertices > &vertices, vtkm::cont::ArrayHandle< vtkm::Vec< NormalType, 3 >, StorageTagNormals > &normals, vtkm::worklet::contour::CommonState &sharedState)
 

Variables

VTKM_STATIC_CONSTEXPR_ARRAY vtkm::IdComponent NumVerticesPerCellTable []
 
VTKM_STATIC_CONSTEXPR_ARRAY vtkm::IdComponent NumTrianglesTableOffset []
 
VTKM_STATIC_CONSTEXPR_ARRAY vtkm::IdComponent NumTrianglesTable []
 
VTKM_STATIC_CONSTEXPR_ARRAY vtkm::IdComponent EdgeTable []
 
VTKM_STATIC_CONSTEXPR_ARRAY vtkm::IdComponent EdgeTableOffset []
 
VTKM_STATIC_CONSTEXPR_ARRAY vtkm::IdComponent TriangleTable []
 
VTKM_STATIC_CONSTEXPR_ARRAY vtkm::IdComponent TriangleTableOffset []
 

Function Documentation

◆ execute()

template<typename CellSetType , typename CoordinateSystem , typename ValueType , typename StorageTagField , typename StorageTagVertices , typename StorageTagNormals , typename CoordinateType , typename NormalType >
vtkm::cont::CellSetSingleType vtkm::worklet::marching_cells::execute ( const CellSetType &  cells,
const CoordinateSystem &  coordinateSystem,
const std::vector< ValueType > &  isovalues,
const vtkm::cont::ArrayHandle< ValueType, StorageTagField > &  inputField,
vtkm::cont::ArrayHandle< vtkm::Vec< CoordinateType, 3 >, StorageTagVertices > &  vertices,
vtkm::cont::ArrayHandle< vtkm::Vec< NormalType, 3 >, StorageTagNormals > &  normals,
vtkm::worklet::contour::CommonState sharedState 
)

◆ make_ScalarField() [1/4]

template<typename S >
vtkm::cont::ArrayHandle<vtkm::Float32, S> vtkm::worklet::marching_cells::make_ScalarField ( const vtkm::cont::ArrayHandle< vtkm::Float32, S > &  ah)

◆ make_ScalarField() [2/4]

template<typename S >
vtkm::cont::ArrayHandle<vtkm::Float64, S> vtkm::worklet::marching_cells::make_ScalarField ( const vtkm::cont::ArrayHandle< vtkm::Float64, S > &  ah)

◆ make_ScalarField() [3/4]

template<typename S >
vtkm::cont::ArrayHandleCast<vtkm::FloatDefault, vtkm::cont::ArrayHandle<vtkm::Int8, S> > vtkm::worklet::marching_cells::make_ScalarField ( const vtkm::cont::ArrayHandle< vtkm::Int8, S > &  ah)

◆ make_ScalarField() [4/4]

template<typename S >
vtkm::cont::ArrayHandleCast<vtkm::FloatDefault, vtkm::cont::ArrayHandle<vtkm::UInt8, S> > vtkm::worklet::marching_cells::make_ScalarField ( const vtkm::cont::ArrayHandle< vtkm::UInt8, S > &  ah)

◆ MergeDuplicates()

template<typename KeyType , typename KeyStorage >
void vtkm::worklet::marching_cells::MergeDuplicates ( const vtkm::cont::Invoker invoker,
const vtkm::cont::ArrayHandle< KeyType, KeyStorage > &  original_keys,
vtkm::cont::ArrayHandle< vtkm::FloatDefault > &  weights,
vtkm::cont::ArrayHandle< vtkm::Id2 > &  edgeIds,
vtkm::cont::ArrayHandle< vtkm::Id > &  cellids,
vtkm::cont::ArrayHandle< vtkm::Id > &  connectivity 
)

Variable Documentation

◆ EdgeTable

VTKM_STATIC_CONSTEXPR_ARRAY vtkm::IdComponent vtkm::worklet::marching_cells::EdgeTable[]

◆ EdgeTableOffset

VTKM_STATIC_CONSTEXPR_ARRAY vtkm::IdComponent vtkm::worklet::marching_cells::EdgeTableOffset[]
Initial value:
= {
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
12,
12+24,
12+24+18
}

◆ NumTrianglesTable

VTKM_STATIC_CONSTEXPR_ARRAY vtkm::IdComponent vtkm::worklet::marching_cells::NumTrianglesTable[]
Initial value:
= {
0, 1, 1, 2, 1, 2, 2, 1, 1, 2, 2, 1, 2, 1, 1, 0,
0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 2,
1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 3,
1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 3,
2, 3, 3, 2, 3, 4, 4, 3, 3, 4, 4, 3, 4, 5, 5, 2,
1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 3,
2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 4,
2, 3, 3, 4, 3, 4, 2, 3, 3, 4, 4, 5, 4, 5, 3, 2,
3, 4, 4, 3, 4, 5, 3, 2, 4, 5, 5, 4, 5, 2, 4, 1,
1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 3,
2, 3, 3, 4, 3, 4, 4, 5, 3, 2, 4, 3, 4, 3, 5, 2,
2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 4,
3, 4, 4, 3, 4, 5, 5, 4, 4, 3, 5, 2, 5, 4, 2, 1,
2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 2, 3, 3, 2,
3, 4, 4, 5, 4, 5, 5, 2, 4, 3, 5, 4, 3, 2, 4, 1,
3, 4, 4, 5, 4, 5, 3, 4, 4, 5, 5, 2, 3, 4, 2, 1,
2, 3, 3, 2, 3, 4, 2, 1, 3, 2, 4, 1, 2, 1, 1, 0,
0, 1, 1, 2, 1, 2, 2, 1, 1, 2, 2, 3, 2, 3, 3, 2,
1, 2, 2, 3, 2, 3, 3, 2, 2, 3, 3, 2, 3, 4, 4, 1,
1, 2, 2, 3, 2, 3, 3, 2, 2, 3, 3, 4, 3, 2, 4, 1,
2, 3, 3, 4, 3, 4, 2, 1, 1, 2, 2, 1, 2, 1, 1, 0,
0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 2,
2, 3, 3, 2, 3, 4, 2, 1, 3, 2, 4, 1, 2, 1, 1, 0
}

◆ NumTrianglesTableOffset

VTKM_STATIC_CONSTEXPR_ARRAY vtkm::IdComponent vtkm::worklet::marching_cells::NumTrianglesTableOffset[]
Initial value:
= {
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
16,
16+256,
16+256+64
}

◆ NumVerticesPerCellTable

VTKM_STATIC_CONSTEXPR_ARRAY vtkm::IdComponent vtkm::worklet::marching_cells::NumVerticesPerCellTable[]
Initial value:
= {
0,
0,
0,
0,
0,
3,
0,
0,
0,
4,
4,
0,
8,
6,
5
}

◆ TriangleTable

VTKM_STATIC_CONSTEXPR_ARRAY vtkm::IdComponent vtkm::worklet::marching_cells::TriangleTable[]

◆ TriangleTableOffset

VTKM_STATIC_CONSTEXPR_ARRAY vtkm::IdComponent vtkm::worklet::marching_cells::TriangleTableOffset[]
Initial value:
= {
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
112,
112+4096,
112+4096+832,
}