![]()  | 
  
    OpenMesh
    
   | 
 
Use Normal deviation to control decimation. More...
#include <OpenMesh/Tools/Decimater/ModNormalDeviationT.hh>


Public Types | |
| typedef ModNormalDeviationT< MeshT > | Self | 
| typedef OpenMesh::Decimater::ModHandleT< Self > | Handle | 
| typedef OpenMesh::Decimater::ModBaseT< MeshT > | Base | 
| typedef Base::Mesh | Mesh | 
| typedef Base::CollapseInfo | CollapseInfo | 
| typedef Mesh::Scalar | Scalar | 
| typedef Mesh::Point | Point | 
| typedef Mesh::Normal | Normal | 
| typedef Mesh::VertexHandle | VertexHandle | 
| typedef Mesh::FaceHandle | FaceHandle | 
| typedef Mesh::EdgeHandle | EdgeHandle | 
| typedef NormalConeT< Normal > | NormalCone | 
  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 | |
| virtual const std::string & | name () const override | 
| Set module's name.  | |
| ModNormalDeviationT (MeshT &_mesh, float _max_dev=180.0) | |
| Constructor.  | |
| ~ModNormalDeviationT () | |
| Destructor.  | |
| Scalar | normal_deviation () const | 
| Get normal deviation ( 0 .. 360 )  | |
| void | set_normal_deviation (Scalar _s) | 
| Set normal deviation ( 0 .. 360 )  | |
| void | initialize () override | 
| Allocate and init normal cones.  | |
| float | collapse_priority (const CollapseInfo &_ci) override | 
| Control normals when Decimating.  More... | |
| void | set_error_tolerance_factor (double _factor) override | 
| set the percentage of normal deviation  | |
| void | postprocess_collapse (const CollapseInfo &_ci) override | 
| After _from_vh has been collapsed into _to_vh, this method will be called.  | |
  Public Member Functions inherited from OpenMesh::Decimater::ModBaseT< MeshT > | |
| virtual | ~ModBaseT () | 
| Virtual desctructor.  | |
| 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 > &) | 
| Before _from_vh has been collapsed into _to_vh, this method will be called.  | |
Additional Inherited Members | |
  Protected Member Functions inherited from OpenMesh::Decimater::ModBaseT< MeshT > | |
| ModBaseT (MeshT &_mesh, bool _is_binary) | |
| Default constructor.  More... | |
| MeshT & | mesh () | 
| Access the mesh associated with the decimater.  | |
  Protected Attributes inherited from OpenMesh::Decimater::ModBaseT< MeshT > | |
| double | error_tolerance_factor_ | 
Use Normal deviation to control decimation.
The module tracks the normals while decimating a normal cone consisting of all normals of the faces collapsed together is computed and if a collapse would increase the size of the cone to a value greater than the given value the collapse will be illegal.
In binary and mode, the collapse is legal if:
In continuous mode the maximal deviation is returned
      
  | 
  inlineoverridevirtual | 
Control normals when Decimating.
Binary and Cont. mode.
The module tracks the normals while decimating a normal cone consisting of all normals of the faces collapsed together is computed and if a collapse would increase the size of the cone to a value greater than the given value the collapse will be illegal.
| _ci | Collapse info data | 
Reimplemented from OpenMesh::Decimater::ModBaseT< MeshT >.