MEPP2 Project
|
To subdivide a facet. (the kernel K must be exact) More...
#include <boolops_triangulation.hpp>
Public Member Functions | |
Triangulation (Halfedge_handle &he, Vector_exact &norm_dir) | |
Constructor. More... | |
Point_tri | get_minvar_point_2 (Point_3 &p) |
Compute the orthogonal projection of a point to the plane defined by the longest coordinate of the normal vector. More... | |
Vertex_handle_tri | add_new_pt (Point_3 p, unsigned long &Label) |
Adds a point in the triangulation. More... | |
void | add_segment (Point_3 &p1, Point_3 &p2, unsigned long &Label1, unsigned long &Label2) |
Adds a constrained segment in the triangulation. More... | |
std::vector< std::vector< unsigned long > > | get_triangles (bool inv_triangles, bool *IsExt) |
Gets the triangles of the triangulation that belongs to the result and deduce for the three neighboring facets if they belong to the result or not. More... | |
std::vector< std::vector< unsigned long > > | get_all_triangles (bool inv_triangles) |
Gets all the triangles of the triangulation. More... | |
Private Types | |
typedef K::Point_3 | Point_3 |
3d point using exact number type More... | |
typedef Enriched_vertex_base< K > | Tri_vb |
Vertex base. More... | |
typedef Enriched_face_base< K > | Tri_fb |
Face base. More... | |
typedef CGAL::Triangulation_data_structure_2< Tri_vb, Tri_fb > | Tri_DS |
Data structure of the triangulation. More... | |
typedef CGAL::No_intersection_tag | Itag |
No intersection tag. More... | |
typedef CGAL::Constrained_Delaunay_triangulation_2< K, Tri_DS, Itag > | Constrained_Delaunay_tri |
2d constrained Delaunay triangulation More... | |
typedef Constrained_Delaunay_tri::Vertex_handle | Vertex_handle_tri |
Vertex handle for the triangulation. More... | |
typedef Constrained_Delaunay_tri::Face_handle | Face_handle_tri |
Face handle for the triangulation. More... | |
typedef Constrained_Delaunay_tri::Point | Point_tri |
2d point for the triangulation More... | |
typedef Constrained_Delaunay_tri::Face_iterator | Face_iterator_tri |
Iterator for the faces of the triangulation. More... | |
Private Attributes | |
Constrained_Delaunay_tri | ct |
The triangulation. More... | |
std::vector< InterId > | pts_point |
List of the id of the points added in the triangulation. More... | |
std::vector< Vertex_handle_tri > | pts_vertex |
List of the handles of the points added in the triangulation. More... | |
Vertex_handle_tri | v1 |
Handle of the point corresponding to the first vertex of the facet. More... | |
Vertex_handle_tri | v2 |
Handle of the point corresponding to the second vertex of the facet. More... | |
Vertex_handle_tri | v3 |
Handle of the point corresponding to the third vertex of the facet. More... | |
Vertex_handle_tri | c1 |
Handle of the point corresponding to the first vertex of the last segment added. More... | |
Vertex_handle_tri | c2 |
Handle of the point corresponding to the second vertex of the last segment added. More... | |
int | max_coordinate |
Code identifying the plane where the triangulation is done 0 : Plane (y, z) 1 : Plane (z, x) 2 : Plane (x, y) 3 : Plane (z, y) 4 : Plane (x, z) 5 : Plane (y, x) More... | |
To subdivide a facet. (the kernel K must be exact)
Definition at line 108 of file boolops_triangulation.hpp.
|
private |
2d constrained Delaunay triangulation
Definition at line 159 of file boolops_triangulation.hpp.
|
private |
Face handle for the triangulation.
Definition at line 171 of file boolops_triangulation.hpp.
|
private |
Iterator for the faces of the triangulation.
Definition at line 183 of file boolops_triangulation.hpp.
|
private |
No intersection tag.
Definition at line 152 of file boolops_triangulation.hpp.
|
private |
3d point using exact number type
Definition at line 114 of file boolops_triangulation.hpp.
|
private |
2d point for the triangulation
Definition at line 177 of file boolops_triangulation.hpp.
|
private |
Data structure of the triangulation.
Definition at line 132 of file boolops_triangulation.hpp.
|
private |
Face base.
Definition at line 126 of file boolops_triangulation.hpp.
|
private |
Vertex base.
Definition at line 120 of file boolops_triangulation.hpp.
|
private |
Vertex handle for the triangulation.
Definition at line 165 of file boolops_triangulation.hpp.
|
inline |
Constructor.
he | : A halfedge incident to the facet |
norm_dir | : The vector directing the normal of the facet |
Definition at line 191 of file boolops_triangulation.hpp.
|
inline |
Adds a point in the triangulation.
p | : The point (in 3d : the projection in 2d is done automatically) |
Label | : The label of the point |
Definition at line 265 of file boolops_triangulation.hpp.
|
inline |
Adds a constrained segment in the triangulation.
p1 | : The first point (in 3d) |
p2 | : The second point (in 3d) |
Label1 | : The label of the first point |
Label2 | : The label of the second point |
Definition at line 288 of file boolops_triangulation.hpp.
|
inline |
Gets all the triangles of the triangulation.
inv_triangles | : must be true if the orientation of the triangles must be inverted |
Definition at line 399 of file boolops_triangulation.hpp.
|
inline |
Compute the orthogonal projection of a point to the plane defined by the longest coordinate of the normal vector.
p | : the point (in 3d) |
Definition at line 232 of file boolops_triangulation.hpp.
|
inline |
Gets the triangles of the triangulation that belongs to the result and deduce for the three neighboring facets if they belong to the result or not.
inv_triangles | : must be true if the orientation of the triangles must be inverted |
IsExt | : Pointer on a three-case boolean table. |
Definition at line 307 of file boolops_triangulation.hpp.
|
private |
Handle of the point corresponding to the first vertex of the last segment added.
Definition at line 435 of file boolops_triangulation.hpp.
|
private |
Handle of the point corresponding to the second vertex of the last segment added.
Definition at line 437 of file boolops_triangulation.hpp.
|
private |
The triangulation.
Definition at line 423 of file boolops_triangulation.hpp.
|
private |
Code identifying the plane where the triangulation is done
0 : Plane (y, z)
1 : Plane (z, x)
2 : Plane (x, y)
3 : Plane (z, y)
4 : Plane (x, z)
5 : Plane (y, x)
Definition at line 446 of file boolops_triangulation.hpp.
|
private |
List of the id of the points added in the triangulation.
Definition at line 425 of file boolops_triangulation.hpp.
|
private |
List of the handles of the points added in the triangulation.
Definition at line 427 of file boolops_triangulation.hpp.
|
private |
Handle of the point corresponding to the first vertex of the facet.
Definition at line 429 of file boolops_triangulation.hpp.
|
private |
Handle of the point corresponding to the second vertex of the facet.
Definition at line 431 of file boolops_triangulation.hpp.
|
private |
Handle of the point corresponding to the third vertex of the facet.
Definition at line 433 of file boolops_triangulation.hpp.