]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
IPAL21434 TC5.1.3 Export creates incorrent shape in .step, .iges formats if "locale...
authordmv <dmv@opencascade.com>
Thu, 22 Oct 2009 14:04:02 +0000 (14:04 +0000)
committerdmv <dmv@opencascade.com>
Thu, 22 Oct 2009 14:04:02 +0000 (14:04 +0000)
src/STEPExport/STEPExport.cxx

index 75fd79cfe8fb0d33cf937205934d99b7affeedf1..eaff4f68e664c4e061bdf295f49cd2d9f6e39038 100644 (file)
@@ -67,6 +67,10 @@ STEPEXPORT_EXPORT
 
   try 
     {
+      // Set "C" numeric locale to save numbers correctly
+      std::string aCurLocale = setlocale(LC_NUMERIC, 0);
+      setlocale(LC_NUMERIC, "C");
+
       IFSelect_ReturnStatus status ;
       //VRV: OCC 4.0 migration
       STEPControl_Writer aWriter;
@@ -76,7 +80,10 @@ STEPEXPORT_EXPORT
       status = aWriter.Transfer( theShape, STEPControl_AsIs );
       //VRV: OCC 4.0 migration
       if ( status == IFSelect_RetDone ) 
-         status = aWriter.Write( theFileName.ToCString() ) ;
+         status = aWriter.Write( theFileName.ToCString() );
+
+      // Return previous locale
+      setlocale(LC_NUMERIC, aCurLocale.data());
       if ( status == IFSelect_RetDone ) 
        return 1;
     }