template<class T>
          AbstractBasicTranslationRotation3D class
        
        Base transformation for three-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 AbstractBasicTranslationRotationScaling3D
- Base transformation for three-dimensional scenes supporting translation, rotation and scaling.
- 
              template<class T>class BasicDualQuaternionTransformation
- Three-dimensional transformation implemented using dual quaternions.
- 
              template<class T>class BasicRigidMatrixTransformation3D
- Three-dimensional rigid transformation implemented using matrices.
Public functions
- 
              auto rotate(const Math::Quaternion<T>& quaternion) -> AbstractBasicTranslationRotation3D<T>& new in 2020.06 
- Rotate the object using a quaternion.
- 
              auto rotateLocal(const Math::Quaternion<T>& quaternion) -> AbstractBasicTranslationRotation3D<T>& new in 2020.06 
- Rotate the object using a quaternion as a local transformation.
- 
              auto rotate(Math::Rad<T> angle, const Math:: Vector3<T>& normalizedAxis) -> AbstractBasicTranslationRotation3D<T>& 
- Rotate the object.
- 
              auto rotateLocal(Math::Rad<T> angle, const Math:: Vector3<T>& normalizedAxis) -> AbstractBasicTranslationRotation3D<T>& 
- Rotate the object as a local transformation.
- 
              auto rotateX(Math::Rad<T> angle) -> AbstractBasicTranslationRotation3D<T>& 
- Rotate the object around X axis.
- 
              auto rotateXLocal(Math::Rad<T> angle) -> AbstractBasicTranslationRotation3D<T>& 
- Rotate the object around X axis as a local transformation.
- 
              auto rotateY(Math::Rad<T> angle) -> AbstractBasicTranslationRotation3D<T>& 
- Rotate the object around Y axis.
- 
              auto rotateYLocal(Math::Rad<T> angle) -> AbstractBasicTranslationRotation3D<T>& 
- Rotate the object around Y axis as a local transformation.
- 
              auto rotateZ(Math::Rad<T> angle) -> AbstractBasicTranslationRotation3D<T>& 
- Rotate the object around Z axis.
- 
              auto rotateZLocal(Math::Rad<T> angle) -> AbstractBasicTranslationRotation3D<T>& 
- Rotate the object around Z axis as a local transformation.
Private functions
- 
              void doRotate(const Math::Quaternion<T>&) pure virtual new in 2020.06 
- Polymorphic implementation for rotate(const Math::Quaternion<T>&) 
- 
              void doRotateLocal(const Math::Quaternion<T>&) pure virtual new in 2020.06 
- Polymorphic implementation for rotateLocal(const Math::Quaternion<T>&) 
- 
              void doRotate(Math::Rad<T> angle, const Math:: Vector3<T>& normalizedAxis) pure virtual 
- Polymorphic implementation for rotate(Math::Rad<T>, const Math:: Vector3<T>&) 
- 
              void doRotateLocal(Math::Rad<T> angle, const Math:: Vector3<T>& normalizedAxis) pure virtual 
- Polymorphic implementation for rotateLocal(Math::Rad<T>, const Math:: Vector3<T>&) 
- 
              void doRotateX(Math::Rad<T> angle) virtual 
- Polymorphic implementation for rotateX()
- 
              void doRotateXLocal(Math::Rad<T> angle) virtual 
- Polymorphic implementation for rotateXLocal()
- 
              void doRotateY(Math::Rad<T> angle) virtual 
- Polymorphic implementation for rotateY()
- 
              void doRotateYLocal(Math::Rad<T> angle) virtual 
- Polymorphic implementation for rotateYLocal()
- 
              void doRotateZ(Math::Rad<T> angle) virtual 
- Polymorphic implementation for rotateZ()
- 
              void doRotateZLocal(Math::Rad<T> angle) virtual 
- Polymorphic implementation for rotateZLocal()
Function documentation
              
                template<class T>
              
              AbstractBasicTranslationRotation3D<T>& Magnum::
            Rotate the object using a quaternion.
| Parameters | |
|---|---|
| quaternion | Normalized quaternion | 
| Returns | Reference to self (for method chaining) | 
Expects that the quaternion is normalized.
              
                template<class T>
              
              AbstractBasicTranslationRotation3D<T>& Magnum::
            Rotate the object using a quaternion as a local transformation.
Similar to the above, except that the transformation is applied before all others.
              
                template<class T>
              
              AbstractBasicTranslationRotation3D<T>& Magnum::
            Rotate the object.
| Parameters | |
|---|---|
| angle | Angle (counterclockwise) | 
| normalizedAxis | Normalized rotation axis | 
| Returns | Reference to self (for method chaining) | 
              
                template<class T>
              
              AbstractBasicTranslationRotation3D<T>& Magnum::
            Rotate the object as a local transformation.
Similar to the above, except that the transformation is applied before all others.
              
                template<class T>
              
              AbstractBasicTranslationRotation3D<T>& Magnum::
            Rotate the object around X axis.
| Parameters | |
|---|---|
| angle | Angle (counterclockwise) | 
| Returns | Reference to self (for method chaining) | 
In some implementations faster than calling rotate(angle, Vector3::xAxis()), see subclasses for more information.
              
                template<class T>
              
              AbstractBasicTranslationRotation3D<T>& Magnum::
            Rotate the object around X axis as a local transformation.
Similar to the above, except that the transformation is applied before all others. In some implementations faster than calling rotateLocal(angle, Vector3::xAxis()), see subclasses for more information.
              
                template<class T>
              
              AbstractBasicTranslationRotation3D<T>& Magnum::
            Rotate the object around Y axis.
| Parameters | |
|---|---|
| angle | Angle (counterclockwise) | 
| Returns | Reference to self (for method chaining) | 
In some implementations faster than calling rotate(angle, Vector3::yAxis()), see subclasses for more information.
              
                template<class T>
              
              AbstractBasicTranslationRotation3D<T>& Magnum::
            Rotate the object around Y axis as a local transformation.
Similar to the above, except that the transformation is applied before all others. In some implementations faster than calling rotateLocal(angle, Vector3::yAxis()), see subclasses for more information.
              
                template<class T>
              
              AbstractBasicTranslationRotation3D<T>& Magnum::
            Rotate the object around Z axis.
| Parameters | |
|---|---|
| angle | Angle (counterclockwise) | 
| Returns | Reference to self (for method chaining) | 
In some implementations faster than calling rotate(angle, Vector3::zAxis()), see subclasses for more information.
              
                template<class T>
              
              AbstractBasicTranslationRotation3D<T>& Magnum::
            Rotate the object around Z axis as a local transformation.
Similar to the above, except that the transformation is applied before all others. In some implementations faster than calling rotateLocal(angle, Vector3::zAxis()), see subclasses for more information.
              
                template<class T>
              
              void Magnum::
            Polymorphic implementation for rotateX()
Default implementation calls rotate() with Math::
              
                template<class T>
              
              void Magnum::
            Polymorphic implementation for rotateXLocal()
Default implementation calls rotateLocal() with Math::
              
                template<class T>
              
              void Magnum::
            Polymorphic implementation for rotateY()
Default implementation calls rotate() with Math::
              
                template<class T>
              
              void Magnum::
            Polymorphic implementation for rotateYLocal()
Default implementation calls rotateLocal() with Math::
              
                template<class T>
              
              void Magnum::
            Polymorphic implementation for rotateZ()
Default implementation calls rotate() with Math::
              
                template<class T>
              
              void Magnum::
            Polymorphic implementation for rotateZLocal()
Default implementation calls rotateLocal() with Math::