Coordinate Class Reference
The Coordinate class is the basic class representing a 2D location by its x and y components. More...Public Member Functions | |
| Coordinate (double x, double y) | |
| Constructor. | |
| Coordinate (const Coordinate &p) | |
| Copy Constructor. | |
| bool | valid () const |
| Return whether this is a valid Coordinate. | |
| double | distance (const Coordinate &p) const |
| Distance to another Coordinate. | |
| double | length () const |
| Length. | |
| double | squareLength () const |
| Square length. | |
| const Coordinate | operator- () const |
| Inverse. | |
| const Coordinate | orthogonal () const |
| Orthogonal. | |
| const Coordinate | round () const |
| Round. | |
| const Coordinate | normalize (double length=1) const |
| Normalize. | |
| Coordinate & | operator+= (const Coordinate &c) |
| Add. | |
| Coordinate & | operator-= (const Coordinate &c) |
| Subtract. | |
| Coordinate & | operator *= (double r) |
| Scale. | |
| Coordinate & | operator *= (int r) |
| Scale. | |
| Coordinate & | operator/= (double r) |
| Scale. | |
Static Public Member Functions | |
| static Coordinate | invalidCoord () |
| Create an invalid Coordinate. | |
Public Attributes | |
| double | x |
| X Component. | |
| double | y |
| Y Component. | |
Friends | |
| const Coordinate | operator+ (const Coordinate &a, const Coordinate &b) |
| Add. | |
| const Coordinate | operator- (const Coordinate &a, const Coordinate &b) |
| Subtract. | |
| const Coordinate | operator * (const Coordinate &a, double r) |
| Scale. | |
| const Coordinate | operator/ (const Coordinate &a, double r) |
| Scale. | |
| double | operator * (const Coordinate &a, const Coordinate &b) |
| Scalar Product. | |
| bool | operator== (const Coordinate &, const Coordinate &) |
| Equal. | |
| bool | operator!= (const Coordinate &, const Coordinate &) |
| Not Equal. | |
Detailed Description
The Coordinate class is the basic class representing a 2D location by its x and y components.It has all relevant arithmetic operators properly defined, and should be straightforward to use..
Constructor & Destructor Documentation
|
||||||||||||
|
Constructor. Construct a new Coordinate, with a given x and y value. |
|
|
Copy Constructor. Construct a new Coordinate, and give it the same value as p. |
Member Function Documentation
|
|
Create an invalid Coordinate. This is a special value of a Coordinate that signals that something went wrong..
|
|
|
Length. Returns the length or norm of this coordinate. I.e. return the distance from this Coordinate to the origin.
|
|
|
Normalize. This sets the length to length, while keeping the x/y ratio untouched... |
|
|
Scale. Scales this Coordinate by a factor r |
|
|
Scale. Scales this Coordinate by a factor r |
|
|
Add. Add c to this Coordinate |
|
|
Inverse. Returns the inverse of this Coordinate. |
|
|
Subtract. Subtract c from this Coordinate |
|
|
Scale. Scales this Coordinate by a factor 1/r |
|
|
Orthogonal. Returns a vector which is orthogonal on this vector. This relation always holds: Coordinate a = ...; assert( a*a.orthogonal() ) == 0; |
|
|
Round. Returns this coordinate, rounded to the nearest integral values. |
|
|
Square length. Equivalent to the square of length, but a bit more efficient because no square root has to be calculated.
|
|
|
Return whether this is a valid Coordinate.
|
Friends And Related Function Documentation
|
||||||||||||
|
Scalar Product. Returns the scalar product of a and b. |
|
||||||||||||
|
Scale. Returns this a, scaled by a factor of r. |
|
||||||||||||
|
Not Equal. Tests two Coordinates for inequality. |
|
||||||||||||
|
Add. Returns the sum of a and b. |
|
||||||||||||
|
Subtract. Returns the difference between a and b. |
|
||||||||||||
|
Scale. Returns a, scaled by a factor of 1/r. |
|
||||||||||||
|
Equal. Tests two Coordinates for equality. |
Member Data Documentation
|
|
X Component. The X Component of this Coordinate. |
|
|
Y Component. The Y Component of this Coordinate. |
