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/purescript/LambdaCube/Mesh.purs | |
parent | b4874356eb1c3f03dd3256aca94e20b158dcc8e6 (diff) |
generate into separate folders for each language, generates folder hierarchy for haskell and purescript modules
Diffstat (limited to 'ddl/out/purescript/LambdaCube/Mesh.purs')
-rw-r--r-- | ddl/out/purescript/LambdaCube/Mesh.purs | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/ddl/out/purescript/LambdaCube/Mesh.purs b/ddl/out/purescript/LambdaCube/Mesh.purs new file mode 100644 index 0000000..7b39700 --- /dev/null +++ b/ddl/out/purescript/LambdaCube/Mesh.purs | |||
@@ -0,0 +1,118 @@ | |||
1 | -- generated file, do not modify! | ||
2 | -- 2016-11-12T12:48:59.903978000000Z | ||
3 | |||
4 | module LambdaCube.Mesh where | ||
5 | import Prelude | ||
6 | import Data.Generic | ||
7 | import Data.Either (Either(..)) | ||
8 | import Data.Maybe (Maybe(..)) | ||
9 | import Data.StrMap (StrMap(..)) | ||
10 | import Data.Map (Map(..)) | ||
11 | import Data.List (List(..)) | ||
12 | import LinearBase | ||
13 | |||
14 | import Data.Argonaut.Encode.Combinators ((~>), (:=)) | ||
15 | import Data.Argonaut.Decode.Combinators ((.?)) | ||
16 | import Data.Argonaut.Core (jsonEmptyObject) | ||
17 | import Data.Argonaut.Printer (printJson) | ||
18 | import Data.Argonaut.Encode (class EncodeJson, encodeJson) | ||
19 | import Data.Argonaut.Decode (class DecodeJson, decodeJson) | ||
20 | |||
21 | |||
22 | data MeshAttribute | ||
23 | = A_Float (Array Float) | ||
24 | | A_V2F (Array V2F) | ||
25 | | A_V3F (Array V3F) | ||
26 | | A_V4F (Array V4F) | ||
27 | | A_M22F (Array M22F) | ||
28 | | A_M33F (Array M33F) | ||
29 | | A_M44F (Array M44F) | ||
30 | | A_Int (Array Int32) | ||
31 | | A_Word (Array Word32) | ||
32 | |||
33 | data MeshPrimitive | ||
34 | = P_Points | ||
35 | | P_TriangleStrip | ||
36 | | P_Triangles | ||
37 | | P_TriangleStripI (Array Int32) | ||
38 | | P_TrianglesI (Array Int32) | ||
39 | |||
40 | data Mesh | ||
41 | = Mesh | ||
42 | { mAttributes :: StrMap MeshAttribute | ||
43 | , mPrimitive :: MeshPrimitive | ||
44 | } | ||
45 | |||
46 | |||
47 | |||
48 | |||
49 | instance encodeJsonMeshAttribute :: EncodeJson MeshAttribute where | ||
50 | encodeJson v = case v of | ||
51 | A_Float arg0 -> "tag" := "A_Float" ~> "arg0" := arg0 ~> jsonEmptyObject | ||
52 | A_V2F arg0 -> "tag" := "A_V2F" ~> "arg0" := arg0 ~> jsonEmptyObject | ||
53 | A_V3F arg0 -> "tag" := "A_V3F" ~> "arg0" := arg0 ~> jsonEmptyObject | ||
54 | A_V4F arg0 -> "tag" := "A_V4F" ~> "arg0" := arg0 ~> jsonEmptyObject | ||
55 | A_M22F arg0 -> "tag" := "A_M22F" ~> "arg0" := arg0 ~> jsonEmptyObject | ||
56 | A_M33F arg0 -> "tag" := "A_M33F" ~> "arg0" := arg0 ~> jsonEmptyObject | ||
57 | A_M44F arg0 -> "tag" := "A_M44F" ~> "arg0" := arg0 ~> jsonEmptyObject | ||
58 | A_Int arg0 -> "tag" := "A_Int" ~> "arg0" := arg0 ~> jsonEmptyObject | ||
59 | A_Word arg0 -> "tag" := "A_Word" ~> "arg0" := arg0 ~> jsonEmptyObject | ||
60 | |||
61 | instance decodeJsonMeshAttribute :: DecodeJson MeshAttribute where | ||
62 | decodeJson json = do | ||
63 | obj <- decodeJson json | ||
64 | tag <- obj .? "tag" | ||
65 | case tag of | ||
66 | "A_Float" -> A_Float <$> obj .? "arg0" | ||
67 | "A_V2F" -> A_V2F <$> obj .? "arg0" | ||
68 | "A_V3F" -> A_V3F <$> obj .? "arg0" | ||
69 | "A_V4F" -> A_V4F <$> obj .? "arg0" | ||
70 | "A_M22F" -> A_M22F <$> obj .? "arg0" | ||
71 | "A_M33F" -> A_M33F <$> obj .? "arg0" | ||
72 | "A_M44F" -> A_M44F <$> obj .? "arg0" | ||
73 | "A_Int" -> A_Int <$> obj .? "arg0" | ||
74 | "A_Word" -> A_Word <$> obj .? "arg0" | ||
75 | _ -> Left ("decodeJsonMeshAttribute - unknown tag: " <> tag) | ||
76 | |||
77 | instance encodeJsonMeshPrimitive :: EncodeJson MeshPrimitive where | ||
78 | encodeJson v = case v of | ||
79 | P_Points -> "tag" := "P_Points" ~> jsonEmptyObject | ||
80 | P_TriangleStrip -> "tag" := "P_TriangleStrip" ~> jsonEmptyObject | ||
81 | P_Triangles -> "tag" := "P_Triangles" ~> jsonEmptyObject | ||
82 | P_TriangleStripI arg0 -> "tag" := "P_TriangleStripI" ~> "arg0" := arg0 ~> jsonEmptyObject | ||
83 | P_TrianglesI arg0 -> "tag" := "P_TrianglesI" ~> "arg0" := arg0 ~> jsonEmptyObject | ||
84 | |||
85 | instance decodeJsonMeshPrimitive :: DecodeJson MeshPrimitive where | ||
86 | decodeJson json = do | ||
87 | obj <- decodeJson json | ||
88 | tag <- obj .? "tag" | ||
89 | case tag of | ||
90 | "P_Points" -> pure P_Points | ||
91 | "P_TriangleStrip" -> pure P_TriangleStrip | ||
92 | "P_Triangles" -> pure P_Triangles | ||
93 | "P_TriangleStripI" -> P_TriangleStripI <$> obj .? "arg0" | ||
94 | "P_TrianglesI" -> P_TrianglesI <$> obj .? "arg0" | ||
95 | _ -> Left ("decodeJsonMeshPrimitive - unknown tag: " <> tag) | ||
96 | |||
97 | instance encodeJsonMesh :: EncodeJson Mesh where | ||
98 | encodeJson v = case v of | ||
99 | Mesh r -> | ||
100 | "tag" := "Mesh" ~> | ||
101 | "mAttributes" := r.mAttributes ~> | ||
102 | "mPrimitive" := r.mPrimitive ~> | ||
103 | jsonEmptyObject | ||
104 | |||
105 | instance decodeJsonMesh :: DecodeJson Mesh where | ||
106 | decodeJson json = do | ||
107 | obj <- decodeJson json | ||
108 | tag <- obj .? "tag" | ||
109 | case tag of | ||
110 | "Mesh" -> do | ||
111 | mAttributes <- obj .? "mAttributes" | ||
112 | mPrimitive <- obj .? "mPrimitive" | ||
113 | pure $ Mesh | ||
114 | { mAttributes:mAttributes | ||
115 | , mPrimitive:mPrimitive | ||
116 | } | ||
117 | _ -> Left ("decodeJsonMesh - unknown tag: " <> tag) | ||
118 | |||