Represents a parallelogram that is defined by 3 points. More...
#include <juce_Parallelogram.h>
Public Member Functions | |
Parallelogram ()=default | |
Creates a parallelogram with zero size at the origin. | |
Parallelogram (const Parallelogram &)=default | |
Creates a copy of another parallelogram. | |
Parallelogram (Point< ValueType > topLeftPosition, Point< ValueType > topRightPosition, Point< ValueType > bottomLeftPosition) noexcept | |
Creates a parallelogram based on 3 points. | |
Parallelogram (Rectangle< ValueType > rectangle) noexcept | |
Creates a parallelogram from a rectangle. | |
Parallelogram & | operator= (const Parallelogram &)=default |
~Parallelogram ()=default | |
Destructor. | |
bool | isEmpty () const noexcept |
Returns true if the parallelogram has an area of zero. | |
bool | isFinite () const noexcept |
Returns true if the parallelogram's coordinates are all finite numbers, i.e. | |
ValueType | getWidth () const noexcept |
Returns the width of the parallelogram (i.e. | |
ValueType | getHeight () const noexcept |
Returns the height of the parallelogram (i.e. | |
Point< ValueType > | getTopLeft () const noexcept |
Returns the parallelogram's top-left position as a Point. | |
Point< ValueType > | getTopRight () const noexcept |
Returns the parallelogram's top-right position as a Point. | |
Point< ValueType > | getBottomLeft () const noexcept |
Returns the parallelogram's bottom-left position as a Point. | |
Point< ValueType > | getBottomRight () const noexcept |
Returns the parallelogram's bottom-right position as a Point. | |
bool | operator== (const Parallelogram &other) const noexcept |
Returns true if the two parallelograms are identical. | |
bool | operator!= (const Parallelogram &other) const noexcept |
Returns true if the two parallelograms are not identical. | |
Parallelogram | operator+ (Point< ValueType > deltaPosition) const noexcept |
Returns a parallelogram which is the same as this one moved by a given amount. | |
Parallelogram & | operator+= (Point< ValueType > deltaPosition) noexcept |
Moves this parallelogram by a given amount. | |
Parallelogram | operator- (Point< ValueType > deltaPosition) const noexcept |
Returns a parallelogram which is the same as this one moved by a given amount. | |
Parallelogram & | operator-= (Point< ValueType > deltaPosition) noexcept |
Moves this parallelogram by a given amount. | |
template<typename PointOrScalarType > | |
Parallelogram | operator* (PointOrScalarType scaleFactor) const noexcept |
Returns a parallelogram that has been scaled by the given amount, centred around the origin. | |
template<typename PointOrScalarType > | |
Parallelogram | operator*= (PointOrScalarType scaleFactor) noexcept |
Scales this parallelogram by the given amount, centred around the origin. | |
Point< ValueType > | getRelativePoint (Point< ValueType > relativePosition) const noexcept |
Returns a point within this parallelogram, specified as proportional coordinates. | |
Parallelogram | transformedBy (const AffineTransform &transform) const noexcept |
Returns a transformed version of the parallelogram. | |
Rectangle< ValueType > | getBoundingBox () const noexcept |
Returns the smallest rectangle that encloses this parallelogram. | |
Public Attributes | |
Point< ValueType > | topLeft |
Point< ValueType > | topRight |
Point< ValueType > | bottomLeft |
Represents a parallelogram that is defined by 3 points.
|
default |
Creates a parallelogram with zero size at the origin.
|
default |
Creates a copy of another parallelogram.
|
noexcept |
Creates a parallelogram based on 3 points.
|
noexcept |
Creates a parallelogram from a rectangle.
|
default |
Destructor.
|
default |
|
noexcept |
Returns true if the parallelogram has an area of zero.
References Parallelogram< ValueType >::bottomLeft, Parallelogram< ValueType >::topLeft, and Parallelogram< ValueType >::topRight.
|
noexcept |
Returns true if the parallelogram's coordinates are all finite numbers, i.e.
not NaN or infinity.
References Parallelogram< ValueType >::bottomLeft, Parallelogram< ValueType >::topLeft, and Parallelogram< ValueType >::topRight.
|
noexcept |
Returns the width of the parallelogram (i.e.
the straight-line distance between the top-left and top-right.
References Line< ValueType >::getLength(), Parallelogram< ValueType >::topLeft, and Parallelogram< ValueType >::topRight.
|
noexcept |
Returns the height of the parallelogram (i.e.
the straight-line distance between the top-left and bottom-left.
References Parallelogram< ValueType >::bottomLeft, Line< ValueType >::getLength(), and Parallelogram< ValueType >::topLeft.
|
noexcept |
Returns the parallelogram's top-left position as a Point.
References Parallelogram< ValueType >::topLeft.
|
noexcept |
Returns the parallelogram's top-right position as a Point.
References Parallelogram< ValueType >::topRight.
|
noexcept |
Returns the parallelogram's bottom-left position as a Point.
References Parallelogram< ValueType >::bottomLeft.
|
noexcept |
Returns the parallelogram's bottom-right position as a Point.
References Parallelogram< ValueType >::bottomLeft, Parallelogram< ValueType >::topLeft, and Parallelogram< ValueType >::topRight.
Referenced by Parallelogram< ValueType >::getBoundingBox().
|
noexcept |
Returns true if the two parallelograms are identical.
References Parallelogram< ValueType >::bottomLeft, Parallelogram< ValueType >::topLeft, and Parallelogram< ValueType >::topRight.
Referenced by Parallelogram< ValueType >::operator!=().
|
noexcept |
Returns true if the two parallelograms are not identical.
References Parallelogram< ValueType >::operator==().
|
noexcept |
Returns a parallelogram which is the same as this one moved by a given amount.
Referenced by Parallelogram< ValueType >::operator-().
|
noexcept |
Moves this parallelogram by a given amount.
References Parallelogram< ValueType >::bottomLeft, Parallelogram< ValueType >::topLeft, and Parallelogram< ValueType >::topRight.
Referenced by Parallelogram< ValueType >::operator-=().
|
noexcept |
Returns a parallelogram which is the same as this one moved by a given amount.
References Parallelogram< ValueType >::operator+().
|
noexcept |
Moves this parallelogram by a given amount.
References Parallelogram< ValueType >::operator+=().
|
noexcept |
Returns a parallelogram that has been scaled by the given amount, centred around the origin.
|
noexcept |
Scales this parallelogram by the given amount, centred around the origin.
References Parallelogram< ValueType >::bottomLeft, Parallelogram< ValueType >::topLeft, and Parallelogram< ValueType >::topRight.
|
noexcept |
Returns a point within this parallelogram, specified as proportional coordinates.
The relative X and Y values should be between 0 and 1, where 0 is the left or top of this parallelogram, and 1 is the right or bottom. (Out-of-bounds values will return a point outside the parallelogram).
References Parallelogram< ValueType >::bottomLeft, Parallelogram< ValueType >::topLeft, and Parallelogram< ValueType >::topRight.
|
noexcept |
Returns a transformed version of the parallelogram.
|
noexcept |
Returns the smallest rectangle that encloses this parallelogram.
References Parallelogram< ValueType >::bottomLeft, Rectangle< ValueType >::findAreaContainingPoints(), Parallelogram< ValueType >::getBottomRight(), Parallelogram< ValueType >::topLeft, and Parallelogram< ValueType >::topRight.
Point<ValueType> Parallelogram< ValueType >::topLeft |
Referenced by Parallelogram< ValueType >::getBottomRight(), Parallelogram< ValueType >::getBoundingBox(), Parallelogram< ValueType >::getHeight(), Parallelogram< ValueType >::getRelativePoint(), Parallelogram< ValueType >::getTopLeft(), Parallelogram< ValueType >::getWidth(), Parallelogram< ValueType >::isEmpty(), Parallelogram< ValueType >::isFinite(), Parallelogram< ValueType >::operator*=(), Parallelogram< ValueType >::operator+=(), and Parallelogram< ValueType >::operator==().
Point<ValueType> Parallelogram< ValueType >::topRight |
Referenced by Parallelogram< ValueType >::getBottomRight(), Parallelogram< ValueType >::getBoundingBox(), Parallelogram< ValueType >::getRelativePoint(), Parallelogram< ValueType >::getTopRight(), Parallelogram< ValueType >::getWidth(), Parallelogram< ValueType >::isEmpty(), Parallelogram< ValueType >::isFinite(), Parallelogram< ValueType >::operator*=(), Parallelogram< ValueType >::operator+=(), and Parallelogram< ValueType >::operator==().
Point<ValueType> Parallelogram< ValueType >::bottomLeft |
Referenced by Parallelogram< ValueType >::getBottomLeft(), Parallelogram< ValueType >::getBottomRight(), Parallelogram< ValueType >::getBoundingBox(), Parallelogram< ValueType >::getHeight(), Parallelogram< ValueType >::getRelativePoint(), Parallelogram< ValueType >::isEmpty(), Parallelogram< ValueType >::isFinite(), Parallelogram< ValueType >::operator*=(), Parallelogram< ValueType >::operator+=(), and Parallelogram< ValueType >::operator==().