#include <lemon/dim2.h>
Public Member Functions | |
| Point () | |
| Default constructor. | |
| Point (T a, T b) | |
| Construct an instance from coordinates. | |
| int | size () const |
| The dimension of the vector. | |
| T & | operator[] (int idx) |
| Subscripting operator. | |
| const T & | operator[] (int idx) const |
| Const subscripting operator. | |
| template<class TT > | |
| Point (const Point< TT > &p) | |
| Conversion constructor. | |
| T | normSquare () const |
| Give back the square of the norm of the vector. | |
| Point< T > & | operator+= (const Point< T > &u) |
Increment the left hand side by u. | |
| Point< T > & | operator-= (const Point< T > &u) |
Decrement the left hand side by u. | |
| Point< T > & | operator*= (const T &u) |
| Multiply the left hand side with a scalar. | |
| Point< T > & | operator/= (const T &u) |
| Divide the left hand side by a scalar. | |
| T | operator* (const Point< T > &u) const |
| Return the scalar product of two vectors. | |
| Point< T > | operator+ (const Point< T > &u) const |
| Return the sum of two vectors. | |
| Point< T > | operator- () const |
| Return the negative of the vector. | |
| Point< T > | operator- (const Point< T > &u) const |
| Return the difference of two vectors. | |
| Point< T > | operator* (const T &u) const |
| Return a vector multiplied by a scalar. | |
| Point< T > | operator/ (const T &u) const |
| Return a vector divided by a scalar. | |
| bool | operator== (const Point< T > &u) const |
| Test equality. | |
| bool | operator!= (Point u) const |
| Test inequality. | |
Public Attributes | |
| T | x |
| First coordinate. | |
| T | y |
| Second coordinate. | |
Related Functions | |
| (Note that these are not member functions.) | |
| template<typename T > | |
| Point< T > | makePoint (const T &x, const T &y) |
| template<typename T > | |
| Point< T > | operator* (const T &u, const Point< T > &x) |
| Return a vector multiplied by a scalar. | |
| template<typename T > | |
| std::istream & | operator>> (std::istream &is, Point< T > &z) |
| Read a plainvector from a stream. | |
| template<typename T > | |
| std::ostream & | operator<< (std::ostream &os, const Point< T > &z) |
| Write a plainvector to a stream. | |
| template<typename T > | |
| Point< T > | rot90 (const Point< T > &z) |
| Rotate by 90 degrees. | |
| template<typename T > | |
| Point< T > | rot180 (const Point< T > &z) |
| Rotate by 180 degrees. | |
| template<typename T > | |
| Point< T > | rot270 (const Point< T > &z) |
| Rotate by 270 degrees. | |
| int size | ( | ) | const [inline] |
This function always returns 2.
| T& operator[] | ( | int | idx | ) | [inline] |
p[0] is p.x and p[1] is p.y
| const T& operator[] | ( | int | idx | ) | const [inline] |
p[0] is p.x and p[1] is p.y
1.5.9