Salome HOME
Add English translations to unfinished ones
[modules/geom.git] / src / SKETCHER / Sketcher_Profile.hxx
index f8389f3aad63b6da153b90af74295fec38954db6..5b66eb6ab4a1c695ce28845e2d5935c978b44b79 100644 (file)
@@ -1,54 +1,65 @@
-//  GEOM SKETCHER : basic sketcher
+// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
 //
-//  Copyright (C) 2003  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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+// Copyright (C) 2003-2007  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   : Sketcher_Profile.h
 //  Author : Damien COQUERET
-//  Module : GEOM
-//  $Header: 
 
-#include <gp_Pnt.hxx>
-#include <gp_Dir.hxx>
+#if defined WIN32
+#  if defined SKETCHER_SALOME_EXPORTS || defined SKETCHER_EXPORTS
+#    define SKETCHER_SALOME_EXPORT _declspec( dllexport )
+#  else
+#    define SKETCHER_SALOME_EXPORT _declspec( dllimport )
+#  endif
+#else
+#  define SKETCHER_SALOME_EXPORT
+#endif
+
 #include <TopoDS_Shape.hxx>
+#include <TCollection_AsciiString.hxx>
+#include <TColStd_Array1OfAsciiString.hxx>
+
+#include <string>
 
-class Sketcher_Profile
+class SKETCHER_SALOME_EXPORT Sketcher_Profile
 {
+  class Functor;
+  class ShapeFunctor;
+  class DumpFunctor;
 
 public:
   Sketcher_Profile();
-  Sketcher_Profile(const char* aCmd);
+  Sketcher_Profile( const char* );
 
-private:
-  gp_Pnt myLastPoint;
-  gp_Dir myLastDir;
-
-  TopoDS_Shape myShape;
-  bool myOK;
+  void                    SetCommand( const char* );
 
-public:
-  gp_Pnt GetLastPoint(){return myLastPoint;};
-  gp_Dir GetLastDir(){return myLastDir;};
+  TopoDS_Shape            GetShape( bool* = 0, double* = 0 );
+  TCollection_AsciiString GetDump( bool* = 0 );
 
-  const TopoDS_Shape& GetShape(){return myShape;};
-  bool IsDone(){return myOK;};
+private:
+  void parse( const TCollection_AsciiString&, Functor* );
+  void badArgs();
+  void findNextCommand( const TColStd_Array1OfAsciiString&, TColStd_Array1OfAsciiString&, int, int& );
+  TCollection_AsciiString extractCommand( const TCollection_AsciiString& );
 
+private:
+  TCollection_AsciiString myCommand;
 };