|
constexpr | Point ()=default |
| Creates a point at the origin.
|
|
constexpr | Point (const Point &)=default |
| Creates a copy of another point.
|
|
constexpr | Point (ValueType initialX, ValueType initialY) noexcept |
| Creates a point from an (x, y) position.
|
|
Point & | operator= (const Point &)=default |
| Copies this point from another one.
|
|
constexpr bool | operator== (Point other) const noexcept |
|
constexpr bool | operator!= (Point other) const noexcept |
|
constexpr bool | isOrigin () const noexcept |
| Returns true if the point is (0, 0).
|
|
constexpr bool | isFinite () const noexcept |
| Returns true if the coordinates are finite values.
|
|
constexpr ValueType | getX () const noexcept |
| Returns the point's x coordinate.
|
|
constexpr ValueType | getY () const noexcept |
| Returns the point's y coordinate.
|
|
void | setX (ValueType newX) noexcept |
| Sets the point's x coordinate.
|
|
void | setY (ValueType newY) noexcept |
| Sets the point's y coordinate.
|
|
constexpr Point | withX (ValueType newX) const noexcept |
| Returns a point which has the same Y position as this one, but a new X.
|
|
constexpr Point | withY (ValueType newY) const noexcept |
| Returns a point which has the same X position as this one, but a new Y.
|
|
void | setXY (ValueType newX, ValueType newY) noexcept |
| Changes the point's x and y coordinates.
|
|
void | addXY (ValueType xToAdd, ValueType yToAdd) noexcept |
| Adds a pair of coordinates to this value.
|
|
constexpr Point | translated (ValueType deltaX, ValueType deltaY) const noexcept |
| Returns a point with a given offset from this one.
|
|
constexpr Point | operator+ (Point other) const noexcept |
| Adds two points together.
|
|
Point & | operator+= (Point other) noexcept |
| Adds another point's coordinates to this one.
|
|
constexpr Point | operator- (Point other) const noexcept |
| Subtracts one points from another.
|
|
Point & | operator-= (Point other) noexcept |
| Subtracts another point's coordinates to this one.
|
|
template<typename OtherType > |
constexpr Point | operator* (Point< OtherType > other) const noexcept |
| Multiplies two points together.
|
|
template<typename OtherType > |
Point & | operator*= (Point< OtherType > other) noexcept |
| Multiplies another point's coordinates to this one.
|
|
template<typename OtherType > |
constexpr Point | operator/ (Point< OtherType > other) const noexcept |
| Divides one point by another.
|
|
template<typename OtherType > |
Point & | operator/= (Point< OtherType > other) noexcept |
| Divides this point's coordinates by another.
|
|
template<typename OtherType > |
constexpr Point | operator* (OtherType multiplier) const noexcept |
| Returns a point whose coordinates are multiplied by a given scalar value.
|
|
template<typename OtherType > |
constexpr Point | operator/ (OtherType divisor) const noexcept |
| Returns a point whose coordinates are divided by a given scalar value.
|
|
template<typename FloatType > |
Point & | operator*= (FloatType multiplier) noexcept |
| Multiplies the point's coordinates by a scalar value.
|
|
template<typename FloatType > |
Point & | operator/= (FloatType divisor) noexcept |
| Divides the point's coordinates by a scalar value.
|
|
constexpr 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 (Point other) const noexcept |
| Returns the straight-line distance between this point and another one.
|
|
constexpr ValueType | getDistanceSquaredFromOrigin () const noexcept |
| Returns the square of the straight-line distance between this point and the origin.
|
|
constexpr ValueType | getDistanceSquaredFrom (Point other) const noexcept |
| Returns the square of the straight-line distance between this point and another one.
|
|
FloatType | getAngleToPoint (Point other) const noexcept |
| Returns the angle from this point to another one.
|
|
template<typename T = ValueType, std::enable_if_t< std::is_floating_point_v< T >, int > = 0> |
Point | rotatedAboutOrigin (ValueType angleRadians) const noexcept |
| Returns the point that would be reached by rotating this point clockwise about the origin by the specified angle.
|
|
Point< FloatType > | getPointOnCircumference (float radius, float angle) const noexcept |
| Taking this point to be the centre of a circle, this returns a point on its circumference.
|
|
Point< FloatType > | getPointOnCircumference (float radiusX, float radiusY, float angle) const noexcept |
| Taking this point to be the centre of an ellipse, this returns a point on its circumference.
|
|
constexpr FloatType | getDotProduct (Point other) const noexcept |
| Returns the dot-product of two points (x1 * x2 + y1 * y2).
|
|
void | applyTransform (const AffineTransform &transform) noexcept |
| Uses a transform to change the point's coordinates.
|
|
Point | transformedBy (const AffineTransform &transform) const noexcept |
| Returns the position of this point, if it is transformed by a given AffineTransform.
|
|
constexpr Point< int > | toInt () const noexcept |
| Casts this point to a Point<int> object.
|
|
constexpr Point< float > | toFloat () const noexcept |
| Casts this point to a Point<float> object.
|
|
constexpr Point< double > | toDouble () const noexcept |
| Casts this point to a Point<double> object.
|
|
constexpr Point< int > | roundToInt () const noexcept |
| Casts this point to a Point<int> object using roundToInt() to convert the values.
|
|
String | toString () const |
| Returns the point as a string in the form "x, y".
|
|
template<typename ValueType>
class Point< ValueType >
A pair of (x, y) coordinates.
The ValueType template should be a primitive type such as int, float, double, rather than a class.
- See also
- Line, Path, AffineTransform