Ver Fonte

made it work again under linux

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@261 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
alil há 17 anos atrás
pai
commit
f601c3c5b9
1 ficheiros alterados com 17 adições e 8 exclusões
  1. 17 8
      code/ColladaParser.cpp

+ 17 - 8
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");