Salome HOME
Issue #608: Usage of OCCT in interface -- Remove OCCT from *Export interfaces
authorspo <sergey.pokhodenko@opencascade.com>
Mon, 29 Jun 2015 10:03:28 +0000 (13:03 +0300)
committerspo <sergey.pokhodenko@opencascade.com>
Mon, 29 Jun 2015 10:08:58 +0000 (13:08 +0300)
src/ExchangePlugin/ExchangePlugin_ExportFeature.cpp
src/GeomAlgoAPI/GeomAlgoAPI_BREPExport.cpp
src/GeomAlgoAPI/GeomAlgoAPI_BREPExport.h
src/GeomAlgoAPI/GeomAlgoAPI_IGESExport.cpp
src/GeomAlgoAPI/GeomAlgoAPI_IGESExport.h
src/GeomAlgoAPI/GeomAlgoAPI_STEPExport.cpp
src/GeomAlgoAPI/GeomAlgoAPI_STEPExport.h

index 4637741984dcc23e758c49b3a1f1784a0653c09b..1cf82bb0b9e974efa70b184d76aff35858c5c128 100644 (file)
@@ -9,14 +9,14 @@
 #include <ExchangePlugin_Tools.h>
 
 #include <GeomAlgoAPI_BREPExport.h>
-#include <GeomAlgoAPI_STEPExport.h>
+#include <GeomAlgoAPI_CompoundBuilder.h>
 #include <GeomAlgoAPI_IGESExport.h>
+#include <GeomAlgoAPI_STEPExport.h>
+#include <GeomAlgoAPI_Tools.h>
 
 #include <Config_Common.h>
 #include <Config_PropManager.h>
 
-#include <GeomAlgoAPI_CompoundBuilder.h>
-
 #include <GeomAPI_Shape.h>
 
 #include <ModelAPI_AttributeSelectionList.h>
 #include <ModelAPI_Object.h>
 #include <ModelAPI_ResultBody.h>
 
-#include <TCollection_AsciiString.hxx>
-#include <TDF_Label.hxx>
 #include <TopoDS_Shape.hxx>
-#include <OSD_Path.hxx>
 
 #include <algorithm>
 #include <iterator>
@@ -101,15 +98,11 @@ bool ExchangePlugin_ExportFeature::exportFile(const std::string& theFileName,
                                               std::shared_ptr<GeomAPI_Shape> theShape)
 {
   // retrieve the file and plugin library names
-  TCollection_AsciiString aFileName(theFileName.c_str());
-  TCollection_AsciiString aFormatName(theFormat.c_str());
+  std::string aFormatName = theFormat;
 
   if (theFormat.empty()) { // look at extension
-    OSD_Path aPath(aFileName);
-    TCollection_AsciiString anExtension = aPath.Extension();
-    // ".brep" -> "BREP", TCollection_AsciiString are numbered from 1
-    anExtension = anExtension.SubString(2, anExtension.Length());
-    anExtension.UpperCase();
+    // ".brep" -> "BREP"
+    std::string anExtension = GeomAlgoAPI_Tools::File_Tools::extension(theFileName);
     if (anExtension == "BREP" || anExtension == "BRP") {
       aFormatName = "BREP";
     } else if (anExtension == "STEP" || anExtension == "STP") {
@@ -122,22 +115,23 @@ bool ExchangePlugin_ExportFeature::exportFile(const std::string& theFileName,
   }
 
   // Perform the export
-  TCollection_AsciiString anError;
+  std::string anError;
+
   TopoDS_Shape aShape(theShape->impl<TopoDS_Shape>());
   bool aResult = false;
   if (aFormatName == "BREP") {
-    aResult = BREPExport::Export(aFileName, aFormatName, aShape, anError);
+    aResult = BREPExport::Export(theFileName, aFormatName, aShape, anError);
   } else if (aFormatName == "STEP") {
-    aResult = STEPExport::Export(aFileName, aFormatName, aShape, anError);
-  } else if (aFormatName.SubString(1, 4) == "IGES") {
-    aResult = IGESExport::Export(aFileName, aFormatName, aShape, anError);
+    aResult = STEPExport::Export(theFileName, aFormatName, aShape, anError);
+  } else if (aFormatName.substr(0, 4) == "IGES") {
+    aResult = IGESExport::Export(theFileName, aFormatName, aShape, anError);
   } else {
-    anError = TCollection_AsciiString("Unsupported format ") + aFormatName;
+    anError = "Unsupported format " + aFormatName;
   }
 
   if (!aResult) {
     std::string aShapeError =
-        "An error occurred while exporting " + theFileName + ": " + anError.ToCString();
+        "An error occurred while exporting " + theFileName + ": " + anError;
     setError(aShapeError);
     return false;
   }
index c57b274b84d29cf71eed3bd52dcfd218ad947d10..8a6c36f11e74ed19c1be303fe7a3cc9967912342 100644 (file)
@@ -1,5 +1,9 @@
 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 
+// File:    GEOMALGOAPI_BREPExport.cpp
+// Created: May 14, 2015
+// Author:  Sergey POKHODENKO
+
 #include <GeomAlgoAPI_BREPExport.h>
 
 #include "GeomAlgoAPI_Tools.h"
  *
  */
 //=============================================================================
-//extern "C" {
 namespace BREPExport {
-bool Export(const TCollection_AsciiString& theFileName,
-            const TCollection_AsciiString&,
+
+bool Export(const std::string& theFileName,
+            const std::string&,
             const TopoDS_Shape& theShape,
-            TCollection_AsciiString& theError)
+            std::string& theError)
 {
   #ifdef _DEBUG
   std::cout << "Export BREP into file " << theFileName << std::endl;
@@ -26,12 +30,11 @@ bool Export(const TCollection_AsciiString& theFileName,
   // Set "C" numeric locale to save numbers correctly
   GeomAlgoAPI_Tools::Localizer loc;
 
-  if ( !BRepTools::Write( theShape, theFileName.ToCString() ) ) {
+  if (!BRepTools::Write(theShape, theFileName.c_str())) {
     theError = "BREP Export failed";
     return false;
   }
   return true;
 }
 
-}
-//}
+} // namespace BREPExport
index 88acbf5a1fe4105d680a682477bf11cce7ae9340..2b51e43f7522ae7c61da8e9751f29d42b469297c 100644 (file)
@@ -1,30 +1,27 @@
 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 
-/*
- * GEOMALGOAPI_BREPExport.h
- *
- *  Created on: May 14, 2015
- *      Author: spo
- */
+// File:    GEOMALGOAPI_BREPExport.h
+// Created: May 14, 2015
+// Author:  Sergey POKHODENKO
 
 #ifndef GEOMALGOAPI_BREPEXPORT_H_
 #define GEOMALGOAPI_BREPEXPORT_H_
 
 #include <GeomAlgoAPI.h>
 
-#include <TCollection_AsciiString.hxx>
+#include <string>
+
 #include <TopoDS_Shape.hxx>
-#include <TDF_Label.hxx>
 
 namespace BREPExport {
 
 /// Implementation of the export BREP files algorithms
 GEOMALGOAPI_EXPORT
-bool Export(const TCollection_AsciiString& theFileName,
-            const TCollection_AsciiString& theFormatName,
+bool Export(const std::string& theFileName,
+            const std::string& theFormatName,
             const TopoDS_Shape& theShape,
-            TCollection_AsciiString& theError);
+            std::string& theError);
 
-}
+} // namespace BREPExport
 
 #endif /* GEOMALGOAPI_BREPEXPORT_H_ */
index 936dfd6935ae41eae03a7667da9dc300c60f55e2..0f7182a8f28b52077e14277aa379eba3f66469b7 100644 (file)
@@ -1,5 +1,9 @@
 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 
+// File:    GEOMALGOAPI_IGESExport.cpp
+// Created: Dec 24, 2014
+// Author:  Sergey BELASH
+
 #include <GeomAlgoAPI_IGESExport.h>
 
 #include "GeomAlgoAPI_Tools.h"
index 4f0f3cc3411866511b1579f2eeff0b802d51800a..a583ae804b8acf481e2fe696ddd4627f86df4d69 100644 (file)
@@ -1,30 +1,27 @@
 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 
-/*
- * GEOMALGOAPI_IGESExport.h
- *
- *  Created on: Dec 24, 2014
- *      Author: sbh
- */
+// File:    GEOMALGOAPI_IGESExport.h
+// Created: Dec 24, 2014
+// Author:  Sergey BELASH
 
 #ifndef GEOMALGOAPI_IGESEXPORT_H_
 #define GEOMALGOAPI_IGESEXPORT_H_
 
 #include <GeomAlgoAPI.h>
 
-#include <TCollection_AsciiString.hxx>
+#include <string>
+
 #include <TopoDS_Shape.hxx>
-#include <TDF_Label.hxx>
 
 namespace IGESExport {
 
 /// Implementation of the export IGES files algorithms
 GEOMALGOAPI_EXPORT
-bool Export(const TCollection_AsciiString& theFileName,
-            const TCollection_AsciiString& theFormatName,
+bool Export(const std::string& theFileName,
+            const std::string& theFormatName,
             const TopoDS_Shape& theShape,
-            TCollection_AsciiString& theError);
+            std::string& theError);
 
-}
+} // namespace IGESExport
 
 #endif /* GEOMALGOAPI_IGESEXPORT_H_ */
index ab2ac793111d1bc994ae56977f3721f2f15ab7e5..6ec05e477e284da9903293730fdf84a2bf3b97c1 100644 (file)
@@ -1,5 +1,9 @@
 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 
+// File:    GEOMALGOAPI_STEPExport.cpp
+// Created: May 14, 2015
+// Author:  Sergey POKHODENKO
+
 #include <GeomAlgoAPI_STEPExport.h>
 
 #include "GeomAlgoAPI_Tools.h"
 
 namespace STEPExport {
 
-bool Export(const TCollection_AsciiString& theFileName,
-            const TCollection_AsciiString& theFormatName,
+bool Export(const std::string& theFileName,
+            const std::string& theFormatName,
             const TopoDS_Shape& theShape,
-            TCollection_AsciiString& theError)
+            std::string& theError)
 {
   #ifdef _DEBUG
-  std::cout << "Export STEP into file " << theFileName.ToCString() << std::endl;
+  std::cout << "Export STEP into file " << theFileName << std::endl;
   #endif
 
   try
@@ -34,7 +38,7 @@ bool Export(const TCollection_AsciiString& theFileName,
     status = aWriter.Transfer( theShape, STEPControl_AsIs );
     //VRV: OCC 4.0 migration
     if( status == IFSelect_RetDone )
-      status = aWriter.Write( theFileName.ToCString() );
+      status = aWriter.Write( theFileName.c_str() );
 
     // Return previous locale
     if( status == IFSelect_RetDone )
index e05a59ff1d52eac335c540635087e4d28f4ee6c1..09fa129e1922199dd29fde9e2b3ed37d6da63363 100644 (file)
@@ -1,36 +1,27 @@
 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 
-/*
- * GEOMALGOAPI_STEPExport.h
- *
- *  Created on: May 14, 2015
- *      Author: spo
- */
+// File:    GEOMALGOAPI_STEPExport.h
+// Created: May 14, 2015
+// Author:  Sergey POKHODENKO
 
 #ifndef GEOMALGOAPI_STEPEXPORT_H_
 #define GEOMALGOAPI_STEPEXPORT_H_
 
 #include <GeomAlgoAPI.h>
 
-#include <TCollection_AsciiString.hxx>
-#include <TCollection_HAsciiString.hxx>
+#include <string>
+
 #include <TopoDS_Shape.hxx>
-#include <TDF_Label.hxx>
 
 namespace STEPExport {
 
-/// Implementation of the export parameter from the STEP file
-GEOMALGOAPI_EXPORT
-Handle(TCollection_HAsciiString) GetValue(const TCollection_AsciiString& theFileName,
-                                          const TCollection_AsciiString& theParameterName,
-                                          TCollection_AsciiString& theError);
-
 /// Implementation of the export STEP files algorithms
 GEOMALGOAPI_EXPORT
-bool Export(const TCollection_AsciiString& theFileName,
-            const TCollection_AsciiString& theFormatName,
+bool Export(const std::string& theFileName,
+            const std::string& theFormatName,
             const TopoDS_Shape& theShape,
-            TCollection_AsciiString& theError);
-}
+            std::string& theError);
+
+} // namespace STEPExport
 
 #endif /* GEOMALGOAPI_STEPEXPORT_H_ */