OpenMesh
|
Compute error value based on roundness criteria. More...
#include <OpenMesh/Tools/Decimater/ModRoundnessT.hh>
Public Types | |
typedef ModRoundnessT < DecimaterType > | Self |
typedef OpenMesh::Decimater::ModHandleT < Self > | Handle |
typedef OpenMesh::Decimater::ModBaseT < DecimaterType > | Base |
typedef Base::Mesh | Mesh |
typedef Base::CollapseInfo | CollapseInfo |
typedef Mesh::Point | Point |
typedef vector_traits< Point > ::value_type | value_type |
Public Member Functions | |
virtual const std::string & | name () const |
Set module's name (using DECIMATER_MODNAME macro) | |
ModRoundnessT (DecimaterType &_dec) | |
Constructor. | |
~ModRoundnessT () | |
Destructor. | |
float | collapse_priority (const CollapseInfo &_ci) |
Compute collapse priority due to roundness of triangle. | |
void | set_min_angle (float _angle, bool) |
void | set_min_roundness (value_type _min_roundness, bool _binary=true) |
Set a minimum roundness value. | |
void | unset_min_roundness () |
Unset minimum value constraint and enable non-binary mode. | |
double | roundness (const Vec3f &A, const Vec3f &B, const Vec3f &C) |
Compute error value based on roundness criteria.
float OpenMesh::Decimater::ModRoundnessT< DecimaterType >::collapse_priority | ( | const CollapseInfo & | _ci | ) | [inline] |
Compute collapse priority due to roundness of triangle.
The roundness is computed by dividing the radius of the circumference by the length of the shortest edge. The result is normalized.
void OpenMesh::Decimater::ModRoundnessT< DecimaterType >::set_min_roundness | ( | value_type | _min_roundness, |
bool | _binary = true |
||
) | [inline] |
Set a minimum roundness value.
_min_roundness | in range (0,1) |
_binary | Set true, if the binary mode should be enabled, else false. In latter case the collapse_priority() returns a float value if the constrain does not apply and ILLEGAL_COLLAPSE else. |