Developer Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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)
 
void compute_face_normal (const FaceHandle &_fh)
 

Private Attributes

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 55 of file NormalAttrib.hh.

Member Function Documentation

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 84 of file NormalAttribT.cc.

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 68 of file NormalAttribT.cc.


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