|
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 |