57 #ifndef BASE_REMESHERT_HH
58 #define BASE_REMESHERT_HH
69 #include <OpenMesh/Core/Utils/Property.hh>
70 #include <ACG/Geometry/bsp/TriangleBSPT.hh>
72 #include "../ProgressEmitter.hh"
98 typedef typename Mesh::EdgeHandle EdgeHandle;
105 void remesh(
unsigned int _iters,
106 unsigned int _area_iters,
107 bool _use_projection =
true,
108 Selection _selection=VERTEX_SELECTION);
118 void remeshh(
unsigned int _iters,
unsigned int _aiters,
bool _proj);
121 virtual void init_reference();
122 virtual void delete_reference();
123 virtual void project_to_reference(VertexHandle _vh)
const;
125 void split_long_edges();
126 void collapse_short_edges();
128 void tangential_smoothing(
bool _use_projection);
129 void balanace_area(
unsigned int _iters,
bool _use_projection);
132 virtual bool is_too_long (VertexHandle _v0, VertexHandle _v1)
const = 0;
133 virtual bool is_too_short (VertexHandle _v0, VertexHandle _v1)
const = 0;
144 bool nothing_selected_;
157 #if defined(INCLUDE_TEMPLATES) && !defined(BASE_REMESHERT_C)
158 #define BASE_REMESHERT_TEMPLATES
159 #include "BaseRemesherT.cc"
162 #endif // BASE_REMESHERT_HH defined
void prepare_face_selection()
prepare for remeshing only vertices which are fully surrounded by selected faces (if no face was sele...
void prepare_vertex_selection()
prepare for remeshing only selected vertices (if no vertex was selected, remesh whole mesh) ...
Kernel::Point Point
Coordinate type.
Kernel::Scalar Scalar
Scalar type.
Kernel::VertexHandle VertexHandle
Handle for referencing the corresponding item.