summaryrefslogtreecommitdiff
path: root/libs/assimp/code/AssetLib/OpenGEX/OpenGEXStructs.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/assimp/code/AssetLib/OpenGEX/OpenGEXStructs.h')
-rw-r--r--libs/assimp/code/AssetLib/OpenGEX/OpenGEXStructs.h264
1 files changed, 264 insertions, 0 deletions
diff --git a/libs/assimp/code/AssetLib/OpenGEX/OpenGEXStructs.h b/libs/assimp/code/AssetLib/OpenGEX/OpenGEXStructs.h
new file mode 100644
index 0000000..5f84548
--- /dev/null
+++ b/libs/assimp/code/AssetLib/OpenGEX/OpenGEXStructs.h
@@ -0,0 +1,264 @@
+/*
+Open Asset Import Library (assimp)
+----------------------------------------------------------------------
+
+Copyright (c) 2006-2022, assimp team
+
+
+All rights reserved.
+
+Redistribution and use of this software in source and binary forms,
+with or without modification, are permitted provided that the
+following conditions are met:
+
+* Redistributions of source code must retain the above
+copyright notice, this list of conditions and the
+following disclaimer.
+
+* Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the
+following disclaimer in the documentation and/or other
+materials provided with the distribution.
+
+* Neither the name of the assimp team, nor the names of its
+contributors may be used to endorse or promote products
+derived from this software without specific prior
+written permission of the assimp team.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+----------------------------------------------------------------------
+*/
+#ifndef AI_OPENGEXSTRUCTS_H_INC
+#define AI_OPENGEXSTRUCTS_H_INC
+
+#include <string>
+#include <map>
+
+namespace Assimp {
+namespace OpenGEX {
+
+struct Skin;
+struct Object;
+struct LightObject;
+struct CameraObject;
+struct Material;
+struct BoneNode;
+struct BoneCountArray;
+struct BoneIndexArray;
+struct BoneWeightArray;
+
+struct Metric {
+ float m_distance;
+ float m_angle;
+ float m_time;
+ float m_up;
+};
+
+struct VertexArray {
+ std::string arrayAttrib;
+ unsigned int morphIndex;
+};
+
+struct IndexArray {
+ unsigned int materialIndex;
+ unsigned int restartIndex;
+ std::string frontFace;
+};
+
+struct Mesh {
+ unsigned int meshLevel;
+ std::string meshPrimitive;
+ Skin *skinStructure;
+};
+
+struct Node {
+ std::string nodeName;
+};
+
+struct GeometryNode {
+ bool visibleFlag[ 2 ];
+ bool shadowFlag[ 2 ];
+ bool motionBlurFlag[ 2 ];
+};
+
+struct LightNode {
+ bool shadowFlag[ 2 ];
+ const LightObject *lightObjectStructure;
+};
+
+struct CameraNode {
+ const CameraObject *cameraObjectStructure;
+};
+
+struct GeometryObject {
+ Object *object;
+ bool visibleFlag;
+ bool shadowFlag;
+ bool motionBlurFlag;
+ std::map<std::string, Mesh*> meshMap;
+};
+
+struct LightObject {
+ Object *object;
+ std::string typeString;
+ bool shadowFlag;
+};
+
+struct CameraObject {
+ float focalLength;
+ float nearDepth;
+ float farDepth;
+};
+
+struct Matrix {
+ bool objectFlag;
+};
+
+struct Transform {
+ Matrix *matrix;
+ int transformCount;
+ const float *transformArray;
+};
+
+struct Translation {
+ std::string translationKind;
+};
+
+struct Rotation {
+ std::string rotationKind;
+};
+
+struct Scale {
+ std::string scaleKind;
+};
+
+struct Name {
+ std::string name;
+};
+
+struct ObjectRef {
+ Object *targetStructure;
+};
+
+struct MaterialRef {
+ unsigned int materialIndex;
+ const Material *targetStructure;
+};
+
+struct BoneRefArray {
+ int boneCount;
+ const BoneNode **boneNodeArray;
+};
+
+struct BoneCount {
+ int vertexCount;
+ const unsigned short *boneCountArray;
+ unsigned short *arrayStorage;
+};
+
+struct BoneIndex {
+ int boneIndexCount;
+ const unsigned short *boneIndexArray;
+ unsigned short *arrayStorage;
+};
+
+struct BoneWeight {
+ int boneWeightCount;
+ const float *boneWeightArray;
+};
+
+struct Skeleton {
+ const BoneRefArray *boneRefArrayStructure;
+ const Transform *transformStructure;
+};
+
+struct Skin {
+ const Skeleton *skeletonStructure;
+ const BoneCountArray *boneCountArrayStructure;
+ const BoneIndexArray *boneIndexArrayStructure;
+ const BoneWeightArray *boneWeightArrayStructure;
+};
+
+struct Material {
+ bool twoSidedFlag;
+ const char *materialName;
+};
+
+struct Attrib {
+ std::string attribString;
+};
+
+struct Param {
+ float param;
+};
+
+struct Color {
+ float color[ 4 ];
+};
+
+struct Texture {
+ std::string textureName;
+ unsigned int texcoordIndex;
+};
+
+struct Atten {
+ std::string attenKind;
+ std::string curveType;
+
+ float beginParam;
+ float endParam;
+
+ float scaleParam;
+ float offsetParam;
+
+ float constantParam;
+ float linearParam;
+ float quadraticParam;
+
+ float powerParam;
+};
+
+struct Key {
+ std::string keyKind;
+ bool scalarFlag;
+};
+
+struct Curve {
+ std::string curveType;
+ const Key *keyValueStructure;
+ const Key *keyControlStructure[ 2 ];
+ const Key *keyTensionStructure;
+ const Key *keyContinuityStructure;
+ const Key *keyBiasStructure;
+};
+
+struct Animation {
+ int clipIndex;
+ bool beginFlag;
+ bool endFlag;
+ float beginTime;
+ float endTime;
+};
+
+struct OpenGexDataDescription {
+ float distanceScale;
+ float angleScale;
+ float timeScale;
+ int upDirection;
+};
+
+} // Namespace OpenGEX
+} // Namespace Assimp
+
+#endif // AI_OPENGEXSTRUCTS_H_INC