31 #include <libxml/parser.h>
39 #define square(x) ((x)*(x))
162 void SetId (gchar
const *Id);
166 gchar
const *
GetId ()
const {
return m_Id;}
263 virtual xmlNodePtr
Save (xmlDocPtr xml)
const;
280 virtual bool Load (xmlNodePtr node);
289 virtual void Move (
double x,
double y,
double z = 0.);
309 bool SaveChildren (xmlDocPtr xml, xmlNodePtr node)
const;
315 void SaveId (xmlNodePtr node)
const;
326 xmlNodePtr
GetNodeByProp (xmlNodePtr node,
char const *Property,
char const *Id);
336 xmlNodePtr
GetNextNodeByProp (xmlNodePtr node,
char const *Property,
char const *Id);
382 virtual bool Build (std::list<Object*>& Children)
throw (std::invalid_argument);
432 void Lock (
bool state =
true);
497 virtual bool SetProperty (
unsigned property,
char const *value);
505 virtual std::string
GetProperty (
unsigned property)
const;
521 virtual void Clear ();
526 virtual std::string
Name ();
613 static void AddRule (
const std::string& type1,
RuleId rule,
const std::string& type2);
629 static const std::set<TypeId>&
GetRules (
const std::string& type,
RuleId rule);
666 Object* RealGetDescendant (
const gchar* Id)
const;
672 std::map<std::string, Object*> m_Children;
673 std::set<Object*> m_Links;
689 #endif //GCU_OBJECT_H