Overte C++ Documentation
FBX.h
1 //
2 // FBX.h
3 // libraries/model-serializers/src
4 //
5 // Created by Ryan Huffman on 9/5/17.
6 // Copyright 2017 High Fidelity, Inc.
7 //
8 // Distributed under the Apache License, Version 2.0.
9 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
10 //
11 
12 #ifndef hifi_FBX_h_
13 #define hifi_FBX_h_
14 
15 #include <QMetaType>
16 #include <QVariant>
17 #include <QVector>
18 
19 #include <glm/glm.hpp>
20 
21 #include <shared/HifiTypes.h>
22 
23 // See comment in FBXSerializer::parseFBX().
24 static const int FBX_HEADER_BYTES_BEFORE_VERSION = 23;
25 static const hifi::ByteArray FBX_BINARY_PROLOG("Kaydara FBX Binary ");
26 static const hifi::ByteArray FBX_BINARY_PROLOG2("\0\x1a\0", 3);
27 static const quint32 FBX_VERSION_2015 = 7400;
28 static const quint32 FBX_VERSION_2016 = 7500;
29 
30 static const int32_t FBX_PROPERTY_UNCOMPRESSED_FLAG = 0;
31 static const int32_t FBX_PROPERTY_COMPRESSED_FLAG = 1;
32 
33 // The version of the FBX node containing the draco mesh. See also: DRACO_MESH_VERSION in HFM.h
34 static const int FBX_DRACO_MESH_VERSION = 2;
35 
36 class FBXNode;
37 using FBXNodeList = QList<FBXNode>;
38 
39 
41 class FBXNode {
42 public:
43  hifi::ByteArray name;
44  QVariantList properties;
45  FBXNodeList children;
46 };
47 
48 #endif // hifi_FBX_h_
A node within an FBX document.
Definition: FBX.h:41