summaryrefslogtreecommitdiff
path: root/ddl/out/LambdaCube.Mesh.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ddl/out/LambdaCube.Mesh.cs')
-rw-r--r--ddl/out/LambdaCube.Mesh.cs529
1 files changed, 529 insertions, 0 deletions
diff --git a/ddl/out/LambdaCube.Mesh.cs b/ddl/out/LambdaCube.Mesh.cs
new file mode 100644
index 0000000..62b8d29
--- /dev/null
+++ b/ddl/out/LambdaCube.Mesh.cs
@@ -0,0 +1,529 @@
1// generated file, do not modify!
2// 2016-03-21T11:41:52.391032000000Z
3
4using System;
5using System.Linq;
6using System.Collections.Generic;
7using Newtonsoft.Json.Linq;
8
9
10namespace LambdaCube.Mesh {
11 class MeshAttribute {
12 public enum Tag {
13 A_Float,
14 A_V2F,
15 A_V3F,
16 A_V4F,
17 A_M22F,
18 A_M33F,
19 A_M44F,
20 A_Int,
21 A_Word
22 };
23 public Tag tag;
24 };
25
26 namespace data {
27 class A_Float : LambdaCube.Mesh.MeshAttribute {
28 public List<float> _0;
29 public A_Float() { tag = LambdaCube.Mesh.MeshAttribute.Tag.A_Float; }
30 };
31 class A_V2F : LambdaCube.Mesh.MeshAttribute {
32 public List<V2<float>> _0;
33 public A_V2F() { tag = LambdaCube.Mesh.MeshAttribute.Tag.A_V2F; }
34 };
35 class A_V3F : LambdaCube.Mesh.MeshAttribute {
36 public List<V3<float>> _0;
37 public A_V3F() { tag = LambdaCube.Mesh.MeshAttribute.Tag.A_V3F; }
38 };
39 class A_V4F : LambdaCube.Mesh.MeshAttribute {
40 public List<V4<float>> _0;
41 public A_V4F() { tag = LambdaCube.Mesh.MeshAttribute.Tag.A_V4F; }
42 };
43 class A_M22F : LambdaCube.Mesh.MeshAttribute {
44 public List<V2<V2<float>>> _0;
45 public A_M22F() { tag = LambdaCube.Mesh.MeshAttribute.Tag.A_M22F; }
46 };
47 class A_M33F : LambdaCube.Mesh.MeshAttribute {
48 public List<V3<V3<float>>> _0;
49 public A_M33F() { tag = LambdaCube.Mesh.MeshAttribute.Tag.A_M33F; }
50 };
51 class A_M44F : LambdaCube.Mesh.MeshAttribute {
52 public List<V4<V4<float>>> _0;
53 public A_M44F() { tag = LambdaCube.Mesh.MeshAttribute.Tag.A_M44F; }
54 };
55 class A_Int : LambdaCube.Mesh.MeshAttribute {
56 public List<int> _0;
57 public A_Int() { tag = LambdaCube.Mesh.MeshAttribute.Tag.A_Int; }
58 };
59 class A_Word : LambdaCube.Mesh.MeshAttribute {
60 public List<uint> _0;
61 public A_Word() { tag = LambdaCube.Mesh.MeshAttribute.Tag.A_Word; }
62 };
63 }
64 class MeshPrimitive {
65 public enum Tag {
66 P_Points,
67 P_TriangleStrip,
68 P_Triangles,
69 P_TriangleStripI,
70 P_TrianglesI
71 };
72 public Tag tag;
73 };
74
75 namespace data {
76 class P_TriangleStripI : LambdaCube.Mesh.MeshPrimitive {
77 public List<int> _0;
78 public P_TriangleStripI() { tag = LambdaCube.Mesh.MeshPrimitive.Tag.P_TriangleStripI; }
79 };
80 class P_TrianglesI : LambdaCube.Mesh.MeshPrimitive {
81 public List<int> _0;
82 public P_TrianglesI() { tag = LambdaCube.Mesh.MeshPrimitive.Tag.P_TrianglesI; }
83 };
84 }
85 class Mesh {
86 public enum Tag {
87 Mesh
88 };
89 public Tag tag;
90 };
91
92 namespace data {
93 class Mesh : LambdaCube.Mesh.Mesh {
94 public Dictionary<string, global::LambdaCube.Mesh.MeshAttribute> mAttributes;
95 public global::LambdaCube.Mesh.MeshPrimitive mPrimitive;
96 public Mesh() { tag = LambdaCube.Mesh.Mesh.Tag.Mesh; }
97 };
98 }
99
100 // JSON deserializer
101 enum Type {
102 Int32,
103 Word32,
104 Float,
105 String,
106 V2_Float,
107 V2_V2_Float,
108 V3_Float,
109 V3_V3_Float,
110 V4_Float,
111 V4_V4_Float,
112 Array_Int32,
113 Array_Word32,
114 Array_Float,
115 Array_V2_Float,
116 Array_V2_V2_Float,
117 Array_V3_Float,
118 Array_V3_V3_Float,
119 Array_V4_Float,
120 Array_V4_V4_Float,
121 Map_String_MeshAttribute,
122 Mesh,
123 MeshAttribute,
124 MeshPrimitive
125 }
126
127 class Loader {
128 public static object fromJSON(Type type, JToken obj) {
129 switch (type) {
130 case Type.Int32: return (int)obj;
131 case Type.Word32: return (uint)obj;
132 case Type.Float: return (float)obj;
133 case Type.String: return (string)obj;
134 case Type.V2_Float:
135 return new V2<float>
136 { x = (float)fromJSON(Type.Float,obj["x"])
137 , y = (float)fromJSON(Type.Float,obj["y"])
138 };
139 case Type.V2_V2_Float:
140 return new V2<V2<float>>
141 { x = (V2<float>)fromJSON(Type.V2_Float,obj["x"])
142 , y = (V2<float>)fromJSON(Type.V2_Float,obj["y"])
143 };
144 case Type.V3_Float:
145 return new V3<float>
146 { x = (float)fromJSON(Type.Float,obj["x"])
147 , y = (float)fromJSON(Type.Float,obj["y"])
148 , z = (float)fromJSON(Type.Float,obj["z"])
149 };
150 case Type.V3_V3_Float:
151 return new V3<V3<float>>
152 { x = (V3<float>)fromJSON(Type.V3_Float,obj["x"])
153 , y = (V3<float>)fromJSON(Type.V3_Float,obj["y"])
154 , z = (V3<float>)fromJSON(Type.V3_Float,obj["z"])
155 };
156 case Type.V4_Float:
157 return new V4<float>
158 { x = (float)fromJSON(Type.Float,obj["x"])
159 , y = (float)fromJSON(Type.Float,obj["y"])
160 , z = (float)fromJSON(Type.Float,obj["z"])
161 , w = (float)fromJSON(Type.Float,obj["w"])
162 };
163 case Type.V4_V4_Float:
164 return new V4<V4<float>>
165 { x = (V4<float>)fromJSON(Type.V4_Float,obj["x"])
166 , y = (V4<float>)fromJSON(Type.V4_Float,obj["y"])
167 , z = (V4<float>)fromJSON(Type.V4_Float,obj["z"])
168 , w = (V4<float>)fromJSON(Type.V4_Float,obj["w"])
169 };
170 case Type.Array_Int32: return ((JArray)obj).Select(x => fromJSON (Type.Int32, x)).ToList();
171 case Type.Array_Word32: return ((JArray)obj).Select(x => fromJSON (Type.Word32, x)).ToList();
172 case Type.Array_Float: return ((JArray)obj).Select(x => fromJSON (Type.Float, x)).ToList();
173 case Type.Array_V2_Float: return ((JArray)obj).Select(x => fromJSON (Type.V2_Float, x)).ToList();
174 case Type.Array_V2_V2_Float: return ((JArray)obj).Select(x => fromJSON (Type.V2_V2_Float, x)).ToList();
175 case Type.Array_V3_Float: return ((JArray)obj).Select(x => fromJSON (Type.V3_Float, x)).ToList();
176 case Type.Array_V3_V3_Float: return ((JArray)obj).Select(x => fromJSON (Type.V3_V3_Float, x)).ToList();
177 case Type.Array_V4_Float: return ((JArray)obj).Select(x => fromJSON (Type.V4_Float, x)).ToList();
178 case Type.Array_V4_V4_Float: return ((JArray)obj).Select(x => fromJSON (Type.V4_V4_Float, x)).ToList();
179 case Type.Map_String_MeshAttribute: {
180 var map = new Dictionary<string, global::LambdaCube.Mesh.MeshAttribute> ();
181 foreach(var i in (JObject)obj) {
182 map.Add( (string)fromJSON(Type.String,i.Key)
183 , (global::LambdaCube.Mesh.MeshAttribute)fromJSON(Type.MeshAttribute,i.Value));
184 }
185 return map;
186 }
187
188 case Type.MeshAttribute: {
189 string tag = (string)obj["tag"];
190 MeshAttribute.Tag tagType;
191 if (tag == "A_Float") {
192 tagType = MeshAttribute.Tag.A_Float;
193 data.A_Float tv = new data.A_Float();
194 tv._0 = (List<float>)fromJSON(Type.Array_Float,obj["arg0"]);
195 return tv;
196 }
197 else if (tag == "A_V2F") {
198 tagType = MeshAttribute.Tag.A_V2F;
199 data.A_V2F tv = new data.A_V2F();
200 tv._0 = (List<V2<float>>)fromJSON(Type.Array_V2_Float,obj["arg0"]);
201 return tv;
202 }
203 else if (tag == "A_V3F") {
204 tagType = MeshAttribute.Tag.A_V3F;
205 data.A_V3F tv = new data.A_V3F();
206 tv._0 = (List<V3<float>>)fromJSON(Type.Array_V3_Float,obj["arg0"]);
207 return tv;
208 }
209 else if (tag == "A_V4F") {
210 tagType = MeshAttribute.Tag.A_V4F;
211 data.A_V4F tv = new data.A_V4F();
212 tv._0 = (List<V4<float>>)fromJSON(Type.Array_V4_Float,obj["arg0"]);
213 return tv;
214 }
215 else if (tag == "A_M22F") {
216 tagType = MeshAttribute.Tag.A_M22F;
217 data.A_M22F tv = new data.A_M22F();
218 tv._0 = (List<V2<V2<float>>>)fromJSON(Type.Array_V2_V2_Float,obj["arg0"]);
219 return tv;
220 }
221 else if (tag == "A_M33F") {
222 tagType = MeshAttribute.Tag.A_M33F;
223 data.A_M33F tv = new data.A_M33F();
224 tv._0 = (List<V3<V3<float>>>)fromJSON(Type.Array_V3_V3_Float,obj["arg0"]);
225 return tv;
226 }
227 else if (tag == "A_M44F") {
228 tagType = MeshAttribute.Tag.A_M44F;
229 data.A_M44F tv = new data.A_M44F();
230 tv._0 = (List<V4<V4<float>>>)fromJSON(Type.Array_V4_V4_Float,obj["arg0"]);
231 return tv;
232 }
233 else if (tag == "A_Int") {
234 tagType = MeshAttribute.Tag.A_Int;
235 data.A_Int tv = new data.A_Int();
236 tv._0 = (List<int>)fromJSON(Type.Array_Int32,obj["arg0"]);
237 return tv;
238 }
239 else if (tag == "A_Word") {
240 tagType = MeshAttribute.Tag.A_Word;
241 data.A_Word tv = new data.A_Word();
242 tv._0 = (List<uint>)fromJSON(Type.Array_Word32,obj["arg0"]);
243 return tv;
244 }
245 else throw new Exception("unknown constructor: " + tag);
246 MeshAttribute o = new MeshAttribute();
247 o.tag = tagType;
248 return o;
249 }
250 case Type.MeshPrimitive: {
251 string tag = (string)obj["tag"];
252 MeshPrimitive.Tag tagType;
253 if (tag == "P_Points") {
254 tagType = MeshPrimitive.Tag.P_Points;
255 }
256 else if (tag == "P_TriangleStrip") {
257 tagType = MeshPrimitive.Tag.P_TriangleStrip;
258 }
259 else if (tag == "P_Triangles") {
260 tagType = MeshPrimitive.Tag.P_Triangles;
261 }
262 else if (tag == "P_TriangleStripI") {
263 tagType = MeshPrimitive.Tag.P_TriangleStripI;
264 data.P_TriangleStripI tv = new data.P_TriangleStripI();
265 tv._0 = (List<int>)fromJSON(Type.Array_Int32,obj["arg0"]);
266 return tv;
267 }
268 else if (tag == "P_TrianglesI") {
269 tagType = MeshPrimitive.Tag.P_TrianglesI;
270 data.P_TrianglesI tv = new data.P_TrianglesI();
271 tv._0 = (List<int>)fromJSON(Type.Array_Int32,obj["arg0"]);
272 return tv;
273 }
274 else throw new Exception("unknown constructor: " + tag);
275 MeshPrimitive o = new MeshPrimitive();
276 o.tag = tagType;
277 return o;
278 }
279 case Type.Mesh: {
280 string tag = (string)obj["tag"];
281 Mesh.Tag tagType;
282 if (tag == "Mesh") {
283 tagType = Mesh.Tag.Mesh;
284 data.Mesh tv = new data.Mesh();
285 tv.mAttributes = (Dictionary<string, global::LambdaCube.Mesh.MeshAttribute>)fromJSON(Type.Map_String_MeshAttribute,obj["mAttributes"]);
286 tv.mPrimitive = (global::LambdaCube.Mesh.MeshPrimitive)fromJSON(Type.MeshPrimitive,obj["mPrimitive"]);
287 return tv;
288 }
289 else throw new Exception("unknown constructor: " + tag);
290 Mesh o = new Mesh();
291 o.tag = tagType;
292 return o;
293 }
294 }
295 throw new Exception("unknown type");
296 return null;
297 }
298
299 JToken toJSON(MeshAttribute v) {
300 var obj = new JObject();
301 switch (v.tag) {
302 case MeshAttribute.Tag.A_Float:
303 obj["tag"] = "A_Float";
304 {
305 var tv = (data.A_Float)v;
306 obj["arg0"] = toJSON(tv._0);
307 }
308 break;
309 case MeshAttribute.Tag.A_V2F:
310 obj["tag"] = "A_V2F";
311 {
312 var tv = (data.A_V2F)v;
313 obj["arg0"] = toJSON(tv._0);
314 }
315 break;
316 case MeshAttribute.Tag.A_V3F:
317 obj["tag"] = "A_V3F";
318 {
319 var tv = (data.A_V3F)v;
320 obj["arg0"] = toJSON(tv._0);
321 }
322 break;
323 case MeshAttribute.Tag.A_V4F:
324 obj["tag"] = "A_V4F";
325 {
326 var tv = (data.A_V4F)v;
327 obj["arg0"] = toJSON(tv._0);
328 }
329 break;
330 case MeshAttribute.Tag.A_M22F:
331 obj["tag"] = "A_M22F";
332 {
333 var tv = (data.A_M22F)v;
334 obj["arg0"] = toJSON(tv._0);
335 }
336 break;
337 case MeshAttribute.Tag.A_M33F:
338 obj["tag"] = "A_M33F";
339 {
340 var tv = (data.A_M33F)v;
341 obj["arg0"] = toJSON(tv._0);
342 }
343 break;
344 case MeshAttribute.Tag.A_M44F:
345 obj["tag"] = "A_M44F";
346 {
347 var tv = (data.A_M44F)v;
348 obj["arg0"] = toJSON(tv._0);
349 }
350 break;
351 case MeshAttribute.Tag.A_Int:
352 obj["tag"] = "A_Int";
353 {
354 var tv = (data.A_Int)v;
355 obj["arg0"] = toJSON(tv._0);
356 }
357 break;
358 case MeshAttribute.Tag.A_Word:
359 obj["tag"] = "A_Word";
360 {
361 var tv = (data.A_Word)v;
362 obj["arg0"] = toJSON(tv._0);
363 }
364 break;
365 }
366 return obj;
367 }
368 JToken toJSON(MeshPrimitive v) {
369 var obj = new JObject();
370 switch (v.tag) {
371 case MeshPrimitive.Tag.P_Points:
372 obj["tag"] = "P_Points";
373 break;
374 case MeshPrimitive.Tag.P_TriangleStrip:
375 obj["tag"] = "P_TriangleStrip";
376 break;
377 case MeshPrimitive.Tag.P_Triangles:
378 obj["tag"] = "P_Triangles";
379 break;
380 case MeshPrimitive.Tag.P_TriangleStripI:
381 obj["tag"] = "P_TriangleStripI";
382 {
383 var tv = (data.P_TriangleStripI)v;
384 obj["arg0"] = toJSON(tv._0);
385 }
386 break;
387 case MeshPrimitive.Tag.P_TrianglesI:
388 obj["tag"] = "P_TrianglesI";
389 {
390 var tv = (data.P_TrianglesI)v;
391 obj["arg0"] = toJSON(tv._0);
392 }
393 break;
394 }
395 return obj;
396 }
397 JToken toJSON(Mesh v) {
398 var obj = new JObject();
399 switch (v.tag) {
400 case Mesh.Tag.Mesh:
401 obj["tag"] = "Mesh";
402 {
403 var tv = (data.Mesh)v;
404 obj["mAttributes"] = toJSON(tv.mAttributes);
405 obj["mPrimitive"] = toJSON(tv.mPrimitive);
406 }
407 break;
408 }
409 return obj;
410 }
411
412 JToken toJSON(int v) { return new JValue(v); }
413 JToken toJSON(uint v) { return new JValue(v); }
414 JToken toJSON(float v) { return new JValue(v); }
415 JToken toJSON(string v) { return new JValue(v); }
416 JToken toJSON(V2<float> v) {
417 var obj = new JObject();
418 obj["x"] = toJSON(v.x);
419 obj["y"] = toJSON(v.y);
420 return obj;
421 }
422 JToken toJSON(V2<V2<float>> v) {
423 var obj = new JObject();
424 obj["x"] = toJSON(v.x);
425 obj["y"] = toJSON(v.y);
426 return obj;
427 }
428 JToken toJSON(V3<float> v) {
429 var obj = new JObject();
430 obj["x"] = toJSON(v.x);
431 obj["y"] = toJSON(v.y);
432 obj["z"] = toJSON(v.z);
433 return obj;
434 }
435 JToken toJSON(V3<V3<float>> v) {
436 var obj = new JObject();
437 obj["x"] = toJSON(v.x);
438 obj["y"] = toJSON(v.y);
439 obj["z"] = toJSON(v.z);
440 return obj;
441 }
442 JToken toJSON(V4<float> v) {
443 var obj = new JObject();
444 obj["x"] = toJSON(v.x);
445 obj["y"] = toJSON(v.y);
446 obj["z"] = toJSON(v.z);
447 obj["w"] = toJSON(v.w);
448 return obj;
449 }
450 JToken toJSON(V4<V4<float>> v) {
451 var obj = new JObject();
452 obj["x"] = toJSON(v.x);
453 obj["y"] = toJSON(v.y);
454 obj["z"] = toJSON(v.z);
455 obj["w"] = toJSON(v.w);
456 return obj;
457 }
458 JToken toJSON(List<int> v) {
459 var obj = new JArray();
460 foreach (var i in v) {
461 obj.Add(toJSON(i));
462 }
463 return obj;
464 }
465 JToken toJSON(List<uint> v) {
466 var obj = new JArray();
467 foreach (var i in v) {
468 obj.Add(toJSON(i));
469 }
470 return obj;
471 }
472 JToken toJSON(List<float> v) {
473 var obj = new JArray();
474 foreach (var i in v) {
475 obj.Add(toJSON(i));
476 }
477 return obj;
478 }
479 JToken toJSON(List<V2<float>> v) {
480 var obj = new JArray();
481 foreach (var i in v) {
482 obj.Add(toJSON(i));
483 }
484 return obj;
485 }
486 JToken toJSON(List<V2<V2<float>>> v) {
487 var obj = new JArray();
488 foreach (var i in v) {
489 obj.Add(toJSON(i));
490 }
491 return obj;
492 }
493 JToken toJSON(List<V3<float>> v) {
494 var obj = new JArray();
495 foreach (var i in v) {
496 obj.Add(toJSON(i));
497 }
498 return obj;
499 }
500 JToken toJSON(List<V3<V3<float>>> v) {
501 var obj = new JArray();
502 foreach (var i in v) {
503 obj.Add(toJSON(i));
504 }
505 return obj;
506 }
507 JToken toJSON(List<V4<float>> v) {
508 var obj = new JArray();
509 foreach (var i in v) {
510 obj.Add(toJSON(i));
511 }
512 return obj;
513 }
514 JToken toJSON(List<V4<V4<float>>> v) {
515 var obj = new JArray();
516 foreach (var i in v) {
517 obj.Add(toJSON(i));
518 }
519 return obj;
520 }
521 JToken toJSON(Dictionary<string, global::LambdaCube.Mesh.MeshAttribute> v) {
522 var obj = new JObject();
523 foreach (var i in v) {
524 obj[i.Key] = toJSON(i.Value);
525 }
526 return obj;
527 }
528 }
529}