50 #ifndef BASE_REMESHERT_HH 51 #define BASE_REMESHERT_HH 62 #include <OpenMesh/Core/Utils/Property.hh> 63 #include <ACG/Geometry/bsp/TriangleBSPT.hh> 65 #include "../ProgressEmitter.hh" 91 typedef typename Mesh::EdgeHandle EdgeHandle;
92 typedef typename Mesh::HalfedgeHandle HalfedgeHandle;
99 void remesh(
unsigned int _iters,
100 unsigned int _area_iters,
101 bool _use_projection =
true,
102 Selection _selection=VERTEX_SELECTION);
112 void remeshh(
unsigned int _iters,
unsigned int _aiters,
bool _proj);
115 virtual void init_reference();
116 virtual void delete_reference();
117 virtual void project_to_reference(VertexHandle _vh)
const;
119 void split_long_edges();
120 void collapse_short_edges();
122 void tangential_smoothing(
bool _use_projection);
123 void balanace_area(
unsigned int _iters,
bool _use_projection);
126 virtual bool is_too_long (VertexHandle _v0, VertexHandle _v1)
const = 0;
127 virtual bool is_too_short (VertexHandle _v0, VertexHandle _v1)
const = 0;
129 bool edge_flip_flips_normal(EdgeHandle _eh);
130 bool collapse_flips_normal(HalfedgeHandle _heh);
140 bool nothing_selected_;
153 #if defined(INCLUDE_TEMPLATES) && !defined(BASE_REMESHERT_C) 154 #define BASE_REMESHERT_TEMPLATES 155 #include "BaseRemesherT_impl.hh" 158 #endif // BASE_REMESHERT_HH defined
Kernel::Point Point
Coordinate type.
void prepare_face_selection()
prepare for remeshing only vertices which are fully surrounded by selected faces (if no face was sele...
Kernel::Scalar Scalar
Scalar type.
void prepare_vertex_selection()
prepare for remeshing only selected vertices (if no vertex was selected, remesh whole mesh) ...
Kernel::VertexHandle VertexHandle
Handle for referencing the corresponding item.