diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2014-03-24 08:13:42 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2014-03-25 10:15:49 +0100 |
commit | 40bf98aeaf22bbeb50fdb2b227c3b9926b7c5eae (patch) | |
tree | 8a41a63dc4498d20148518aa3ce49dcabad8ddce /src/3rdparty/assimp/code/MS3DLoader.h | |
parent | cdb819b2293409046639899a52ee852107b39cd0 (diff) |
Updated Assimp library to the latest version 1270
SVNRevision 1270
assimp--3.0.1270-source-only.zip
Change-Id: I332efb5fd0d086f24aca0a5fe9d396d549e531fa
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/3rdparty/assimp/code/MS3DLoader.h')
-rw-r--r-- | src/3rdparty/assimp/code/MS3DLoader.h | 189 |
1 files changed, 94 insertions, 95 deletions
diff --git a/src/3rdparty/assimp/code/MS3DLoader.h b/src/3rdparty/assimp/code/MS3DLoader.h index 6725dda32..34afc57b2 100644 --- a/src/3rdparty/assimp/code/MS3DLoader.h +++ b/src/3rdparty/assimp/code/MS3DLoader.h @@ -1,12 +1,12 @@ /* -Open Asset Import Library (ASSIMP) +Open Asset Import Library (assimp) ---------------------------------------------------------------------- -Copyright (c) 2006-2010, ASSIMP Development Team +Copyright (c) 2006-2012, 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 +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 @@ -18,21 +18,21 @@ following conditions are met: 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 +* 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 Development Team. + 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 +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 +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 +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 +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. ---------------------------------------------------------------------- @@ -45,113 +45,112 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define AI_MS3DLOADER_H_INCLUDED #include "BaseImporter.h" -namespace Assimp { +namespace Assimp { // ---------------------------------------------------------------------------------------------- /** Milkshape 3D importer implementation */ // ---------------------------------------------------------------------------------------------- -class MS3DImporter - : public BaseImporter +class MS3DImporter + : public BaseImporter { - friend class Importer; -protected: +public: - MS3DImporter(); - ~MS3DImporter(); + MS3DImporter(); + ~MS3DImporter(); public: - // ------------------------------------------------------------------- - /** Returns whether the class can handle the format of the given file. - * See BaseImporter::CanRead() for details. */ - bool CanRead( const std::string& pFile, IOSystem* pIOHandler, - bool checkSig) const; + // ------------------------------------------------------------------- + /** Returns whether the class can handle the format of the given file. + * See BaseImporter::CanRead() for details. */ + bool CanRead( const std::string& pFile, IOSystem* pIOHandler, + bool checkSig) const; protected: - // ------------------------------------------------------------------- - /** Called by Importer::GetExtensionList() for each loaded importer. - * See BaseImporter::GetExtensionList() for details */ - void GetExtensionList(std::set<std::string>& extensions); + // ------------------------------------------------------------------- + /** Return importer meta information. + * See #BaseImporter::GetInfo for the details */ + const aiImporterDesc* GetInfo () const; - // ------------------------------------------------------------------- - /** Imports the given file into the given scene structure. - * See BaseImporter::InternReadFile() for details */ - void InternReadFile( const std::string& pFile, aiScene* pScene, - IOSystem* pIOHandler); + // ------------------------------------------------------------------- + /** Imports the given file into the given scene structure. + * See BaseImporter::InternReadFile() for details */ + void InternReadFile( const std::string& pFile, aiScene* pScene, + IOSystem* pIOHandler); private: - struct TempJoint; - void CollectChildJoints(const std::vector<TempJoint>& joints, std::vector<bool>& hadit, aiNode* nd,const aiMatrix4x4& absTrafo); - void CollectChildJoints(const std::vector<TempJoint>& joints, aiNode* nd); + struct TempJoint; + void CollectChildJoints(const std::vector<TempJoint>& joints, std::vector<bool>& hadit, aiNode* nd,const aiMatrix4x4& absTrafo); + void CollectChildJoints(const std::vector<TempJoint>& joints, aiNode* nd); - template<typename T> void ReadComments(StreamReaderLE& stream, std::vector<T>& outp); + template<typename T> void ReadComments(StreamReaderLE& stream, std::vector<T>& outp); private: - aiScene* mScene; + aiScene* mScene; private: - struct TempVertex - { - aiVector3D pos; - unsigned int bone_id[4], ref_cnt; - float weights[4]; - }; - - struct TempTriangle - { - unsigned int indices[3]; - aiVector3D normals[3]; - aiVector2D uv[3]; - - unsigned int sg, group; - }; - - struct TempGroup - { - char name[33]; // +0 - std::vector<unsigned int> triangles; - unsigned int mat; // 0xff is no material - std::string comment; - }; - - struct TempMaterial - { - // again, add an extra 0 character to all strings - - char name[33]; - char texture[129]; - char alphamap[129]; - - aiColor4D diffuse,specular,ambient,emissive; - float shininess,transparency; - std::string comment; - }; - - struct TempKeyFrame - { - float time; - aiVector3D value; - }; - - struct TempJoint - { - char name[33]; - char parentName[33]; - aiVector3D rotation, position; - - std::vector<TempKeyFrame> rotFrames; - std::vector<TempKeyFrame> posFrames; - std::string comment; - }; - - //struct TempModel { - // std::string comment; - //}; + struct TempVertex + { + aiVector3D pos; + unsigned int bone_id[4], ref_cnt; + float weights[4]; + }; + + struct TempTriangle + { + unsigned int indices[3]; + aiVector3D normals[3]; + aiVector2D uv[3]; + + unsigned int sg, group; + }; + + struct TempGroup + { + char name[33]; // +0 + std::vector<unsigned int> triangles; + unsigned int mat; // 0xff is no material + std::string comment; + }; + + struct TempMaterial + { + // again, add an extra 0 character to all strings - + char name[33]; + char texture[129]; + char alphamap[129]; + + aiColor4D diffuse,specular,ambient,emissive; + float shininess,transparency; + std::string comment; + }; + + struct TempKeyFrame + { + float time; + aiVector3D value; + }; + + struct TempJoint + { + char name[33]; + char parentName[33]; + aiVector3D rotation, position; + + std::vector<TempKeyFrame> rotFrames; + std::vector<TempKeyFrame> posFrames; + std::string comment; + }; + + //struct TempModel { + // std::string comment; + //}; }; } |