|
Foray Library
rapid prototyping framework for crossplatform development of vulkan hardware ray tracing applications
|
A scene node. Extends the registry with hierarchical information. More...
#include <foray_node.hpp>
Public Member Functions | |
| Node (Scene *scene, Node *parent=nullptr) | |
| FORAY_PROPERTY_V (Parent) | |
| FORAY_PROPERTY_R (Children) | |
| FORAY_PROPERTY_R (Name) | |
| ncomp::Transform * | GetTransform () |
| template<typename TComponent > | |
| int32_t | FindChildrenWithComponent (std::vector< Node * > &outnodes) |
| template<typename TComponent > | |
| int32_t | FindComponentsRecursive (std::vector< TComponent * > &outnodes) |
| virtual | ~Node () |
Public Member Functions inherited from foray::scene::Registry | |
| Registry () | |
| Registry (CallbackDispatcher *root) | |
| template<typename TComponent , typename... Args> | |
| TComponent * | MakeComponent (Args &&... args) |
| Instantiates a new componente. | |
| template<typename TComponent > | |
| void | AddComponent (TComponent *component) |
| Adds a manually instantiated component instance (initiate with new, Registry manages finalization) | |
| template<typename TComponent > | |
| void | MoveComponent (TComponent *component) |
| Moves a component registered to a different Registry to this. | |
| template<typename TComponent > | |
| bool | HasComponent () const |
| Test wether a component matching type TComponent is registered. | |
| template<typename TComponent > | |
| TComponent * | GetComponent () |
| Gets first component that can be cast to TComponent type. | |
| template<typename TComponent > | |
| const TComponent * | GetComponent () const |
| Gets first component that can be cast to TComponent type. | |
| template<typename TComponent > | |
| int32_t | GetComponents (std::vector< TComponent * > &out) |
| Appends all components which can be cast to TComponent type to the out vector. | |
| template<typename TComponent > | |
| int32_t | GetComponents (std::vector< const TComponent * > &out) const |
| Appends all components which can be cast to TComponent type to the out vector. | |
| bool | RemoveDeleteComponent (Component *component) |
| Removes and finalizes a component. | |
| virtual void | Destroy () |
| Finalizes all attached components. | |
| virtual | ~Registry () |
| Registry & | SetCallbackDispatcher (CallbackDispatcher *rootRegistry) |
| The root registry manages global callbacks invokable on the components. | |
Public Member Functions inherited from foray::NoMoveDefaults | |
| NoMoveDefaults ()=default | |
| NoMoveDefaults (const NoMoveDefaults &other)=delete | |
| NoMoveDefaults (NoMoveDefaults &&other)=default | |
| NoMoveDefaults & | operator= (const NoMoveDefaults &other)=delete |
Protected Attributes | |
| Node * | mParent = nullptr |
| std::vector< Node * > | mChildren = {} |
| std::string | mName = "" |
Protected Attributes inherited from foray::scene::Registry | |
| CallbackDispatcher * | mCallbackDispatcher = nullptr |
| All components attached to the registry. | |
| std::vector< Component * > | mComponents = {} |
Additional Inherited Members | |
Protected Member Functions inherited from foray::scene::Registry | |
| void | Register (Component *component) |
| bool | Unregister (Component *component) |
| void | RegisterToRoot (Component *component) |
| void | UnregisterFromRoot (Component *component) |
A scene node. Extends the registry with hierarchical information.
|
inlinevirtual |
|
inline |
|
inline |
| foray::scene::Node::FORAY_PROPERTY_R | ( | Children | ) |
| foray::scene::Node::FORAY_PROPERTY_R | ( | Name | ) |
| foray::scene::Node::FORAY_PROPERTY_V | ( | Parent | ) |
| ncomp::Transform * foray::scene::Node::GetTransform | ( | ) |
|
protected |
|
protected |