Decimating module to avoid flipping of faces. More...
Public Types | |
typedef ModNormalFlippingT < DecimaterT > | Self |
typedef OpenMesh::Decimater::ModHandleT < Self > | Handle |
typedef OpenMesh::Decimater::ModBaseT < DecimaterT > | Base |
typedef Base::Mesh | Mesh |
typedef Base::CollapseInfo | CollapseInfo |
Public Member Functions | |
virtual const std::string & | name () const |
Set module's name (using DECIMATER_MODNAME macro). | |
ModNormalFlippingT (DecimaterT &_dec) | |
Constructor. | |
float | collapse_priority (const CollapseInfo &_ci) |
Compute collapse priority due to angular deviation of face normals before and after a collapse. | |
float | max_normal_deviation () const |
get normal deviation | |
float | normal_deviation () const |
void | set_max_normal_deviation (float _f) |
Set normal deviation. | |
void | set_normal_deviation (float _f) |
Decimating module to avoid flipping of faces.
This module can be used only as a binary module. The criterion of allowing/disallowing the collapse is the angular deviation between the face normal of the orignal faces and normals of the faces after the collapse. The collapse will pass the test, if the deviation is below a given threshold.
float OpenMesh::Decimater::ModNormalFlippingT< DecimaterT >::collapse_priority | ( | const CollapseInfo & | _ci | ) | [inline] |
Compute collapse priority due to angular deviation of face normals before and after a collapse.
_ci.v0
the face normal if the collpase would be executed._ci | The collapse description |
float OpenMesh::Decimater::ModNormalFlippingT< DecimaterT >::normal_deviation | ( | ) | const [inline] |
void OpenMesh::Decimater::ModNormalFlippingT< DecimaterT >::set_max_normal_deviation | ( | float | _f | ) | [inline] |
Set normal deviation.
Set the maximum angular deviation of the orignal normal and the new normal in degrees.
void OpenMesh::Decimater::ModNormalFlippingT< DecimaterT >::set_normal_deviation | ( | float | _f | ) | [inline] |