Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials

# irr::core::dimension2d< T > Class Template Reference

Specifies a 2 dimensional size. More...

`#include <dimension2d.h>`

List of all members.

## Public Member Functions
template<class U>
| dimension2d (const dimension2d< U > &other)
| Use this constructor only where you are sure that the conversion is valid.
| dimension2d (const vector2d< T > &other)
| dimension2d (const T &width, const T &height)
| Constructor with width and height.
| dimension2d ()
| Default constructor for empty dimension.
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 vector2d< T > &other) const
bool | operator!= (const dimension2d< T > &other) const
| Inequality operator.
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)
| 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 vector2d< T > &other) const
bool | operator== (const dimension2d< T > &other) const
| Equality operator.
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 | ) | `[inline]`

Definition at line 308 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 125 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.

Returns:
  Interpolated dimension.

Definition at line 191 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 145 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>

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>

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 119 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 | ) | `[inline]`

Subtract a dimension from this one.

Definition at line 110 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 vector2d< T > & | other | ) | const`[inline]`

Definition at line 311 of file vector2d.h.

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

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>

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 201 of file dimension2d.h.

Referenced by irr::core::dimension2d< unsigned int >::getArea(), irr::core::dimension2d< unsigned int >::getInterpolated(), irr::core::dimension2d< unsigned int >::getOptimalSize(), irr::core::dimension2d< unsigned int >::operator*(), irr::core::dimension2d< unsigned int >::operator*=(), irr::core::vector2d< float >::operator+(), irr::core::dimension2d< unsigned int >::operator+(), irr::core::vector2d< float >::operator+=(), irr::core::dimension2d< unsigned int >::operator+=(), irr::core::vector2d< float >::operator-(), irr::core::vector2d< float >::operator-=(), irr::core::dimension2d< unsigned int >::operator-=(), irr::core::dimension2d< unsigned int >::operator/(), irr::core::dimension2d< unsigned int >::operator/=(), irr::core::vector2d< float >::operator=(), irr::core::dimension2d< unsigned int >::operator=(), irr::core::dimension2d< T >::operator==(), irr::core::dimension2d< unsigned int >::operator==(), irr::gui::IGUIElement::serializeAttributes(), irr::core::dimension2d< unsigned int >::set(), irr::gui::IGUIElement::setMinSize(), irr::gui::IGUIElement::setRelativePosition(), irr::gui::IGUIElement::setRelativePositionProportional(), and irr::gui::IGUIElement::updateAbsolutePosition().

template<class T>

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

Width of the dimension.

Definition at line 199 of file dimension2d.h.

Referenced by irr::core::dimension2d< unsigned int >::getArea(), irr::core::dimension2d< unsigned int >::getInterpolated(), irr::core::dimension2d< unsigned int >::getOptimalSize(), irr::core::dimension2d< unsigned int >::operator*(), irr::core::dimension2d< unsigned int >::operator*=(), irr::core::vector2d< float >::operator+(), irr::core::dimension2d< unsigned int >::operator+(), irr::core::vector2d< float >::operator+=(), irr::core::dimension2d< unsigned int >::operator+=(), irr::core::vector2d< float >::operator-(), irr::core::vector2d< float >::operator-=(), irr::core::dimension2d< unsigned int >::operator-=(), irr::core::dimension2d< unsigned int >::operator/(), irr::core::dimension2d< unsigned int >::operator/=(), irr::core::vector2d< float >::operator=(), irr::core::dimension2d< unsigned int >::operator=(), irr::core::dimension2d< T >::operator==(), irr::core::dimension2d< unsigned int >::operator==(), irr::gui::IGUIElement::serializeAttributes(), irr::core::dimension2d< unsigned int >::set(), irr::gui::IGUIElement::setMinSize(), irr::gui::IGUIElement::setRelativePosition(), irr::gui::IGUIElement::setRelativePositionProportional(), and irr::gui::IGUIElement::updateAbsolutePosition().

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

- dimension2d.h
- vector2d.h

| The Irrlicht Engine Documentation © 2003-2009 by Nikolaus Gebhardt. Generated on Sun Jan 10 09:24:09 2010 by Doxygen (1.5.6)