clips pm by keeping the part that is on the negative side of plane (the side opposite to its normal vector).
If pm is closed, the clipped part can be kept closed by setting the named parameter clip_volumeto true. See Subsection Clipping and Splitting Meshes for more details.
plane whose negative side defines the halfspace to intersect pm with. Plane_3 is the plane type for the same CGAL kernel as the point of the vertex point map of pm.
np
an optional sequence of Named Parameters among the ones listed below
Optional Named Parameters
a tag indicating if the task should be performed using one or several threads.
a property map associating points to the vertices of pm
Type: a class model of ReadWritePropertyMap with boost::graph_traits<PolygonMesh>::vertex_descriptor as key type and Point_3 as value type
Default: boost::get(CGAL::vertex_point, pm)
a visitor used to track the creation of new faces, edges, and faces. Note that as there are no mesh associated with plane, boost::graph_traits<PolygonMesh>::null_halfedge() and boost::graph_traits<PolygonMesh>::null_face() will be used when calling functions of the visitor expecting a halfedge or a face from plane. Similarly, pm will be used as the mesh of plane.
If true, the set of triangles close to the intersection of pm and plane will be checked for self-intersections and CGAL::Polygon_mesh_processing::Corefinement::Self_intersection_exception will be thrown if at least one self-intersection is found. This option is only taken into account if pm is a triangle mesh.
Type: Boolean
Default: false
If true, self-intersections in pm are accepted.
Type: Boolean
Default: false
Extra: If this option is set to true, pm is no longer required to be without self-intersection. Setting this option to true will automatically set throw_on_self_intersection to false and clip_volume to false (overwriting any value provided)
If true, and if pm is closed, the clipping will be done on the volume bounded by pm rather than on its surface (i.e., pm will remain closed).
Type: Boolean
Default: false
If false, the parts of pm coplanar with plane will not be part of the output. Always true if clip_volume is true.
Type: Boolean
Default: true
If the input mesh is triangulated and this parameter is set to false, the mesh will be kept triangulated. Always true if pm is not a triangle mesh.
clips tm by keeping the part that is inside iso_cuboid.
If tm is closed, the clipped part can be kept closed by setting the named parameter clip_volume to true. See Subsection Clipping and Splitting Meshes for more details.
Note
Iso_cuboid_3 must be from the same kernel as the point of the internal vertex point map of TriangleMesh.
Iso_cuboid_3 must be from the same kernel as the point of the vertex point map of tm.
If true, and tm is closed, the clipping will be done on the volume bounded by tm rather than on its surface (i.e., tm will be kept closed).
Type: Boolean
Default: false
if false the parts of tm coplanar with iso_cuboid will not be part of the output
Type: Boolean
Default: true
If true, the set of triangles close to the intersection of tm and iso_cuboid will be checked for self-intersections and CGAL::Polygon_mesh_processing::Corefinement::Self_intersection_exception will be thrown if at least one self-intersection is found.
Type: Boolean
Default: false
If true, self-intersections in tm are accepted.
Type: Boolean
Default: false
Extra: If this option is set to true, tm is no longer required to be without self-intersection. Setting this option to true will automatically set throw_on_self_intersection to false and clip_volume to false.
clips tm by keeping the part that is inside the volume bounded by clipper.
If tm is closed, the clipped part can be kept closed by setting the named parameter clip_volume to true. See Subsection Clipping and Splitting Meshes for more details.
Attention
In the current implementation, clipper will be modified (refined with the intersection with tm) unless the named parameter do_not_modify is set to true.
If true, the set of triangles close to the intersection of tm and clipper will be checked for self-intersections and Corefinement::Self_intersection_exception will be thrown if at least one self-intersection is found.
Type: Boolean
Default: false
If true, and tm is closed, the clipping will be done on the volume bounded by tm rather than on its surface (i.e., tm will be kept closed).
Type: Boolean
Default: false
if false, the parts of tm coplanar with clipper will not be part of the output.
Type: Boolean
Default: true
Extra: This option has an effect only if a surface and not a volume is clipped, (i.e., if clip_volume is false or if tm is open).
(np_c only) if true, clipper will not be modified.
Type: Boolean
Default: false
Extra: If this option is set to true, tm is no longer required to be without self-intersection. Setting this option to true will automatically set throw_on_self_intersection to false and clip_volume to false.
Returns
true if the output surface mesh is manifold. If false is returned tm and clipper are only corefined.
The polygon mesh is refined with the intersection edges, and those edges are duplicated as to create a boundary, and thus separate connected components on either side of the plane.
the plane that will be used to split pm. Plane_3 is the plane type for the same CGAL kernel as the point of the vertex point map of pm.
np
an optional sequence of Named Parameters among the ones listed below
Optional Named Parameters
a property map associating points to the vertices of pm
Type: a class model of ReadWritePropertyMap with boost::graph_traits<TriangleMesh>::vertex_descriptor as key type and Point_3 as value type
Default: boost::get(CGAL::vertex_point, pm)
a visitor used to track the creation of new faces, edges, and vertices. Note that as there are no mesh associated with plane, boost::graph_traits<PolygonMesh>::null_halfedge() and boost::graph_traits<PolygonMesh>::null_face() will be used when calling functions of the visitor expecting a halfedge or a face from plane. Similarly, pm will be used as the mesh of plane.}
If true, the set of triangles close to the intersection of pm and plane will be checked for self-intersections and CGAL::Polygon_mesh_processing::Corefinement::Self_intersection_exception will be thrown if at least one self-intersection is found. This option is only taken into account if pm is a triangle mesh.
Type: Boolean
Default: false
If the input mesh is triangulated and this parameter is set to false, the mesh will be kept triangulated. Always true if pm is not a triangle mesh.
If true, and tm is closed, the clipping will be done on the volume bounded by tm rather than on its surface (i.e., tm will be kept closed).
Type: Boolean
Default: false
if false, the parts of tm coplanar with iso_cuboid will not be part of the output.
Type: Boolean
Default: true
If true, the set of triangles close to the intersection of tm and iso_cuboid will be checked for self-intersections and CGAL::Polygon_mesh_processing::Corefinement::Self_intersection_exception will be thrown if at least one self-intersection is found.
Type: Boolean
Default: false
If true, self-intersections in tm are accepted.
Type: Boolean
Default: false
Extra: If this option is set to true, tm is no longer required to be without self-intersection. Setting this option to true will automatically set throw_on_self_intersection to false and clip_volume to false.
If true, the set of triangles closed to the intersection of tm and splitter will be checked for self-intersections and CGAL::Polygon_mesh_processing::Corefinement::Self_intersection_exception will be thrown if at least one self-intersection is found.
Type: Boolean
Default: false
(np_s only) if true, splitter will not be modified.
Type: Boolean
Default: false
Extra: If this option is set to true, tm is no longer required to be without self-intersection. Setting this option to true will automatically set throw_on_self_intersection to false and clip_volume to false.