• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

kig

  • sources
  • kde-4.12
  • kdeedu
  • kig
  • misc
coordinate.h
Go to the documentation of this file.
1 
22 #ifndef KIG_MISC_COORDINATE_H
23 #define KIG_MISC_COORDINATE_H
24 
25 class QPoint;
26 class QDebug;
27 
33 class Coordinate
34 {
35 public:
36  static Coordinate fromQPoint( const QPoint& p );
37 
41  Coordinate( double x, double y );
45  Coordinate( const Coordinate& p );
53  Coordinate();
54  ~Coordinate() {}
55 
67  static Coordinate invalidCoord();
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  QPoint toQPoint() const;
106 
107  Coordinate& operator= ( const Coordinate& c );
110  Coordinate& operator+= ( const Coordinate& c );
113  Coordinate& operator-= ( const Coordinate& c );
116  Coordinate& operator*= ( double r );
119  Coordinate& operator*= ( int r );
122  Coordinate& operator/= ( double r );
123 public:
126  double x;
129  double y;
130 
131  friend QDebug& operator<<( QDebug& 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 QDebug& operator<<( QDebug& 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 
163 double Coordinate::squareLength() const
164 {
165  return x*x+y*y;
166 }
167 
168 #endif
169 
operator-
const Coordinate operator-(const Coordinate &a, const Coordinate &b)
Definition: coordinate.cpp:44
Coordinate::operator+=
Coordinate & operator+=(const Coordinate &c)
Add.
Definition: coordinate.cpp:104
Coordinate::toQPoint
QPoint toQPoint() const
Definition: coordinate.cpp:165
Coordinate::Coordinate
Coordinate()
Default Constructor.
Definition: coordinate.cpp:74
Coordinate::operator-=
Coordinate & operator-=(const Coordinate &c)
Subtract.
Definition: coordinate.cpp:111
Coordinate::operator/
friend const Coordinate operator/(const Coordinate &a, double r)
Scale.
Definition: coordinate.cpp:59
Coordinate::operator=
Coordinate & operator=(const Coordinate &c)
Definition: coordinate.cpp:97
Coordinate::~Coordinate
~Coordinate()
Definition: coordinate.h:54
Coordinate
The Coordinate class is the basic class representing a 2D location by its x and y components...
Definition: coordinate.h:33
Coordinate::length
double length() const
Length.
Definition: coordinate.cpp:144
Coordinate::operator*
friend const Coordinate operator*(const Coordinate &a, double r)
Scale.
Definition: coordinate.cpp:49
operator<<
QDebug & operator<<(QDebug &s, const Coordinate &t)
Definition: coordinate.cpp:33
Coordinate::normalize
const Coordinate normalize(double length=1) const
Normalize.
Definition: coordinate.cpp:154
Coordinate::operator*=
Coordinate & operator*=(double r)
Scale.
Definition: coordinate.cpp:118
Coordinate::operator-
const Coordinate operator-() const
Inverse.
Definition: coordinate.cpp:92
Coordinate::distance
double distance(const Coordinate &p) const
Distance to another Coordinate.
Definition: coordinate.cpp:139
Coordinate::fromQPoint
static Coordinate fromQPoint(const QPoint &p)
Definition: coordinate.cpp:28
Coordinate::operator<<
friend QDebug & operator<<(QDebug &s, const Coordinate &t)
Definition: coordinate.cpp:33
Coordinate::squareLength
double squareLength() const
Square length.
Definition: coordinate.h:163
Coordinate::operator+
friend const Coordinate operator+(const Coordinate &a, const Coordinate &b)
Add.
Definition: coordinate.cpp:39
Coordinate::invalidCoord
static Coordinate invalidCoord()
Create an invalid Coordinate.
Definition: coordinate.cpp:171
Coordinate::operator!=
friend bool operator!=(const Coordinate &, const Coordinate &)
Not Equal.
Definition: coordinate.cpp:69
Coordinate::operator==
friend bool operator==(const Coordinate &, const Coordinate &)
Equal.
Definition: coordinate.cpp:64
Coordinate::x
double x
X Component.
Definition: coordinate.h:126
Coordinate::orthogonal
const Coordinate orthogonal() const
Orthogonal.
Definition: coordinate.cpp:149
Coordinate::y
double y
Y Component.
Definition: coordinate.h:129
Coordinate::operator/=
Coordinate & operator/=(double r)
Scale.
Definition: coordinate.cpp:132
operator*
const Coordinate operator*(const Coordinate &a, double r)
Definition: coordinate.cpp:49
Coordinate::valid
bool valid() const
Return whether this is a valid Coordinate.
Definition: coordinate.cpp:176
operator+
const Coordinate operator+(const Coordinate &a, const Coordinate &b)
Definition: coordinate.cpp:39
Coordinate::round
const Coordinate round() const
Round.
Definition: coordinate.cpp:160
operator/
const Coordinate operator/(const Coordinate &a, double r)
Definition: coordinate.cpp:59
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:35:39 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kig

Skip menu "kig"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • kstars
  • libkdeedu
  •   keduvocdocument
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal