]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Complete merge of STLEXport from V3_2_0_maintainance. V4_0 V4_0rc1_automake V4_0rc2
authorjfa <jfa@opencascade.com>
Thu, 10 May 2007 11:40:25 +0000 (11:40 +0000)
committerjfa <jfa@opencascade.com>
Thu, 10 May 2007 11:40:25 +0000 (11:40 +0000)
src/STLExport/Makefile.am [new file with mode: 0644]
src/STLExport/STLExport.cxx [new file with mode: 0644]

diff --git a/src/STLExport/Makefile.am b/src/STLExport/Makefile.am
new file mode 100644 (file)
index 0000000..9b358c0
--- /dev/null
@@ -0,0 +1,41 @@
+#  Copyright (C) 2003  CEA
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+#
+#  $Header$
+
+include $(top_srcdir)/adm_local/unix/make_common_starter.am
+
+# header files 
+salomeinclude_HEADERS =
+
+# Libraries targets
+lib_LTLIBRARIES = libSTLExport.la
+
+dist_libSTLExport_la_SOURCES = \
+       STLExport.cxx
+
+# additionnal information to compil and link file
+libSTLExport_la_CPPFLAGS = \
+       $(CAS_CPPFLAGS) \
+       $(KERNEL_CXXFLAGS)
+
+libSTLExport_la_LDFLAGS  = \
+       $(KERNEL_LDFLAGS) -lSALOMELocalTrace \
+       $(STDLIB) \
+       $(CAS_LDPATH) -lTKSTL
diff --git a/src/STLExport/STLExport.cxx b/src/STLExport/STLExport.cxx
new file mode 100644 (file)
index 0000000..eded432
--- /dev/null
@@ -0,0 +1,68 @@
+// Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+// File:       STLExport.cxx
+// Created:    Wed May 19 14:53:52 2004
+// Author:     Pavel TELKOV
+//             <ptv@mutex.nnov.opencascade.com>
+
+#include "utilities.h"
+
+#include <StlAPI_Writer.hxx>
+
+#include <TCollection_AsciiString.hxx>
+#include <TopoDS_Shape.hxx>
+
+#ifdef WNT
+#include <SALOME_WNT.hxx>
+#else
+#define SALOME_WNT_EXPORT
+#endif
+
+//=============================================================================
+/*!
+ *
+ */
+//=============================================================================
+
+extern "C"
+{
+  SALOME_WNT_EXPORT
+  int Export(const TopoDS_Shape& theShape,
+             const TCollection_AsciiString& theFileName,
+             const TCollection_AsciiString& theFormatName)
+  {
+    MESSAGE("Export STL into file " << theFileName.ToCString());
+
+    try
+    {
+      StlAPI_Writer aWriter;
+      bool aIsASCIIMode;
+      aIsASCIIMode = (theFormatName.IsEqual("STL_ASCII")) ? true : false;
+      aWriter.ASCIIMode() = aIsASCIIMode;
+      aWriter.Write(theShape, theFileName.ToCString()) ;
+      return 1;
+    }
+    catch(Standard_Failure)
+    {
+      //THROW_SALOME_CORBA_EXCEPTION("Exception catched in STLExport", SALOME::BAD_PARAM);
+    }
+    return 0;
+  }
+}