| 
    CGAL 4.7 - Optimal Distances 
   | 
 
This concept defines the requirements for traits classes of Width_3<Traits>. 
 Operations
Whatever the coordinates of the points are, it is required for the width-algorithm to have access to the homogeneous representation of points.
CGAL::Width_3<Traits> Related Functions | |
(Note that these are not member functions.)  | |
| Point_3 | make_point (const RT &hx, const RT &hy, const RT &hz, const RT &hw) const | 
returns a point of type Point_3 with homogeneous coordinates \( hx\), \( hy\), \( hz\) and \( hw\).  More... | |
| Plane_3 | make_plane (const RT &a, const RT &b, const RT &c, const RT &d) const | 
returns a plane of type Plane_3 with coefficients \( a\), \( b\), \( c\) and \( d\).  More... | |
| Vector_3 | make_vector (const RT &a, const RT &b, const RT &c) const | 
returns a vector of type Vector_3 with the four homogeneous coefficients \( a\), \( b\), \( c\) and 1.  More... | |
Types | |
Notes: If you want to compute the width of a polyhedron then you have to make sure that the point type in the traits class and the point type in the polyhedron class are the same! The same holds for   | |
| typedef unspecified_type | Point_3 | 
| The point type.  More... | |
| typedef unspecified_type | Plane_3 | 
| The plane type.  More... | |
| typedef unspecified_type | Vector_3 | 
| The vector type.  More... | |
| typedef unspecified_type | ChullTraits | 
| The traits class for using the convex hull algorithm.  More... | |
| typedef unspecified_type | RT | 
| Ring type numbers.  More... | |
Creation | |
| WidthTraits_3 () | |
| RT | get_hx (const Point_3 &p) const | 
| returns the homogeneous \( x\)-coordinate of point \( p\).  More... | |
| RT | get_hy (const Point_3 &p) const | 
| returns the homogeneous \( y\)-coordinate of point \( p\).  More... | |
| RT | get_hz (const Point_3 &p) const | 
| returns the homogeneous \( z\)-coordinate of point \( p\).  More... | |
| RT | get_hw (const Point_3 &p) const | 
| returns the homogenizing coordinate of point \( p\).  More... | |
| void | get_point_coordinates (const Point_3 &p, RT &px, RT &py, RT &pz, RT &ph) const | 
| returns all homogeneous coordinates of point \( p\) at once.  More... | |
| RT | get_a (const Plane_3 &f) const | 
| returns the first coefficient of plane \( f\).  More... | |
| RT | get_b (const Plane_3 &f) const | 
| returns the second coefficient of plane \( f\).  More... | |
| RT | get_c (const Plane_3 &f) const | 
| returns the third coefficient of plane \( f\).  More... | |
| RT | get_d (const Plane_3 &f) const | 
| returns the fourth coefficient of plane \( f\).  More... | |
| void | get_plane_coefficients (const Plane_3 &f, RT &a, RT &b, RT &c, RT &d) const | 
| returns all four plane coefficients of \( f\) at once.  More... | |
The traits class for using the convex hull algorithm.
It must be a model of the concept ConvexHullTraits_3. This class is used only if the width is computed from a set of points.
The plane type.
Access to the coefficients of the plane is made via the get_.() functions. Constructing a plane is done with the make_plane() operation. 
The point type.
The (in)equality tests must be available. Access to the point coordinates is done via the get_.() functions. Constructing a point is done with the make_point( ) operation. 
| typedef unspecified_type WidthTraits_3::RT | 
Ring type numbers.
Internally all numbers are treated as ring type numbers, i.e., neither \( /\)-operator nor \( \sqrt{.}\) nor other inexact operations are used. But because the algorithm does not use any divisions, but multiplication instead, the numbers can get really big. Therefore it is recommended to use a ring type number, that provides values of arbitrary length. Furthermore it is assumed that the underlying number type of Point_3, Plane_3 and Vector_3 equals RT. 
The vector type.
There is no need to access the coefficients of a vector; only constructing is required and is done with the make_vector operation. 
| WidthTraits_3::WidthTraits_3 | ( | ) | 
returns the homogenizing coordinate of point \( p\).
returns the homogeneous \( x\)-coordinate of point \( p\).
returns the homogeneous \( y\)-coordinate of point \( p\).
returns the homogeneous \( z\)-coordinate of point \( p\).
| void WidthTraits_3::get_plane_coefficients | ( | const Plane_3 & | f, | 
| RT & | a, | ||
| RT & | b, | ||
| RT & | c, | ||
| RT & | d | ||
| ) | const | 
returns all four plane coefficients of \( f\) at once.
| void WidthTraits_3::get_point_coordinates | ( | const Point_3 & | p, | 
| RT & | px, | ||
| RT & | py, | ||
| RT & | pz, | ||
| RT & | ph | ||
| ) | const | 
returns all homogeneous coordinates of point \( p\) at once.
returns a plane of type Plane_3 with coefficients \( a\), \( b\), \( c\) and \( d\). 
returns a point of type Point_3 with homogeneous coordinates \( hx\), \( hy\), \( hz\) and \( hw\).