diff options
author | Csaba Hruska <csaba.hruska@gmail.com> | 2016-11-14 22:32:31 +0100 |
---|---|---|
committer | Csaba Hruska <csaba.hruska@gmail.com> | 2016-11-14 22:32:31 +0100 |
commit | 682b43ffef9e17c41fe03f14b965dda0c46c420a (patch) | |
tree | 6ece24ed7234e4a8025c04956636cb57d0da37a1 /ddl/out/csharp/LambdaCube.Mesh.cs | |
parent | b4874356eb1c3f03dd3256aca94e20b158dcc8e6 (diff) |
generate into separate folders for each language, generates folder hierarchy for haskell and purescript modules
Diffstat (limited to 'ddl/out/csharp/LambdaCube.Mesh.cs')
-rw-r--r-- | ddl/out/csharp/LambdaCube.Mesh.cs | 509 |
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 | |||
4 | using System; | ||
5 | using System.Linq; | ||
6 | using System.Collections.Generic; | ||
7 | using Newtonsoft.Json.Linq; | ||
8 | |||
9 | |||
10 | namespace 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 | } | ||