51 #ifndef OPENMESH_DECIMATER_MODASPECTRATIOT_HH
52 #define OPENMESH_DECIMATER_MODASPECTRATIOT_HH
57 #include <OpenMesh/Core/Utils/Property.hh>
86 typedef typename Mesh::Scalar Scalar;
87 typedef typename Mesh::Point Point;
92 Base(_mesh, _is_binary), mesh_(Base::
mesh()), min_aspect_(
94 mesh_.add_property(aspect_);
99 mesh_.remove_property(aspect_);
104 return 1.0 / min_aspect_;
109 min_aspect_ = 1.0 / _f;
129 Scalar aspectRatio(
const Point& _v0,
const Point& _v1,
const Point& _v2);
142 #if defined(OM_INCLUDE_TEMPLATES) && !defined(OPENMESH_DECIMATER_MODASPECTRATIOT_C)
143 #define OPENMESH_DECIMATER_MODASPECTRATIOT_TEMPLATES
147 #endif // OPENMESH_DECIMATER_MODASPECTRATIOT_HH defined
#define DECIMATING_MODULE(Classname, MeshT, Name)
Convenience macro, to be used in derived modules The macro defines the types.
Definition: ModBaseT.hh:147
Base class for all decimation modules.
Definition: ModBaseT.hh:190
MeshT & mesh()
Access the mesh associated with the decimater.
Definition: ModBaseT.hh:275
void initialize()
precompute face aspect ratio
Definition: ModAspectRatioT.cc:95
Use aspect ratio to control decimation.
Definition: ModAspectRatioT.hh:80
void set_error_tolerance_factor(double _factor)
set percentage of aspect ratio
Definition: ModAspectRatioT.cc:182
void set_aspect_ratio(float _f)
set aspect ratio
Definition: ModAspectRatioT.hh:108
void preprocess_collapse(const CollapseInfo &_ci)
update aspect ratio of one-ring
Definition: ModAspectRatioT.cc:112
ModAspectRatioT(MeshT &_mesh, float _min_aspect=5.0, bool _is_binary=true)
constructor
Definition: ModAspectRatioT.hh:90
~ModAspectRatioT()
destructor
Definition: ModAspectRatioT.hh:98
float collapse_priority(const CollapseInfo &_ci)
Returns the collapse priority.
Definition: ModAspectRatioT.cc:132
float aspect_ratio() const
get aspect ratio
Definition: ModAspectRatioT.hh:103
Base class for all decimation modules.