Kig Python Scripting API Documentation

Coordinate Class Reference

The Coordinate class is the basic class representing a 2D location by its x and y components. More...

List of all members.

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.
Coordinateoperator+= (const Coordinate &c)
 Add.
Coordinateoperator-= (const Coordinate &c)
 Subtract.
Coordinateoperator *= (double r)
 Scale.
Coordinateoperator *= (int r)
 Scale.
Coordinateoperator/= (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

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.


Member Function Documentation

static Coordinate Coordinate::invalidCoord  )  [static]
 

Create an invalid Coordinate.

This is a special value of a Coordinate that signals that something went wrong..

See also:
Coordinate::valid

double Coordinate::length  )  const
 

Length.

Returns the length or norm of this coordinate. I.e. return the distance from this Coordinate to the origin.

See also:
squareLength

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 *= int  r  ) 
 

Scale.

Scales this Coordinate by a factor r

Coordinate& Coordinate::operator *= double  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
 

Square length.

Equivalent to the square of length, but a bit more efficient because no square root has to be calculated.

See also:
length

bool Coordinate::valid  )  const
 

Return whether this is a valid Coordinate.

See also:
Coordinate::invalidCoord


Friends And Related Function Documentation

double operator * const Coordinate a,
const Coordinate b
[friend]
 

Scalar Product.

Returns the scalar product of a and b.

const Coordinate operator * const Coordinate a,
double  r
[friend]
 

Scale.

Returns this a, scaled by a factor of r.

bool operator!= const Coordinate ,
const Coordinate
[friend]
 

Not Equal.

Tests two Coordinates for inequality.

const Coordinate operator+ const Coordinate a,
const Coordinate b
[friend]
 

Add.

Returns the sum of a and b.

const Coordinate operator- const Coordinate a,
const Coordinate b
[friend]
 

Subtract.

Returns the difference between a and b.

const Coordinate operator/ const Coordinate a,
double  r
[friend]
 

Scale.

Returns a, scaled by a factor of 1/r.

bool operator== const Coordinate ,
const Coordinate
[friend]
 

Equal.

Tests two Coordinates for equality.


Member Data Documentation

double Coordinate::x
 

X Component.

The X Component of this Coordinate.

double Coordinate::y
 

Y Component.

The Y Component of this Coordinate.

KDE Logo
This file is part of the documentation for kdelibs 0.10.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Mon Aug 15 23:01:22 2005 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2001