
Added "Controlled" mesh classes Added Global Lighting Class Added Gamepad controls Split terrain nodes into Height and Perlin classes Fixed Splitmesh node stuff
33 lines
792 B
C++
33 lines
792 B
C++
#pragma once
|
|
#include <list>
|
|
#include "SceneNode.h"
|
|
|
|
class SceneGraph : public SceneNode
|
|
{
|
|
public:
|
|
SceneGraph() : SceneNode(L"Root") {};
|
|
SceneGraph(wstring name) : SceneNode(name) {};
|
|
~SceneGraph(void) {};
|
|
|
|
bool Initialise(void);
|
|
void Update(FXMMATRIX& currentWorldTransformation);
|
|
void Render(void);
|
|
void Shutdown(void);
|
|
|
|
void Add(SceneNodePointer node);
|
|
void Remove(SceneNodePointer node);
|
|
SceneNodePointer Find(wstring name);
|
|
SceneNodePointer GetRootNode();
|
|
SceneNodePointer GetParent();
|
|
SceneNodePointer GetFirstChild();
|
|
|
|
list<SceneNodePointer>& GetChildren();
|
|
|
|
protected:
|
|
// Here you need to add whatever collection you are going to
|
|
// use to store the children of this scene graph
|
|
list<SceneNodePointer> _children;
|
|
};
|
|
|
|
typedef shared_ptr<SceneGraph> SceneGraphPointer;
|