From f601c3c5b983d13be4aca561bfbfcaa68b7b93b0 Mon Sep 17 00:00:00 2001 From: alil Date: Thu, 4 Dec 2008 22:01:35 +0000 Subject: [PATCH] made it work again under linux git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@261 67173fc5-114c-0410-ac8e-9d2fd5bffc1f --- code/ColladaParser.cpp | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/code/ColladaParser.cpp b/code/ColladaParser.cpp index 86ac5165c..e65a1c144 100644 --- a/code/ColladaParser.cpp +++ b/code/ColladaParser.cpp @@ -388,10 +388,14 @@ void ColladaParser::ReadEffect( Collada::Effect& pEffect) ReadEffectColor( pEffect.mDiffuse, pEffect.mTexDiffuse); else if( IsElement( "specular")) ReadEffectColor( pEffect.mSpecular, pEffect.mTexSpecular); - else if( IsElement( "reflective")) - ReadEffectColor( pEffect.mReflective, std::string()); - else if( IsElement( "transparent")) - ReadEffectColor( pEffect.mRefractive, std::string()); + else if( IsElement( "reflective")){ + std::string buf; + ReadEffectColor( pEffect.mReflective, buf); + } + else if( IsElement( "transparent")){ + std::string buf; + ReadEffectColor( pEffect.mRefractive,buf); + } else if( IsElement( "shininess")) ReadEffectFloat( pEffect.mShininess); else if( IsElement( "reflectivity")) @@ -426,13 +430,18 @@ void ColladaParser::ReadEffectColor( aiColor4D& pColor, std::string& pSampler) { // text content contains 4 floats const char* content = GetTextContent(); - content = fast_atof_move( content, pColor.r); + float fBuf; + content = fast_atof_move( content, fBuf); + pColor.r = fBuf; SkipSpacesAndLineEnd( &content); - content = fast_atof_move( content, pColor.g); + content = fast_atof_move( content, fBuf); + pColor.g = fBuf; SkipSpacesAndLineEnd( &content); - content = fast_atof_move( content, pColor.b); + content = fast_atof_move( content, fBuf); + pColor.b = fBuf; SkipSpacesAndLineEnd( &content); - content = fast_atof_move( content, pColor.a); + content = fast_atof_move( content, fBuf); + pColor.a = fBuf; SkipSpacesAndLineEnd( &content); TestClosing( "color");