Vulkan Schnee
0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
Transform.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <glm/glm.hpp>
4
#include <string>
5
#include <glm/gtc/quaternion.hpp>
6
7
#include <
Engine/Serialization/Serializable.h
>
8
#include <
Engine/Serialization/RegistrarMacro.h
>
9
10
namespace
Engine::Ecs
11
{
12
struct
Transform
;
13
14
class
TransformOperators
15
{
16
private
:
17
struct
MatrixTransformComponent
{
18
glm::vec3
skew
;
19
glm::vec4
perspective
;
20
glm::vec3
translation
;
21
glm::vec3
scale
;
22
glm::quat
rotation
;
23
};
24
25
static
MatrixTransformComponent
extractComponents
(
const
glm::mat4& matrix);
26
27
public
:
28
static
glm::vec3
getPosition
(
const
glm::mat4& matrix);
29
static
glm::quat
getRotation
(
const
glm::mat4& matrix);
30
static
glm::vec3
getRotationEuler
(
const
glm::mat4& matrix);
31
static
glm::vec3
getScale
(
const
glm::mat4& matrix);
32
33
static
void
setPosition
(
Ecs::Transform
& transform,
const
glm::vec3& newPosition);
34
static
void
setRotation
(
Ecs::Transform
& transform,
const
glm::vec3& newRotation);
35
static
void
setRotation
(
Ecs::Transform
& transform,
const
glm::quat& newQuaternion);
36
static
void
setScale
(
Ecs::Transform
& transform,
const
glm::vec3& newScale);
37
};
38
}
RegistrarMacro.h
Serializable.h
Engine::Ecs::TransformOperators
Definition
Transform.h:15
Engine::Ecs::TransformOperators::getPosition
static glm::vec3 getPosition(const glm::mat4 &matrix)
Engine::Ecs::TransformOperators::setRotation
static void setRotation(Ecs::Transform &transform, const glm::vec3 &newRotation)
Engine::Ecs::TransformOperators::getRotation
static glm::quat getRotation(const glm::mat4 &matrix)
Engine::Ecs::TransformOperators::setScale
static void setScale(Ecs::Transform &transform, const glm::vec3 &newScale)
Engine::Ecs::TransformOperators::setPosition
static void setPosition(Ecs::Transform &transform, const glm::vec3 &newPosition)
Engine::Ecs::TransformOperators::getScale
static glm::vec3 getScale(const glm::mat4 &matrix)
Engine::Ecs::TransformOperators::extractComponents
static MatrixTransformComponent extractComponents(const glm::mat4 &matrix)
Engine::Ecs::TransformOperators::setRotation
static void setRotation(Ecs::Transform &transform, const glm::quat &newQuaternion)
Engine::Ecs::TransformOperators::getRotationEuler
static glm::vec3 getRotationEuler(const glm::mat4 &matrix)
Engine::Ecs
Definition
SceneComponent.h:10
Engine::Ecs::TransformOperators::MatrixTransformComponent
Definition
Transform.h:17
Engine::Ecs::TransformOperators::MatrixTransformComponent::skew
glm::vec3 skew
Definition
Transform.h:18
Engine::Ecs::TransformOperators::MatrixTransformComponent::perspective
glm::vec4 perspective
Definition
Transform.h:19
Engine::Ecs::TransformOperators::MatrixTransformComponent::translation
glm::vec3 translation
Definition
Transform.h:20
Engine::Ecs::TransformOperators::MatrixTransformComponent::rotation
glm::quat rotation
Definition
Transform.h:22
Engine::Ecs::TransformOperators::MatrixTransformComponent::scale
glm::vec3 scale
Definition
Transform.h:21
Engine::Ecs::Transform
Definition
EcsData.h:376
Engine
include
Engine
World
Transform.h
Generated by
1.14.0