summaryrefslogtreecommitdiff
path: root/ddl/out/csharp/LambdaCube.Mesh.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ddl/out/csharp/LambdaCube.Mesh.cs')
-rw-r--r--ddl/out/csharp/LambdaCube.Mesh.cs509
1 files changed, 509 insertions, 0 deletions
diff --git a/ddl/out/csharp/LambdaCube.Mesh.cs b/ddl/out/csharp/LambdaCube.Mesh.cs
new file mode 100644
index 0000000..7cc93f3
--- /dev/null
+++ b/ddl/out/csharp/LambdaCube.Mesh.cs
@@ -0,0 +1,509 @@
1// generated file, do not modify!
2// 2016-11-11T11:17:03.517567000000Z
3
4using System;
5using System.Linq;
6using System.Collections.Generic;
7using Newtonsoft.Json.Linq;
8
9
10namespace LambdaCube.Mesh {
11 public 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 public class A_Float : LambdaCube.Mesh.MeshAttribute {
28 public List<float> _0;
29 public A_Float() { tag = LambdaCube.Mesh.MeshAttribute.Tag.A_Float; }
30 };
31 public 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 public 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 public 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 public 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 public 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 public 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 public class A_Int : LambdaCube.Mesh.MeshAttribute {
56 public List<int> _0;
57 public A_Int() { tag = LambdaCube.Mesh.MeshAttribute.Tag.A_Int; }
58 };
59 public 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 public 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 public class P_TriangleStripI : LambdaCube.Mesh.MeshPrimitive {
77 public List<int> _0;
78 public P_TriangleStripI() { tag = LambdaCube.Mesh.MeshPrimitive.Tag.P_TriangleStripI; }
79 };
80 public 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 public class Mesh {
86 public enum Tag {
87 Mesh
88 };
89 public Tag tag;
90 };
91
92 namespace data {
93 public 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 public 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 public 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 => (int)fromJSON (Type.Int32, x)).ToList();
171 case Type.Array_Word32: return ((JArray)obj).Select(x => (uint)fromJSON (Type.Word32, x)).ToList();
172 case Type.Array_Float: return ((JArray)obj).Select(x => (float)fromJSON (Type.Float, x)).ToList();
173 case Type.Array_V2_Float: return ((JArray)obj).Select(x => (V2<float>)fromJSON (Type.V2_Float, x)).ToList();
174 case Type.Array_V2_V2_Float: return ((JArray)obj).Select(x => (V2<V2<float>>)fromJSON (Type.V2_V2_Float, x)).ToList();
175 case Type.Array_V3_Float: return ((JArray)obj).Select(x => (V3<float>)fromJSON (Type.V3_Float, x)).ToList();
176 case Type.Array_V3_V3_Float: return ((JArray)obj).Select(x => (V3<V3<float>>)fromJSON (Type.V3_V3_Float, x)).ToList();
177 case Type.Array_V4_Float: return ((JArray)obj).Select(x => (V4<float>)fromJSON (Type.V4_Float, x)).ToList();
178 case Type.Array_V4_V4_Float: return ((JArray)obj).Select(x => (V4<V4<float>>)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 switch (tag) {
191 case "A_Float": {
192 data.A_Float tv = new data.A_Float();
193 tv._0 = (List<float>)fromJSON(Type.Array_Float,obj["arg0"]);
194 return tv;
195 }
196 case "A_V2F": {
197 data.A_V2F tv = new data.A_V2F();
198 tv._0 = (List<V2<float>>)fromJSON(Type.Array_V2_Float,obj["arg0"]);
199 return tv;
200 }
201 case "A_V3F": {
202 data.A_V3F tv = new data.A_V3F();
203 tv._0 = (List<V3<float>>)fromJSON(Type.Array_V3_Float,obj["arg0"]);
204 return tv;
205 }
206 case "A_V4F": {
207 data.A_V4F tv = new data.A_V4F();
208 tv._0 = (List<V4<float>>)fromJSON(Type.Array_V4_Float,obj["arg0"]);
209 return tv;
210 }
211 case "A_M22F": {
212 data.A_M22F tv = new data.A_M22F();
213 tv._0 = (List<V2<V2<float>>>)fromJSON(Type.Array_V2_V2_Float,obj["arg0"]);
214 return tv;
215 }
216 case "A_M33F": {
217 data.A_M33F tv = new data.A_M33F();
218 tv._0 = (List<V3<V3<float>>>)fromJSON(Type.Array_V3_V3_Float,obj["arg0"]);
219 return tv;
220 }
221 case "A_M44F": {
222 data.A_M44F tv = new data.A_M44F();
223 tv._0 = (List<V4<V4<float>>>)fromJSON(Type.Array_V4_V4_Float,obj["arg0"]);
224 return tv;
225 }
226 case "A_Int": {
227 data.A_Int tv = new data.A_Int();
228 tv._0 = (List<int>)fromJSON(Type.Array_Int32,obj["arg0"]);
229 return tv;
230 }
231 case "A_Word": {
232 data.A_Word tv = new data.A_Word();
233 tv._0 = (List<uint>)fromJSON(Type.Array_Word32,obj["arg0"]);
234 return tv;
235 }
236 default: throw new Exception("unknown constructor: " + tag);
237 }
238 }
239 case Type.MeshPrimitive: {
240 string tag = (string)obj["tag"];
241 MeshPrimitive.Tag tagType;
242 switch (tag) {
243 case "P_Points": tagType = MeshPrimitive.Tag.P_Points; break;
244 case "P_TriangleStrip": tagType = MeshPrimitive.Tag.P_TriangleStrip; break;
245 case "P_Triangles": tagType = MeshPrimitive.Tag.P_Triangles; break;
246 case "P_TriangleStripI": {
247 data.P_TriangleStripI tv = new data.P_TriangleStripI();
248 tv._0 = (List<int>)fromJSON(Type.Array_Int32,obj["arg0"]);
249 return tv;
250 }
251 case "P_TrianglesI": {
252 data.P_TrianglesI tv = new data.P_TrianglesI();
253 tv._0 = (List<int>)fromJSON(Type.Array_Int32,obj["arg0"]);
254 return tv;
255 }
256 default: throw new Exception("unknown constructor: " + tag);
257 }
258 MeshPrimitive o = new MeshPrimitive();
259 o.tag = tagType;
260 return o;
261 }
262 case Type.Mesh: {
263 string tag = (string)obj["tag"];
264 switch (tag) {
265 case "Mesh": {
266 data.Mesh tv = new data.Mesh();
267 tv.mAttributes = (Dictionary<string, global::LambdaCube.Mesh.MeshAttribute>)fromJSON(Type.Map_String_MeshAttribute,obj["mAttributes"]);
268 tv.mPrimitive = (global::LambdaCube.Mesh.MeshPrimitive)fromJSON(Type.MeshPrimitive,obj["mPrimitive"]);
269 return tv;
270 }
271 default: throw new Exception("unknown constructor: " + tag);
272 }
273 }
274 }
275 throw new Exception("unknown type");
276 return null;
277 }
278
279 public static JToken toJSON(MeshAttribute v) {
280 var obj = new JObject();
281 switch (v.tag) {
282 case MeshAttribute.Tag.A_Float:
283 obj["tag"] = "A_Float";
284 {
285 var tv = (data.A_Float)v;
286 obj["arg0"] = toJSON(tv._0);
287 }
288 break;
289 case MeshAttribute.Tag.A_V2F:
290 obj["tag"] = "A_V2F";
291 {
292 var tv = (data.A_V2F)v;
293 obj["arg0"] = toJSON(tv._0);
294 }
295 break;
296 case MeshAttribute.Tag.A_V3F:
297 obj["tag"] = "A_V3F";
298 {
299 var tv = (data.A_V3F)v;
300 obj["arg0"] = toJSON(tv._0);
301 }
302 break;
303 case MeshAttribute.Tag.A_V4F:
304 obj["tag"] = "A_V4F";
305 {
306 var tv = (data.A_V4F)v;
307 obj["arg0"] = toJSON(tv._0);
308 }
309 break;
310 case MeshAttribute.Tag.A_M22F:
311 obj["tag"] = "A_M22F";
312 {
313 var tv = (data.A_M22F)v;
314 obj["arg0"] = toJSON(tv._0);
315 }
316 break;
317 case MeshAttribute.Tag.A_M33F:
318 obj["tag"] = "A_M33F";
319 {
320 var tv = (data.A_M33F)v;
321 obj["arg0"] = toJSON(tv._0);
322 }
323 break;
324 case MeshAttribute.Tag.A_M44F:
325 obj["tag"] = "A_M44F";
326 {
327 var tv = (data.A_M44F)v;
328 obj["arg0"] = toJSON(tv._0);
329 }
330 break;
331 case MeshAttribute.Tag.A_Int:
332 obj["tag"] = "A_Int";
333 {
334 var tv = (data.A_Int)v;
335 obj["arg0"] = toJSON(tv._0);
336 }
337 break;
338 case MeshAttribute.Tag.A_Word:
339 obj["tag"] = "A_Word";
340 {
341 var tv = (data.A_Word)v;
342 obj["arg0"] = toJSON(tv._0);
343 }
344 break;
345 }
346 return obj;
347 }
348 public static JToken toJSON(MeshPrimitive v) {
349 var obj = new JObject();
350 switch (v.tag) {
351 case MeshPrimitive.Tag.P_Points:
352 obj["tag"] = "P_Points";
353 break;
354 case MeshPrimitive.Tag.P_TriangleStrip:
355 obj["tag"] = "P_TriangleStrip";
356 break;
357 case MeshPrimitive.Tag.P_Triangles:
358 obj["tag"] = "P_Triangles";
359 break;
360 case MeshPrimitive.Tag.P_TriangleStripI:
361 obj["tag"] = "P_TriangleStripI";
362 {
363 var tv = (data.P_TriangleStripI)v;
364 obj["arg0"] = toJSON(tv._0);
365 }
366 break;
367 case MeshPrimitive.Tag.P_TrianglesI:
368 obj["tag"] = "P_TrianglesI";
369 {
370 var tv = (data.P_TrianglesI)v;
371 obj["arg0"] = toJSON(tv._0);
372 }
373 break;
374 }
375 return obj;
376 }
377 public static JToken toJSON(Mesh v) {
378 var obj = new JObject();
379 switch (v.tag) {
380 case Mesh.Tag.Mesh:
381 obj["tag"] = "Mesh";
382 {
383 var tv = (data.Mesh)v;
384 obj["mAttributes"] = toJSON(tv.mAttributes);
385 obj["mPrimitive"] = toJSON(tv.mPrimitive);
386 }
387 break;
388 }
389 return obj;
390 }
391
392 public static JToken toJSON(int v) { return new JValue(v); }
393 public static JToken toJSON(uint v) { return new JValue(v); }
394 public static JToken toJSON(float v) { return new JValue(v); }
395 public static JToken toJSON(string v) { return new JValue(v); }
396 public static JToken toJSON(V2<float> v) {
397 var obj = new JObject();
398 obj["x"] = toJSON(v.x);
399 obj["y"] = toJSON(v.y);
400 return obj;
401 }
402 public static JToken toJSON(V2<V2<float>> v) {
403 var obj = new JObject();
404 obj["x"] = toJSON(v.x);
405 obj["y"] = toJSON(v.y);
406 return obj;
407 }
408 public static JToken toJSON(V3<float> v) {
409 var obj = new JObject();
410 obj["x"] = toJSON(v.x);
411 obj["y"] = toJSON(v.y);
412 obj["z"] = toJSON(v.z);
413 return obj;
414 }
415 public static JToken toJSON(V3<V3<float>> v) {
416 var obj = new JObject();
417 obj["x"] = toJSON(v.x);
418 obj["y"] = toJSON(v.y);
419 obj["z"] = toJSON(v.z);
420 return obj;
421 }
422 public static JToken toJSON(V4<float> v) {
423 var obj = new JObject();
424 obj["x"] = toJSON(v.x);
425 obj["y"] = toJSON(v.y);
426 obj["z"] = toJSON(v.z);
427 obj["w"] = toJSON(v.w);
428 return obj;
429 }
430 public static JToken toJSON(V4<V4<float>> v) {
431 var obj = new JObject();
432 obj["x"] = toJSON(v.x);
433 obj["y"] = toJSON(v.y);
434 obj["z"] = toJSON(v.z);
435 obj["w"] = toJSON(v.w);
436 return obj;
437 }
438 public static JToken toJSON(List<int> v) {
439 var obj = new JArray();
440 foreach (var i in v) {
441 obj.Add(toJSON(i));
442 }
443 return obj;
444 }
445 public static JToken toJSON(List<uint> v) {
446 var obj = new JArray();
447 foreach (var i in v) {
448 obj.Add(toJSON(i));
449 }
450 return obj;
451 }
452 public static JToken toJSON(List<float> v) {
453 var obj = new JArray();
454 foreach (var i in v) {
455 obj.Add(toJSON(i));
456 }
457 return obj;
458 }
459 public static JToken toJSON(List<V2<float>> v) {
460 var obj = new JArray();
461 foreach (var i in v) {
462 obj.Add(toJSON(i));
463 }
464 return obj;
465 }
466 public static JToken toJSON(List<V2<V2<float>>> v) {
467 var obj = new JArray();
468 foreach (var i in v) {
469 obj.Add(toJSON(i));
470 }
471 return obj;
472 }
473 public static JToken toJSON(List<V3<float>> v) {
474 var obj = new JArray();
475 foreach (var i in v) {
476 obj.Add(toJSON(i));
477 }
478 return obj;
479 }
480 public static JToken toJSON(List<V3<V3<float>>> v) {
481 var obj = new JArray();
482 foreach (var i in v) {
483 obj.Add(toJSON(i));
484 }
485 return obj;
486 }
487 public static JToken toJSON(List<V4<float>> v) {
488 var obj = new JArray();
489 foreach (var i in v) {
490 obj.Add(toJSON(i));
491 }
492 return obj;
493 }
494 public static JToken toJSON(List<V4<V4<float>>> v) {
495 var obj = new JArray();
496 foreach (var i in v) {
497 obj.Add(toJSON(i));
498 }
499 return obj;
500 }
501 public static JToken toJSON(Dictionary<string, global::LambdaCube.Mesh.MeshAttribute> v) {
502 var obj = new JObject();
503 foreach (var i in v) {
504 obj[i.Key] = toJSON(i.Value);
505 }
506 return obj;
507 }
508 }
509}