| 
| 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...
  | 
|   | 
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.