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. |