Browse Source

closes https://github.com/assimp/assimp/issues/774: use correct type for unitscale in fbx.

Kim Kulling 7 years ago
parent
commit
37d352622b
2 changed files with 5 additions and 3 deletions
  1. 3 1
      code/FBXDocument.cpp
  2. 2 2
      test/unit/utFBXImporterExporter.cpp

+ 3 - 1
code/FBXDocument.cpp

@@ -351,7 +351,9 @@ void Document::ReadGlobalSettings()
         return;
         return;
     }
     }
 
 
-    std::shared_ptr<const PropertyTable> props = GetPropertyTable(*this, "", *ehead, *ehead->Compound(), true);
+    std::shared_ptr<const PropertyTable> props = GetPropertyTable( *this, "", *ehead, *ehead->Compound(), true );
+
+    //double v = PropertyGet<float>( *props.get(), std::string("UnitScaleFactor"), 1.0 );
 
 
     if(!props) {
     if(!props) {
         DOMError("GlobalSettings dictionary contains no property table");
         DOMError("GlobalSettings dictionary contains no property table");

+ 2 - 2
test/unit/utFBXImporterExporter.cpp

@@ -101,12 +101,12 @@ TEST_F( utFBXImporterExporter, importPhongMaterial ) {
 
 
 TEST_F(utFBXImporterExporter, importUnitScaleFactor) {
 TEST_F(utFBXImporterExporter, importUnitScaleFactor) {
     Assimp::Importer importer;
     Assimp::Importer importer;
-    const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/FBX/spider.fbx", aiProcess_ValidateDataStructure);
+    const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/FBX/global_settings.fbx", aiProcess_ValidateDataStructure);
 
 
     EXPECT_NE(nullptr, scene);
     EXPECT_NE(nullptr, scene);
     EXPECT_NE(nullptr, scene->mMetaData);
     EXPECT_NE(nullptr, scene->mMetaData);
 
 
     double factor(0.0);
     double factor(0.0);
     scene->mMetaData->Get("UnitScaleFactor", factor);
     scene->mMetaData->Get("UnitScaleFactor", factor);
-    EXPECT_DOUBLE_EQ(1.0, factor);
+    EXPECT_DOUBLE_EQ(500.0, factor);
 }
 }