Kig Python Scripting API Documentation

coordinate.h
1 
22 #ifndef KIG_MISC_COORDINATE_H
23 #define KIG_MISC_COORDINATE_H
24 
25 class TQPoint;
26 class kdbgstream;
27 
34 {
35 public:
36  static Coordinate fromTQPoint( const TQPoint& p );
37 
41  Coordinate( double x, double y );
45  Coordinate( const Coordinate& p );
53  Coordinate();
54  ~Coordinate() {}
55 
71  bool valid() const;
72 
75  double distance ( const Coordinate& p ) const;
80  double length () const;
85  inline double squareLength() const;
88  const Coordinate operator- () const;
96  const Coordinate orthogonal() const;
100  const Coordinate round() const;
104  const Coordinate normalize( double length = 1 ) const;
105  TQPoint toTQPoint() const;
106 
107  Coordinate& operator= ( const Coordinate& c );
116  Coordinate& operator*= ( double r );
122  Coordinate& operator/= ( double r );
123 public:
126  double x;
129  double y;
130 
131  friend kdbgstream& operator<<( kdbgstream& s, const Coordinate& t );
134  friend const Coordinate operator+ ( const Coordinate& a, const Coordinate& b );
137  friend const Coordinate operator- ( const Coordinate& a, const Coordinate& b );
140  friend const Coordinate operator* ( const Coordinate& a, double r );
143  friend const Coordinate operator/ ( const Coordinate& a, double r );
146  friend double operator*( const Coordinate& a, const Coordinate& b );
149  friend bool operator==( const Coordinate&, const Coordinate& );
152  friend bool operator!=( const Coordinate&, const Coordinate& );
153 };
154 
155 const Coordinate operator/ ( const Coordinate& a, double r );
156 kdbgstream& operator<<( kdbgstream& s, const Coordinate& t );
157 const Coordinate operator+ ( const Coordinate& a, const Coordinate& b );
158 const Coordinate operator- ( const Coordinate& a, const Coordinate& b );
159 const Coordinate operator* ( const Coordinate& a, double r );
160 const Coordinate operator* ( double r, const Coordinate& a );
161 double operator*( const Coordinate& a, const Coordinate& b );
162 
164 {
165  return x*x+y*y;
166 }
167 
168 #endif
169 
The Coordinate class is the basic class representing a 2D location by its x and y components.
Definition: coordinate.h:34
Coordinate(const Coordinate &p)
Copy Constructor.
Coordinate(double x, double y)
Constructor.
double distance(const Coordinate &p) const
Distance to another Coordinate.
const Coordinate orthogonal() const
Orthogonal.
double y
Y Component.
Definition: coordinate.h:129
Coordinate & operator*=(double r)
Scale.
friend bool operator==(const Coordinate &, const Coordinate &)
Equal.
friend const Coordinate operator/(const Coordinate &a, double r)
Scale.
static Coordinate invalidCoord()
Create an invalid Coordinate.
double x
X Component.
Definition: coordinate.h:126
friend double operator*(const Coordinate &a, const Coordinate &b)
Scalar Product.
friend const Coordinate operator*(const Coordinate &a, double r)
Scale.
double length() const
Length.
bool valid() const
Return whether this is a valid Coordinate.
Coordinate & operator+=(const Coordinate &c)
Add.
friend bool operator!=(const Coordinate &, const Coordinate &)
Not Equal.
const Coordinate operator-() const
Inverse.
Coordinate & operator/=(double r)
Scale.
Coordinate & operator-=(const Coordinate &c)
Subtract.
double squareLength() const
Square length.
Definition: coordinate.h:163
const Coordinate round() const
Round.
friend const Coordinate operator+(const Coordinate &a, const Coordinate &b)
Add.
const Coordinate normalize(double length=1) const
Normalize.
KDE Logo
This file is part of the documentation for tdelibs .
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed May 15 2024 03:39:42 by doxygen 1.9.1 written by Dimitri van Heesch, © 1997-2001