12 #include <libxml/tree.h>
39 MbsRead(MbsWorld3D *world_3d);
42 Base3D* AddSingleMbs(
const char* mbs_filename);
48 xmlNodePtr FirstNode(xmlNodePtr node,
const char* node_name);
49 xmlNodePtr FirstNodeLevel2(xmlNodePtr node,
const char* name_1,
const char* name_2);
50 xmlNodePtr FirstNodeLevel3(xmlNodePtr node,
const char* name_1,
const char* name_2,
const char* name_3);
52 void ListNodes(xmlNodePtr parent_node,
const char* node_name, std::vector<xmlNodePtr> &node_list);
54 int IntNode(xmlNodePtr node, xmlDocPtr doc);
55 float FloatNode(xmlNodePtr node, xmlDocPtr doc);
56 float FloatAttr(xmlAttr* attr, xmlDocPtr doc);
57 float FloatChild(xmlNodePtr parent_node, xmlDocPtr doc,
const char *child_name);
58 void XYZChild(xmlNodePtr parent_node, xmlDocPtr doc,
float &x,
float &y,
float &z);
59 void AttChild(xmlNodePtr parent_node, xmlDocPtr doc,
float &x,
float &y,
float &z);
60 void RGBAttr(xmlNodePtr node, xmlDocPtr doc,
float &R_col,
float &G_col,
float &B_col);
62 AnchorPoint3D* PointExtract(xmlNodePtr point_node, xmlDocPtr doc, Body3D *cur_body);
63 Joint3D* JointExtract(xmlNodePtr joint_node, xmlDocPtr doc, Mbs3DComponent *parent, std::vector<Joint3D*> &joint_list);
64 MbsShape3D* ShapeExtract(xmlNodePtr shape_node, xmlDocPtr doc, Body3D *cur_body, std::string prj_path);
65 MbsViewPoint* ViewPointExtract(xmlNodePtr view_node, xmlDocPtr doc, Base3D *base);
66 MbsPointLight* PointLightExtract(xmlNodePtr light_node, xmlDocPtr doc, Base3D *base);
67 MbsSpotLight* SpotLightExtract(xmlNodePtr light_node, xmlDocPtr doc, Base3D *base);
68 MbsDirLight* DirLightExtract(xmlNodePtr light_node, xmlDocPtr doc, Base3D *base);
70 Mbs3DComponent* ParentLocate(xmlNodePtr node, xmlDocPtr doc, Base3D *base);