template<class T>
Magnum::SceneGraph::AbstractBasicTranslationRotation2D class

Base transformation for two-dimensional scenes supporting translation and rotation.

See Polymorphic access to object transformation for more information.

Base classes

template<UnsignedInt dimensions, class T, class TranslationType = T>
class AbstractTranslation<T>
Base transformation for two-dimensional scenes supporting translation.

Derived classes

template<class T>
class AbstractBasicTranslationRotationScaling2D
Base transformation for two-dimensional scenes supporting translation, rotation and scaling.
template<class T>
class BasicDualComplexTransformation
Two-dimensional transformation implemented using dual complex numbers.
template<class T>
class BasicRigidMatrixTransformation2D
Two-dimensional rigid transformation implemented using matrices.

Public functions

auto rotate(const Math::Complex<T>& complex) -> AbstractBasicTranslationRotation2D<T>& new in 2020.06
Rotate the object using a complex number.
auto rotateLocal(const Math::Complex<T>& complex) -> AbstractBasicTranslationRotation2D<T>& new in 2020.06
Rotate the object using a complex number as a local transformation.
auto rotate(Math::Rad<T> angle) -> AbstractBasicTranslationRotation2D<T>&
Rotate the object.
auto rotateLocal(Math::Rad<T> angle) -> AbstractBasicTranslationRotation2D<T>&
Rotate the object as a local transformation.

Private functions

void doRotate(const Math::Complex<T>&) pure virtual new in 2020.06
Polymorphic implementation for rotate(const Math::Complex<T>&)
void doRotateLocal(const Math::Complex<T>&) pure virtual new in 2020.06
Polymorphic implementation for rotateLocal(const Math::Complex<T>&)
void doRotate(Math::Rad<T> angle) pure virtual
Polymorphic implementation for rotate(Math::Rad<T>)
void doRotateLocal(Math::Rad<T> angle) pure virtual
Polymorphic implementation for rotateLocal(Math::Rad<T>)

Function documentation

template<class T>
AbstractBasicTranslationRotation2D<T>& Magnum::SceneGraph::AbstractBasicTranslationRotation2D<T>::rotate(const Math::Complex<T>& complex) new in 2020.06

Rotate the object using a complex number.

Parameters
complex Normalized complex number
Returns Reference to self (for method chaining)

Expects that the complex number is normalized.

template<class T>
AbstractBasicTranslationRotation2D<T>& Magnum::SceneGraph::AbstractBasicTranslationRotation2D<T>::rotateLocal(const Math::Complex<T>& complex) new in 2020.06

Rotate the object using a complex number as a local transformation.

Similar to the above, except that the transformation is applied before all others.

template<class T>
AbstractBasicTranslationRotation2D<T>& Magnum::SceneGraph::AbstractBasicTranslationRotation2D<T>::rotate(Math::Rad<T> angle)

Rotate the object.

Parameters
angle Angle (counterclockwise)
Returns Reference to self (for method chaining)

template<class T>
AbstractBasicTranslationRotation2D<T>& Magnum::SceneGraph::AbstractBasicTranslationRotation2D<T>::rotateLocal(Math::Rad<T> angle)

Rotate the object as a local transformation.

Similar to the above, except that the transformation is applied before all others.