Warning: That file was not part of the compilation database. It may have many parsing errors.

1/*
2Open Asset Import Library (assimp)
3----------------------------------------------------------------------
4
5Copyright (c) 2006-2017, assimp team
6
7All rights reserved.
8
9Redistribution and use of this software in source and binary forms,
10with or without modification, are permitted provided that the
11following conditions are met:
12
13* Redistributions of source code must retain the above
14copyright notice, this list of conditions and the
15following disclaimer.
16
17* Redistributions in binary form must reproduce the above
18copyright notice, this list of conditions and the
19following disclaimer in the documentation and/or other
20materials provided with the distribution.
21
22* Neither the name of the assimp team, nor the names of its
23contributors may be used to endorse or promote products
24derived from this software without specific prior
25written permission of the assimp team.
26
27THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
30A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
31OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
32SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
33LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
34DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
35THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
36(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
37OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
38
39----------------------------------------------------------------------
40*/
41#ifndef AI_OPENGEXSTRUCTS_H_INC
42#define AI_OPENGEXSTRUCTS_H_INC
43
44#include <string>
45#include <map>
46
47namespace Assimp {
48namespace OpenGEX {
49
50struct Skin;
51struct Object;
52struct LightObject;
53struct CameraObject;
54struct Material;
55struct BoneNode;
56struct BoneCountArray;
57struct BoneIndexArray;
58struct BoneWeightArray;
59
60struct Metric {
61 float m_distance;
62 float m_angle;
63 float m_time;
64 float m_up;
65};
66
67struct VertexArray {
68 std::string arrayAttrib;
69 unsigned int morphIndex;
70};
71
72struct IndexArray {
73 unsigned int materialIndex;
74 unsigned int restartIndex;
75 std::string frontFace;
76};
77
78struct Mesh {
79 unsigned int meshLevel;
80 std::string meshPrimitive;
81 Skin *skinStructure;
82};
83
84struct Node {
85 std::string nodeName;
86};
87
88struct GeometryNode {
89 bool visibleFlag[ 2 ];
90 bool shadowFlag[ 2 ];
91 bool motionBlurFlag[ 2 ];
92};
93
94struct LightNode {
95 bool shadowFlag[ 2 ];
96 const LightObject *lightObjectStructure;
97};
98
99struct CameraNode {
100 const CameraObject *cameraObjectStructure;
101};
102
103struct GeometryObject {
104 Object *object;
105 bool visibleFlag;
106 bool shadowFlag;
107 bool motionBlurFlag;
108 std::map<std::string, Mesh*> meshMap;
109};
110
111struct LightObject {
112 Object *object;
113 std::string typeString;
114 bool shadowFlag;
115};
116
117struct CameraObject {
118 float focalLength;
119 float nearDepth;
120 float farDepth;
121};
122
123struct Matrix {
124 bool objectFlag;
125};
126
127struct Transform {
128 Matrix *matrix;
129 int transformCount;
130 const float *transformArray;
131};
132
133struct Translation {
134 std::string translationKind;
135};
136
137struct Rotation {
138 std::string rotationKind;
139};
140
141struct Scale {
142 std::string scaleKind;
143};
144
145struct Name {
146 std::string name;
147};
148
149struct ObjectRef {
150 Object *targetStructure;
151};
152
153struct MaterialRef {
154 unsigned int materialIndex;
155 const Material *targetStructure;
156};
157
158struct BoneRefArray {
159 int boneCount;
160 const BoneNode **boneNodeArray;
161};
162
163struct BoneCount {
164 int vertexCount;
165 const unsigned short *boneCountArray;
166 unsigned short *arrayStorage;
167};
168
169struct BoneIndex {
170 int boneIndexCount;
171 const unsigned short *boneIndexArray;
172 unsigned short *arrayStorage;
173};
174
175struct BoneWeight {
176 int boneWeightCount;
177 const float *boneWeightArray;
178};
179
180struct Skeleton {
181 const BoneRefArray *boneRefArrayStructure;
182 const Transform *transformStructure;
183};
184
185struct Skin {
186 const Skeleton *skeletonStructure;
187 const BoneCountArray *boneCountArrayStructure;
188 const BoneIndexArray *boneIndexArrayStructure;
189 const BoneWeightArray *boneWeightArrayStructure;
190};
191
192struct Material {
193 bool twoSidedFlag;
194 const char *materialName;
195};
196
197struct Attrib {
198 std::string attribString;
199};
200
201struct Param {
202 float param;
203};
204
205struct Color {
206 float color[ 4 ];
207};
208
209struct Texture {
210 std::string textureName;
211 unsigned int texcoordIndex;
212};
213
214struct Atten {
215 std::string attenKind;
216 std::string curveType;
217
218 float beginParam;
219 float endParam;
220
221 float scaleParam;
222 float offsetParam;
223
224 float constantParam;
225 float linearParam;
226 float quadraticParam;
227
228 float powerParam;
229};
230
231struct Key {
232 std::string keyKind;
233 bool scalarFlag;
234};
235
236struct Curve {
237 std::string curveType;
238 const Key *keyValueStructure;
239 const Key *keyControlStructure[ 2 ];
240 const Key *keyTensionStructure;
241 const Key *keyContinuityStructure;
242 const Key *keyBiasStructure;
243};
244
245struct Animation {
246 int clipIndex;
247 bool beginFlag;
248 bool endFlag;
249 float beginTime;
250 float endTime;
251};
252
253struct OpenGexDataDescription {
254 float distanceScale;
255 float angleScale;
256 float timeScale;
257 int upDirection;
258};
259
260} // Namespace OpenGEX
261} // Namespace Assimp
262
263#endif // AI_OPENGEXSTRUCTS_H_INC
264

Warning: That file was not part of the compilation database. It may have many parsing errors.