Infinity Engine v0.6.20
C++ API Documentation
Loading...
Searching...
No Matches
Transform.hpp
1#pragma once
2
3#include <Infinity/Types/Core/Value.hpp>
4#include <Infinity/Types/Containers/Array.hpp>
5#include <Infinity/Types/Math/Vector2.hpp>
6#include <Infinity/Types/Math/Vector3.hpp>
7#include <Infinity/Types/Math/Vector4.hpp>
8
10{
83 struct INFINITY_API_PUBLIC Transform
84 {
91 Infinity::Types::Math::Vector3 position {0.0f, 0.0f, 0.0f};
92
104 Infinity::Types::Math::Vector4 rotation {0.0f, 0.0f, 0.0f, 1.0f};
105
116 Infinity::Types::Math::Vector3 scale {1.0f, 1.0f, 1.0f};
117 };
118
129 inline INFINITY_API_TEMPLATE std::ostream& operator<<(std::ostream& out, const Transform& t)
130 {
131 out << t.position << " " << t.rotation << " " << t.scale;
132 return out;
133 }
134
145 inline INFINITY_API_TEMPLATE std::istream& operator>>(std::istream& in, Transform& t)
146 {
147 in >> t.position >> t.rotation >> t.scale;
148 return in;
149 }
150}
151
Dynamic contiguous container for homogeneous elements in the Infinity type system.
Definition Array.hpp:77
Template wrapper for primitive types to integrate with the Infinity type system.
Definition Value.hpp:89
Definition Point.hpp:11
INFINITY_API_TEMPLATE std::istream & operator>>(std::istream &in, Transform &t)
Stream input operator for Transform.
Definition Transform.hpp:145
INFINITY_API_TEMPLATE std::ostream & operator<<(std::ostream &out, const Transform &t)
Stream output operator for Transform.
Definition Transform.hpp:129
Template structure representing a 3-component vector.
Definition Vector3.hpp:82
Template structure representing a 4-component vector.
Definition Vector4.hpp:85
Complete 3D spatial transformation combining position, rotation, and scale.
Definition Transform.hpp:84
Infinity::Types::Math::Vector4 rotation
Orientation as a quaternion.
Definition Transform.hpp:104
Infinity::Types::Math::Vector3 scale
Non-uniform scale factors along each axis.
Definition Transform.hpp:116
Infinity::Types::Math::Vector3 position
World-space position (translation).
Definition Transform.hpp:91