Developer Documentation
OpenVolumeMesh::NormalAttrib< GeomKernelT > Class Template Reference

Public Member Functions

 NormalAttrib (GeomKernelT &_kernel)
 
void update_vertex_normals ()
 A simple heuristic to estimate the vertex normals. More...
 
void update_face_normals ()
 Compute face normals. More...
 
const GeomKernelT::PointT & operator[] (const VertexHandle &_h) const
 
const GeomKernelT::PointT & operator[] (const FaceHandle &_h) const
 
const GeomKernelT::PointT operator[] (const HalfFaceHandle &_h) const
 
GeomKernelT::PointT & operator[] (const VertexHandle &_h)
 
GeomKernelT::PointT & operator[] (const FaceHandle &_h)
 
GeomKernelT::PointT operator[] (const HalfFaceHandle &_h)
 

Private Member Functions

void compute_vertex_normal (const VertexHandle &_vh)
 

Private Attributes

const GeomKernelT * kernel_
 
VertexPropertyT< typename GeomKernelT::PointT > v_normals_
 
FacePropertyT< typename GeomKernelT::PointT > f_normals_
 

Detailed Description

template<class GeomKernelT>
class OpenVolumeMesh::NormalAttrib< GeomKernelT >

Definition at line 46 of file NormalAttrib.hh.

Constructor & Destructor Documentation

◆ NormalAttrib()

template<class GeomKernelT >
OpenVolumeMesh::NormalAttrib< GeomKernelT >::NormalAttrib ( GeomKernelT &  _kernel)
explicit

Definition at line 45 of file NormalAttribT_impl.hh.

◆ ~NormalAttrib()

template<class GeomKernelT >
OpenVolumeMesh::NormalAttrib< GeomKernelT >::~NormalAttrib
virtual

Definition at line 54 of file NormalAttribT_impl.hh.

Member Function Documentation

◆ compute_vertex_normal()

template<class GeomKernelT >
void OpenVolumeMesh::NormalAttrib< GeomKernelT >::compute_vertex_normal ( const VertexHandle _vh)
private

Definition at line 89 of file NormalAttribT_impl.hh.

◆ operator[]() [1/6]

template<class GeomKernelT >
GeomKernelT::PointT & OpenVolumeMesh::NormalAttrib< GeomKernelT >::operator[] ( const FaceHandle _h)
inline

Definition at line 91 of file NormalAttrib.hh.

◆ operator[]() [2/6]

template<class GeomKernelT >
const GeomKernelT::PointT & OpenVolumeMesh::NormalAttrib< GeomKernelT >::operator[] ( const FaceHandle _h) const
inline

Definition at line 74 of file NormalAttrib.hh.

◆ operator[]() [3/6]

template<class GeomKernelT >
GeomKernelT::PointT OpenVolumeMesh::NormalAttrib< GeomKernelT >::operator[] ( const HalfFaceHandle _h)
inline

Definition at line 96 of file NormalAttrib.hh.

◆ operator[]() [4/6]

template<class GeomKernelT >
const GeomKernelT::PointT OpenVolumeMesh::NormalAttrib< GeomKernelT >::operator[] ( const HalfFaceHandle _h) const
inline

Definition at line 79 of file NormalAttrib.hh.

◆ operator[]() [5/6]

template<class GeomKernelT >
GeomKernelT::PointT & OpenVolumeMesh::NormalAttrib< GeomKernelT >::operator[] ( const VertexHandle _h)
inline

Definition at line 86 of file NormalAttrib.hh.

◆ operator[]() [6/6]

template<class GeomKernelT >
const GeomKernelT::PointT & OpenVolumeMesh::NormalAttrib< GeomKernelT >::operator[] ( const VertexHandle _h) const
inline

Definition at line 69 of file NormalAttrib.hh.

◆ update_face_normals()

template<class GeomKernelT >
void OpenVolumeMesh::NormalAttrib< GeomKernelT >::update_face_normals

Compute face normals.

This is accomplished by taking two adjacent half-edges that are incident to the faces and compute their cross product. Note that this method looses accuracy in case the faces in question is not planar.

Definition at line 76 of file NormalAttribT_impl.hh.

◆ update_vertex_normals()

template<class GeomKernelT >
void OpenVolumeMesh::NormalAttrib< GeomKernelT >::update_vertex_normals

A simple heuristic to estimate the vertex normals.

This function takes the vertices' surrounding outside face normals into account and computes an average out of it.

Definition at line 59 of file NormalAttribT_impl.hh.

Member Data Documentation

◆ f_normals_

template<class GeomKernelT >
FacePropertyT<typename GeomKernelT::PointT> OpenVolumeMesh::NormalAttrib< GeomKernelT >::f_normals_
private

Definition at line 110 of file NormalAttrib.hh.

◆ kernel_

template<class GeomKernelT >
const GeomKernelT* OpenVolumeMesh::NormalAttrib< GeomKernelT >::kernel_
private

Definition at line 107 of file NormalAttrib.hh.

◆ v_normals_

template<class GeomKernelT >
VertexPropertyT<typename GeomKernelT::PointT> OpenVolumeMesh::NormalAttrib< GeomKernelT >::v_normals_
private

Definition at line 109 of file NormalAttrib.hh.


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