![]() |
Kig Python Scripting API Documentation |
||||
|
The Coordinate class is the basic class representing a 2D location by its x and y components. More...
#include <coordinate.h>
Public Member Functions | |
Coordinate (double x, double y) | |
Constructor. | |
Coordinate (const Coordinate &p) | |
Copy Constructor. | |
Coordinate () | |
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. | |
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..
Coordinate::Coordinate | ( | double | x, |
double | y | ||
) |
Constructor.
Construct a new Coordinate, with a given x and y value.
Coordinate::Coordinate | ( | const Coordinate & | p | ) |
Copy Constructor.
Construct a new Coordinate, and give it the same value as p.
|
static |
Create an invalid Coordinate.
This is a special value of a Coordinate that signals that something went wrong..
double Coordinate::length | ( | ) | const |
Length.
Returns the length or norm of this coordinate. I.e. return the distance from this Coordinate to the origin.
const Coordinate Coordinate::normalize | ( | double | length = 1 | ) | const |
Normalize.
This sets the length to length, while keeping the x/y ratio untouched...
Coordinate & Coordinate::operator*= | ( | double | r | ) |
Scale.
Scales this Coordinate by a factor r
Coordinate & Coordinate::operator*= | ( | int | r | ) |
Scale.
Scales this Coordinate by a factor r
Coordinate & Coordinate::operator+= | ( | const Coordinate & | c | ) |
Add.
Add c to this Coordinate
const Coordinate Coordinate::operator- | ( | ) | const |
Inverse.
Returns the inverse of this Coordinate.
Coordinate & Coordinate::operator-= | ( | const Coordinate & | c | ) |
Subtract.
Subtract c from this Coordinate
Coordinate & Coordinate::operator/= | ( | double | r | ) |
Scale.
Scales this Coordinate by a factor 1/r
const Coordinate Coordinate::orthogonal | ( | ) | const |
Orthogonal.
Returns a vector which is orthogonal on this vector. This relation always holds:
Coordinate a = ...; assert( a*a.orthogonal() ) == 0;
const Coordinate Coordinate::round | ( | ) | const |
Round.
Returns this coordinate, rounded to the nearest integral values.
double Coordinate::squareLength | ( | ) | const |
bool Coordinate::valid | ( | ) | const |
Return whether this is a valid Coordinate.
|
friend |
Not Equal.
Tests two Coordinates for inequality.
|
friend |
Scalar Product.
Returns the scalar product of a and b.
|
friend |
Scale.
Returns this a, scaled by a factor of r.
|
friend |
Add.
Returns the sum of a and b.
|
friend |
Subtract.
Returns the difference between a and b.
|
friend |
Scale.
Returns a, scaled by a factor of 1/r.
|
friend |
Equal.
Tests two Coordinates for equality.
double Coordinate::x |
double Coordinate::y |