Vulkan Schnee 0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
SceneComponent.h
Go to the documentation of this file.
1#pragma once
2#include <entt/entity/entity.hpp>
3#include <glm/mat4x4.hpp>
4#include <glm/gtx/quaternion.hpp>
6
7namespace Ecs
8{
9 struct Parent;
10 struct LocalTransform;
11} // namespace Ecs
12
13namespace EngineCore {
14 class Actor;
15
23 public:
24 explicit SceneComponent(Scene* scene);
25 explicit SceneComponent(Scene* scene, const entt::entity& parent, const glm::mat4& transform);
26 explicit SceneComponent(Scene* scene, const entt::entity& parent, const glm::vec3& position);
27 explicit SceneComponent(Scene* scene, const entt::entity& parent,
28 const glm::vec3& position,
29 const glm::quat& rotation);
30 explicit SceneComponent(Scene* scene, const entt::entity& parent,
31 const glm::vec3& position,
32 const glm::vec3& rotation);
33 explicit SceneComponent(
34 Scene* scene,
35 const entt::entity& parent,
36 const glm::vec3& position,
37 const glm::quat& rotation,
38 const glm::vec3& scale);
39
40 protected:
44 entt::entity component = entt::null;
45
48
49 private:
50 void setParent( const entt::entity& parent);
51 };
52}
An Actor is similar to an EngineCore::Entity. An actor is an Entity with a transform.
Definition Actor.h:24
LogicComponent(Scene *owningScene)
entt::entity component
Stores the data.
void setParent(const entt::entity &parent)
Ecs::LocalTransform * transformComponent
A scene is the overarching structure which can spawn actors.
Definition Scene.h:17
Data structs for the Entity Component System.
Log category system implementation.
Stores parent relationships.
Definition EcsData.h:44