Remember that Kernel::RT and Kernel::FT denote a RingNumberType and a FieldNumberType, respectively. For the kernel model Cartesian<T>, the two types are the same. For the kernel model Homogeneous<T>, Kernel::RT is equal to T, and Kernel::FT is equal to Quotient<T>.
| |
An iterator for enumerating the
Cartesian
coordinates of a point.
|
| |||
introduces a point with Cartesian coordinates(0,0,0).
| |||
| |||
introduces a point p initialized to (x,y,z).
| |||
| |||
introduces a point p initialized to (x,y,z)
provided RT supports it.
| |||
| |||
introduces a point p initialized to (hx/hw,hy/hw, hz/hw).
| |||
| |||
introduces a point p initialized to (x,y,z).
|
|
| Test for equality: Two points are equal, iff their x, y and z coordinates are equal. |
|
| Test for inequality. |
There are two sets of coordinate access functions, namely to the homogeneous and to the Cartesian coordinates. They can be used independently from the chosen kernel model.
|
| returns the homogeneous x coordinate. |
|
| returns the homogeneous y coordinate. |
|
| returns the homogeneous z coordinate. |
|
| returns the homogenizing coordinate. |
Note that you do not loose information with the homogeneous representation, because the FieldNumberType is a quotient.
|
| returns the Cartesian x coordinate, that is hx/hw. |
|
| returns the Cartesian y coordinate, that is hy/hw. |
|
| returns the Cartesian z coordinate, that is hz/hw. |
The following operations are for convenience and for compatibility with code for higher dimensional points. Again they come in a Cartesian and in a homogeneous flavor.
|
|
returns the i'th homogeneous coordinate of p, starting with 0.
| ||
|
|
returns the i'th Cartesian coordinate of p, starting with 0.
| ||
|
|
returns cartesian(i).
| ||
|
| returns an iterator to the Cartesian coordinates of p, starting with the 0th coordinate. | ||
|
| returns an off the end iterator to the Cartesian coordinates of p. | ||
|
| returns the dimension (the constant 3). | ||
|
| returns a bounding box containing p. | ||
|
| |||
returns the point obtained by applying t on p. |
The following operations can be applied on points:
|
| returns true iff p is lexicographically smaller than q (the lexicographical order being defined on the Cartesian coordinates). |
|
| returns true iff p is lexicographically greater than q. |
|
| returns true iff p is lexicographically smaller or equal to q. |
|
| returns true iff p is lexicographically greater or equal to q. |
|
| returns the difference vector between q and p. You can substitute ORIGIN for either p or q, but not for both. |
|
| |
returns the point obtained by translating p by the vector v. | ||
|
| |
returns the point obtained by translating p by the vector -v. |