#ifndef NODE_H #define NODE_H #include #include "types.h" class Node; // Forwards declare class NodeList : public std::vector { public: void Append(Node *node); }; class Node { public: NodeList children; static Node *GetRoot(); virtual bool IsDrawable() const; virtual void Draw(){}; virtual bool IsTransformable() const; virtual Name GetType() const; private: static Node *root; }; #endif /* NODE_H */