![]() |
Divide Framework 0.1
A free and open-source 3D Framework under heavy development
|
#include <TransformInterface.h>
Public Member Functions | |
virtual | ~ITransform ()=default |
virtual void | setPosition (const vec3< F32 > &position)=0 |
Set the local X,Y and Z position. | |
virtual void | setPosition (F32 x, F32 y, F32 z)=0 |
Set the local X,Y and Z position. | |
virtual void | setPositionX (F32 positionX)=0 |
Set the object's position on the X axis. | |
virtual void | setPositionY (F32 positionY)=0 |
Set the object's position on the Y axis. | |
virtual void | setPositionZ (F32 positionZ)=0 |
Set the object's position on the Z axis. | |
virtual void | translate (const vec3< F32 > &axisFactors)=0 |
Add the specified translation factors to the current local position. | |
virtual void | setScale (const vec3< F32 > &amount)=0 |
Set the local X,Y and Z scale factors. | |
virtual void | setScaleX (F32 amount)=0 |
Set the scaling factor on the X axis. | |
virtual void | setScaleY (F32 amount)=0 |
Set the scaling factor on the Y axis. | |
virtual void | setScaleZ (F32 amount)=0 |
Set the scaling factor on the Z axis. | |
virtual void | scale (const vec3< F32 > &axisFactors)=0 |
Add the specified scale factors to the current local position. | |
virtual void | scaleX (F32 amount)=0 |
Increase the scaling factor on the X axis by the specified factor. | |
virtual void | scaleY (F32 amount)=0 |
Increase the scaling factor on the Y axis by the specified factor. | |
virtual void | scaleZ (F32 amount)=0 |
Increase the scaling factor on the Z axis by the specified factor. | |
virtual void | setRotation (const vec3< F32 > &axis, Angle::DEGREES< F32 > degrees)=0 |
virtual void | setRotation (Angle::DEGREES< F32 > pitch, Angle::DEGREES< F32 > yaw, Angle::DEGREES< F32 > roll)=0 |
virtual void | setRotation (const Quaternion< F32 > &quat)=0 |
Set the local orientation so that it matches the specified quaternion. | |
virtual void | setRotationX (Angle::DEGREES< F32 > angle)=0 |
virtual void | setRotationY (Angle::DEGREES< F32 > angle)=0 |
virtual void | setRotationZ (Angle::DEGREES< F32 > angle)=0 |
virtual void | rotate (const vec3< F32 > &axis, Angle::DEGREES< F32 > degrees)=0 |
virtual void | rotate (Angle::DEGREES< F32 > pitch, Angle::DEGREES< F32 > yaw, Angle::DEGREES< F32 > roll)=0 |
virtual void | rotate (const Quaternion< F32 > &quat)=0 |
Apply the specified Quaternion rotation starting from the current orientation. | |
virtual void | rotateSlerp (const Quaternion< F32 > &quat, D64 deltaTime)=0 |
Perform a SLERP rotation towards the specified quaternion. | |
virtual void | rotateX (Angle::DEGREES< F32 > angle)=0 |
Rotate on the X axis (Axis-Angle used) by the specified angle (either degrees or radians) | |
virtual void | rotateY (Angle::DEGREES< F32 > angle)=0 |
Rotate on the Y axis (Axis-Angle used) by the specified angle (either degrees or radians) | |
virtual void | rotateZ (Angle::DEGREES< F32 > angle)=0 |
Rotate on the Z axis (Axis-Angle used) by the specified angle (either degrees or radians) | |
void | setScale (F32 amount) |
Set an uniform scale on all three axis. | |
void | setScale (F32 x, F32 y, F32 z) |
Set a scaling factor for each axis. | |
void | setRotationEuler (const vec3< F32 > &euler) |
Set the euler rotation in degrees. | |
void | translate (F32 x, F32 y, F32 z) |
Translate the object on each axis by the specified amount. | |
void | translateX (F32 positionX) |
Translate the object on the X axis by the specified amount. | |
void | translateY (F32 positionY) |
Translate the object on the Y axis by the specified amount. | |
void | translateZ (F32 positionZ) |
Translate the object on the Z axis by the specified amount. | |
void | scale (F32 amount) |
Increase the scaling factor on all three axis by an uniform factor. | |
void | scale (F32 x, F32 y, F32 z) |
Increase the scaling factor on all three axis by the specified amounts. | |
void | rotate (F32 xAxis, F32 yAxis, F32 zAxis, Angle::DEGREES< F32 > degrees) |
Apply an axis-angle rotation. | |
void | rotate (const vec3< F32 > &euler) |
Apply an euler rotation. | |
virtual void | getScale (vec3< F32 > &scaleOut) const =0 |
Return the scale factor. | |
virtual void | getPosition (vec3< F32 > &posOut) const =0 |
Return the position. | |
virtual void | getOrientation (Quaternion< F32 > &quatOut) const =0 |
Return the orientation quaternion. | |
Definition at line 57 of file TransformInterface.h.
|
virtualdefault |
|
pure virtual |
Return the orientation quaternion.
Implemented in Divide::Transform, Divide::TransformComponent, and Divide::PhysXActor.
Return the position.
Implemented in Divide::Transform, Divide::TransformComponent, and Divide::PhysXActor.
Return the scale factor.
Implemented in Divide::Transform, Divide::TransformComponent, and Divide::PhysXActor.
|
pure virtual |
Apply the specified Euler rotation starting from the current orientation. The angles can be in either degrees(default) or radians
Implemented in Divide::Transform, Divide::TransformComponent, Divide::PhysXActor, Divide::TransformComponent, and Divide::PhysXActor.
|
pure virtual |
Apply the specified Quaternion rotation starting from the current orientation.
Implemented in Divide::Transform, Divide::TransformComponent, Divide::PhysXActor, Divide::TransformComponent, and Divide::PhysXActor.
|
pure virtual |
Apply the specified Axis-Angle rotation starting from the current orientation. The angles can be in either degrees(default) or radians
Implemented in Divide::Transform, Divide::TransformComponent, Divide::PhysXActor, Divide::TransformComponent, and Divide::PhysXActor.
Apply an euler rotation.
Definition at line 122 of file TransformInterface.inl.
|
inline |
Apply an axis-angle rotation.
Definition at line 117 of file TransformInterface.inl.
|
pure virtual |
Perform a SLERP rotation towards the specified quaternion.
Implemented in Divide::Transform, Divide::TransformComponent, and Divide::PhysXActor.
|
pure virtual |
Rotate on the X axis (Axis-Angle used) by the specified angle (either degrees or radians)
Implemented in Divide::Transform, Divide::TransformComponent, and Divide::PhysXActor.
|
pure virtual |
Rotate on the Y axis (Axis-Angle used) by the specified angle (either degrees or radians)
Implemented in Divide::Transform, Divide::TransformComponent, and Divide::PhysXActor.
|
pure virtual |
Rotate on the Z axis (Axis-Angle used) by the specified angle (either degrees or radians)
Implemented in Divide::Transform, Divide::TransformComponent, and Divide::PhysXActor.
Add the specified scale factors to the current local position.
Implemented in Divide::Transform, Divide::TransformComponent, and Divide::PhysXActor.
|
inline |
Increase the scaling factor on all three axis by an uniform factor.
Definition at line 107 of file TransformInterface.inl.
Increase the scaling factor on all three axis by the specified amounts.
Definition at line 112 of file TransformInterface.inl.
|
pure virtual |
Increase the scaling factor on the X axis by the specified factor.
Implemented in Divide::Transform, Divide::TransformComponent, and Divide::PhysXActor.
|
pure virtual |
Increase the scaling factor on the Y axis by the specified factor.
Implemented in Divide::Transform, Divide::TransformComponent, and Divide::PhysXActor.
|
pure virtual |
Increase the scaling factor on the Z axis by the specified factor.
Implemented in Divide::Transform, Divide::TransformComponent, and Divide::PhysXActor.
Set the local X,Y and Z position.
Implemented in Divide::Transform, Divide::TransformComponent, Divide::PhysXActor, Divide::TransformComponent, and Divide::PhysXActor.
Set the local X,Y and Z position.
Implemented in Divide::Transform, Divide::TransformComponent, Divide::PhysXActor, Divide::TransformComponent, and Divide::PhysXActor.
|
pure virtual |
Set the object's position on the X axis.
Implemented in Divide::Transform, Divide::TransformComponent, and Divide::PhysXActor.
|
pure virtual |
Set the object's position on the Y axis.
Implemented in Divide::Transform, Divide::TransformComponent, and Divide::PhysXActor.
|
pure virtual |
Set the object's position on the Z axis.
Implemented in Divide::Transform, Divide::TransformComponent, and Divide::PhysXActor.
|
pure virtual |
Set the local orientation using the Euler system. The angles can be in either degrees(default) or radians
Implemented in Divide::Transform, Divide::TransformComponent, Divide::PhysXActor, Divide::TransformComponent, and Divide::PhysXActor.
|
pure virtual |
Set the local orientation so that it matches the specified quaternion.
Implemented in Divide::Transform, Divide::TransformComponent, Divide::PhysXActor, Divide::TransformComponent, and Divide::PhysXActor.
|
pure virtual |
Set the local orientation using the Axis-Angle system. The angle can be in either degrees(default) or radians
Implemented in Divide::Transform, Divide::TransformComponent, Divide::PhysXActor, Divide::TransformComponent, and Divide::PhysXActor.
Set the euler rotation in degrees.
Definition at line 82 of file TransformInterface.inl.
|
pure virtual |
Set the rotation on the X axis (Axis-Angle used) by the specified angle (either degrees or radians)
Implemented in Divide::Transform, Divide::TransformComponent, and Divide::PhysXActor.
|
pure virtual |
Set the rotation on the Y axis (Axis-Angle used) by the specified angle (either degrees or radians)
Implemented in Divide::Transform, Divide::TransformComponent, and Divide::PhysXActor.
|
pure virtual |
Set the rotation on the Z axis (Axis-Angle used) by the specified angle (either degrees or radians)
Implemented in Divide::Transform, Divide::TransformComponent, and Divide::PhysXActor.
Set the local X,Y and Z scale factors.
Implemented in Divide::Transform, Divide::TransformComponent, Divide::TransformComponent, Divide::PhysXActor, and Divide::PhysXActor.
|
inline |
Set an uniform scale on all three axis.
Definition at line 72 of file TransformInterface.inl.
Set a scaling factor for each axis.
Definition at line 77 of file TransformInterface.inl.
|
pure virtual |
Set the scaling factor on the X axis.
Implemented in Divide::Transform, Divide::TransformComponent, and Divide::PhysXActor.
|
pure virtual |
Set the scaling factor on the Y axis.
Implemented in Divide::Transform, Divide::TransformComponent, and Divide::PhysXActor.
|
pure virtual |
Set the scaling factor on the Z axis.
Implemented in Divide::Transform, Divide::TransformComponent, and Divide::PhysXActor.
Add the specified translation factors to the current local position.
Implemented in Divide::Transform, Divide::TransformComponent, and Divide::PhysXActor.
Translate the object on each axis by the specified amount.
Definition at line 87 of file TransformInterface.inl.
|
inline |
Translate the object on the X axis by the specified amount.
Definition at line 92 of file TransformInterface.inl.
|
inline |
Translate the object on the Y axis by the specified amount.
Definition at line 97 of file TransformInterface.inl.
|
inline |
Translate the object on the Z axis by the specified amount.
Definition at line 102 of file TransformInterface.inl.