Base class for components in the Ragot engine. More...
#include <Components.hpp>


Public Member Functions | |
| Component ()=default | |
| Default constructor for the Component class. | |
| virtual | ~Component ()=default |
| Default virtual destructor for the Component class. | |
| Component (const Component &)=delete | |
| Deleted copy constructor for the Component class. | |
| Component (const Component &&)=delete | |
| Deleted move constructor for the Component class. | |
| Component & | operator= (const Component &)=delete |
| Deleted assignment operator for the Component class. | |
| Component & | operator= (const Component &&)=delete |
| Deleted move assignment operator for the Component class. | |
| void | add_component (std::shared_ptr< Component > component) |
| Adds a component to the collection. | |
| void | remove_component (std::shared_ptr< Component > component) |
| Removes a component from the collection. | |
| const std::vector< std::shared_ptr< Component > > | get_components () const |
| Gets the collection of components. | |
Public Member Functions inherited from Ragot::Node | |
| Node ()=default | |
| Default constructor for Node. Initializes an empty node with no parent and no children. | |
| virtual | ~Node ()=default |
| Default destructor for Node. Cleans up the node and its children. | |
| Node (const Node &)=delete | |
| Deleted copy constructor for Node. Prevents copying of Node instances. | |
| Node (const Node &&)=delete | |
| Deleted move constructor for Node. Prevents moving of Node instances. | |
| Node & | operator= (const Node &)=delete |
| Deleted assignment operator for Node. Prevents assignment of Node instances. | |
| Node & | operator= (const Node &&)=delete |
| Deleted move assignment operator for Node. Prevents moving of Node instances. | |
| void | add_child (std::shared_ptr< Node > child) |
| Get the parent node. | |
| void | remove_child (std::shared_ptr< Node > child) |
| Remove a child node. | |
| const std::vector< std::shared_ptr< Node > > & | get_children () const |
| Get the parent node. | |
| mat4 | get_transform_matrix () override |
| Get the transform matrix object. | |
Public Member Functions inherited from Ragot::Transform | |
| Transform () | |
| Default constructor for the Transform class. | |
| virtual | ~Transform ()=default |
| Virtual destructor for the Transform class. | |
| void | set_position (const vec3 &pos) |
| Sets the position of the object. | |
| vec3 | get_position () const |
| Gets the current position of the object. | |
| void | set_rotation (const vec3 &rot) |
| Moves the object by a specified vector. | |
| vec3 | get_rotation () const |
| Gets the current rotation of the object. | |
| void | rotate (const float angle, const vec3 &axis) |
| Rotates the object by a specified angle around a given axis. | |
| void | set_scale (const vec3 &scale) |
| Sets the scale of the object. | |
| vec3 | get_scale () const |
| Sets the scale of the object uniformly. | |
| bool | is_dirty () const |
| Checks if the transformation matrix is dirty (needs recalculation). | |
Protected Attributes | |
| std::vector< std::shared_ptr< Component > > | components |
| Collection of components managed by this Component instance. | |
Protected Attributes inherited from Ragot::Node | |
| std::vector< std::shared_ptr< Node > > | children |
| List of child nodes. | |
| Node * | parent = nullptr |
| Pointer to the parent node. | |
Protected Attributes inherited from Ragot::Transform | |
| vec3 | position |
| The position of the object in 3D space. | |
| vec3 | rotation |
| The rotation of the object in degrees around each axis (x, y, z). | |
| vec3 | scale |
| The scale of the object in 3D space, default is (1, 1, 1). | |
| bool | dirty = true |
| Flag indicating whether the transformation matrix needs to be recalculated. | |
Base class for components in the Ragot engine.
The Component class serves as a base class for all components in the Ragot engine. It allows for the management of a collection of components, providing methods to add and remove components, and access the list of components.
|
default |
Default constructor for the Component class.
Initializes an empty component with no parent.

|
virtualdefault |
Default virtual destructor for the Component class.
Cleans up the component and its resources.
|
delete |
|
delete |
|
inline |
Adds a component to the collection.
This method adds a shared pointer to a component to the collection and sets its parent to this Component instance.
| component | Shared pointer to the component to be added. |
|
inline |
Gets the collection of components.
This method returns a constant reference to the vector of components managed by this Component instance.
|
inline |
Removes a component from the collection.
This method removes a shared pointer to a component from the collection and sets its parent to nullptr.
| component | Shared pointer to the component to be removed. |
|
protected |