| Irrlicht 3D Engine |

Public Member Functions | Public Attributes
irr::core::dimension2d< T > Class Template Reference

Specifies a 2 dimensional size. More...

`#include <dimension2d.h>`

List of all members.

## Public Member Functions

- dimension2d ()
    Default constructor for empty dimension.
- dimension2d (const T &width, const T &height)
    Constructor with width and height.
- dimension2d (const vector2d< T > &other)
- template<class U > dimension2d (const dimension2d< U > &other)
    Use this constructor only where you are sure that the conversion is valid.
- T getArea () const
    Get area.
- dimension2d< T > getInterpolated (const dimension2d< T > &other, f32 d) const
    Get the interpolated dimension.
- dimension2d< T > getOptimalSize (bool requirePowerOfTwo=true, bool requireSquare=false, bool larger=true, u32 maxValue=0) const
    Get the optimal size according to some properties.
- bool operator!= (const dimension2d< T > &other) const
    Inequality operator.
- bool operator!= (const vector2d< T > &other) const
- dimension2d< T > operator* (const T &scale) const
    Multiply width and height by scalar.
- dimension2d< T > & operator*= (const T &scale)
    Multiply width and height by scalar.
- dimension2d< T > operator+ (const dimension2d< T > &other) const
    Add two dimensions.
- dimension2d< T > & operator+= (const dimension2d< T > &other)
    Add another dimension to this one.
- dimension2d< T > operator- (const dimension2d< T > &other) const
    Subtract one dimension from another.
- dimension2d< T > & operator-= (const dimension2d< T > &other)
    Subtract a dimension from this one.
- dimension2d< T > operator/ (const T &scale) const
    Divide width and height by scalar.
- dimension2d< T > & operator/= (const T &scale)
    Divide width and height by scalar.
- template<class U > dimension2d< T > & operator= (const dimension2d< U > &other)
- bool operator== (const dimension2d< T > &other) const
    Equality operator.
- bool operator== (const vector2d< T > &other) const
- dimension2d< T > & set (const T &width, const T &height)
    Set to new values.

## Public Attributes

- T Height
    Height of the dimension.
- T Width
    Width of the dimension.

## Detailed Description

### template<class T>
class irr::core::dimension2d< T >

Specifies a 2 dimensional size.

Definition at line 20 of file dimension2d.h.

## Constructor & Destructor Documentation

template<class T>

irr::core::dimension2d< T >::dimension2d | ( |  | ) | `[inline]`

Default constructor for empty dimension.

Definition at line 24 of file dimension2d.h.

template<class T>

irr::core::dimension2d< T >::dimension2d | ( | const T & | width,
|  | const T & | height
| ) |  | `[inline]`

Constructor with width and height.

Definition at line 26 of file dimension2d.h.

template<class T>

irr::core::dimension2d< T >::dimension2d | ( | const vector2d< T > & | other | ) |

Definition at line 333 of file vector2d.h.

template<class T>
template<class U >

irr::core::dimension2d< T >::dimension2d | ( | const dimension2d< U > & | other | ) | `[inline, explicit]`

Use this constructor only where you are sure that the conversion is valid.

Definition at line 33 of file dimension2d.h.

## Member Function Documentation

template<class T>

T irr::core::dimension2d< T >::getArea | ( |  | ) | const`[inline]`

Get area.

Definition at line 130 of file dimension2d.h.

template<class T>

dimension2d<T> irr::core::dimension2d< T >::getInterpolated | ( | const dimension2d< T > & | other,
|  | f32 | d
| ) |  | const`[inline]`

Get the interpolated dimension.

Parameters:

  other | Other dimension to interpolate with.
  d | Value between 0.0f and 1.0f. d=0 returns other, d=1 returns this, values between interpolate.

Returns:
  Interpolated dimension.

Definition at line 196 of file dimension2d.h.

template<class T>

dimension2d<T> irr::core::dimension2d< T >::getOptimalSize | ( | bool | requirePowerOfTwo = `true`,
|  | bool | requireSquare = `false`,
|  | bool | larger = `true`,
|  | u32 | maxValue = `0`
| ) |  | const`[inline]`

Get the optimal size according to some properties.

This is a function often used for texture dimension calculations. The function returns the next larger or smaller dimension which is a power-of-two dimension (2^n,2^m) and/or square (Width=Height).

Parameters:

  requirePowerOfTwo | Forces the result to use only powers of two as values.
  requireSquare | Makes width==height in the result
  larger | Choose whether the result is larger or smaller than the current dimension. If one dimension need not be changed it is kept with any value of larger.
  maxValue | Maximum texturesize. if value > 0 size is clamped to maxValue

Returns:
  The optimal dimension under the given constraints.

Definition at line 150 of file dimension2d.h.

template<class T>

bool irr::core::dimension2d< T >::operator!= | ( | const dimension2d< T > & | other | ) | const`[inline]`

Inequality operator.

Definition at line 53 of file dimension2d.h.

template<class T>

bool irr::core::dimension2d< T >::operator!= | ( | const vector2d< T > & | other | ) | const`[inline]`

Definition at line 60 of file dimension2d.h.

template<class T>

dimension2d<T> irr::core::dimension2d< T >::operator* | ( | const T & | scale | ) | const`[inline]`

Multiply width and height by scalar.

Definition at line 96 of file dimension2d.h.

template<class T>

dimension2d<T>& irr::core::dimension2d< T >::operator*= | ( | const T & | scale | ) | `[inline]`

Multiply width and height by scalar.

Definition at line 88 of file dimension2d.h.

template<class T>

dimension2d<T> irr::core::dimension2d< T >::operator+ | ( | const dimension2d< T > & | other | ) | const`[inline]`

Add two dimensions.

Definition at line 110 of file dimension2d.h.

template<class T>

dimension2d<T>& irr::core::dimension2d< T >::operator+= | ( | const dimension2d< T > & | other | ) | `[inline]`

Add another dimension to this one.

Definition at line 102 of file dimension2d.h.

template<class T>

dimension2d<T> irr::core::dimension2d< T >::operator- | ( | const dimension2d< T > & | other | ) | const`[inline]`

Subtract one dimension from another.

Definition at line 124 of file dimension2d.h.

template<class T>

dimension2d<T>& irr::core::dimension2d< T >::operator-= | ( | const dimension2d< T > & | other | ) | `[inline]`

Subtract a dimension from this one.

Definition at line 116 of file dimension2d.h.

template<class T>

dimension2d<T> irr::core::dimension2d< T >::operator/ | ( | const T & | scale | ) | const`[inline]`

Divide width and height by scalar.

Definition at line 82 of file dimension2d.h.

template<class T>

dimension2d<T>& irr::core::dimension2d< T >::operator/= | ( | const T & | scale | ) | `[inline]`

Divide width and height by scalar.

Definition at line 74 of file dimension2d.h.

template<class T>
template<class U >

dimension2d<T>& irr::core::dimension2d< T >::operator= | ( | const dimension2d< U > & | other | ) | `[inline]`

Definition at line 37 of file dimension2d.h.

template<class T>

bool irr::core::dimension2d< T >::operator== | ( | const dimension2d< T > & | other | ) | const`[inline]`

Equality operator.

Definition at line 46 of file dimension2d.h.

template<class T>

bool irr::core::dimension2d< T >::operator== | ( | const vector2d< T > & | other | ) | const

Definition at line 336 of file vector2d.h.

References irr::core::vector2d< T >::X, and irr::core::vector2d< T >::Y.

template<class T>

dimension2d<T>& irr::core::dimension2d< T >::set | ( | const T & | width,
|  | const T & | height
| ) |  | `[inline]`

Set to new values.

Definition at line 66 of file dimension2d.h.

## Member Data Documentation

template<class T>

T irr::core::dimension2d< T >::Height

Height of the dimension.

Definition at line 206 of file dimension2d.h.

Referenced by irr::core::dimension2d< u32 >::getArea(), irr::core::dimension2d< u32 >::getInterpolated(), irr::core::dimension2d< u32 >::getOptimalSize(), irr::core::dimension2d< u32 >::operator*(), irr::core::dimension2d< u32 >::operator*=(), irr::core::vector2d< f32 >::operator+(), irr::core::dimension2d< u32 >::operator+(), irr::core::vector2d< f32 >::operator+=(), irr::core::dimension2d< u32 >::operator+=(), irr::core::vector2d< f32 >::operator-(), irr::core::dimension2d< u32 >::operator-(), irr::core::vector2d< f32 >::operator-=(), irr::core::dimension2d< u32 >::operator-=(), irr::core::dimension2d< u32 >::operator/(), irr::core::dimension2d< u32 >::operator/=(), irr::core::dimension2d< u32 >::operator=(), irr::core::vector2d< f32 >::operator=(), irr::core::dimension2d< u32 >::operator==(), irr::gui::IGUIElement::recalculateAbsolutePosition(), irr::gui::IGUIElement::serializeAttributes(), irr::core::dimension2d< u32 >::set(), irr::gui::IGUIElement::setMinSize(), irr::gui::IGUIElement::setRelativePosition(), and irr::gui::IGUIElement::setRelativePositionProportional().

template<class T>

T irr::core::dimension2d< T >::Width

Width of the dimension.

Definition at line 204 of file dimension2d.h.

Referenced by irr::core::dimension2d< u32 >::getArea(), irr::core::dimension2d< u32 >::getInterpolated(), irr::core::dimension2d< u32 >::getOptimalSize(), irr::core::dimension2d< u32 >::operator*(), irr::core::dimension2d< u32 >::operator*=(), irr::core::vector2d< f32 >::operator+(), irr::core::dimension2d< u32 >::operator+(), irr::core::vector2d< f32 >::operator+=(), irr::core::dimension2d< u32 >::operator+=(), irr::core::vector2d< f32 >::operator-(), irr::core::dimension2d< u32 >::operator-(), irr::core::vector2d< f32 >::operator-=(), irr::core::dimension2d< u32 >::operator-=(), irr::core::dimension2d< u32 >::operator/(), irr::core::dimension2d< u32 >::operator/=(), irr::core::dimension2d< u32 >::operator=(), irr::core::vector2d< f32 >::operator=(), irr::core::dimension2d< u32 >::operator==(), irr::gui::IGUIElement::recalculateAbsolutePosition(), irr::gui::IGUIElement::serializeAttributes(), irr::core::dimension2d< u32 >::set(), irr::gui::IGUIElement::setMinSize(), irr::gui::IGUIElement::setRelativePosition(), and irr::gui::IGUIElement::setRelativePositionProportional().

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

- dimension2d.h
- vector2d.h