LMMS
Loading...
Searching...
No Matches
juce::Parallelogram< ValueType > Class Template Reference

#include <juce_Parallelogram.h>

Public Member Functions

 Parallelogram ()=default
 Parallelogram (const Parallelogram &)=default
 Parallelogram (Point< ValueType > topLeftPosition, Point< ValueType > topRightPosition, Point< ValueType > bottomLeftPosition) noexcept
 Parallelogram (Rectangle< ValueType > rectangle) noexcept
Parallelogramoperator= (const Parallelogram &)=default
 ~Parallelogram ()=default
bool isEmpty () const noexcept
bool isFinite () const noexcept
ValueType getWidth () const noexcept
ValueType getHeight () const noexcept
Point< ValueType > getTopLeft () const noexcept
Point< ValueType > getTopRight () const noexcept
Point< ValueType > getBottomLeft () const noexcept
Point< ValueType > getBottomRight () const noexcept
bool operator== (const Parallelogram &other) const noexcept
bool operator!= (const Parallelogram &other) const noexcept
Parallelogram operator+ (Point< ValueType > deltaPosition) const noexcept
Parallelogramoperator+= (Point< ValueType > deltaPosition) noexcept
Parallelogram operator- (Point< ValueType > deltaPosition) const noexcept
Parallelogramoperator-= (Point< ValueType > deltaPosition) noexcept
template<typename PointOrScalarType>
Parallelogram operator* (PointOrScalarType scaleFactor) const noexcept
template<typename PointOrScalarType>
Parallelogram operator*= (PointOrScalarType scaleFactor) noexcept
Point< ValueType > getRelativePoint (Point< ValueType > relativePosition) const noexcept
Parallelogram transformedBy (const AffineTransform &transform) const noexcept
Rectangle< ValueType > getBoundingBox () const noexcept

Public Attributes

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

Detailed Description

template<typename ValueType>
class juce::Parallelogram< ValueType >

Represents a parallelogram that is defined by 3 points.

See also
Rectangle, Point, Line

@tags{Graphics}

Constructor & Destructor Documentation

◆ Parallelogram() [1/4]

template<typename ValueType>
juce::Parallelogram< ValueType >::Parallelogram ( )
default

Creates a parallelogram with zero size at the origin.

◆ Parallelogram() [2/4]

template<typename ValueType>
juce::Parallelogram< ValueType >::Parallelogram ( const Parallelogram< ValueType > & )
default

Creates a copy of another parallelogram.

◆ Parallelogram() [3/4]

template<typename ValueType>
juce::Parallelogram< ValueType >::Parallelogram ( Point< ValueType > topLeftPosition,
Point< ValueType > topRightPosition,
Point< ValueType > bottomLeftPosition )
inlinenoexcept

Creates a parallelogram based on 3 points.

◆ Parallelogram() [4/4]

template<typename ValueType>
juce::Parallelogram< ValueType >::Parallelogram ( Rectangle< ValueType > rectangle)
inlinenoexcept

Creates a parallelogram from a rectangle.

◆ ~Parallelogram()

template<typename ValueType>
juce::Parallelogram< ValueType >::~Parallelogram ( )
default

Destructor.

Member Function Documentation

◆ getBottomLeft()

template<typename ValueType>
Point< ValueType > juce::Parallelogram< ValueType >::getBottomLeft ( ) const
inlinenoexcept

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

◆ getBottomRight()

template<typename ValueType>
Point< ValueType > juce::Parallelogram< ValueType >::getBottomRight ( ) const
inlinenoexcept

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

◆ getBoundingBox()

template<typename ValueType>
Rectangle< ValueType > juce::Parallelogram< ValueType >::getBoundingBox ( ) const
inlinenoexcept

Returns the smallest rectangle that encloses this parallelogram.

◆ getHeight()

template<typename ValueType>
ValueType juce::Parallelogram< ValueType >::getHeight ( ) const
inlinenoexcept

Returns the height of the parallelogram (i.e. the straight-line distance between the top-left and bottom-left.

◆ getRelativePoint()

template<typename ValueType>
Point< ValueType > juce::Parallelogram< ValueType >::getRelativePoint ( Point< ValueType > relativePosition) const
inlinenoexcept

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

◆ getTopLeft()

template<typename ValueType>
Point< ValueType > juce::Parallelogram< ValueType >::getTopLeft ( ) const
inlinenoexcept

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

◆ getTopRight()

template<typename ValueType>
Point< ValueType > juce::Parallelogram< ValueType >::getTopRight ( ) const
inlinenoexcept

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

◆ getWidth()

template<typename ValueType>
ValueType juce::Parallelogram< ValueType >::getWidth ( ) const
inlinenoexcept

Returns the width of the parallelogram (i.e. the straight-line distance between the top-left and top-right.

◆ isEmpty()

template<typename ValueType>
bool juce::Parallelogram< ValueType >::isEmpty ( ) const
inlinenoexcept

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

◆ isFinite()

template<typename ValueType>
bool juce::Parallelogram< ValueType >::isFinite ( ) const
inlinenoexcept

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

◆ operator!=()

template<typename ValueType>
bool juce::Parallelogram< ValueType >::operator!= ( const Parallelogram< ValueType > & other) const
inlinenoexcept

Returns true if the two parallelograms are not identical.

◆ operator*()

template<typename ValueType>
template<typename PointOrScalarType>
Parallelogram juce::Parallelogram< ValueType >::operator* ( PointOrScalarType scaleFactor) const
inlinenoexcept

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

◆ operator*=()

template<typename ValueType>
template<typename PointOrScalarType>
Parallelogram juce::Parallelogram< ValueType >::operator*= ( PointOrScalarType scaleFactor)
inlinenoexcept

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

◆ operator+()

template<typename ValueType>
Parallelogram juce::Parallelogram< ValueType >::operator+ ( Point< ValueType > deltaPosition) const
inlinenoexcept

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

◆ operator+=()

template<typename ValueType>
Parallelogram & juce::Parallelogram< ValueType >::operator+= ( Point< ValueType > deltaPosition)
inlinenoexcept

Moves this parallelogram by a given amount.

◆ operator-()

template<typename ValueType>
Parallelogram juce::Parallelogram< ValueType >::operator- ( Point< ValueType > deltaPosition) const
inlinenoexcept

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

◆ operator-=()

template<typename ValueType>
Parallelogram & juce::Parallelogram< ValueType >::operator-= ( Point< ValueType > deltaPosition)
inlinenoexcept

Moves this parallelogram by a given amount.

◆ operator=()

template<typename ValueType>
Parallelogram & juce::Parallelogram< ValueType >::operator= ( const Parallelogram< ValueType > & )
default

◆ operator==()

template<typename ValueType>
bool juce::Parallelogram< ValueType >::operator== ( const Parallelogram< ValueType > & other) const
inlinenoexcept

Returns true if the two parallelograms are identical.

◆ transformedBy()

template<typename ValueType>
Parallelogram juce::Parallelogram< ValueType >::transformedBy ( const AffineTransform & transform) const
inlinenoexcept

Returns a transformed version of the parallelogram.

Member Data Documentation

◆ bottomLeft

template<typename ValueType>
Point<ValueType> juce::Parallelogram< ValueType >::bottomLeft

◆ topLeft

template<typename ValueType>
Point<ValueType> juce::Parallelogram< ValueType >::topLeft

◆ topRight

template<typename ValueType>
Point<ValueType> juce::Parallelogram< ValueType >::topRight

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