From e62b4e5cce79978a5feeb2c2cdc74499512dec7e Mon Sep 17 00:00:00 2001 From: kimkulling Date: Mon, 31 Aug 2020 16:10:38 +0200 Subject: [PATCH] next iteration. --- code/AssetLib/3MF/D3MFImporter.cpp | 2 +- code/AssetLib/3MF/D3MFOpcPackage.cpp | 6 +++++- code/AssetLib/Collada/ColladaParser.cpp | 2 +- include/assimp/XmlParser.h | 6 +++--- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/code/AssetLib/3MF/D3MFImporter.cpp b/code/AssetLib/3MF/D3MFImporter.cpp index ba7a64342..dd685a27d 100644 --- a/code/AssetLib/3MF/D3MFImporter.cpp +++ b/code/AssetLib/3MF/D3MFImporter.cpp @@ -134,7 +134,7 @@ public: std::copy(mMatArray.begin(), mMatArray.end(), scene->mMaterials); } - // create the scenegraph + // create the scene-graph scene->mRootNode->mNumChildren = static_cast(children.size()); scene->mRootNode->mChildren = new aiNode *[scene->mRootNode->mNumChildren](); std::copy(children.begin(), children.end(), scene->mRootNode->mChildren); diff --git a/code/AssetLib/3MF/D3MFOpcPackage.cpp b/code/AssetLib/3MF/D3MFOpcPackage.cpp index 4c2c70799..4170d25d2 100644 --- a/code/AssetLib/3MF/D3MFOpcPackage.cpp +++ b/code/AssetLib/3MF/D3MFOpcPackage.cpp @@ -71,7 +71,7 @@ public: OpcPackageRelationshipReader(XmlParser &parser) { XmlNode *root = parser.getRootNode(); if (nullptr != root) { - XmlNode node = * root; + XmlNode node = *root; ParseRootNode(node); } } @@ -95,6 +95,10 @@ public: } void ParseChildNode(XmlNode &node) { + if (node.empty()) { + return; + } + OpcPackageRelationshipPtr relPtr(new OpcPackageRelationship()); std::string name = node.name(); relPtr->id = node.attribute(XmlTag::RELS_ATTRIB_ID.c_str()).as_string(); diff --git a/code/AssetLib/Collada/ColladaParser.cpp b/code/AssetLib/Collada/ColladaParser.cpp index 7a8de4eaf..fb21912bf 100644 --- a/code/AssetLib/Collada/ColladaParser.cpp +++ b/code/AssetLib/Collada/ColladaParser.cpp @@ -926,7 +926,7 @@ void ColladaParser::ReadLight(XmlNode &node, Collada::Light &pLight) { XmlNodeIterator xmlIt; xmlIt.collectChildrenPreOrder(node); XmlNode currentNode; - while (xmlIt.getNext(currentNode)) { + while (xmlIt.getNext(¤tNode)) { const std::string ¤tName = currentNode.name(); if (currentName == "spot") { pLight.mType = aiLightSource_SPOT; diff --git a/include/assimp/XmlParser.h b/include/assimp/XmlParser.h index 2d745aa68..e52d456df 100644 --- a/include/assimp/XmlParser.h +++ b/include/assimp/XmlParser.h @@ -251,12 +251,12 @@ public: mNodes.push_back(&node); } - bool getNext(XmlNode &next) { + bool getNext(XmlNode *next) { if (mIndex == mNodes.size()) { return false; } - mNodes[mIndex]; + next = mNodes[mIndex]; ++mIndex; return true; @@ -273,8 +273,8 @@ public: private: std::vector mNodes; size_t mIndex; - TraverseOrder mTraverseOrder; }; + } // namespace Assimp #endif // !! INCLUDED_AI_IRRXML_WRAPPER