|
CGAL 6.3 - 3D Mesh Smoothing
|
#include <CGAL/Mesh_smoothing_3/Mesh_smoothing_3.h>
smooth a c3t3 mesh structure
The class C3t3_smoother provides a wrapper around Mesh_smoother to use it with a CGAL C3t3 mesh structure. Facets of the C3t3 mesh structure are defined as boundary, and edges of the C3t3 mesh structure are used as curve network. It is still required to define the wished boundary queries.
| Type | of the input mesh complex, model of MeshComplex_3InTriangulation_3 |
Additional Inherited Members | |
| Public Types inherited from CGAL::Mesh_smoothing_3::Mesh_smoother< C3t3_wrapper< C3t3 >, C3t3_wrapper< C3t3 >, C3t3_wrapper< C3t3 > > | |
| using | Plane |
| Plane type to which the boundary polygons should align. | |
| using | Boundary_point_query |
| Projection function. | |
| using | Boundary_polygon_query |
| Projection function. | |
| using | Boundary_point_batch_query |
| Batch projection function. | |
| using | Boundary_polygon_batch_query |
| Batch projection function. | |
| using | Curve_tangent |
| Tangent vector and point to which the curve segment should align. | |
| using | Curve_point_query |
| Projection function. | |
| using | Curve_segment_query |
| Projection function. | |
| using | Curve_point_batch_query |
| Batch projection function. | |
| using | Curve_segment_batch_query |
| Batch projection function. | |
| Public Member Functions inherited from CGAL::Mesh_smoothing_3::Mesh_smoother< C3t3_wrapper< C3t3 >, C3t3_wrapper< C3t3 >, C3t3_wrapper< C3t3 > > | |
| Mesh_smoother (C3t3_wrapper< C3t3 > &mesh, C3t3_wrapper< C3t3 > const &boundary=C3t3_wrapper< C3t3 >(), C3t3_wrapper< C3t3 > const &edge_network=C3t3_wrapper< C3t3 >()) | |
| Constructor of the class, it does not perform any operation. | |
| void | set_locked_boundary (bool locked=true) |
| Locks (or unlock) all vertices contained in the input BoundaryMesh. | |
| void | set_max_number_of_iteration (unsigned number_of_iterations) |
| Max number of high level iterations done by the smoother. | |
| void | set_vertex_lock (Vertex_descriptor vertex, bool locked=true) |
| Hard-constraining a certain vertex to its current coordinates. | |
| void | set_vertex_dim_lock (Vertex_descriptor vertex, unsigned dimension, bool locked=true) |
| Hard-constraining only 1 dimension for the given vertex. | |
| void | set_vertices_dim_locks (Vertex_descriptor_map< std::array< bool, 3 > > const &vertex_dimension_locks) |
| Setting all of the locked vertices at once. | |
| void | set_locked_vertices (Container const &vertices) |
| Helper function to set locked vertices from a container. | |
| void | clear_locks () |
| Remove all previously set locks. | |
| void | set_boundary_query (Boundary_point_query boundary_query) |
| set constraint query for surface as a Boundary_point_query | |
| void | set_curves_query (Curve_point_query curve_query) |
| set constraint query for curves as a Curve_point_query | |
| void | set_vertex_target_position (Vertex_descriptor v, Point_3 const &target_positions, double weight=1.0) |
| set soft constraint for a given vertex | |
| void | set_vertex_target_positions (std::vector< std::tuple< Vertex_descriptor, Point_3, double > > const &target_positions) |
| set the list of soft constraints for vertices. | |
| void | clear_vertex_target_positions () |
| Clear previously set vertex soft constraints. | |
| void | set_boundary_weight (double weight) |
| Set the weight on the boundary term of the energy. | |
| bool | run () |
| Start the optimization procedure. | |