|
Developer Documentation
|
Use Hausdorff distance to control decimation. More...
#include <libs_required/OpenMesh/src/OpenMesh/Tools/Decimater/ModHausdorffT.hh>
Public Types | |
| typedef Mesh::Scalar | Scalar |
| typedef Mesh::Point | Point |
| typedef Mesh::FaceHandle | FaceHandle |
| typedef std::vector< Point > | Points |
Public Types inherited from OpenMesh::Decimater::ModBaseT< MeshT > | |
| enum | { ILLEGAL_COLLAPSE = -1, LEGAL_COLLAPSE = 0 } |
| typedef MeshT | Mesh |
| typedef CollapseInfoT< MeshT > | CollapseInfo |
Public Member Functions | |
| DECIMATING_MODULE (ModHausdorffT, MeshT, Hausdorff) | |
| ModHausdorffT (MeshT &_mesh, Scalar _error_tolerance=FLT_MAX) | |
| Constructor. | |
| ~ModHausdorffT () | |
| Destructor. | |
| Scalar | tolerance () const |
| get max error tolerance | |
| void | set_tolerance (Scalar _e) |
| set max error tolerance | |
| virtual void | initialize () |
| reset per-face point lists | |
| virtual float | collapse_priority (const CollapseInfo &_ci) |
| compute Hausdorff error for one-ring More... | |
| virtual void | postprocess_collapse (const CollapseInfo &_ci) |
| re-distribute points | |
| void | set_error_tolerance_factor (double _factor) |
| set the percentage of tolerance | |
Public Member Functions inherited from OpenMesh::Decimater::ModBaseT< MeshT > | |
| virtual | ~ModBaseT () |
| Virtual desctructor. | |
| DECIMATER_MODNAME (ModBase) | |
| Set module's name (using DECIMATER_MODNAME macro) | |
| bool | is_binary (void) const |
| Returns true if criteria returns a binary value. | |
| void | set_binary (bool _b) |
| Set whether module is binary or not. | |
| virtual void | preprocess_collapse (const CollapseInfoT< MeshT > &) |
Private Member Functions | |
| Scalar | distPointTriangleSquared (const Point &_p, const Point &_v0, const Point &_v1, const Point &_v2) |
| squared distance from point _p to triangle (_v0, _v1, _v2) | |
| Scalar | compute_sqr_error (FaceHandle _fh, const Point &_p) const |
| compute max error for face _fh w.r.t. its point list and _p | |
Private Attributes | |
| Points | tmp_points_ |
| Temporary point storage. | |
| Mesh & | mesh_ |
| Scalar | tolerance_ |
| OpenMesh::FPropHandleT< Points > | points_ |
Additional Inherited Members | |
Protected Member Functions inherited from OpenMesh::Decimater::ModBaseT< MeshT > | |
| ModBaseT (MeshT &_mesh, bool _is_binary) | |
| MeshT & | mesh () |
| Access the mesh associated with the decimater. | |
Protected Attributes inherited from OpenMesh::Decimater::ModBaseT< MeshT > | |
| double | error_tolerance_factor_ |
Use Hausdorff distance to control decimation.
This module computes the aspect ratio.
In binary mode, the collapse is legal if:
No continuous mode
Definition at line 85 of file ModHausdorffT.hh.
|
virtual |
compute Hausdorff error for one-ring
This mod only allows collapses if the Hausdorff distance after a collapse is lower than the given tolerance.
| _ci | Collapse info data |
Reimplemented from OpenMesh::Decimater::ModBaseT< MeshT >.
Definition at line 211 of file ModHausdorffT.cc.