Functions to test if there are self intersections, and to report faces that do intersect.
|
template<class TriangleMesh , class OutputIterator , class NamedParameters > |
OutputIterator | CGAL::Polygon_mesh_processing::self_intersections (const TriangleMesh &tmesh, OutputIterator out, const NamedParameters &np) |
| detects and records self-intersections of a triangulated surface mesh. More...
|
|
template<class TriangleMesh , class FaceRange , class OutputIterator , class NamedParameters > |
OutputIterator | CGAL::Polygon_mesh_processing::self_intersections (const FaceRange &face_range, const TriangleMesh &tmesh, OutputIterator out, const NamedParameters &np) |
| Same as above but the self-intersections reported are only limited to the faces in face_range . More...
|
|
template<class TriangleMesh , class NamedParameters > |
bool | CGAL::Polygon_mesh_processing::does_self_intersect (const TriangleMesh &tmesh, const NamedParameters &np) |
| tests if a triangulated surface mesh self-intersects. More...
|
|
template<class TriangleMesh , class NamedParameters >
bool CGAL::Polygon_mesh_processing::does_self_intersect |
( |
const TriangleMesh & |
tmesh, |
|
|
const NamedParameters & |
np |
|
) |
| |
template<class TriangleMesh , class OutputIterator , class NamedParameters >
OutputIterator CGAL::Polygon_mesh_processing::self_intersections |
( |
const TriangleMesh & |
tmesh, |
|
|
OutputIterator |
out, |
|
|
const NamedParameters & |
np |
|
) |
| |
detects and records self-intersections of a triangulated surface mesh.
This function depends on the package Intersecting Sequences of dD Iso-oriented Boxes
- Precondition
CGAL::is_triangle_mesh(tmesh)
- Template Parameters
-
TriangleMesh | a model of FaceListGraph that has an internal property map for CGAL::vertex_point_t |
OutputIterator | a model of OutputIterator holding objects of type std::pair<boost::graph_traits<TriangleMesh>::face_descriptor, boost::graph_traits<TriangleMesh>::face_descriptor> |
NamedParameters | a sequence of Named Parameters |
- Parameters
-
tmesh | the triangulated surface mesh to be checked |
out | output iterator to be filled with all pairs of non-adjacent faces that intersect |
np | optional sequence of Named Parameters among the ones listed below |
- Named Parameters
-
- Returns
out
#include <CGAL/Polygon_mesh_processing/self_intersections.h>
- Examples:
- Polygon_mesh_processing/self_intersections_example.cpp.
template<class TriangleMesh , class FaceRange , class OutputIterator , class NamedParameters >
OutputIterator CGAL::Polygon_mesh_processing::self_intersections |
( |
const FaceRange & |
face_range, |
|
|
const TriangleMesh & |
tmesh, |
|
|
OutputIterator |
out, |
|
|
const NamedParameters & |
np |
|
) |
| |
Same as above but the self-intersections reported are only limited to the faces in face_range
.
- Precondition
CGAL::is_triangle_mesh(tmesh)
- Template Parameters
-
FaceRange | range of boost::graph_traits<PolygonMesh>::face_descriptor , model of Range . Its iterator type is RandomAccessIterator . |
TriangleMesh | a model of FaceListGraph that has an internal property map for CGAL::vertex_point_t |
OutputIterator | a model of OutputIterator holding objects of type std::pair<boost::graph_traits<TriangleMesh>::face_descriptor, boost::graph_traits<TriangleMesh>::face_descriptor> |
NamedParameters | a sequence of Named Parameters |
- Parameters
-
face_range | the range of faces to check for self-intersection. |
tmesh | the triangulated surface mesh to be checked |
out | output iterator to be filled with all pairs of non-adjacent faces that intersect |
np | optional sequence of Named Parameters among the ones listed below |
- Named Parameters
-
#include <CGAL/Polygon_mesh_processing/self_intersections.h>