summaryrefslogtreecommitdiff
path: root/ddl/out/Mesh.hpp
blob: ab8c19353b356c7a104c3674a4644b35d81b159f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
// generated file, do not modify!
// 2016-01-18T14:30:08.223471Z

#ifndef HEADER_Mesh_H
#define HEADER_Mesh_H

#include "RT.hpp"


class MeshAttribute {
  public:
    enum class tag { 
      A_Float,
      A_V2F,
      A_V3F,
      A_V4F,
      A_M22F,
      A_M33F,
      A_M44F,
      A_Int,
      A_Word
    } tag;
};
namespace data { 
  class A_Float : public ::MeshAttribute {
    public:
      std::vector<Float> _0;
      A_Float() { tag = tag::A_Float; }
  };
  class A_V2F : public ::MeshAttribute {
    public:
      std::vector<V2F> _0;
      A_V2F() { tag = tag::A_V2F; }
  };
  class A_V3F : public ::MeshAttribute {
    public:
      std::vector<V3F> _0;
      A_V3F() { tag = tag::A_V3F; }
  };
  class A_V4F : public ::MeshAttribute {
    public:
      std::vector<V4F> _0;
      A_V4F() { tag = tag::A_V4F; }
  };
  class A_M22F : public ::MeshAttribute {
    public:
      std::vector<M22F> _0;
      A_M22F() { tag = tag::A_M22F; }
  };
  class A_M33F : public ::MeshAttribute {
    public:
      std::vector<M33F> _0;
      A_M33F() { tag = tag::A_M33F; }
  };
  class A_M44F : public ::MeshAttribute {
    public:
      std::vector<M44F> _0;
      A_M44F() { tag = tag::A_M44F; }
  };
  class A_Int : public ::MeshAttribute {
    public:
      std::vector<Int32> _0;
      A_Int() { tag = tag::A_Int; }
  };
  class A_Word : public ::MeshAttribute {
    public:
      std::vector<Word32> _0;
      A_Word() { tag = tag::A_Word; }
  };
}
class MeshPrimitive {
  public:
    enum class tag { 
      P_Points,
      P_TriangleStrip,
      P_Triangles,
      P_TriangleStripI,
      P_TrianglesI
    } tag;
};
namespace data { 
  class P_TriangleStripI : public ::MeshPrimitive {
    public:
      std::vector<Int32> _0;
      P_TriangleStripI() { tag = tag::P_TriangleStripI; }
  };
  class P_TrianglesI : public ::MeshPrimitive {
    public:
      std::vector<Int32> _0;
      P_TrianglesI() { tag = tag::P_TrianglesI; }
  };
}
class Mesh {
  public:
    enum class tag { 
      Mesh
    } tag;
};
namespace data { 
  class Mesh : public ::Mesh {
    public:
      std::map<String, std::shared_ptr<::MeshAttribute>> mAttributes;
      std::shared_ptr<::MeshPrimitive> mPrimitive;
      Mesh() { tag = tag::Mesh; }
  };
}
#endif