A component is an element that can be updated by a system. It is also linked to some other components in an entity. Each component share a transform through their entity.
More...
#include <Engine/Scene/Component.hpp>
|
| | Component (const std::string &name, Entity *entity) |
| | CONSTRUCTOR.
|
| |
| virtual | ~Component () |
| | DESTRUCTOR.
|
| |
| virtual void | initialize ()=0 |
| | Pure virtual method to be overridden by any component. When this method is called you are guaranteed that all other startup systems have been loaded.
|
| |
| virtual void | setEntity (Entity *entity) |
| | Set entity the component is part of. This method is called by the entity.
|
| |
| virtual Entity * | getEntity () const |
| | Return the entity the component belongs to.
|
| |
| virtual const std::string & | getName () const |
| | Return the component's name.
|
| |
| virtual void | setSystem (System *system) |
| | Set the system to which the component belongs.
|
| |
| virtual System * | getSystem () const |
| | Returns the system to which the component belongs.
|
| |
| Core::Utils::Index | addRenderObject (Rendering::RenderObject *renderObject) |
| | Add a new render object to the component. This adds the RO to the manager for drawing.
|
| |
| void | removeRenderObject (const Core::Utils::Index &roIdx) |
| | Remove the render object from the component.
|
| |
| virtual bool | canEdit (const Core::Utils::Index &) const |
| | Returns true if a transform can be edited with the render object index given as a key.
|
| |
| virtual Core::Transform | getTransform (const Core::Utils::Index &) const |
| | Get the transform associated with the given RO index key.
|
| |
| virtual void | setTransform (const Core::Utils::Index &, const Core::Transform &) |
| | Set the new transform associated with the RO index key.
|
| |
| void | notifyRenderObjectExpired (const Core::Utils::Index &idx) |
| |
| virtual Core::Aabb | computeAabb () |
| |
| void | invalidateAabb () |
| |
| const std::vector< Core::Utils::Index > & | getRenderObjects () |
| |
|
| static Rendering::RenderObjectManager * | getRoMgr () |
| | Shortcut to access the render object manager.
|
| |
A component is an element that can be updated by a system. It is also linked to some other components in an entity. Each component share a transform through their entity.
Definition at line 30 of file Component.hpp.
◆ Component()
| Ra::Engine::Scene::Component::Component |
( |
const std::string & | name, |
|
|
Entity * | entity ) |
◆ ~Component()
| Ra::Engine::Scene::Component::~Component |
( |
| ) |
|
|
virtual |
◆ addRenderObject()
Add a new render object to the component. This adds the RO to the manager for drawing.
Definition at line 41 of file Component.cpp.
◆ canEdit()
| virtual bool Ra::Engine::Scene::Component::canEdit |
( |
const Core::Utils::Index & | | ) |
const |
|
inlinevirtual |
◆ computeAabb()
| Core::Aabb Ra::Engine::Scene::Component::computeAabb |
( |
| ) |
|
|
virtual |
◆ getEntity()
| virtual Entity * Ra::Engine::Scene::Component::getEntity |
( |
| ) |
const |
|
inlinevirtual |
Return the entity the component belongs to.
Definition at line 53 of file Component.hpp.
◆ getName()
| virtual const std::string & Ra::Engine::Scene::Component::getName |
( |
| ) |
const |
|
inlinevirtual |
◆ getRenderObjects()
| const std::vector< Core::Utils::Index > & Ra::Engine::Scene::Component::getRenderObjects |
( |
| ) |
|
|
inline |
◆ getRoMgr()
| Rendering::RenderObjectManager * Ra::Engine::Scene::Component::getRoMgr |
( |
| ) |
|
|
staticprotected |
Shortcut to access the render object manager.
Definition at line 37 of file Component.cpp.
◆ getSystem()
| virtual System * Ra::Engine::Scene::Component::getSystem |
( |
| ) |
const |
|
inlinevirtual |
Returns the system to which the component belongs.
Definition at line 62 of file Component.hpp.
◆ getTransform()
| virtual Core::Transform Ra::Engine::Scene::Component::getTransform |
( |
const Core::Utils::Index & | | ) |
const |
|
inlinevirtual |
◆ initialize()
| virtual void Ra::Engine::Scene::Component::initialize |
( |
| ) |
|
|
pure virtual |
◆ invalidateAabb()
| void Ra::Engine::Scene::Component::invalidateAabb |
( |
| ) |
|
◆ notifyRenderObjectExpired()
| void Ra::Engine::Scene::Component::notifyRenderObjectExpired |
( |
const Core::Utils::Index & | idx | ) |
|
◆ removeRenderObject()
| void Ra::Engine::Scene::Component::removeRenderObject |
( |
const Core::Utils::Index & | roIdx | ) |
|
Remove the render object from the component.
Definition at line 47 of file Component.cpp.
◆ setEntity()
| virtual void Ra::Engine::Scene::Component::setEntity |
( |
Entity * | entity | ) |
|
|
inlinevirtual |
Set entity the component is part of. This method is called by the entity.
- Parameters
-
| entity | The entity the component is part of. |
Definition at line 50 of file Component.hpp.
◆ setSystem()
| virtual void Ra::Engine::Scene::Component::setSystem |
( |
System * | system | ) |
|
|
inlinevirtual |
Set the system to which the component belongs.
Definition at line 59 of file Component.hpp.
◆ setTransform()
| virtual void Ra::Engine::Scene::Component::setTransform |
( |
const Core::Utils::Index & | , |
|
|
const Core::Transform & | ) |
|
inlinevirtual |
◆ m_entity
| Entity* Ra::Engine::Scene::Component::m_entity { nullptr } |
|
protected |
◆ m_name
◆ m_renderObjects
| std::vector<Core::Utils::Index> Ra::Engine::Scene::Component::m_renderObjects |
◆ m_system
| System* Ra::Engine::Scene::Component::m_system { nullptr } |
|
protected |
The documentation for this class was generated from the following files:
- /home/runner/work/Radium-Engine/Radium-Engine/src/Radium-Engine/src/Engine/Scene/Component.hpp
- /home/runner/work/Radium-Engine/Radium-Engine/src/Radium-Engine/src/Engine/Scene/Component.cpp