|
Infinity Engine v0.6.20
C++ API Documentation
|
Complete 3D spatial transformation combining position, rotation, and scale. More...
#include <Transform.hpp>
Public Attributes | |
| Infinity::Types::Math::Vector3 | position {0.0f, 0.0f, 0.0f} |
| World-space position (translation). | |
| Infinity::Types::Math::Vector4 | rotation {0.0f, 0.0f, 0.0f, 1.0f} |
| Orientation as a quaternion. | |
| Infinity::Types::Math::Vector3 | scale {1.0f, 1.0f, 1.0f} |
| Non-uniform scale factors along each axis. | |
Complete 3D spatial transformation combining position, rotation, and scale.
Transform represents a full 3D transformation using the standard TRS (Translation, Rotation, Scale) decomposition. This is the fundamental representation for object placement, orientation, and sizing throughout the Infinity Engine's procedural generation systems.
The transform uses:
This decomposition allows for intuitive manipulation while maintaining numerical stability and avoiding gimbal lock issues associated with Euler angles. Quaternion representation enables smooth interpolation and efficient composition.
Common use cases in procedural generation:
Example usage:
| Infinity::Types::Math::Vector3 Infinity::Types::Spatial::Transform::position {0.0f, 0.0f, 0.0f} |
World-space position (translation).
3D vector representing the position of the transformed object in world space. Default: (0, 0, 0) - origin
| Infinity::Types::Math::Vector4 Infinity::Types::Spatial::Transform::rotation {0.0f, 0.0f, 0.0f, 1.0f} |
Orientation as a quaternion.
4D vector representing rotation as a quaternion (x, y, z, w). Quaternions avoid gimbal lock and provide smooth interpolation. Default: (0, 0, 0, 1) - identity rotation (no rotation)
| Infinity::Types::Math::Vector3 Infinity::Types::Spatial::Transform::scale {1.0f, 1.0f, 1.0f} |
Non-uniform scale factors along each axis.
3D vector representing scale multipliers for x, y, and z axes. Default: (1, 1, 1) - no scaling (identity scale)