diff options
Diffstat (limited to 'src/3rdparty/assimp/code/FBXDocument.cpp')
-rw-r--r-- | src/3rdparty/assimp/code/FBXDocument.cpp | 92 |
1 files changed, 29 insertions, 63 deletions
diff --git a/src/3rdparty/assimp/code/FBXDocument.cpp b/src/3rdparty/assimp/code/FBXDocument.cpp index cf5f6da86..9592bf31f 100644 --- a/src/3rdparty/assimp/code/FBXDocument.cpp +++ b/src/3rdparty/assimp/code/FBXDocument.cpp @@ -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, @@ -55,7 +56,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include <memory> #include <functional> - +#include <map> namespace Assimp { namespace FBX { @@ -69,19 +70,13 @@ LazyObject::LazyObject(uint64_t id, const Element& element, const Document& doc) , id(id) , flags() { - + // empty } // ------------------------------------------------------------------------------------------------ LazyObject::~LazyObject() { - -} - -// ------------------------------------------------------------------------------------------------ -static void dumpObjectClassInfo( const char* obtype, const std::string &classtag ) { - DefaultLogger::get()->debug( "obtype: " + std::string(obtype )); - DefaultLogger::get()->debug( "Classtag: " + classtag ); + // empty } // ------------------------------------------------------------------------------------------------ @@ -237,32 +232,29 @@ Object::Object(uint64_t id, const Element& element, const std::string& name) , name(name) , id(id) { - + // empty } // ------------------------------------------------------------------------------------------------ Object::~Object() { - + // empty } - // ------------------------------------------------------------------------------------------------ FileGlobalSettings::FileGlobalSettings(const Document& doc, std::shared_ptr<const PropertyTable> props) : props(props) , doc(doc) { - + // empty } - // ------------------------------------------------------------------------------------------------ FileGlobalSettings::~FileGlobalSettings() { - + // empty } - // ------------------------------------------------------------------------------------------------ Document::Document(const Parser& parser, const ImportSettings& settings) : settings(settings) @@ -285,7 +277,6 @@ Document::Document(const Parser& parser, const ImportSettings& settings) ReadConnections(); } - // ------------------------------------------------------------------------------------------------ Document::~Document() { @@ -300,11 +291,10 @@ Document::~Document() } // ------------------------------------------------------------------------------------------------ -static const int LowerSupportedVersion = 7100; -static const int UpperSupportedVersion = 7400; +static const unsigned int LowerSupportedVersion = 7100; +static const unsigned int UpperSupportedVersion = 7400; -void Document::ReadHeader() -{ +void Document::ReadHeader() { // Read ID objects from "Objects" section const Scope& sc = parser.GetRootScope(); const Element* const ehead = sc["FBXHeaderExtension"]; @@ -315,7 +305,7 @@ void Document::ReadHeader() const Scope& shead = *ehead->Compound(); fbxVersion = ParseTokenAsInt(GetRequiredToken(GetRequiredElement(shead,"FBXVersion",ehead),0)); - // While we maye have some success with newer files, we don't support + // While we may have some success with newer files, we don't support // the older 6.n fbx format if(fbxVersion < LowerSupportedVersion ) { DOMError("unsupported, old format version, supported are only FBX 2011, FBX 2012 and FBX 2013"); @@ -331,7 +321,6 @@ void Document::ReadHeader() } } - const Element* const ecreator = shead["Creator"]; if(ecreator) { creator = ParseTokenAsString(GetRequiredToken(*ecreator,0)); @@ -371,7 +360,6 @@ void Document::ReadGlobalSettings() globals.reset(new FileGlobalSettings(*this, props)); } - // ------------------------------------------------------------------------------------------------ void Document::ReadObjects() { @@ -397,7 +385,6 @@ void Document::ReadObjects() } const char* err; - const uint64_t id = ParseTokenAsID(*tok[0], err); if(err) { DOMError(err,el.second); @@ -479,8 +466,6 @@ void Document::ReadPropertyTemplates() } } - - // ------------------------------------------------------------------------------------------------ void Document::ReadConnections() { @@ -492,7 +477,6 @@ void Document::ReadConnections() } uint64_t insertionOrder = 0l; - const Scope& sconns = *econns->Compound(); const ElementCollection conns = sconns.GetCollection("C"); for(ElementMap::const_iterator it = conns.first; it != conns.second; ++it) { @@ -501,7 +485,9 @@ void Document::ReadConnections() // PP = property-property connection, ignored for now // (tokens: "PP", ID1, "Property1", ID2, "Property2") - if(type == "PP") continue; + if ( type == "PP" ) { + continue; + } const uint64_t src = ParseTokenAsID(GetRequiredToken(el,1)); const uint64_t dest = ParseTokenAsID(GetRequiredToken(el,2)); @@ -528,11 +514,10 @@ void Document::ReadConnections() } } - // ------------------------------------------------------------------------------------------------ const std::vector<const AnimationStack*>& Document::AnimationStacks() const { - if (!animationStacksResolved.empty() || !animationStacks.size()) { + if (!animationStacksResolved.empty() || animationStacks.empty()) { return animationStacksResolved; } @@ -550,7 +535,6 @@ const std::vector<const AnimationStack*>& Document::AnimationStacks() const return animationStacksResolved; } - // ------------------------------------------------------------------------------------------------ LazyObject* Document::GetObject(uint64_t id) const { @@ -561,8 +545,7 @@ LazyObject* Document::GetObject(uint64_t id) const #define MAX_CLASSNAMES 6 // ------------------------------------------------------------------------------------------------ -std::vector<const Connection*> Document::GetConnectionsSequenced(uint64_t id, - const ConnectionMap& conns) const +std::vector<const Connection*> Document::GetConnectionsSequenced(uint64_t id, const ConnectionMap& conns) const { std::vector<const Connection*> temp; @@ -574,12 +557,11 @@ std::vector<const Connection*> Document::GetConnectionsSequenced(uint64_t id, temp.push_back((*it).second); } - std::sort(temp.begin(), temp.end(), std::mem_fun(&Connection::Compare)); + std::sort(temp.begin(), temp.end(), std::mem_fn(&Connection::Compare)); return temp; // NRVO should handle this } - // ------------------------------------------------------------------------------------------------ std::vector<const Connection*> Document::GetConnectionsSequenced(uint64_t id, bool is_src, const ConnectionMap& conns, @@ -588,17 +570,17 @@ std::vector<const Connection*> Document::GetConnectionsSequenced(uint64_t id, bo { ai_assert(classnames); - ai_assert(count != 0 && count <= MAX_CLASSNAMES); + ai_assert( count != 0 ); + ai_assert( count <= MAX_CLASSNAMES); size_t lenghts[MAX_CLASSNAMES]; const size_t c = count; for (size_t i = 0; i < c; ++i) { - lenghts[i] = strlen(classnames[i]); + lenghts[ i ] = strlen(classnames[i]); } std::vector<const Connection*> temp; - const std::pair<ConnectionMap::const_iterator,ConnectionMap::const_iterator> range = conns.equal_range(id); @@ -626,53 +608,44 @@ std::vector<const Connection*> Document::GetConnectionsSequenced(uint64_t id, bo temp.push_back((*it).second); } - std::sort(temp.begin(), temp.end(), std::mem_fun(&Connection::Compare)); + std::sort(temp.begin(), temp.end(), std::mem_fn(&Connection::Compare)); return temp; // NRVO should handle this } - // ------------------------------------------------------------------------------------------------ std::vector<const Connection*> Document::GetConnectionsBySourceSequenced(uint64_t source) const { return GetConnectionsSequenced(source, ConnectionsBySource()); } - - // ------------------------------------------------------------------------------------------------ -std::vector<const Connection*> Document::GetConnectionsBySourceSequenced(uint64_t dest, - const char* classname) const +std::vector<const Connection*> Document::GetConnectionsBySourceSequenced(uint64_t dest, const char* classname) const { const char* arr[] = {classname}; return GetConnectionsBySourceSequenced(dest, arr,1); } - - // ------------------------------------------------------------------------------------------------ -std::vector<const Connection*> Document::GetConnectionsBySourceSequenced(uint64_t source, - const char* const* classnames, size_t count) const +std::vector<const Connection*> Document::GetConnectionsBySourceSequenced(uint64_t source, + const char* const* classnames, size_t count) const { return GetConnectionsSequenced(source, true, ConnectionsBySource(),classnames, count); } - // ------------------------------------------------------------------------------------------------ std::vector<const Connection*> Document::GetConnectionsByDestinationSequenced(uint64_t dest, - const char* classname) const + const char* classname) const { const char* arr[] = {classname}; return GetConnectionsByDestinationSequenced(dest, arr,1); } - // ------------------------------------------------------------------------------------------------ std::vector<const Connection*> Document::GetConnectionsByDestinationSequenced(uint64_t dest) const { return GetConnectionsSequenced(dest, ConnectionsByDestination()); } - // ------------------------------------------------------------------------------------------------ std::vector<const Connection*> Document::GetConnectionsByDestinationSequenced(uint64_t dest, const char* const* classnames, size_t count) const @@ -681,10 +654,9 @@ std::vector<const Connection*> Document::GetConnectionsByDestinationSequenced(ui return GetConnectionsSequenced(dest, false, ConnectionsByDestination(),classnames, count); } - // ------------------------------------------------------------------------------------------------ Connection::Connection(uint64_t insertionOrder, uint64_t src, uint64_t dest, const std::string& prop, - const Document& doc) + const Document& doc) : insertionOrder(insertionOrder) , prop(prop) @@ -697,14 +669,12 @@ Connection::Connection(uint64_t insertionOrder, uint64_t src, uint64_t dest, co ai_assert(!dest || doc.Objects().find(dest) != doc.Objects().end()); } - // ------------------------------------------------------------------------------------------------ Connection::~Connection() { - + // empty } - // ------------------------------------------------------------------------------------------------ LazyObject& Connection::LazySourceObject() const { @@ -713,7 +683,6 @@ LazyObject& Connection::LazySourceObject() const return *lazy; } - // ------------------------------------------------------------------------------------------------ LazyObject& Connection::LazyDestinationObject() const { @@ -722,7 +691,6 @@ LazyObject& Connection::LazyDestinationObject() const return *lazy; } - // ------------------------------------------------------------------------------------------------ const Object* Connection::SourceObject() const { @@ -731,7 +699,6 @@ const Object* Connection::SourceObject() const return lazy->Get(); } - // ------------------------------------------------------------------------------------------------ const Object* Connection::DestinationObject() const { @@ -744,4 +711,3 @@ const Object* Connection::DestinationObject() const } // !Assimp #endif - |