diff --git a/code/AssetLib/ASE/ASELoader.cpp b/code/AssetLib/ASE/ASELoader.cpp index 057272c91..122eeda82 100644 --- a/code/AssetLib/ASE/ASELoader.cpp +++ b/code/AssetLib/ASE/ASELoader.cpp @@ -5,8 +5,6 @@ Open Asset Import Library (assimp) Copyright (c) 2006-2020, assimp team - - All rights reserved. Redistribution and use of this software in source and binary forms, @@ -85,7 +83,11 @@ static const aiImporterDesc desc = { // ------------------------------------------------------------------------------------------------ // Constructor to be privately used by Importer ASEImporter::ASEImporter() : - mParser(), mBuffer(), pcScene(), configRecomputeNormals(), noSkeletonMesh() { + mParser(), + mBuffer(), + pcScene(), + configRecomputeNormals(), + noSkeletonMesh() { // empty } diff --git a/code/AssetLib/ASE/ASELoader.h b/code/AssetLib/ASE/ASELoader.h index bb7707bb6..92a6ccfa7 100644 --- a/code/AssetLib/ASE/ASELoader.h +++ b/code/AssetLib/ASE/ASELoader.h @@ -56,20 +56,20 @@ namespace Assimp { #ifndef ASSIMP_BUILD_NO_3DS_IMPORTER // -------------------------------------------------------------------------------- -/** Importer class for the 3DS ASE ASCII format. - * - */ -class ASEImporter : public BaseImporter { +/// @brief Importer class for the 3DS ASE ASCII format. +// -------------------------------------------------------------------------------- +class ASEImporter final : public BaseImporter { public: + /// @brief The default class constructor. ASEImporter(); - ~ASEImporter(); + + /// @brief The class destructor. + ~ASEImporter() override; // ------------------------------------------------------------------- - /** 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; + /// @brief 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 override; protected: @@ -77,15 +77,14 @@ protected: /** Return importer meta information. * See #BaseImporter::GetInfo for the details */ - const aiImporterDesc* GetInfo () const; + const aiImporterDesc* GetInfo () const override; // ------------------------------------------------------------------- /** Imports the given file into the given scene structure. * See BaseImporter::InternReadFile() for details */ - void InternReadFile( const std::string& pFile, aiScene* pScene, - IOSystem* pIOHandler); + void InternReadFile( const std::string& pFile, aiScene* pScene, IOSystem* pIOHandler) override; // ------------------------------------------------------------------- @@ -93,11 +92,10 @@ protected: * The function is a request to the importer to update its configuration * basing on the Importer's configuration property list. */ - void SetupProperties(const Importer* pImp); + void SetupProperties(const Importer* pImp) override; private: - // ------------------------------------------------------------------- /** Generate normal vectors basing on smoothing groups * (in some cases the normal are already contained in the file) @@ -117,8 +115,8 @@ private: /** Create one-material-per-mesh meshes ;-) - * \param mesh Mesh to work with - * \param Receives the list of all created meshes + * \param mesh Mesh to work with + * \param avOut Receives the list of all created meshes */ void ConvertMeshes(ASE::Mesh& mesh, std::vector& avOut); @@ -183,18 +181,9 @@ private: void GenerateDefaultMaterial(); protected: - - /** Parser instance */ ASE::Parser* mParser; - - /** Buffer to hold the loaded file */ char* mBuffer; - - /** Scene to be filled */ aiScene* pcScene; - - /** Config options: Recompute the normals in every case - WA - for 3DS Max broken ASE normal export */ bool configRecomputeNormals; bool noSkeletonMesh; }; diff --git a/code/AssetLib/ASE/ASEParser.h b/code/AssetLib/ASE/ASEParser.h index 8df75c2dc..3afd02168 100644 --- a/code/AssetLib/ASE/ASEParser.h +++ b/code/AssetLib/ASE/ASEParser.h @@ -116,7 +116,7 @@ struct Material : public D3DS::Material { return *this; } - ~Material() {} + ~Material() = default; //! Contains all sub materials of this material std::vector avSubMaterials; @@ -178,7 +178,7 @@ struct Bone { /** Helper structure to represent an ASE file bone vertex */ struct BoneVertex { //! Bone and corresponding vertex weight. - //! -1 for unrequired bones .... + //! -1 for not required bones .... std::vector> mBoneWeights; }; @@ -239,9 +239,13 @@ struct BaseNode { Dummy } mType; - //! Construction from an existing name - BaseNode(Type _mType, const std::string &name) : - mType(_mType), mName(name), mProcessed(false) { + /// Construction from an existing name + /// @param type The node type + /// @param name The node name + BaseNode(Type type, const std::string &name) : + mType(type), + mName(name), + mProcessed(false) { // Set mTargetPosition to qnan const ai_real qnan = get_qnan(); mTargetPosition.x = qnan; diff --git a/doc/AssimpDoc_Html/AssimpDoc.chm b/doc/AssimpDoc_Html/AssimpDoc.chm index 26bbb28ed..5137ed493 100644 Binary files a/doc/AssimpDoc_Html/AssimpDoc.chm and b/doc/AssimpDoc_Html/AssimpDoc.chm differ diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index ffe39f9f7..b596c3d6c 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -197,7 +197,7 @@ SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. -TAB_SIZE = 8 +TAB_SIZE = 4 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". @@ -381,7 +381,7 @@ EXTRACT_STATIC = YES # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. -EXTRACT_LOCAL_CLASSES = YES +EXTRACT_LOCAL_CLASSES = NO # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in @@ -663,8 +663,6 @@ WARN_LOGFILE = # with spaces. INPUT = @doxy_main_page@ \ - @PROJECT_SOURCE_DIR@ \ - @PROJECT_BINARY_DIR@ \ @PROJECT_SOURCE_DIR@/include/ \ @PROJECT_SOURCE_DIR@/doc/dox.h \ @PROJECT_SOURCE_DIR@/code/BaseImporter.h @@ -725,7 +723,8 @@ RECURSIVE = YES # Note that relative paths are relative to the directory from which doxygen is # run. -EXCLUDE = irrXML.h +EXCLUDE = irrXML.h \ + @PROJECT_SOURCE_DIR@/contrib/* # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded @@ -740,7 +739,8 @@ EXCLUDE_SYMLINKS = NO # for example use the pattern */test/* EXCLUDE_PATTERNS = */.svn/* \ - */.svn + */.svn \ + */.git # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the diff --git a/include/assimp/SceneCombiner.h b/include/assimp/SceneCombiner.h index ff347d4fa..8d25d8c7c 100644 --- a/include/assimp/SceneCombiner.h +++ b/include/assimp/SceneCombiner.h @@ -55,8 +55,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include -#include -#include +#include +#include #include #include #include @@ -141,7 +141,7 @@ struct NodeAttachmentInfo { */ #define AI_INT_MERGE_SCENE_GEN_UNIQUE_NAMES_IF_NECESSARY 0x10 -typedef std::pair BoneSrcIndex; +using BoneSrcIndex = std::pair; // --------------------------------------------------------------------------- /** @brief Helper data structure for SceneCombiner::MergeBones. @@ -187,7 +187,7 @@ struct SceneHelper { * scenes. It is intended as internal utility and NOT for use by * applications. * - * The class is currently being used by various postprocessing steps + * The class is currently being used by various post-processing steps * and loaders (ie. LWS). */ class ASSIMP_API SceneCombiner {