CGAL 6.3 - 3D Mesh Smoothing
Loading...
Searching...
No Matches
CGAL::Mesh_smoothing_3::C3t3_smoother< C3t3 > Class Template Reference

#include <CGAL/Mesh_smoothing_3/Mesh_smoothing_3.h>

Inherits from

CGAL::Mesh_smoothing_3::Mesh_smoother< C3t3_wrapper< C3t3 >, C3t3_wrapper< C3t3 >, C3t3_wrapper< C3t3 > >.

Definition

template<typename C3t3>
class CGAL::Mesh_smoothing_3::C3t3_smoother< C3t3 >

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.

Template Parameters
Typeof the input mesh complex, model of MeshComplex_3InTriangulation_3
See also
CGAL::Mesh_smoothing_3::Mesh_smoother
Examples
Mesh_smoothing_3/c3t3_smooth.cpp.

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.