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:: SceneGraph:: AbstractBasicTranslationRotation3D<T>:: rotate(const Math:: Quaternion<T>& quaternion) new in 2020.06
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:: SceneGraph:: AbstractBasicTranslationRotation3D<T>:: rotateLocal(const Math:: Quaternion<T>& quaternion) new in 2020.06
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:: SceneGraph:: AbstractBasicTranslationRotation3D<T>:: rotate(Math:: Rad<T> angle,
const Math:: Vector3<T>& normalizedAxis)
Rotate the object.
Parameters | |
---|---|
angle | Angle (counterclockwise) |
normalizedAxis | Normalized rotation axis |
Returns | Reference to self (for method chaining) |
template<class T>
AbstractBasicTranslationRotation3D<T>& Magnum:: SceneGraph:: AbstractBasicTranslationRotation3D<T>:: rotateLocal(Math:: Rad<T> angle,
const Math:: Vector3<T>& normalizedAxis)
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:: SceneGraph:: AbstractBasicTranslationRotation3D<T>:: rotateX(Math:: Rad<T> angle)
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:: SceneGraph:: AbstractBasicTranslationRotation3D<T>:: rotateXLocal(Math:: Rad<T> angle)
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:: SceneGraph:: AbstractBasicTranslationRotation3D<T>:: rotateY(Math:: Rad<T> angle)
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:: SceneGraph:: AbstractBasicTranslationRotation3D<T>:: rotateYLocal(Math:: Rad<T> angle)
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:: SceneGraph:: AbstractBasicTranslationRotation3D<T>:: rotateZ(Math:: Rad<T> angle)
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:: SceneGraph:: AbstractBasicTranslationRotation3D<T>:: rotateZLocal(Math:: Rad<T> angle)
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:: SceneGraph:: AbstractBasicTranslationRotation3D<T>:: doRotateX(Math:: Rad<T> angle) virtual private
Polymorphic implementation for rotateX()
Default implementation calls rotate() with Math::
template<class T>
void Magnum:: SceneGraph:: AbstractBasicTranslationRotation3D<T>:: doRotateXLocal(Math:: Rad<T> angle) virtual private
Polymorphic implementation for rotateXLocal()
Default implementation calls rotateLocal() with Math::
template<class T>
void Magnum:: SceneGraph:: AbstractBasicTranslationRotation3D<T>:: doRotateY(Math:: Rad<T> angle) virtual private
Polymorphic implementation for rotateY()
Default implementation calls rotate() with Math::
template<class T>
void Magnum:: SceneGraph:: AbstractBasicTranslationRotation3D<T>:: doRotateYLocal(Math:: Rad<T> angle) virtual private
Polymorphic implementation for rotateYLocal()
Default implementation calls rotateLocal() with Math::
template<class T>
void Magnum:: SceneGraph:: AbstractBasicTranslationRotation3D<T>:: doRotateZ(Math:: Rad<T> angle) virtual private
Polymorphic implementation for rotateZ()
Default implementation calls rotate() with Math::
template<class T>
void Magnum:: SceneGraph:: AbstractBasicTranslationRotation3D<T>:: doRotateZLocal(Math:: Rad<T> angle) virtual private
Polymorphic implementation for rotateZLocal()
Default implementation calls rotateLocal() with Math::