Temporary fix: collada loader strips 'file://' from paths now.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@289 67173fc5-114c-0410-ac8e-9d2fd5bffc1fpull/1/head
parent
ad79da7aa1
commit
84f8e3c68c
|
@ -382,6 +382,23 @@ const aiString& ColladaLoader::FindFilenameForEffectTexture( const ColladaParser
|
||||||
throw new ImportErrorException( boost::str( boost::format( "Unable to resolve effect texture entry \"%s\", ended up at ID \"%s\".") % pName % name));
|
throw new ImportErrorException( boost::str( boost::format( "Unable to resolve effect texture entry \"%s\", ended up at ID \"%s\".") % pName % name));
|
||||||
|
|
||||||
static aiString result;
|
static aiString result;
|
||||||
result.Set( imIt->second.mFileName);
|
result.Set( imIt->second.mFileName );
|
||||||
|
ConvertPath(result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------------------------------
|
||||||
|
// Convert a path read from a collada file to the usual representation
|
||||||
|
void ColladaLoader::ConvertPath (aiString& ss)
|
||||||
|
{
|
||||||
|
// TODO: collada spec, p 22. Handle URI correctly.
|
||||||
|
// For the moment we're just stripping the file:// away to make it work.
|
||||||
|
// Windoes doesn't seem to be able to find stuff like
|
||||||
|
// 'file://..\LWO\LWO2\MappingModes\earthSpherical.jpg'
|
||||||
|
if (0 == ::strncmp(ss.data,"file://",7))
|
||||||
|
{
|
||||||
|
ss.length -= 7;
|
||||||
|
::memmove(ss.data,ss.data+7,ss.length);
|
||||||
|
ss.data[ss.length] = '\0';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -121,6 +121,9 @@ protected:
|
||||||
/** Resolves the texture name for the given effect texture entry */
|
/** Resolves the texture name for the given effect texture entry */
|
||||||
const aiString& FindFilenameForEffectTexture( const ColladaParser& pParser, const Collada::Effect& pEffect, const std::string& pName);
|
const aiString& FindFilenameForEffectTexture( const ColladaParser& pParser, const Collada::Effect& pEffect, const std::string& pName);
|
||||||
|
|
||||||
|
/** Converts a path read from a collada file to the usual representation */
|
||||||
|
void ConvertPath (aiString& ss);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
/** Filename, for a verbose error message */
|
/** Filename, for a verbose error message */
|
||||||
std::string mFileName;
|
std::string mFileName;
|
||||||
|
|
Loading…
Reference in New Issue