A pair of (x, y) co-ordinates. More...
Public Types | |
| typedef TypeHelpers::SmallestFloatType < ValueType >::type | FloatType |
| This type will be double if the Point's type is double, otherwise it will be float. | |
Public Member Functions | |
| Point () noexcept | |
| Creates a point with co-ordinates (0, 0). | |
| Point (const Point &other) noexcept | |
| Creates a copy of another point. | |
| Point (const ValueType initialX, const ValueType initialY) noexcept | |
| Creates a point from an (x, y) position. | |
| ~Point () noexcept | |
| Destructor. | |
| Point & | operator= (const Point &other) noexcept |
| Copies this point from another one. | |
| bool | operator== (const Point &other) const noexcept |
| bool | operator!= (const Point &other) const noexcept |
| bool | isOrigin () const noexcept |
| Returns true if the point is (0, 0). | |
| ValueType | getX () const noexcept |
| Returns the point's x co-ordinate. | |
| ValueType | getY () const noexcept |
| Returns the point's y co-ordinate. | |
| void | setX (const ValueType newX) noexcept |
| Sets the point's x co-ordinate. | |
| void | setY (const ValueType newY) noexcept |
| Sets the point's y co-ordinate. | |
| Point | withX (const ValueType newX) const noexcept |
| Returns a point which has the same Y position as this one, but a new X. | |
| Point | withY (const ValueType newY) const noexcept |
| Returns a point which has the same X position as this one, but a new Y. | |
| void | setXY (const ValueType newX, const ValueType newY) noexcept |
| Changes the point's x and y co-ordinates. | |
| void | addXY (const ValueType xToAdd, const ValueType yToAdd) noexcept |
| Adds a pair of co-ordinates to this value. | |
| Point | translated (const ValueType xDelta, const ValueType yDelta) const noexcept |
| Returns a point with a given offset from this one. | |
| Point | operator+ (const Point &other) const noexcept |
| Adds two points together. | |
| Point & | operator+= (const Point &other) noexcept |
| Adds another point's co-ordinates to this one. | |
| Point | operator- (const Point &other) const noexcept |
| Subtracts one points from another. | |
| Point & | operator-= (const Point &other) noexcept |
| Subtracts another point's co-ordinates to this one. | |
| Point | operator* (const ValueType multiplier) const noexcept |
| Returns a point whose coordinates are multiplied by a given value. | |
| Point & | operator*= (const ValueType multiplier) noexcept |
| Multiplies the point's co-ordinates by a value. | |
| Point | operator/ (const ValueType divisor) const noexcept |
| Returns a point whose coordinates are divided by a given value. | |
| Point & | operator/= (const ValueType divisor) noexcept |
| Divides the point's co-ordinates by a value. | |
| Point | operator- () const noexcept |
| Returns the inverse of this point. | |
| ValueType | getDistanceFromOrigin () const noexcept |
| Returns the straight-line distance between this point and the origin. | |
| ValueType | getDistanceFrom (const Point &other) const noexcept |
| Returns the straight-line distance between this point and another one. | |
| FloatType | getAngleToPoint (const Point &other) const noexcept |
| Returns the angle from this point to another one. | |
| Point< FloatType > | getPointOnCircumference (const float radius, const float angle) const noexcept |
| Taking this point to be the centre of a circle, this returns a point on its circumference. | |
| Point< FloatType > | getPointOnCircumference (const float radiusX, const float radiusY, const float angle) const noexcept |
| Taking this point to be the centre of an ellipse, this returns a point on its circumference. | |
| void | applyTransform (const AffineTransform &transform) noexcept |
| Uses a transform to change the point's co-ordinates. | |
| Point | transformedBy (const AffineTransform &transform) const noexcept |
| Returns the position of this point, if it is transformed by a given AffineTransform. | |
| FloatType | getDotProduct (const Point &other) const noexcept |
| Returns the dot-product of two points (x1 * x2 + y1 * y2). | |
| Point< int > | toInt () const noexcept |
| Casts this point to a Point<int> object. | |
| Point< float > | toFloat () const noexcept |
| Casts this point to a Point<float> object. | |
| Point< double > | toDouble () const noexcept |
| Casts this point to a Point<double> object. | |
| String | toString () const |
| Returns the point as a string in the form "x, y". | |
Public Attributes | |
| ValueType | x |
| The point's X coordinate. | |
| ValueType | y |
| The point's Y coordinate. | |
A pair of (x, y) co-ordinates.
The ValueType template should be a primitive type such as int, float, double, rather than a class.
| typedef TypeHelpers::SmallestFloatType<ValueType>::type Point< ValueType >::FloatType |
This type will be double if the Point's type is double, otherwise it will be float.
Creates a point with co-ordinates (0, 0).
Referenced by Point< int >::operator*(), Point< int >::operator+(), Point< int >::operator-(), Point< int >::operator/(), Point< int >::transformedBy(), Point< int >::translated(), Point< int >::withX(), and Point< int >::withY().
Creates a copy of another point.
|
noexcept |
Creates a point from an (x, y) position.
|
noexcept |
Copies this point from another one.
|
noexcept |
|
noexcept |
|
noexcept |
Returns true if the point is (0, 0).
|
noexcept |
Returns the point's x co-ordinate.
|
noexcept |
Returns the point's y co-ordinate.
|
noexcept |
Sets the point's x co-ordinate.
|
noexcept |
Sets the point's y co-ordinate.
Returns a point which has the same Y position as this one, but a new X.
Returns a point which has the same X position as this one, but a new Y.
|
noexcept |
Changes the point's x and y co-ordinates.
|
noexcept |
Adds a pair of co-ordinates to this value.
|
noexcept |
Returns a point with a given offset from this one.
|
noexcept |
Adds two points together.
|
noexcept |
Adds another point's co-ordinates to this one.
|
noexcept |
Subtracts one points from another.
|
noexcept |
Subtracts another point's co-ordinates to this one.
|
noexcept |
Returns a point whose coordinates are multiplied by a given value.
|
noexcept |
Multiplies the point's co-ordinates by a value.
|
noexcept |
Returns a point whose coordinates are divided by a given value.
|
noexcept |
Divides the point's co-ordinates by a value.
Returns the inverse of this point.
|
noexcept |
Returns the straight-line distance between this point and the origin.
|
noexcept |
Returns the straight-line distance between this point and another one.
Referenced by Line< ValueType >::getDistanceFromPoint().
|
noexcept |
Returns the angle from this point to another one.
The return value is the number of radians clockwise from the 12 o'clock direction, where this point is the centre and the other point is on the circumference.
|
noexcept |
Taking this point to be the centre of a circle, this returns a point on its circumference.
| radius | the radius of the circle. |
| angle | the angle of the point, in radians clockwise from the 12 o'clock position. |
|
noexcept |
Taking this point to be the centre of an ellipse, this returns a point on its circumference.
| radiusX | the horizontal radius of the circle. |
| radiusY | the vertical radius of the circle. |
| angle | the angle of the point, in radians clockwise from the 12 o'clock position. |
|
noexcept |
Uses a transform to change the point's co-ordinates.
This will only compile if ValueType = float!
|
noexcept |
Returns the position of this point, if it is transformed by a given AffineTransform.
|
noexcept |
Returns the dot-product of two points (x1 * x2 + y1 * y2).
Casts this point to a Point<int> object.
Casts this point to a Point<float> object.
Casts this point to a Point<double> object.
Returns the point as a string in the form "x, y".
| ValueType Point< ValueType >::x |
The point's X coordinate.
Referenced by Point< int >::addXY(), Point< int >::applyTransform(), Line< ValueType >::findNearestProportionalPositionTo(), Point< int >::getAngleToPoint(), Point< int >::getDistanceFrom(), Point< int >::getDistanceFromOrigin(), Line< ValueType >::getDistanceFromPoint(), Point< int >::getDotProduct(), Line< ValueType >::getPointAlongLine(), Point< int >::getPointOnCircumference(), Point< int >::getX(), Point< int >::isOrigin(), Point< int >::operator!=(), Point< int >::operator*(), Point< int >::operator*=(), Point< int >::operator+(), Point< int >::operator+=(), Point< int >::operator-(), Point< int >::operator-=(), Point< int >::operator/(), Point< int >::operator/=(), Point< int >::operator=(), Point< int >::operator==(), Point< int >::setX(), Point< int >::setXY(), Point< int >::toDouble(), Point< int >::toFloat(), Point< int >::toInt(), Point< int >::toString(), Point< int >::transformedBy(), Point< int >::translated(), and Point< int >::withY().
| ValueType Point< ValueType >::y |
The point's Y coordinate.
Referenced by Point< int >::addXY(), Point< int >::applyTransform(), Line< ValueType >::findNearestProportionalPositionTo(), Point< int >::getAngleToPoint(), Point< int >::getDistanceFrom(), Point< int >::getDistanceFromOrigin(), Line< ValueType >::getDistanceFromPoint(), Point< int >::getDotProduct(), Line< ValueType >::getPointAlongLine(), Point< int >::getPointOnCircumference(), Point< int >::getY(), Point< int >::isOrigin(), Point< int >::operator!=(), Point< int >::operator*(), Point< int >::operator*=(), Point< int >::operator+(), Point< int >::operator+=(), Point< int >::operator-(), Point< int >::operator-=(), Point< int >::operator/(), Point< int >::operator/=(), Point< int >::operator=(), Point< int >::operator==(), Point< int >::setXY(), Point< int >::setY(), Point< int >::toDouble(), Point< int >::toFloat(), Point< int >::toInt(), Point< int >::toString(), Point< int >::transformedBy(), Point< int >::translated(), and Point< int >::withX().