CGAL 6.0 - Polygon Mesh Processing
|
#include <CGAL/Polygon_mesh_processing/corefinement.h>
CGAL::Polygon_mesh_processing::Corefinement::Default_visitor< TriangleMesh >.
PMPCorefinementVisitor
A model of PMPCorefinementVisitor
that enables extracting non-manifold outputs from a corefinement-based Boolean Operations (Corefinement and Boolean Operations).
TriangleMesh | a model of HalfedgeListGraph , FaceListGraph , and MutableFaceGraph |
VPM1 | a class model of ReadablePropertyMap with boost::graph_traits<TriangleMesh>::vertex_descriptor as key type and an unspecified type Point_3 as value type |
VPM2 | a class model of ReadablePropertyMap with boost::graph_traits<TriangleMesh>::vertex_descriptor as key type and the same value type as VPM1 |
Public Member Functions | |
Non_manifold_output_visitor (TriangleMesh &tm1, TriangleMesh &tm2, VPM1 vpm1=get(CGAL::vertex_point, tm1), VPM1 vpm2=get(CGAL::vertex_point, tm2)) | |
constructor where meshes are exactly the same as the one passed a function in Corefinement and Boolean Operations. | |
template<typename PointRange , typename PolygonRange > | |
void | extract_intersection (PointRange &points, PolygonRange &triangles) |
fills a polygon soup with the intersection between input meshes provided in the constructor, after a call to either corefine_and_compute_boolean_operations() or corefine_and_compute_intersection() . | |
template<typename PointRange , typename PolygonRange > | |
void | extract_union (PointRange &points, PolygonRange &triangles) |
fills a polygon soup with the union between input meshes provided in the constructor, after a call to either corefine_and_compute_boolean_operations() or corefine_and_compute_union() . | |
template<typename PointRange , typename PolygonRange > | |
void | extract_tm1_minus_tm2 (PointRange &points, PolygonRange &triangles) |
fills a polygon soup with the difference between input meshes provided in the constructor, after a call to either corefine_and_compute_boolean_operations() or corefine_and_compute_difference() . | |
template<typename PointRange , typename PolygonRange > | |
void | extract_tm2_minus_tm1 (PointRange &points, PolygonRange &triangles) |
fills a polygon soup with the opposite difference between input meshes provided in the constructor, after a call to corefine_and_compute_boolean_operations() . | |
CGAL::Polygon_mesh_processing::Corefinement::Non_manifold_output_visitor< TriangleMesh, VPM1, VPM2 >::Non_manifold_output_visitor | ( | TriangleMesh & | tm1, |
TriangleMesh & | tm2, | ||
VPM1 | vpm1 = get(CGAL::vertex_point, tm1) , |
||
VPM1 | vpm2 = get(CGAL::vertex_point, tm2) |
||
) |
constructor where meshes are exactly the same as the one passed a function in Corefinement and Boolean Operations.
The visitor cannot be reused for several calls to the aforementioned function.
tm1 | first triangle mesh in the same order as in the function in Corefinement and Boolean Operations |
tm2 | second triangle mesh in the same order as in the function in Corefinement and Boolean Operations |
vpm1 | vertex point map for tm1 |
vpm2 | vertex point map for tm2 |
void CGAL::Polygon_mesh_processing::Corefinement::Non_manifold_output_visitor< TriangleMesh, VPM1, VPM2 >::extract_intersection | ( | PointRange & | points, |
PolygonRange & | triangles | ||
) |
fills a polygon soup with the intersection between input meshes provided in the constructor, after a call to either corefine_and_compute_boolean_operations()
or corefine_and_compute_intersection()
.
PointRange | a model of the concept RandomAccessContainer whose value type is the value type of VPM1 and VPM2 . |
PolygonRange | a model of the concepts RandomAccessContainer and BackInsertionSequence whose value_type is itself a model of the concepts RandomAccessContainer and BackInsertionSequence whose value_type is an unsigned integer type convertible to std::size_t |
void CGAL::Polygon_mesh_processing::Corefinement::Non_manifold_output_visitor< TriangleMesh, VPM1, VPM2 >::extract_tm1_minus_tm2 | ( | PointRange & | points, |
PolygonRange & | triangles | ||
) |
fills a polygon soup with the difference between input meshes provided in the constructor, after a call to either corefine_and_compute_boolean_operations()
or corefine_and_compute_difference()
.
PointRange | a model of the concept RandomAccessContainer whose value type is the value type of VPM1 and VPM2 . |
PolygonRange | a model of the concepts RandomAccessContainer and BackInsertionSequence whose value_type is itself a model of the concepts RandomAccessContainer and BackInsertionSequence whose value_type is an unsigned integer type convertible to std::size_t |
void CGAL::Polygon_mesh_processing::Corefinement::Non_manifold_output_visitor< TriangleMesh, VPM1, VPM2 >::extract_tm2_minus_tm1 | ( | PointRange & | points, |
PolygonRange & | triangles | ||
) |
fills a polygon soup with the opposite difference between input meshes provided in the constructor, after a call to corefine_and_compute_boolean_operations()
.
PointRange | a model of the concept RandomAccessContainer whose value type is the value type of VPM1 and VPM2 . |
PolygonRange | a model of the concepts RandomAccessContainer and BackInsertionSequence whose value_type is itself a model of the concepts RandomAccessContainer and BackInsertionSequence whose value_type is an unsigned integer type convertible to std::size_t |
void CGAL::Polygon_mesh_processing::Corefinement::Non_manifold_output_visitor< TriangleMesh, VPM1, VPM2 >::extract_union | ( | PointRange & | points, |
PolygonRange & | triangles | ||
) |
fills a polygon soup with the union between input meshes provided in the constructor, after a call to either corefine_and_compute_boolean_operations()
or corefine_and_compute_union()
.
PointRange | a model of the concept RandomAccessContainer whose value type is the value type of VPM1 and VPM2 . |
PolygonRange | a model of the concepts RandomAccessContainer and BackInsertionSequence whose value_type is itself a model of the concepts RandomAccessContainer and BackInsertionSequence whose value_type is an unsigned integer type convertible to std::size_t |