|
CGAL 4.7 - 2D Triangulation
|
#include <CGAL/Triangulation_euclidean_traits_xy_3.h>
The functionality of this class has been generalized to other packages than 2D triangulations.
The more general class Projection_traits_xy_3 can be found in the 2D and 3D Linear Geometric Kernel.
Triangulation_euclidean_traits_xy_3 is a geometric traits class which allows to triangulate a terrain. This traits class is designed to build a two dimensional triangulation embedded in 3D space, i.e. a triangulated surface, such that its on the \( xy\) plane is a Delaunay triangulation. This is a usual construction for GIS terrains. Instead of really projecting the 3D points and maintaining a mapping between each point and its projection (which costs space and is error prone) the class Triangulation_euclidean_traits_xy_3 supplies geometric predicates that ignore the z-coordinate of the points.The class is a model of the concept DelaunayTriangulationTraits_2 except that it does not provide the type and constructors required to build the dual Voronoi diagram. The class is also a model of the concept ConstrainedTriangulationTraits_2.
Parameters
The template parameter K has to be instantiated by a model of the Kernel concept. Triangulation_euclidean_traits_xy_3 uses types and predicates defined in K.
TriangulationTraits_2 DelaunayTriangulationTraits_2 CGAL::Triangulation_2<Traits,Tds> CGAL::Delaunay_triangulation_2<Traits,Tds>CGAL provides also predefined geometric traits class Triangulation_euclidean_traits_yz_3<K> and Triangulation_euclidean_traits_xz_3<K> to deal with projections on the xz- or the yz-plane, respectively.
CGAL/Triangulation_euclidean_traits_xz_3.h CGAL/Triangulation_euclidean_traits_yz_3.h Types | |
| typedef Point_3< K > | Point_2 |
| typedef Segment_3< K > | Segment_2 |
| typedef Triangle_3< K > | Triangle_2 |
| typedef Line_3< K > | Line_2 |
| typedef unspecified_type | Construct_segment_2 |
A constructor object for Segment_2. More... | |
| typedef unspecified_type | Construct_triangle_2 |
A constructor object for Triangle_2. More... | |
| typedef unspecified_type | Construct_line_2 |
A constructor object for Line_2. More... | |
| typedef unspecified_type | Compute_squared_distance_2 |
| A construction object. More... | |
| typedef unspecified_type | Intersect_2 |
| A construction object. More... | |
| typedef unspecified_type | Compare_x_2 |
| Predicate object. More... | |
| typedef unspecified_type | Compare_y_2 |
| Predicate object. More... | |
| typedef unspecified_type | Orientation_2 |
| Predicate object. More... | |
| typedef unspecified_type | Side_of_oriented_circle_2 |
| Predicate object. More... | |
| typedef unspecified_type | Compare_distance_2 |
| Predicate object. More... | |
Creation | |
| Triangulation_euclidean_traits_xy_3 () | |
| default constructor. More... | |
| Triangulation_euclidean_traits_xy_3 (Triangulation_euclidean_traits_xy_3 tr) | |
| Copy constructor. More... | |
| Triangulation_euclidean_traits_xy_3 | operator= (Triangulation_euclidean_traits_xy_3 tr) |
| Assignment operator. More... | |
Access to predicate objects | |
| Construct_segment_2 | construct_segment_2_object () |
| Construct_triangle_2 | construct_triangle_2_object () |
| Construct_line_2 | construct_line_2_object () |
| Comparison_x_2 | compare_x_2_object () |
| Comparison_y_2 | compare_y_2_object () |
| Orientation_2 | orientation_2_object () |
| Side_of_oriented_circle_2 | side_of_oriented_circle_2_object () |
| Compare_distance_2 | compare_distance_2_object () |
| Intersect_2 | intersect_2_object () |
| Compute_squared_distance_2 | compute_squared_distance_2_object () |
| typedef unspecified_type CGAL::Triangulation_euclidean_traits_xy_3< K >::Compare_distance_2 |
Predicate object.
Provides the operator :
Comparison_result operator()(Point_2 p, Point_2 q, Point_2 r) which returns SMALLER, EQUAL or LARGER according to the distance between the projection of p and the projection of q being smaller, equal or larger than the distance between the projection of p and the projection of r.
| typedef unspecified_type CGAL::Triangulation_euclidean_traits_xy_3< K >::Compare_x_2 |
Predicate object.
Provides the operator :
Comparison_result operator()(Point_2 p, Point_2 q)
which returns SMALLER, EQUAL or LARGER according to the \( x\)-ordering of points p and q.
| typedef unspecified_type CGAL::Triangulation_euclidean_traits_xy_3< K >::Compare_y_2 |
Predicate object.
Provides the operator :
Comparison_result operator()(Point_2 p, Point_2 q)
which returns (SMALLER, EQUAL or LARGER) according to the \( y\)-ordering of points p and q.
| typedef unspecified_type CGAL::Triangulation_euclidean_traits_xy_3< K >::Compute_squared_distance_2 |
A construction object.
Provides the operator :
RT operator()(Line_2 l, Point_2 p); which returns the squared distance between the projection of p and the projection of l.
| typedef unspecified_type CGAL::Triangulation_euclidean_traits_xy_3< K >::Construct_line_2 |
| typedef unspecified_type CGAL::Triangulation_euclidean_traits_xy_3< K >::Construct_segment_2 |
| typedef unspecified_type CGAL::Triangulation_euclidean_traits_xy_3< K >::Construct_triangle_2 |
A constructor object for Triangle_2.
Provides :
Triangle_2 operator()(Point_2 p,Point_2 q,Point_2 r ),
which constructs a triangle from three points.
| typedef unspecified_type CGAL::Triangulation_euclidean_traits_xy_3< K >::Intersect_2 |
A construction object.
Provides the operator :
Object_2 operator()(Segment_2 s1, Segment_2 s2); which returns the intersection of the projection of s1 and the projection of s2 embedded in 3D. If the intersection is a segment, the z-coordinates of its extremities is 0. If the intersection is a point p, let p1 and p2 be the points on s1 and s2 respectively, such that their projections are p. The point returned is the middle of the segment p1p2.
s1 and the projection of s2 are non-degenerate 2D segments. | typedef Line_3<K> CGAL::Triangulation_euclidean_traits_xy_3< K >::Line_2 |
| typedef unspecified_type CGAL::Triangulation_euclidean_traits_xy_3< K >::Orientation_2 |
Predicate object.
Provides the operator :
Orientation operator()(Point_2 p, Point_2 q, Point_2 r)
which returns LEFT_TURN, RIGHT_TURN or COLLINEAR according to the position of the projection of \( r\) with respect to the projection of the oriented line pq.
| typedef Point_3<K> CGAL::Triangulation_euclidean_traits_xy_3< K >::Point_2 |
| typedef Segment_3<K> CGAL::Triangulation_euclidean_traits_xy_3< K >::Segment_2 |
| typedef unspecified_type CGAL::Triangulation_euclidean_traits_xy_3< K >::Side_of_oriented_circle_2 |
Predicate object.
Provides the operator : Oriented_side operator()(Point_2 p, Point_2 q, Point_2 r, Point_2 s) which takes four points \( p, q, r, s\) as arguments and returns ON_POSITIVE_SIDE, ON_NEGATIVE_SIDE or, ON_ORIENTED_BOUNDARY according to the position of the projection of points with respect to the oriented circle through the projections of \( p,q\) and \( r\).
| typedef Triangle_3<K> CGAL::Triangulation_euclidean_traits_xy_3< K >::Triangle_2 |
| CGAL::Triangulation_euclidean_traits_xy_3< K >::Triangulation_euclidean_traits_xy_3 | ( | ) |
default constructor.
| CGAL::Triangulation_euclidean_traits_xy_3< K >::Triangulation_euclidean_traits_xy_3 | ( | Triangulation_euclidean_traits_xy_3< K > | tr | ) |
Copy constructor.
| Compare_distance_2 CGAL::Triangulation_euclidean_traits_xy_3< K >::compare_distance_2_object | ( | ) |
| Comparison_x_2 CGAL::Triangulation_euclidean_traits_xy_3< K >::compare_x_2_object | ( | ) |
| Comparison_y_2 CGAL::Triangulation_euclidean_traits_xy_3< K >::compare_y_2_object | ( | ) |
| Compute_squared_distance_2 CGAL::Triangulation_euclidean_traits_xy_3< K >::compute_squared_distance_2_object | ( | ) |
| Construct_line_2 CGAL::Triangulation_euclidean_traits_xy_3< K >::construct_line_2_object | ( | ) |
| Construct_segment_2 CGAL::Triangulation_euclidean_traits_xy_3< K >::construct_segment_2_object | ( | ) |
| Construct_triangle_2 CGAL::Triangulation_euclidean_traits_xy_3< K >::construct_triangle_2_object | ( | ) |
| Intersect_2 CGAL::Triangulation_euclidean_traits_xy_3< K >::intersect_2_object | ( | ) |
| Triangulation_euclidean_traits_xy_3 CGAL::Triangulation_euclidean_traits_xy_3< K >::operator= | ( | Triangulation_euclidean_traits_xy_3< K > | tr | ) |
Assignment operator.
| Orientation_2 CGAL::Triangulation_euclidean_traits_xy_3< K >::orientation_2_object | ( | ) |
| Side_of_oriented_circle_2 CGAL::Triangulation_euclidean_traits_xy_3< K >::side_of_oriented_circle_2_object | ( | ) |