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 <glm/gtc/quaternion.hpp>
5
6
namespace
Engine::Ecs
7
{
8
struct
Transform
;
9
10
class
TransformOperators
11
{
12
private
:
13
struct
MatrixTransformComponent
{
14
glm::vec3
skew
;
15
glm::vec4
perspective
;
16
glm::vec3
translation
;
17
glm::vec3
scale
;
18
glm::quat
rotation
;
19
};
20
21
static
MatrixTransformComponent
extractComponents
(
const
glm::mat4& matrix);
22
23
public
:
24
static
glm::vec3
getPosition
(
const
glm::mat4& matrix);
25
static
glm::quat
getRotation
(
const
glm::mat4& matrix);
26
static
glm::vec3
getRotationEuler
(
const
glm::mat4& matrix);
27
static
glm::vec3
getScale
(
const
glm::mat4& matrix);
28
29
static
glm::vec3
getForwardVector
(
const
glm::mat4& matrix);
30
static
glm::vec3
getUpVector
(
const
glm::mat4& matrix);
31
static
glm::vec3
getRightVector
(
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
static
void
setFacing
(
Ecs::Transform
& transform,
const
glm::vec3& newFacing);
38
};
39
}
Engine::Ecs::TransformOperators
Definition
Transform.h:11
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::setFacing
static void setFacing(Ecs::Transform &transform, const glm::vec3 &newFacing)
Engine::Ecs::TransformOperators::getRightVector
static glm::vec3 getRightVector(const glm::mat4 &matrix)
Engine::Ecs::TransformOperators::setPosition
static void setPosition(Ecs::Transform &transform, const glm::vec3 &newPosition)
Engine::Ecs::TransformOperators::getForwardVector
static glm::vec3 getForwardVector(const glm::mat4 &matrix)
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::getUpVector
static glm::vec3 getUpVector(const glm::mat4 &matrix)
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:13
Engine::Ecs::TransformOperators::MatrixTransformComponent::skew
glm::vec3 skew
Definition
Transform.h:14
Engine::Ecs::TransformOperators::MatrixTransformComponent::perspective
glm::vec4 perspective
Definition
Transform.h:15
Engine::Ecs::TransformOperators::MatrixTransformComponent::translation
glm::vec3 translation
Definition
Transform.h:16
Engine::Ecs::TransformOperators::MatrixTransformComponent::rotation
glm::quat rotation
Definition
Transform.h:18
Engine::Ecs::TransformOperators::MatrixTransformComponent::scale
glm::vec3 scale
Definition
Transform.h:17
Engine::Ecs::Transform
Definition
EcsData.h:450
Engine
include
Engine
World
Transform.h
Generated by
1.14.0