More animation work
[potpourri.git] / include / core / parseactor.h
blob957af6eba9519c1df3db4b77874aaaa7f4363db2
1 // Copyright 2008 Brian Caine
3 // This file is part of Potpourri.
5 // Potpourri is free software: you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation, either version 3 of the License, or
8 // (at your option) any later version.
10 // Potpourri is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTIBILITY of FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
15 // You should have received a copy of the GNU General Public License
16 // along with Potpourri. If not, see <http://www.gnu.org/licenses/>.
19 // NOTES:
20 // An autogenerated xml parser.
22 // Hooray! Shit!
24 #ifndef __PARSEACTOR_H
25 #define __PARSEACTOR_H
27 #include <string>
28 #include <libxml++/libxml++.h>
30 namespace XMLParser
32 namespace parseactor
34 struct pos
36 std::string m_pair;
39 struct graphics
41 std::string m_source;
42 pos m_pos;
43 float m_angle;
46 struct body
48 float m_mass;
49 float m_inertia;
50 bool m_fixed;
53 struct data
55 std::vector<std::string> m_pair;
58 struct offset
60 std::string m_pair;
63 struct poly
65 data m_data;
66 offset m_offset;
67 float m_elasticity;
68 float m_friction;
71 struct circle
73 offset m_offset;
74 float m_radius;
75 float m_elasticity;
76 float m_friction;
79 struct line
81 std::string m_a;
82 std::string m_b;
83 float m_radius;
84 float m_elasticity;
85 float m_friction;
88 struct physics
90 body m_body;
91 std::vector<poly> m_poly;
92 std::vector<circle> m_circle;
93 std::vector<line> m_line;
96 struct reaction
98 std::string m_event;
99 std::string m_script;
102 struct actor
104 std::string m_name;
105 std::vector<graphics> m_graphics;
106 physics m_physics;
107 std::vector<reaction> m_reaction;
110 actor parseactorFromBuffer(std::string);
112 float parseelasticity(xmlpp::Node*);
113 float parsefriction(xmlpp::Node*);
114 actor parseactor(xmlpp::Node*);
115 std::string parseevent(xmlpp::Node*);
116 std::string parsescript(xmlpp::Node*);
117 reaction parsereaction(xmlpp::Node*);
118 std::string parsepair(xmlpp::Node*);
119 std::string parsepair(xmlpp::Node*);
120 float parseradius(xmlpp::Node*);
121 std::string parsepair(xmlpp::Node*);
122 offset parseoffset(xmlpp::Node*);
123 offset parseoffset(xmlpp::Node*);
124 std::string parsepair(xmlpp::Node*);
125 offset parseoffset(xmlpp::Node*);
126 data parsedata(xmlpp::Node*);
127 data parsedata(xmlpp::Node*);
128 offset parseoffset(xmlpp::Node*);
129 poly parsepoly(xmlpp::Node*);
130 float parsemass(xmlpp::Node*);
131 float parseinertia(xmlpp::Node*);
132 bool parsefixed(xmlpp::Node*);
133 body parsebody(xmlpp::Node*);
134 body parsebody(xmlpp::Node*);
135 poly parsepoly(xmlpp::Node*);
136 circle parsecircle(xmlpp::Node*);
137 line parseline(xmlpp::Node*);
138 physics parsephysics(xmlpp::Node*);
139 std::string parsepair(xmlpp::Node*);
140 pos parsepos(xmlpp::Node*);
141 std::string parsesource(xmlpp::Node*);
142 pos parsepos(xmlpp::Node*);
143 float parseangle(xmlpp::Node*);
144 graphics parsegraphics(xmlpp::Node*);
148 #endif