|
@@ -331,7 +331,16 @@ void ColladaParser::ReadAssetInfo(XmlNode &node) {
|
|
const std::string ¤tName = currentNode.name();
|
|
const std::string ¤tName = currentNode.name();
|
|
if (currentName == "unit") {
|
|
if (currentName == "unit") {
|
|
mUnitSize = 1.f;
|
|
mUnitSize = 1.f;
|
|
- XmlParser::getRealAttribute(currentNode, "meter", mUnitSize);
|
|
|
|
|
|
+ std::string tUnitSizeString;
|
|
|
|
+ if (XmlParser::getStdStrAttribute(currentNode, "meter", tUnitSizeString)) {
|
|
|
|
+ try {
|
|
|
|
+ fast_atoreal_move<ai_real>(tUnitSizeString.data(), mUnitSize);
|
|
|
|
+ } catch (DeadlyImportError die) {
|
|
|
|
+ std::string warning("Collada: Failed to parse meter parameter to real number. Exception:\n");
|
|
|
|
+ warning.append(die.what());
|
|
|
|
+ ASSIMP_LOG_WARN(warning.data());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
} else if (currentName == "up_axis") {
|
|
} else if (currentName == "up_axis") {
|
|
std::string v;
|
|
std::string v;
|
|
if (!XmlParser::getValueAsString(currentNode, v)) {
|
|
if (!XmlParser::getValueAsString(currentNode, v)) {
|