diff --git a/code/AssetLib/3DS/3DSExporter.h b/code/AssetLib/3DS/3DSExporter.h index 9dda720b1..1dba37bf1 100644 --- a/code/AssetLib/3DS/3DSExporter.h +++ b/code/AssetLib/3DS/3DSExporter.h @@ -63,7 +63,7 @@ namespace Assimp { * @brief Helper class to export a given scene to a 3DS file. */ // ------------------------------------------------------------------------------------------------ -class Discreet3DSExporter { +class Discreet3DSExporter final { public: Discreet3DSExporter(std::shared_ptr &outfile, const aiScene* pScene); ~Discreet3DSExporter() = default; @@ -88,7 +88,6 @@ private: using MeshesByNodeMap = std::multimap; MeshesByNodeMap meshes; - }; } // Namespace Assimp diff --git a/code/AssetLib/3DS/3DSLoader.h b/code/AssetLib/3DS/3DSLoader.h index 1d6953e29..e70b5745c 100644 --- a/code/AssetLib/3DS/3DSLoader.h +++ b/code/AssetLib/3DS/3DSLoader.h @@ -5,7 +5,6 @@ Open Asset Import Library (assimp) Copyright (c) 2006-2024, assimp team - All rights reserved. Redistribution and use of this software in source and binary forms, @@ -64,7 +63,7 @@ using namespace D3DS; // --------------------------------------------------------------------------------- /** Importer class for 3D Studio r3 and r4 3DS files */ -class Discreet3DSImporter : public BaseImporter { +class Discreet3DSImporter final : public BaseImporter { public: Discreet3DSImporter(); ~Discreet3DSImporter() override = default; diff --git a/code/AssetLib/3MF/D3MFImporter.cpp b/code/AssetLib/3MF/D3MFImporter.cpp index 987cdd492..fc4059815 100644 --- a/code/AssetLib/3MF/D3MFImporter.cpp +++ b/code/AssetLib/3MF/D3MFImporter.cpp @@ -107,7 +107,7 @@ void D3MFImporter::InternReadFile(const std::string &filename, aiScene *pScene, XmlParser xmlParser; if (xmlParser.parse(opcPackage.RootStream())) { - XmlSerializer xmlSerializer(&xmlParser); + XmlSerializer xmlSerializer(xmlParser); xmlSerializer.ImportXml(pScene); const std::vector &tex = opcPackage.GetEmbeddedTextures(); diff --git a/code/AssetLib/3MF/XmlSerializer.cpp b/code/AssetLib/3MF/XmlSerializer.cpp index fdc9f5a3d..5f7a725bd 100644 --- a/code/AssetLib/3MF/XmlSerializer.cpp +++ b/code/AssetLib/3MF/XmlSerializer.cpp @@ -199,11 +199,11 @@ void assignDiffuseColor(XmlNode &node, aiMaterial *mat) { } // namespace -XmlSerializer::XmlSerializer(XmlParser *xmlParser) : +XmlSerializer::XmlSerializer(XmlParser &xmlParser) : mResourcesDictionnary(), mMeshCount(0), mXmlParser(xmlParser) { - ai_assert(nullptr != xmlParser); + // empty } XmlSerializer::~XmlSerializer() { @@ -218,7 +218,7 @@ void XmlSerializer::ImportXml(aiScene *scene) { } scene->mRootNode = new aiNode(XmlTag::RootTag); - XmlNode node = mXmlParser->getRootNode().child(XmlTag::model); + XmlNode node = mXmlParser.getRootNode().child(XmlTag::model); if (node.empty()) { return; } diff --git a/code/AssetLib/3MF/XmlSerializer.h b/code/AssetLib/3MF/XmlSerializer.h index d0700a631..3cb4f609a 100644 --- a/code/AssetLib/3MF/XmlSerializer.h +++ b/code/AssetLib/3MF/XmlSerializer.h @@ -59,9 +59,9 @@ class Texture2DGroup; class EmbeddedTexture; class ColorGroup; -class XmlSerializer { +class XmlSerializer final { public: - XmlSerializer(XmlParser *xmlParser); + XmlSerializer(XmlParser &xmlParser); ~XmlSerializer(); void ImportXml(aiScene *scene); @@ -92,7 +92,7 @@ private: std::vector mMaterials; std::map mResourcesDictionnary; unsigned int mMeshCount; - XmlParser *mXmlParser; + XmlParser &mXmlParser; }; } // namespace D3MF diff --git a/code/AssetLib/AC/ACLoader.cpp b/code/AssetLib/AC/ACLoader.cpp index 242364150..85359409b 100644 --- a/code/AssetLib/AC/ACLoader.cpp +++ b/code/AssetLib/AC/ACLoader.cpp @@ -144,10 +144,6 @@ AC3DImporter::AC3DImporter() : // nothing to be done here } -// ------------------------------------------------------------------------------------------------ -// Destructor, private as well -AC3DImporter::~AC3DImporter() = default; - // ------------------------------------------------------------------------------------------------ // Returns whether the class can handle the format of the given file. bool AC3DImporter::CanRead(const std::string &pFile, IOSystem *pIOHandler, bool /*checkSig*/) const { @@ -171,8 +167,9 @@ bool AC3DImporter::GetNextLine() { // ------------------------------------------------------------------------------------------------ // Parse an object section in an AC file bool AC3DImporter::LoadObjectSection(std::vector &objects) { - if (!TokenMatch(mBuffer.data, "OBJECT", 6)) + if (!TokenMatch(mBuffer.data, "OBJECT", 6)) { return false; + } SkipSpaces(&mBuffer.data, mBuffer.end); @@ -192,7 +189,6 @@ bool AC3DImporter::LoadObjectSection(std::vector &objects) { light->mAttenuationConstant = 1.f; // Generate a default name for both the light source and the node - // FIXME - what's the right way to print a size_t? Is 'zu' universally available? stick with the safe version. light->mName.length = ::ai_snprintf(light->mName.data, AI_MAXLEN, "ACLight_%i", static_cast(mLights->size()) - 1); obj.name = std::string(light->mName.data); @@ -202,8 +198,10 @@ bool AC3DImporter::LoadObjectSection(std::vector &objects) { obj.type = Object::Group; } else if (!ASSIMP_strincmp(mBuffer.data, "world", 5)) { obj.type = Object::World; - } else + } else { obj.type = Object::Poly; + } + while (GetNextLine()) { if (TokenMatch(mBuffer.data, "kids", 4)) { SkipSpaces(&mBuffer.data, mBuffer.end); @@ -344,6 +342,7 @@ bool AC3DImporter::LoadObjectSection(std::vector &objects) { } } ASSIMP_LOG_ERROR("AC3D: Unexpected EOF: \'kids\' line was expected"); + return false; } diff --git a/code/AssetLib/AC/ACLoader.h b/code/AssetLib/AC/ACLoader.h index 22f7d0d09..871f8e4a2 100644 --- a/code/AssetLib/AC/ACLoader.h +++ b/code/AssetLib/AC/ACLoader.h @@ -63,7 +63,7 @@ namespace Assimp { class AC3DImporter : public BaseImporter { public: AC3DImporter(); - ~AC3DImporter() override; + ~AC3DImporter() override = default; // Represents an AC3D material struct Material { @@ -103,7 +103,7 @@ public: unsigned int mat, flags; - typedef std::pair SurfaceEntry; + using SurfaceEntry = std::pair; std::vector entries; // Type is low nibble of flags diff --git a/code/AssetLib/AMF/AMFImporter.cpp b/code/AssetLib/AMF/AMFImporter.cpp index 7861c592e..c0f88103a 100644 --- a/code/AssetLib/AMF/AMFImporter.cpp +++ b/code/AssetLib/AMF/AMFImporter.cpp @@ -474,7 +474,7 @@ void AMFImporter::ParseNode_Metadata(XmlNode &node) { // read attribute ne = new AMFMetadata(mNodeElement_Cur); - ((AMFMetadata *)ne)->Type = type; + ((AMFMetadata *)ne)->MetaType = type; ((AMFMetadata *)ne)->Value = value; mNodeElement_Cur->Child.push_back(ne); // Add element to child list of current element mNodeElement_List.push_back(ne); // and to node element list because its a new object in graph. diff --git a/code/AssetLib/AMF/AMFImporter_Node.hpp b/code/AssetLib/AMF/AMFImporter_Node.hpp index a152f5d66..24f5dc647 100644 --- a/code/AssetLib/AMF/AMFImporter_Node.hpp +++ b/code/AssetLib/AMF/AMFImporter_Node.hpp @@ -86,7 +86,8 @@ public: AMFNodeElementBase *Parent; ///< Parent element. If nullptr then this node is root. std::list Child; ///< Child elements. -public: /// Destructor, virtual.. +public: + /// Destructor, virtual.. virtual ~AMFNodeElementBase() = default; /// Disabled copy constructor and co. @@ -97,10 +98,10 @@ public: /// Destructor, virtual.. protected: /// In constructor inheritor must set element type. - /// \param [in] pType - element type. + /// \param [in] type - element type. /// \param [in] pParent - parent element. - AMFNodeElementBase(const EType pType, AMFNodeElementBase *pParent) : - Type(pType), Parent(pParent) { + AMFNodeElementBase(EType type, AMFNodeElementBase *pParent) : + Type(type), Parent(pParent) { // empty } }; // class IAMFImporter_NodeElement @@ -135,8 +136,8 @@ struct AMFInstance : public AMFNodeElementBase { /// Structure that define metadata node. struct AMFMetadata : public AMFNodeElementBase { - std::string Type; ///< Type of "Value". - std::string Value; ///< Value. + std::string MetaType; ///< Type of "Value". + std::string Value; ///< Value. /// Constructor. /// \param [in] pParent - pointer to parent node. diff --git a/code/AssetLib/AMF/AMFImporter_Postprocess.cpp b/code/AssetLib/AMF/AMFImporter_Postprocess.cpp index e491c07b7..99743abc6 100644 --- a/code/AssetLib/AMF/AMFImporter_Postprocess.cpp +++ b/code/AssetLib/AMF/AMFImporter_Postprocess.cpp @@ -333,7 +333,7 @@ void AMFImporter::Postprocess_AddMetadata(const AMFMetaDataArray &metadataList, size_t meta_idx(0); for (const AMFMetadata *metadata : metadataList) { - sceneNode.mMetaData->Set(static_cast(meta_idx++), metadata->Type, aiString(metadata->Value)); + sceneNode.mMetaData->Set(static_cast(meta_idx++), metadata->MetaType, aiString(metadata->Value)); } } diff --git a/code/AssetLib/BVH/BVHLoader.cpp b/code/AssetLib/BVH/BVHLoader.cpp index 2b37286ea..0bed1c476 100644 --- a/code/AssetLib/BVH/BVHLoader.cpp +++ b/code/AssetLib/BVH/BVHLoader.cpp @@ -6,8 +6,6 @@ Open Asset Import Library (assimp) Copyright (c) 2006-2024, assimp team - - All rights reserved. Redistribution and use of this software in source and binary forms, @@ -85,11 +83,9 @@ BVHLoader::BVHLoader() : mLine(), mAnimTickDuration(), mAnimNumFrames(), - noSkeletonMesh() {} - -// ------------------------------------------------------------------------------------------------ -// Destructor, private as well -BVHLoader::~BVHLoader() = default; + noSkeletonMesh() { + // empty +} // ------------------------------------------------------------------------------------------------ // Returns whether the class can handle the format of the given file. diff --git a/code/AssetLib/BVH/BVHLoader.h b/code/AssetLib/BVH/BVHLoader.h index 2c5e24114..819e05689 100644 --- a/code/AssetLib/BVH/BVHLoader.h +++ b/code/AssetLib/BVH/BVHLoader.h @@ -80,32 +80,27 @@ class BVHLoader : public BaseImporter { std::vector mChannels; std::vector mChannelValues; // motion data values for that node. Of size NumChannels * NumFrames - Node() : - mNode(nullptr) {} - - explicit Node(const aiNode *pNode) : - mNode(pNode) {} + Node() : mNode(nullptr) {} + explicit Node(const aiNode *pNode) :mNode(pNode) {} }; public: BVHLoader(); - ~BVHLoader(); + ~BVHLoader() override = default; -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 cs) const; + bool CanRead(const std::string &pFile, IOSystem *pIOHandler, bool cs) const override; - void SetupProperties(const Importer *pImp); - const aiImporterDesc *GetInfo() const; + void SetupProperties(const Importer *pImp) override; + const aiImporterDesc *GetInfo() const override; protected: /** 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; -protected: /** Reads the file */ void ReadStructure(aiScene *pScene); diff --git a/code/AssetLib/Blender/BlenderDNA.h b/code/AssetLib/Blender/BlenderDNA.h index f6a691fd6..0dc80dc93 100644 --- a/code/AssetLib/Blender/BlenderDNA.h +++ b/code/AssetLib/Blender/BlenderDNA.h @@ -4,7 +4,6 @@ Open Asset Import Library (assimp) Copyright (c) 2006-2024, assimp team - All rights reserved. Redistribution and use of this software in source and binary forms, diff --git a/code/AssetLib/Blender/BlenderDNA.inl b/code/AssetLib/Blender/BlenderDNA.inl index 9bcb602ba..5552739b9 100644 --- a/code/AssetLib/Blender/BlenderDNA.inl +++ b/code/AssetLib/Blender/BlenderDNA.inl @@ -841,5 +841,7 @@ template