Parallelogram< ValueType > Class Template Reference
juce_graphics » geometry

Represents a parallelogram that is defined by 3 points. More...

## Public Member Functions

| Parallelogram ()=default
| Creates a parallelogram with zero size at the origin. More...
| Parallelogram (const Parallelogram &)=default
| Creates a copy of another parallelogram. More...
| Parallelogram (Point< ValueType > topLeftPosition, Point< ValueType > topRightPosition, Point< ValueType > bottomLeftPosition) noexcept
| Creates a parallelogram based on 3 points. More...
| Parallelogram (Rectangle< ValueType > rectangle) noexcept
| Creates a parallelogram from a rectangle. More...
Parallelogram & | operator= (const Parallelogram &)=default
| ~Parallelogram ()=default
| Destructor. More...
bool | isEmpty () const noexcept
| Returns true if the parallelogram has a width or height of more than zero. More...
bool | isFinite () const noexcept
| Returns true if the parallelogram's coordinates are all finite numbers, i.e. More...
ValueType | getWidth () const noexcept
| Returns the width of the parallelogram (i.e. More...
ValueType | getHeight () const noexcept
| Returns the height of the parallelogram (i.e. More...
Point< ValueType > | getTopLeft () const noexcept
| Returns the parallelogram's top-left position as a Point. More...
Point< ValueType > | getTopRight () const noexcept
| Returns the parallelogram's top-right position as a Point. More...
Point< ValueType > | getBottomLeft () const noexcept
| Returns the parallelogram's bottom-left position as a Point. More...
Point< ValueType > | getBottomRight () const noexcept
| Returns the parallelogram's bottom-right position as a Point. More...
bool | operator== (const Parallelogram &other) const noexcept
| Returns true if the two parallelograms are identical. More...
bool | operator!= (const Parallelogram &other) const noexcept
| Returns true if the two parallelograms are not identical. More...
Parallelogram | operator+ (Point< ValueType > deltaPosition) const noexcept
| Returns a parallelogram which is the same as this one moved by a given amount. More...
Parallelogram & | operator+= (Point< ValueType > deltaPosition) noexcept
| Moves this parallelogram by a given amount. More...
Parallelogram | operator- (Point< ValueType > deltaPosition) const noexcept
| Returns a parallelogram which is the same as this one moved by a given amount. More...
Parallelogram & | operator-= (Point< ValueType > deltaPosition) noexcept
| Moves this parallelogram by a given amount. More...
template<typename PointOrScalarType >
Parallelogram | operator* (PointOrScalarType scaleFactor) const noexcept
| Returns a parallelogram that has been scaled by the given amount, centred around the origin. More...
template<typename PointOrScalarType >
Parallelogram | operator*= (PointOrScalarType scaleFactor) noexcept
| Scales this parallelogram by the given amount, centred around the origin. More...
Point< ValueType > | getRelativePoint (Point< ValueType > relativePosition) const noexcept
| Returns a point within this parallelogram, specified as proportional coordinates. More...
Parallelogram | transformedBy (const AffineTransform &transform) const noexcept
| Returns a transformed version of the parallelogram. More...
Rectangle< ValueType > | getBoundingBox () const noexcept
| Returns the smallest rectangle that encloses this parallelogram. More...

## Public Attributes

Point< ValueType > | topLeft
Point< ValueType > | topRight
Point< ValueType > | bottomLeft

## Detailed Description

### template<typename ValueType>
class Parallelogram< ValueType >

Represents a parallelogram that is defined by 3 points.

See also
  Rectangle, Point, Line

## Constructor & Destructor Documentation

## Parallelogram() [1/4]

template<typename ValueType>

Parallelogram< ValueType >::Parallelogram | ( |  | ) |

default

Creates a parallelogram with zero size at the origin.

## Parallelogram() [2/4]

template<typename ValueType>

Parallelogram< ValueType >::Parallelogram | ( | const Parallelogram< ValueType > & |  | ) |

default

Creates a copy of another parallelogram.

## Parallelogram() [3/4]

template<typename ValueType>

Parallelogram< ValueType >::Parallelogram | ( | Point< ValueType > | topLeftPosition,
|  | Point< ValueType > | topRightPosition,
|  | Point< ValueType > | bottomLeftPosition
| ) |  |

noexcept

Creates a parallelogram based on 3 points.

## Parallelogram() [4/4]

template<typename ValueType>

Parallelogram< ValueType >::Parallelogram | ( | Rectangle< ValueType > | rectangle | ) |

noexcept

Creates a parallelogram from a rectangle.

## ~Parallelogram()

template<typename ValueType>

Parallelogram< ValueType >::~Parallelogram | ( |  | ) |

default

Destructor.

## Member Function Documentation

## operator=()

template<typename ValueType>

Parallelogram& Parallelogram< ValueType >::operator= | ( | const Parallelogram< ValueType > & |  | ) |

default

## isEmpty()

template<typename ValueType>

bool Parallelogram< ValueType >::isEmpty | ( |  | ) | const

noexcept

Returns true if the parallelogram has a width or height of more than zero.

## isFinite()

template<typename ValueType>

bool Parallelogram< ValueType >::isFinite | ( |  | ) | const

noexcept

Returns true if the parallelogram's coordinates are all finite numbers, i.e.

not NaN or infinity.

## getWidth()

template<typename ValueType>

ValueType Parallelogram< ValueType >::getWidth | ( |  | ) | const

noexcept

Returns the width of the parallelogram (i.e.

the straight-line distance between the top-left and top-right.

## getHeight()

template<typename ValueType>

ValueType Parallelogram< ValueType >::getHeight | ( |  | ) | const

noexcept

Returns the height of the parallelogram (i.e.

the straight-line distance between the top-left and bottom-left.

## getTopLeft()

template<typename ValueType>

Point<ValueType> Parallelogram< ValueType >::getTopLeft | ( |  | ) | const

noexcept

Returns the parallelogram's top-left position as a Point.

## getTopRight()

template<typename ValueType>

Point<ValueType> Parallelogram< ValueType >::getTopRight | ( |  | ) | const

noexcept

Returns the parallelogram's top-right position as a Point.

## getBottomLeft()

template<typename ValueType>

Point<ValueType> Parallelogram< ValueType >::getBottomLeft | ( |  | ) | const

noexcept

Returns the parallelogram's bottom-left position as a Point.

## getBottomRight()

template<typename ValueType>

Point<ValueType> Parallelogram< ValueType >::getBottomRight | ( |  | ) | const

noexcept

Returns the parallelogram's bottom-right position as a Point.

Referenced by Parallelogram< float >::getBoundingBox().

## operator==()

template<typename ValueType>

bool Parallelogram< ValueType >::operator== | ( | const Parallelogram< ValueType > & | other | ) | const

noexcept

Returns true if the two parallelograms are identical.

Referenced by Parallelogram< float >::operator!=().

## operator!=()

template<typename ValueType>

bool Parallelogram< ValueType >::operator!= | ( | const Parallelogram< ValueType > & | other | ) | const

noexcept

Returns true if the two parallelograms are not identical.

## operator+()

template<typename ValueType>

Parallelogram Parallelogram< ValueType >::operator+ | ( | Point< ValueType > | deltaPosition | ) | const

noexcept

Returns a parallelogram which is the same as this one moved by a given amount.

Referenced by Parallelogram< float >::operator-().

## operator+=()

template<typename ValueType>

Parallelogram& Parallelogram< ValueType >::operator+= | ( | Point< ValueType > | deltaPosition | ) |

noexcept

Moves this parallelogram by a given amount.

## operator-()

template<typename ValueType>

Parallelogram Parallelogram< ValueType >::operator- | ( | Point< ValueType > | deltaPosition | ) | const

noexcept

Returns a parallelogram which is the same as this one moved by a given amount.

## operator-=()

template<typename ValueType>

Parallelogram& Parallelogram< ValueType >::operator-= | ( | Point< ValueType > | deltaPosition | ) |

noexcept

Moves this parallelogram by a given amount.

Referenced by Parallelogram< float >::operator-=().

## operator*()

template<typename ValueType>
template<typename PointOrScalarType >

Parallelogram Parallelogram< ValueType >::operator* | ( | PointOrScalarType | scaleFactor | ) | const

noexcept

Returns a parallelogram that has been scaled by the given amount, centred around the origin.

## operator*=()

template<typename ValueType>
template<typename PointOrScalarType >

Parallelogram Parallelogram< ValueType >::operator*= | ( | PointOrScalarType | scaleFactor | ) |

noexcept

Scales this parallelogram by the given amount, centred around the origin.

## getRelativePoint()

template<typename ValueType>

Point<ValueType> Parallelogram< ValueType >::getRelativePoint | ( | Point< ValueType > | relativePosition | ) | const

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).

## transformedBy()

template<typename ValueType>

Parallelogram Parallelogram< ValueType >::transformedBy | ( | const AffineTransform & | transform | ) | const

noexcept

Returns a transformed version of the parallelogram.

## getBoundingBox()

template<typename ValueType>

Rectangle<ValueType> Parallelogram< ValueType >::getBoundingBox | ( |  | ) | const

noexcept

Returns the smallest rectangle that encloses this parallelogram.

## Member Data Documentation

## topLeft

template<typename ValueType>

Point<ValueType> Parallelogram< ValueType >::topLeft

Referenced by Parallelogram< float >::getBottomRight(), Parallelogram< float >::getBoundingBox(), Parallelogram< float >::getHeight(), Parallelogram< float >::getRelativePoint(), Parallelogram< float >::getTopLeft(), Parallelogram< float >::getWidth(), Parallelogram< float >::isEmpty(), Parallelogram< float >::isFinite(), Parallelogram< float >::operator*=(), Parallelogram< float >::operator+=(), and Parallelogram< float >::operator==().

## topRight

template<typename ValueType>

Point<ValueType> Parallelogram< ValueType >::topRight

Referenced by Parallelogram< float >::getBottomRight(), Parallelogram< float >::getBoundingBox(), Parallelogram< float >::getRelativePoint(), Parallelogram< float >::getTopRight(), Parallelogram< float >::getWidth(), Parallelogram< float >::isEmpty(), Parallelogram< float >::isFinite(), Parallelogram< float >::operator*=(), Parallelogram< float >::operator+=(), and Parallelogram< float >::operator==().

## bottomLeft

template<typename ValueType>

Point<ValueType> Parallelogram< ValueType >::bottomLeft

Referenced by Parallelogram< float >::getBottomLeft(), Parallelogram< float >::getBottomRight(), Parallelogram< float >::getBoundingBox(), Parallelogram< float >::getHeight(), Parallelogram< float >::getRelativePoint(), Parallelogram< float >::isEmpty(), Parallelogram< float >::isFinite(), Parallelogram< float >::operator*=(), Parallelogram< float >::operator+=(), and Parallelogram< float >::operator==().

The documentation for this class was generated from the following file:

- juce_Parallelogram.h