19 #ifndef OST_GFX_NODE_HH
20 #define OST_GFX_NODE_HH
28 #include <boost/enable_shared_from_this.hpp>
39 namespace ost {
namespace gfx {
55 virtual void DeepSwap(
GfxNode& n);
61 virtual void RenderPov(
PovState& pov);
68 virtual int GetType()
const;
76 void Rename(
const String& name);
84 bool IsNameAvailable(
const String& name)
const;
97 void Remove(
const String& name);
99 size_t GetChildCount()
const;
106 bool IsVisible()
const;
108 virtual void ContextSwitch();
112 bool IsAttachedToScene()
const;
127 boost::weak_ptr<GfxNode> parent_;
std::vector< GfxNodeP > GfxNodeVector
boost::shared_ptr< GfxObj > GfxObjP
GfxNodeVector & GetChildren()
const GfxNodeVector & GetChildren() const
#define DLLEXPORT_OST_GFX
std::stack< GfxNode * > Stack
boost::shared_ptr< GfxNode > GfxNodeP