mirror of https://github.com/CGAL/cgal
implement @MaelRL review
This commit is contained in:
parent
94a73232d5
commit
b8f058e0d1
|
|
@ -35,16 +35,16 @@ Release date: September 2018
|
||||||
### Polygon Mesh Processing
|
### Polygon Mesh Processing
|
||||||
- Added a function to apply a transformation to a mesh :
|
- Added a function to apply a transformation to a mesh :
|
||||||
- `CGAL::Polygon_mesh_processing::transform()`
|
- `CGAL::Polygon_mesh_processing::transform()`
|
||||||
- Add in corefinement-related functions a new named parameter `new_face_visitor`
|
- Added in corefinement-related functions a new named parameter `new_face_visitor`
|
||||||
that make it possible to pass a visitor to the function in order to track
|
that make it possible to pass a visitor to the function in order to track
|
||||||
the creation of new faces.
|
the creation of new faces.
|
||||||
- Add in all corefinement-related functions a named parameter `throw_on_self_intersection`
|
- Added in all corefinement-related functions a named parameter `throw_on_self_intersection`
|
||||||
(that replace the `bool` parameter in `corefine()`) that enables to check for
|
(that replace the `bool` parameter in `corefine()`) that enables to check for
|
||||||
self-intersections faces involved in the intersection before trying to corefine the
|
self-intersections faces involved in the intersection before trying to corefine the
|
||||||
input meshes.
|
input meshes.
|
||||||
- Document the function `corefine_and_compute_boolean_operations()` that can be used to
|
- Added the function `corefine_and_compute_boolean_operations()` that can be used to
|
||||||
compute the result of several Boolean operations between 2 volumes at the same time.
|
compute the result of several Boolean operations between 2 volumes at the same time.
|
||||||
- Document the function `clip()` that can be used to clip a triangulated surface mesh
|
- Added the function `clip()` that can be used to clip a triangulated surface mesh
|
||||||
by a plane or a clipping volume.
|
by a plane or a clipping volume.
|
||||||
|
|
||||||
Release 4.12
|
Release 4.12
|
||||||
|
|
|
||||||
|
|
@ -64,8 +64,8 @@ clip_open_impl( TriangleMesh& tm,
|
||||||
// vector of clipper triangles
|
// vector of clipper triangles
|
||||||
Clipper_triangles clipper_triangles;
|
Clipper_triangles clipper_triangles;
|
||||||
clipper_triangles.reserve( num_faces(clipper) );
|
clipper_triangles.reserve( num_faces(clipper) );
|
||||||
Vpm vpm_c = boost::choose_param(get_param(np_c, internal_np::vertex_point),
|
Vpm vpm_c = boost::choose_param(boost::get_param(np_c, internal_np::vertex_point),
|
||||||
get_property_map(vertex_point, clipper));
|
get_property_map(vertex_point, clipper));
|
||||||
BOOST_FOREACH(face_descriptor f, faces(clipper))
|
BOOST_FOREACH(face_descriptor f, faces(clipper))
|
||||||
{
|
{
|
||||||
halfedge_descriptor h = halfedge(f, clipper);
|
halfedge_descriptor h = halfedge(f, clipper);
|
||||||
|
|
@ -90,9 +90,9 @@ clip_open_impl( TriangleMesh& tm,
|
||||||
typedef typename GetFaceIndexMap<TriangleMesh,
|
typedef typename GetFaceIndexMap<TriangleMesh,
|
||||||
NamedParameters1>::type Fid_map;
|
NamedParameters1>::type Fid_map;
|
||||||
|
|
||||||
Fid_map fid_map = boost::choose_param(get_param(np_tm, internal_np::face_index),
|
Fid_map fid_map = boost::choose_param(boost::get_param(np_tm, internal_np::face_index),
|
||||||
get_property_map(boost::face_index, tm));
|
get_property_map(boost::face_index, tm));
|
||||||
Vpm vpm1 = boost::choose_param(get_param(np_tm, internal_np::vertex_point),
|
Vpm vpm1 = boost::choose_param(boost::get_param(np_tm, internal_np::vertex_point),
|
||||||
get_property_map(vertex_point, tm));
|
get_property_map(vertex_point, tm));
|
||||||
|
|
||||||
typedef CGAL::dynamic_vertex_property_t<std::size_t> Vid_tag;
|
typedef CGAL::dynamic_vertex_property_t<std::size_t> Vid_tag;
|
||||||
|
|
@ -181,7 +181,7 @@ clip_to_bbox(const Plane_3& plane,
|
||||||
typedef typename GetVertexPointMap<TriangleMesh,
|
typedef typename GetVertexPointMap<TriangleMesh,
|
||||||
NamedParameters>::type Vpm;
|
NamedParameters>::type Vpm;
|
||||||
|
|
||||||
Vpm vpm_out = boost::choose_param(get_param(np, internal_np::vertex_point),
|
Vpm vpm_out = boost::choose_param(boost::get_param(np, internal_np::vertex_point),
|
||||||
get_property_map(boost::vertex_point, tm_out));
|
get_property_map(boost::vertex_point, tm_out));
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -306,11 +306,12 @@ clip_to_bbox(const Plane_3& plane,
|
||||||
* \cgalParamEnd
|
* \cgalParamEnd
|
||||||
* \cgalParamBegin{throw_on_self_intersection} if `true`,
|
* \cgalParamBegin{throw_on_self_intersection} if `true`,
|
||||||
* the set of triangles closed to the intersection of `tm` and `clipper` will be
|
* the set of triangles closed to the intersection of `tm` and `clipper` will be
|
||||||
* checked for self-intersection and `CGAL::Polygon_mesh_processing::Corefinement::Self_intersection_exception`
|
* checked for self-intersections and `CGAL::Polygon_mesh_processing::Corefinement::Self_intersection_exception`
|
||||||
* will be thrown if at least one is found.
|
* will be thrown if at least one is found.
|
||||||
* \cgalParamEnd
|
* \cgalParamEnd
|
||||||
* \cgalParamBegin{close_volumes} if `true` and `tm` is closed, the clipping considered will be
|
* \cgalParamBegin{close_volumes} if `true` and `tm` is closed, the clipping will be done on
|
||||||
* done on the volume \link coref_def_subsec bounded \endlink by `tm` rather than on its surface (`tm` will be kept closed).
|
* the volume \link coref_def_subsec bounded \endlink by `tm` rather than on its surface
|
||||||
|
* (i.e. `tm` will be kept closed).
|
||||||
* \cgalParamEnd
|
* \cgalParamEnd
|
||||||
* \cgalParamBegin{include_clipper_boundary} if `false` and `close_volumes` is `false` and `tm` is open, the parts of `tm` coplanar with `clipper`
|
* \cgalParamBegin{include_clipper_boundary} if `false` and `close_volumes` is `false` and `tm` is open, the parts of `tm` coplanar with `clipper`
|
||||||
* will not be part of the output.
|
* will not be part of the output.
|
||||||
|
|
@ -354,7 +355,7 @@ clip( TriangleMesh& tm,
|
||||||
* @tparam NamedParameters a sequence of \ref pmp_namedparameters "Named Parameters"
|
* @tparam NamedParameters a sequence of \ref pmp_namedparameters "Named Parameters"
|
||||||
*
|
*
|
||||||
* @param tm input triangulated surface mesh
|
* @param tm input triangulated surface mesh
|
||||||
* @param plane plane which negative side defines the half-space to intersect `tm` with.
|
* @param plane plane whose negative side defines the half-space to intersect `tm` with.
|
||||||
* `Plane_3` is the plane type for the same CGAL kernel as the point of the vertex point map of `tm`.
|
* `Plane_3` is the plane type for the same CGAL kernel as the point of the vertex point map of `tm`.
|
||||||
* @param np optional sequence of \ref pmp_namedparameters "Named Parameters" among the ones listed below
|
* @param np optional sequence of \ref pmp_namedparameters "Named Parameters" among the ones listed below
|
||||||
*
|
*
|
||||||
|
|
@ -368,11 +369,12 @@ clip( TriangleMesh& tm,
|
||||||
* \cgalParamEnd
|
* \cgalParamEnd
|
||||||
* \cgalParamBegin{throw_on_self_intersection} if `true`,
|
* \cgalParamBegin{throw_on_self_intersection} if `true`,
|
||||||
* the set of triangles closed to the intersection of `tm` and `plane` will be
|
* the set of triangles closed to the intersection of `tm` and `plane` will be
|
||||||
* checked for self-intersection and `CGAL::Polygon_mesh_processing::Corefinement::Self_intersection_exception`
|
* checked for self-intersections and `CGAL::Polygon_mesh_processing::Corefinement::Self_intersection_exception`
|
||||||
* will be thrown if at least one is found.
|
* will be thrown if at least one is found.
|
||||||
* \cgalParamEnd
|
* \cgalParamEnd
|
||||||
* \cgalParamBegin{close_volumes} if `true` and `tm` is closed, the clipping considered will be
|
* \cgalParamBegin{close_volumes} if `true` and `tm` is closed, the clipping will be done on
|
||||||
* done on the volume \link coref_def_subsec bounded \endlink by `tm` rather than on its surface (`tm` will be kept closed).
|
* the volume \link coref_def_subsec bounded \endlink by `tm` rather than on its surface
|
||||||
|
* (i.e. `tm` will be kept closed).
|
||||||
* \cgalParamEnd
|
* \cgalParamEnd
|
||||||
* \cgalParamBegin{include_clipper_boundary} if `false` and `close_volumes` is `false` and `tm` is open, the parts of `tm` coplanar with `plane`
|
* \cgalParamBegin{include_clipper_boundary} if `false` and `close_volumes` is `false` and `tm` is open, the parts of `tm` coplanar with `plane`
|
||||||
* will not be part of the output.
|
* will not be part of the output.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue