From 6caf98d945298d232ad8a3319f3ac33121dd6434 Mon Sep 17 00:00:00 2001 From: kimmi Date: Wed, 21 Mar 2012 22:17:42 +0000 Subject: [PATCH] =?UTF-8?q?Bugfix=20:=20Changed=20ColladaParser=20to=20be?= =?UTF-8?q?=20non-const=20in=20ColladaLoader::BuildMaterials.=20(=20merged?= =?UTF-8?q?=20from=20GitHub,=20thanks=20to=20Riku=20Palom=C3=A4ki=20).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1229 67173fc5-114c-0410-ac8e-9d2fd5bffc1f --- code/ColladaLoader.cpp | 8 ++++---- code/ColladaLoader.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/ColladaLoader.cpp b/code/ColladaLoader.cpp index a5110df46..9a18d8223 100644 --- a/code/ColladaLoader.cpp +++ b/code/ColladaLoader.cpp @@ -1275,7 +1275,7 @@ void ColladaLoader::FillMaterials( const ColladaParser& pParser, aiScene* /*pSce // ------------------------------------------------------------------------------------------------ // Constructs materials from the collada material definitions -void ColladaLoader::BuildMaterials( const ColladaParser& pParser, aiScene* /*pScene*/) +void ColladaLoader::BuildMaterials( ColladaParser& pParser, aiScene* /*pScene*/) { newMats.reserve(pParser.mMaterialLibrary.size()); @@ -1283,10 +1283,10 @@ void ColladaLoader::BuildMaterials( const ColladaParser& pParser, aiScene* /*pSc { const Collada::Material& material = matIt->second; // a material is only a reference to an effect - ColladaParser::EffectLibrary::const_iterator effIt = pParser.mEffectLibrary.find( material.mEffect); + ColladaParser::EffectLibrary::iterator effIt = pParser.mEffectLibrary.find( material.mEffect); if( effIt == pParser.mEffectLibrary.end()) continue; - const Collada::Effect& effect = effIt->second; + Collada::Effect& effect = effIt->second; // create material aiMaterial* mat = new aiMaterial; @@ -1295,7 +1295,7 @@ void ColladaLoader::BuildMaterials( const ColladaParser& pParser, aiScene* /*pSc // store the material mMaterialIndexByName[matIt->first] = newMats.size(); - newMats.push_back( std::pair(const_cast(&effect),mat) ); + newMats.push_back( std::pair( &effect,mat) ); } // ScenePreprocessor generates a default material automatically if none is there. // All further code here in this loader works well without a valid material so diff --git a/code/ColladaLoader.h b/code/ColladaLoader.h index ddddc996a..6ac4e72a7 100644 --- a/code/ColladaLoader.h +++ b/code/ColladaLoader.h @@ -153,7 +153,7 @@ protected: void CreateAnimation( aiScene* pScene, const ColladaParser& pParser, const Collada::Animation* pSrcAnim, const std::string& pName); /** Constructs materials from the collada material definitions */ - void BuildMaterials( const ColladaParser& pParser, aiScene* pScene); + void BuildMaterials( ColladaParser& pParser, aiScene* pScene); /** Fill materials from the collada material definitions */ void FillMaterials( const ColladaParser& pParser, aiScene* pScene);