32#ifndef DVD_TRANSFORM_INL_
33#define DVD_TRANSFORM_INL_
39 setPosition(position.x, position.y, position.z);
44 _translation.set(x, y, z);
49 setPosition(positionX, _translation.y, _translation.z);
53 setPosition(_translation.x, positionY, _translation.z);
58 setPosition(_translation.x, _translation.y, positionZ);
69 _orientation.fromAxisAngle(axis, degrees);
70 _orientation.normalize();
76 _orientation.fromEuler(pitch, yaw, roll);
81 _orientation.set(quat);
82 _orientation.normalize();
87 _translation += axisFactors;
92 _scale *= axisFactors;
111 setRotation(quat * _orientation);
122 setScale(
vec3<F32>(amount, _scale.y, _scale.z));
126 setScale(
vec3<F32>(_scale.x, amount, _scale.z));
130 setScale(
vec3<F32>(_scale.x, _scale.y, amount));
135 scale(
vec3<F32>(amount, _scale.y, _scale.z));
139 scale(
vec3<F32>(_scale.x, amount, _scale.z));
143 scale(
vec3<F32>(_scale.x, _scale.y, amount));
178 scaleOut.set(_scale);
183 posOut.set(_translation);
188 quatOut.set(_orientation);
192 return _scale.isUniform(tolerance);
196 setValues(*transform);
201 _translation = values._translation;
202 _scale = values._scale;
203 _orientation = values._orientation;
void normalize() noexcept
normalizing a quaternion works similar to a vector. This method will not
void slerp(const Quaternion &q, F32 t) noexcept
Handle console commands that start with a forward slash.
constexpr F32 to_F32(const T value)