summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/assimp/code/FBXDocument.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/assimp/code/FBXDocument.h')
-rw-r--r--src/3rdparty/assimp/code/FBXDocument.h62
1 files changed, 23 insertions, 39 deletions
diff --git a/src/3rdparty/assimp/code/FBXDocument.h b/src/3rdparty/assimp/code/FBXDocument.h
index 62d463bab..a4e28b2aa 100644
--- a/src/3rdparty/assimp/code/FBXDocument.h
+++ b/src/3rdparty/assimp/code/FBXDocument.h
@@ -2,7 +2,8 @@
Open Asset Import Library (assimp)
----------------------------------------------------------------------
-Copyright (c) 2006-2016, assimp team
+Copyright (c) 2006-2017, assimp team
+
All rights reserved.
Redistribution and use of this software in source and binary forms,
@@ -240,6 +241,9 @@ public:
fbx_simple_property(FilmWidth, float, 1.0f)
fbx_simple_property(FilmHeight, float, 1.0f)
+ fbx_simple_property(NearPlane, float, 0.1f)
+ fbx_simple_property(FarPlane, float, 100.0f)
+
fbx_simple_property(FilmAspectRatio, float, 1.0f)
fbx_simple_property(ApertureMode, int, 0)
@@ -302,12 +306,12 @@ public:
fbx_simple_property(DrawVolumetricLight, bool, true)
fbx_simple_property(DrawGroundProjection, bool, true)
fbx_simple_property(DrawFrontFacingVolumetricLight, bool, false)
- fbx_simple_property(Intensity, float, 1.0f)
+ fbx_simple_property(Intensity, float, 100.0f)
fbx_simple_property(InnerAngle, float, 0.0f)
fbx_simple_property(OuterAngle, float, 45.0f)
fbx_simple_property(Fog, int, 50)
- fbx_simple_enum_property(DecayType, Decay, 0)
- fbx_simple_property(DecayStart, int, 0)
+ fbx_simple_enum_property(DecayType, Decay, 2)
+ fbx_simple_property(DecayStart, float, 1.0f)
fbx_simple_property(FileName, std::string, "")
fbx_simple_property(EnableNearAttenuation, bool, false)
@@ -334,12 +338,7 @@ public:
class Model : public Object
{
public:
- Model(uint64_t id, const Element& element, const Document& doc, const std::string& name);
- virtual ~Model();
-
-public:
- enum RotOrder
- {
+ enum RotOrder {
RotOrder_EulerXYZ = 0,
RotOrder_EulerXZY,
RotOrder_EulerYZX,
@@ -353,8 +352,7 @@ public:
};
- enum TransformInheritance
- {
+ enum TransformInheritance {
TransformInheritance_RrSs = 0,
TransformInheritance_RSrs,
TransformInheritance_Rrs,
@@ -362,7 +360,10 @@ public:
TransformInheritance_MAX // end-of-enum sentinel
};
-public:
+ Model(uint64_t id, const Element& element, const Document& doc, const std::string& name);
+
+ virtual ~Model();
+
fbx_simple_property(QuaternionInterpolate, int, 0)
fbx_simple_property(RotationOffset, aiVector3D, aiVector3D())
@@ -439,7 +440,6 @@ public:
fbx_simple_property(LODBox, bool, false)
fbx_simple_property(Freeze, bool, false)
-public:
const std::string& Shading() const {
return shading;
}
@@ -458,13 +458,11 @@ public:
return materials;
}
-
/** Get geometry links */
const std::vector<const Geometry*>& GetGeometry() const {
return geometry;
}
-
/** Get node attachments */
const std::vector<const NodeAttribute*>& GetAttributes() const {
return attributes;
@@ -473,7 +471,6 @@ public:
/** convenience method to check if the node has a Null node marker */
bool IsNull() const;
-
private:
void ResolveLinks(const Element& element, const Document& doc);
@@ -594,23 +591,24 @@ public:
BlendMode_BlendModeCount
};
- const Texture* getTexture() const
+ const Texture* getTexture(int index=0) const
{
- return texture;
- }
+ return textures[index];
- BlendMode GetBlendMode()
+ }
+ int textureCount() const {
+ return static_cast<int>(textures.size());
+ }
+ BlendMode GetBlendMode() const
{
return blendMode;
}
-
float Alpha()
{
return alpha;
}
-
private:
- const Texture* texture;
+ std::vector<const Texture*> textures;
BlendMode blendMode;
float alpha;
};
@@ -649,7 +647,7 @@ public:
return content;
}
- const uint32_t ContentLength() const {
+ uint32_t ContentLength() const {
return contentLength;
}
@@ -800,7 +798,6 @@ private:
typedef std::vector<const AnimationCurveNode*> AnimationCurveNodeList;
-
/** Represents a FBX animation layer (i.e. a list of node animations) */
class AnimationLayer : public Object
{
@@ -823,10 +820,8 @@ private:
const Document& doc;
};
-
typedef std::vector<const AnimationLayer*> AnimationLayerList;
-
/** Represents a FBX animation stack (i.e. a list of animation layers) */
class AnimationStack : public Object
{
@@ -834,7 +829,6 @@ public:
AnimationStack(uint64_t id, const Element& element, const std::string& name, const Document& doc);
virtual ~AnimationStack();
-public:
fbx_simple_property(LocalStart, int64_t, 0L)
fbx_simple_property(LocalStop, int64_t, 0L)
fbx_simple_property(ReferenceStart, int64_t, 0L)
@@ -874,7 +868,6 @@ private:
typedef std::vector<float> WeightArray;
typedef std::vector<unsigned int> WeightIndexArray;
-
/** DOM class for skin deformer clusters (aka subdeformers) */
class Cluster : public Deformer
{
@@ -919,8 +912,6 @@ private:
const Model* node;
};
-
-
/** DOM class for skin deformers */
class Skin : public Deformer
{
@@ -1004,10 +995,8 @@ public:
typedef std::map<uint64_t, LazyObject*> ObjectMap;
typedef std::fbx_unordered_map<std::string, std::shared_ptr<const PropertyTable> > PropertyTemplateMap;
-
typedef std::multimap<uint64_t, const Connection*> ConnectionMap;
-
/** DOM class for global document settings, a single instance per document can
* be accessed via Document.Globals(). */
class FileGlobalSettings
@@ -1069,9 +1058,6 @@ private:
const Document& doc;
};
-
-
-
/** DOM root for a FBX file */
class Document
{
@@ -1149,8 +1135,6 @@ private:
const ConnectionMap&,
const char* const* classnames,
size_t count) const;
-
-private:
void ReadHeader();
void ReadObjects();
void ReadPropertyTemplates();