52#ifndef OPENMESH_DECIMATER_MODASPECTRATIOT_HH
53#define OPENMESH_DECIMATER_MODASPECTRATIOT_HH
58#include <OpenMesh/Core/Utils/Property.hh>
88 typedef typename Mesh::Point Point;
93 Base(_mesh, _is_binary), mesh_(Base::
mesh()), min_aspect_(
95 mesh_.add_property(aspect_);
100 mesh_.remove_property(aspect_);
105 return 1.f / min_aspect_;
110 min_aspect_ = 1.f / _f;
114 void initialize()
override;
117 float collapse_priority(
const CollapseInfo& _ci)
override;
120 void preprocess_collapse(
const CollapseInfo& _ci)
override;
123 void set_error_tolerance_factor(
double _factor)
override;
130 Scalar aspectRatio(
const Point& _v0,
const Point& _v1,
const Point& _v2);
143#if defined(OM_INCLUDE_TEMPLATES) && !defined(OPENMESH_DECIMATER_MODASPECTRATIOT_C)
144#define OPENMESH_DECIMATER_MODASPECTRATIOT_TEMPLATES
#define DECIMATING_MODULE(Classname, MeshT, Name)
Use aspect ratio to control decimation.
float aspect_ratio() const
get aspect ratio
ModAspectRatioT(MeshT &_mesh, float _min_aspect=5.0, bool _is_binary=true)
constructor
~ModAspectRatioT()
destructor
void set_aspect_ratio(float _f)
set aspect ratio
MeshT & mesh()
Access the mesh associated with the decimater.
Kernel::Scalar Scalar
Scalar type.