Wildvine Engine
Referencia Doxygen del codigo propio de Wildvine Engine.
Cargando...
Buscando...
Nada coincide
Referencia de la clase SceneGraph

Administra la jerarquia de entidades y su actualizacion espacial. Más...

#include <SceneGraph.h>

+ Diagrama de colaboración de SceneGraph:

Métodos públicos

void addEntity (Entity *e)
 Registra una entidad dentro del grafo.
 
bool attach (Entity *child, Entity *parent)
 
void destroy ()
 
bool detach (Entity *child)
 
void gatherRenderScene (RenderScene &outScene, const Camera &camera)
 
void init ()
 
bool isAncestor (Entity *possibleAncestor, Entity *node) const
 
void removeEntity (Entity *e)
 Elimina una entidad del grafo si esta registrada.
 
void render (DeviceContext &deviceContext)
 
 SceneGraph ()=default
 
void update (float deltaTime, DeviceContext &deviceContext)
 
 ~SceneGraph ()=default
 

Atributos públicos

std::vector< Entity * > m_entities
 Entidades registradas en el grafo.
 

Métodos privados

bool isRegistered (Entity *e) const
 
bool isRoot (Entity *e) const
 
void updateWorldRecursive (Entity *node, const XMMATRIX &parentWorld)
 

Descripción detallada

El SceneGraph registra entidades, resuelve relaciones padre-hijo y actualiza las matrices de mundo antes de generar la informacion necesaria para render.

Definición en la línea 21 del archivo SceneGraph.h.

Documentación de constructores y destructores

◆ SceneGraph()

SceneGraph::SceneGraph ( )
default

◆ ~SceneGraph()

SceneGraph::~SceneGraph ( )
default

Documentación de funciones miembro

◆ addEntity()

void SceneGraph::addEntity ( Entity e)
Parámetros
eEntidad a registrar.

Definición en la línea 38 del archivo SceneGraph.cpp.

Hace referencia a Entity::addComponent(), Entity::getComponent(), init(), isRegistered() y m_entities.

Referenciado por attach() y BaseApp::init().

◆ attach()

bool SceneGraph::attach ( Entity child,
Entity parent 
)

◆ destroy()

void SceneGraph::destroy ( )

Definición en la línea 22 del archivo SceneGraph.cpp.

Hace referencia a m_entities y HierarchyComponent::m_parent.

Referenciado por BaseApp::destroy().

◆ detach()

bool SceneGraph::detach ( Entity child)

Definición en la línea 156 del archivo SceneGraph.cpp.

Hace referencia a Entity::getComponent() y HierarchyComponent::removeChild().

Referenciado por attach() y removeEntity().

◆ gatherRenderScene()

◆ init()

void SceneGraph::init ( )

Definición en la línea 18 del archivo SceneGraph.cpp.

Hace referencia a m_entities.

Referenciado por addEntity() y BaseApp::awake().

◆ isAncestor()

bool SceneGraph::isAncestor ( Entity possibleAncestor,
Entity node 
) const

Definición en la línea 98 del archivo SceneGraph.cpp.

Hace referencia a Entity::getComponent().

Referenciado por attach().

◆ isRegistered()

bool SceneGraph::isRegistered ( Entity e) const
private

Definición en la línea 124 del archivo SceneGraph.cpp.

Hace referencia a m_entities.

Referenciado por addEntity() y removeEntity().

◆ isRoot()

bool SceneGraph::isRoot ( Entity e) const
private

Definición en la línea 116 del archivo SceneGraph.cpp.

Hace referencia a Entity::getComponent().

Referenciado por update().

◆ removeEntity()

void SceneGraph::removeEntity ( Entity e)
Parámetros
eEntidad a retirar.

Definición en la línea 60 del archivo SceneGraph.cpp.

Hace referencia a detach(), Entity::getComponent(), isRegistered(), HierarchyComponent::m_children, m_entities y HierarchyComponent::m_parent.

◆ render()

void SceneGraph::render ( DeviceContext deviceContext)

Definición en la línea 213 del archivo SceneGraph.cpp.

Hace referencia a m_entities.

◆ update()

void SceneGraph::update ( float  deltaTime,
DeviceContext deviceContext 
)

Definición en la línea 175 del archivo SceneGraph.cpp.

Hace referencia a isRoot(), m_entities y updateWorldRecursive().

Referenciado por BaseApp::update().

◆ updateWorldRecursive()

void SceneGraph::updateWorldRecursive ( Entity node,
const XMMATRIX &  parentWorld 
)
private

Definición en la línea 195 del archivo SceneGraph.cpp.

Hace referencia a Entity::getComponent() y updateWorldRecursive().

Referenciado por update() y updateWorldRecursive().

Documentación de datos miembro

◆ m_entities

std::vector<Entity*> SceneGraph::m_entities

Definición en la línea 77 del archivo SceneGraph.h.

Referenciado por addEntity(), destroy(), gatherRenderScene(), init(), isRegistered(), removeEntity(), render() y update().


La documentación de esta clase está generada de los siguientes archivos: