Browse Source

reverting back to 16 digit precision export
having to import 17 digit floats likely leads to issues in many other apps

Chris Russ 9 years ago
parent
commit
a5b3ce9a3c

+ 1 - 1
code/ColladaExporter.cpp

@@ -94,7 +94,7 @@ ColladaExporter::ColladaExporter( const aiScene* pScene, IOSystem* pIOSystem, co
 {
     // make sure that all formatting happens using the standard, C locale and not the user's current locale
     mOutput.imbue( std::locale("C") );
-    mOutput.precision(17);
+    mOutput.precision(16);
 
     mScene = pScene;
     mSceneOwned = false;

+ 2 - 2
code/ObjExporter.cpp

@@ -94,9 +94,9 @@ ObjExporter :: ObjExporter(const char* _filename, const aiScene* pScene)
     // make sure that all formatting happens using the standard, C locale and not the user's current locale
     const std::locale& l = std::locale("C");
     mOutput.imbue(l);
-    mOutput.precision(17);
+    mOutput.precision(16);
     mOutputMat.imbue(l);
-    mOutputMat.precision(17);
+    mOutputMat.precision(16);
 
     WriteGeometryFile();
     WriteMaterialFile();

+ 1 - 1
code/PlyExporter.cpp

@@ -99,7 +99,7 @@ PlyExporter::PlyExporter(const char* _filename, const aiScene* pScene, bool bina
     // make sure that all formatting happens using the standard, C locale and not the user's current locale
     const std::locale& l = std::locale("C");
     mOutput.imbue(l);
-    mOutput.precision(17);
+    mOutput.precision(16);
 
     unsigned int faces = 0u, vertices = 0u, components = 0u;
     for (unsigned int i = 0; i < pScene->mNumMeshes; ++i) {

+ 1 - 1
code/STLExporter.cpp

@@ -94,7 +94,7 @@ STLExporter :: STLExporter(const char* _filename, const aiScene* pScene, bool bi
     // make sure that all formatting happens using the standard, C locale and not the user's current locale
     const std::locale& l = std::locale("C");
     mOutput.imbue(l);
-    mOutput.precision(17);
+    mOutput.precision(16);
     if (binary) {
         char buf[80] = {0} ;
         buf[0] = 'A'; buf[1] = 's'; buf[2] = 's'; buf[3] = 'i'; buf[4] = 'm'; buf[5] = 'p';

+ 2 - 2
code/StepExporter.cpp

@@ -146,7 +146,7 @@ StepExporter::StepExporter(const aiScene* pScene, IOSystem* pIOSystem, const std
 
     // make sure that all formatting happens using the standard, C locale and not the user's current locale
     mOutput.imbue( std::locale("C") );
-    mOutput.precision(17);
+    mOutput.precision(16);
 
     // start writing
     WriteFile();
@@ -161,7 +161,7 @@ void StepExporter::WriteFile()
     mOutput.setf(std::ios::fixed);
     // precission for double
     // see http://stackoverflow.com/questions/554063/how-do-i-print-a-double-value-with-full-precision-using-cout
-    mOutput.precision(17);
+    mOutput.precision(16);
 
     // standard color
     aiColor4D fColor;

+ 2 - 2
code/XFileExporter.cpp

@@ -104,7 +104,7 @@ XFileExporter::XFileExporter(const aiScene* pScene, IOSystem* pIOSystem, const s
 {
     // make sure that all formatting happens using the standard, C locale and not the user's current locale
     mOutput.imbue( std::locale("C") );
-    mOutput.precision(17);
+    mOutput.precision(16);
 
     // start writing
     WriteFile();
@@ -125,7 +125,7 @@ void XFileExporter::WriteFile()
 {
     // note, that all realnumber values must be comma separated in x files
     mOutput.setf(std::ios::fixed);
-    mOutput.precision(17); // precission for double
+    mOutput.precision(16); // precission for double
 
     // entry of writing the file
     WriteHeader();