00001 #ifndef __SG_NODE_H 00002 #define __SG_NODE_H 00003 00004 #include "SG_Spatial.h" 00005 00006 #include <vector> 00007 00008 typedef std::vector<SG_Spatial*> SpatialList; 00009 00010 class SG_Node : public SG_Spatial 00011 { 00012 00013 public: 00014 SG_Node(void* clientobj,void* clientinfo,SG_Callbacks callbacks); 00015 virtual ~SG_Node(); 00016 00017 //protected: // not yet ? 00018 void AddChild(SG_Spatial* child); 00019 void RemoveChild(SG_Spatial* child); 00020 virtual void UpdateWorldData(double time); 00021 SpatialList& GetSGChildren(); 00022 void ClearSGChildren(); 00023 virtual SG_IObject* GetSGReplica(); 00024 virtual void ProcessSGReplica(SG_IObject* replica); 00025 virtual void Destruct(); 00026 private: 00027 SpatialList m_children; 00028 }; 00029 #endif //__SG_NODE_H