VTK-m  2.0
Classes | Static Public Member Functions | List of all members
vtkm::worklet::OrientNormals Class Reference

Orients normals to point outside of the dataset. More...

#include <OrientNormals.h>

Classes

struct  NegateFunctor
 

Static Public Member Functions

template<typename CellSetType , typename CoordsCompType , typename CoordsStorageType , typename CellNormalCompType , typename CellNormalStorageType >
static VTKM_CONT void RunCellNormals (const CellSetType &cells, const vtkm::cont::ArrayHandle< vtkm::Vec< CoordsCompType, 3 >, CoordsStorageType > &coords, vtkm::cont::ArrayHandle< vtkm::Vec< CellNormalCompType, 3 >, CellNormalStorageType > &cellNormals)
 
template<typename CellSetType , typename CoordsCompType , typename CoordsStorageType , typename PointNormalCompType , typename PointNormalStorageType >
static VTKM_CONT void RunPointNormals (const CellSetType &cells, const vtkm::cont::ArrayHandle< vtkm::Vec< CoordsCompType, 3 >, CoordsStorageType > &coords, vtkm::cont::ArrayHandle< vtkm::Vec< PointNormalCompType, 3 >, PointNormalStorageType > &pointNormals)
 
template<typename CellSetType , typename CoordsCompType , typename CoordsStorageType , typename PointNormalCompType , typename PointNormalStorageType , typename CellNormalCompType , typename CellNormalStorageType >
static VTKM_CONT void RunPointAndCellNormals (const CellSetType &cells, const vtkm::cont::ArrayHandle< vtkm::Vec< CoordsCompType, 3 >, CoordsStorageType > &coords, vtkm::cont::ArrayHandle< vtkm::Vec< PointNormalCompType, 3 >, PointNormalStorageType > &pointNormals, vtkm::cont::ArrayHandle< vtkm::Vec< CellNormalCompType, 3 >, CellNormalStorageType > &cellNormals)
 
template<typename NormalCompType , typename NormalStorageType >
static VTKM_CONT void RunFlipNormals (vtkm::cont::ArrayHandle< vtkm::Vec< NormalCompType, 3 >, NormalStorageType > &normals)
 Reverse the normals to point in the opposite direction. More...
 

Detailed Description

Orients normals to point outside of the dataset.

This requires a closed manifold surface or else the behavior is undefined. This requires an unstructured cellset as input.

Member Function Documentation

◆ RunCellNormals()

template<typename CellSetType , typename CoordsCompType , typename CoordsStorageType , typename CellNormalCompType , typename CellNormalStorageType >
static VTKM_CONT void vtkm::worklet::OrientNormals::RunCellNormals ( const CellSetType &  cells,
const vtkm::cont::ArrayHandle< vtkm::Vec< CoordsCompType, 3 >, CoordsStorageType > &  coords,
vtkm::cont::ArrayHandle< vtkm::Vec< CellNormalCompType, 3 >, CellNormalStorageType > &  cellNormals 
)
inlinestatic

◆ RunFlipNormals()

template<typename NormalCompType , typename NormalStorageType >
static VTKM_CONT void vtkm::worklet::OrientNormals::RunFlipNormals ( vtkm::cont::ArrayHandle< vtkm::Vec< NormalCompType, 3 >, NormalStorageType > &  normals)
inlinestatic

Reverse the normals to point in the opposite direction.

◆ RunPointAndCellNormals()

template<typename CellSetType , typename CoordsCompType , typename CoordsStorageType , typename PointNormalCompType , typename PointNormalStorageType , typename CellNormalCompType , typename CellNormalStorageType >
static VTKM_CONT void vtkm::worklet::OrientNormals::RunPointAndCellNormals ( const CellSetType &  cells,
const vtkm::cont::ArrayHandle< vtkm::Vec< CoordsCompType, 3 >, CoordsStorageType > &  coords,
vtkm::cont::ArrayHandle< vtkm::Vec< PointNormalCompType, 3 >, PointNormalStorageType > &  pointNormals,
vtkm::cont::ArrayHandle< vtkm::Vec< CellNormalCompType, 3 >, CellNormalStorageType > &  cellNormals 
)
inlinestatic

◆ RunPointNormals()

template<typename CellSetType , typename CoordsCompType , typename CoordsStorageType , typename PointNormalCompType , typename PointNormalStorageType >
static VTKM_CONT void vtkm::worklet::OrientNormals::RunPointNormals ( const CellSetType &  cells,
const vtkm::cont::ArrayHandle< vtkm::Vec< CoordsCompType, 3 >, CoordsStorageType > &  coords,
vtkm::cont::ArrayHandle< vtkm::Vec< PointNormalCompType, 3 >, PointNormalStorageType > &  pointNormals 
)
inlinestatic

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