Ylis wrote:
First of all there's CScene, which represents the scene graph
That does not provide enough context to understand the purpose/roll/responsibility of CScene
Ylis wrote:
I need to just define a very loose interface for the minimum required functionality of a node that needs to be implemented ( such as Update, Render, AddChild etc )
It does not seem that AddChild belongs in the same type as Update and Render. Your QuadNode should likely be a template container then you might have an interface containing the Update and Render methods and then you would implement QuadNode root node (your tree) with the interface as the template parameter. interface ISceneEntitiy void Render( canvas or device context etc) void Update(....) tempate class QuadNode { // implements AddChild, Remove, and accessors, iterators for traversing etc. } then somewhere (we don't have enough information to know where) QuadNode _rootNode; then you Player and Sword implement the ISceneEntity interface Then you likely need some Creational Pattern to generate (populate) the tree. Then if the tree is mutable you likely need some Manager to contain the logic of change to the tree. There might be much more than this but again we don't have enough information to go on.
led mike