Logical scene manager.
More...
#include <OxygenEngine/scene/scene.h>
|
| | Scene () |
| | Default Constructor.
|
| |
| | Scene (const Camera &camera) |
| | Constructor where Camera settings are filled from a reference one.
|
| |
|
NodePtr | addNode () |
| | Generate a new root node in the the scene.
|
| |
| NodePtr | addNamedNode (const std::string &name) |
| | Generate a new root node in the the scene and set a name.
|
| |
| Node * | getNodeById (uint64_t id_node) |
| | Get pointer to a node from its id.
|
| |
| const Node * | getNodeById (uint64_t id_node) const |
| | Get pointer to a node from its id.
|
| |
|
void | deleteNode (NodePtr node) |
| |
|
const std::vector< NodePtr > | getAllNodes () const |
| | Get all nodes in the scene.
|
| |
|
const std::vector< NodePtr > | getRootNodes () const |
| | Get root nodes of the scene.
|
| |
| NodePtr | search (const std::string path, const std::string separator="/") const |
| | Search for a node using a name path.
|
| |
| template<typename ComponentType > |
| void | setCameraFromComponent (ComponentType &component) |
| | Set scene camera using a component providing a camera.
|
| |
|
void | resetCameraToDefault () |
| | Reset scene camera to the default camera.
|
| |
| void | addNodeInGroup (NodePtr node, const NodeType type) |
| | Add a node in a group (For example nodes that need to be in specific pass)
|
| |
|
std::vector< NodePtr > | getNodesByType (const NodeType type) const |
| | Get nodes belonging to a type (For exemple nodes that need to be in specific pass)
|
| |
| void | removeNodeFromGroup (NodePtr node, const NodeType type) |
| | Remove node from specified group.
|
| |
| void | removeNodeFromAllGroups (NodePtr node) |
| | Remove node from all of its groups.
|
| |
|
|
Camera | default_camera |
| |
|
Camera * | camera = nullptr |
| |
| void * | user_data = 0 |
| | Custom user data, you can use it to store flags / pointer / physics / etc... related to this scene.
|
| |
◆ Scene() [1/2]
| oe::scene::Scene::Scene |
( |
| ) |
|
Default Constructor.
- Note
- a 4:3 perspective Camera is used as default one
◆ Scene() [2/2]
| oe::scene::Scene::Scene |
( |
const Camera & |
camera | ) |
|
Constructor where Camera settings are filled from a reference one.
- Parameters
-
| camera | Camera used as source for settings (Position, Projection, etc...) |
- Note
- The camera parameter is sent as const because it won't be used as the default camera (only its settings are copied)
◆ addNamedNode()
| NodePtr oe::scene::Scene::addNamedNode |
( |
const std::string & |
name | ) |
|
|
inline |
Generate a new root node in the the scene and set a name.
- Parameters
-
◆ addNodeInGroup()
| void oe::scene::Scene::addNodeInGroup |
( |
NodePtr |
node, |
|
|
const NodeType |
type |
|
) |
| |
|
inline |
Add a node in a group (For example nodes that need to be in specific pass)
- Note
- A node can be in multiple groups You can call this function multiple times on the same Node
◆ getNodeById() [1/2]
| Node * oe::scene::Scene::getNodeById |
( |
uint64_t |
id_node | ) |
|
|
inline |
Get pointer to a node from its id.
- Note
- It is not recomended to store the resulting pointer as the node address may change during the scene lifetime
- See also
- NodePtr
◆ getNodeById() [2/2]
| const Node * oe::scene::Scene::getNodeById |
( |
uint64_t |
id_node | ) |
const |
|
inline |
Get pointer to a node from its id.
- Note
- It is not recomended to store the resulting pointer as the node address may change during the scene lifetime
- See also
- NodePtr
◆ removeNodeFromAllGroups()
| void oe::scene::Scene::removeNodeFromAllGroups |
( |
NodePtr |
node | ) |
|
|
inline |
Remove node from all of its groups.
- Note
- No errors raised if the node isn't part of any group
◆ removeNodeFromGroup()
| void oe::scene::Scene::removeNodeFromGroup |
( |
NodePtr |
node, |
|
|
const NodeType |
type |
|
) |
| |
|
inline |
Remove node from specified group.
- Note
- No errors raised if the node isn't part of the group
◆ search()
| NodePtr oe::scene::Scene::search |
( |
const std::string |
path, |
|
|
const std::string |
separator = "/" |
|
) |
| const |
|
inline |
Search for a node using a name path.
- Note
- if multiple nodes at same level has same name, only the first one is returned
◆ setCameraFromComponent()
template<typename ComponentType >
| void oe::scene::Scene::setCameraFromComponent |
( |
ComponentType & |
component | ) |
|
|
inline |
Set scene camera using a component providing a camera.
- Note
- If no camera component found on node, this function will silently fail and keep the old camera
◆ user_data
| void* oe::scene::Scene::user_data = 0 |
Custom user data, you can use it to store flags / pointer / physics / etc... related to this scene.
- Note
- OxygenEngine won't touch this member
The documentation for this class was generated from the following file: