]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Fixed issue of doubles with comma
authorClarisse Genrault <cgenrault@is231796.intra.cea.fr>
Fri, 7 Aug 2020 13:19:51 +0000 (15:19 +0200)
committerClarisse Genrault <cgenrault@is231796.intra.cea.fr>
Fri, 7 Aug 2020 13:19:51 +0000 (15:19 +0200)
src/GeomAlgoAPI/GeomAlgoAPI_ROOTExport.cpp
src/GeomAlgoAPI/GeomAlgoAPI_ROOTExport.h

index 476b075eb1984ffe6b94a8aada96f9277999a8e0..df0106062757f1b0861fdb29fb5543e5a24df68d 100644 (file)
@@ -22,6 +22,8 @@
 #include <OSD_OpenFile.hxx>
 
 #include <fstream>
+#include <sstream>
+
 
 //=================================================================================================
 GeomAlgoAPI_ROOTExport::GeomAlgoAPI_ROOTExport(const std::string& theFileName)
@@ -49,17 +51,10 @@ void GeomAlgoAPI_ROOTExport::buildBox(const std::string& theObjectName,
                                       const double theDX, const double theDY, const double theDZ)
 {
   std::cout<<"buildBox"<<std::endl;
-  char anOX[50], anOY[50], anOZ[50], aDX[50], aDY[50], aDZ[50];
-  sprintf(anOX, "%.f", theOX);
-  sprintf(anOY, "%.f", theOY);
-  sprintf(anOZ, "%.f", theOZ);
-  sprintf(aDX, "%.f", theDX);
-  sprintf(aDY, "%.f", theDY);
-  sprintf(aDZ, "%.f", theDZ);
-  myContent += "Double_t point_"+theObjectName+"[3] = {"+std::string(anOX)+",";
-  myContent += std::string(anOY)+","+std::string(anOZ)+"};\n";
+  myContent += "Double_t point_"+theObjectName+"[3] = {"+doubleToString(theOX)+",";
+  myContent += doubleToString(theOY)+","+doubleToString(theOZ)+"};\n";
   myContent += "TGeoBBox* " + theObjectName + "= new TGeoBBox(\"" +theObjectName + "\",";
-  myContent += std::string(aDX)+","+std::string(aDY)+","+std::string(aDZ)+",point_";
+  myContent += doubleToString(theDX)+","+doubleToString(theDY)+","+doubleToString(theDZ)+",point_";
   myContent += theObjectName + ");\n";
 }
 
@@ -114,3 +109,11 @@ bool GeomAlgoAPI_ROOTExport::write()
   aFile.close();
   return true;
 }
+
+//=================================================================================================
+const std::string GeomAlgoAPI_ROOTExport::doubleToString(const double& value)
+{
+    std::ostringstream str;
+    str << value;
+    return str.str();
+}
index df643108f8cbfb268753a803734ee11143a1555c..7349a534b31b0f2139e17d7b3f87bd4e40a605c0 100644 (file)
@@ -59,6 +59,8 @@ public:
 
   /// Write the file
   GEOMALGOAPI_EXPORT bool write();
+  
+  GEOMALGOAPI_EXPORT const std::string doubleToString(const double& value);
 
 private:
   std::string myFileName;