Salome HOME
Update Help for VISU module.
[modules/visu.git] / src / VISU_I / VISU_CutLines_i.hh
index 4c4a7e094335bbe4b3b7d3a1f2e9a107cd52699e..93780198116665cab0b42c9073abd9730a5cf5b0 100644 (file)
@@ -1,23 +1,23 @@
 //  VISU OBJECT : interactive object for VISU entities implementation
 //
 //  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 
+//  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
 //
 //
 //  File   : VISU_PrsObject_i.hxx
@@ -39,8 +39,12 @@ namespace VISU{
     CutLines_i();
     CutLines_i(const CutLines_i&);
   public:
-    CutLines_i(Result_i* theResult, bool theAddToStudy = true,
-              SALOMEDS::SObject_ptr theSObject = SALOMEDS::SObject::_nil());
+    explicit
+    CutLines_i(Result_i* theResult,
+              bool theAddToStudy);
+    explicit
+    CutLines_i(Result_i* theResult,
+              SALOMEDS::SObject_ptr theSObject);
     virtual void SameAs(const CutLines_i* theOrigin);
     virtual ~CutLines_i();
 
@@ -78,32 +82,42 @@ namespace VISU{
     virtual void SetDefaultPosition(CORBA::Long thePlaneNumber);
     virtual CORBA::Boolean IsDefaultPosition(CORBA::Long thePlaneNumber);
 
+    virtual void SetAllCurvesInverted(CORBA::Boolean theInvert);
+    virtual CORBA::Boolean IsAllCurvesInverted();
+    virtual void SetCurveInverted(CORBA::Long theCurveNumber,CORBA::Boolean theInvert);
+    virtual CORBA::Boolean IsCurveInverted(CORBA::Long theCurveNumber);
+
     virtual void SetNbLines(CORBA::Long theNb);
     virtual CORBA::Long GetNbLines();
     typedef VISU::CutLines TInterface;
     VISU_CutLinesPL* GetCutLinesPL(){ return myCutLinesPL;}
+    
+    typedef std::map<int,bool> TCurvesInv;
+    TCurvesInv GetCurvesInverted() {return myMapCurvesInverted;}
+    void CopyCurvesInverted(const TCurvesInv& theCurves);
 
   protected:
     virtual void DoHook();
 
     VISU_CutLinesPL *myCutLinesPL;
+    TCurvesInv myMapCurvesInverted;
 
   public:
-    static int IsPossible(Result_i* theResult, const char* theMeshName, VISU::Entity theEntity, 
+    static int IsPossible(Result_i* theResult, const char* theMeshName, VISU::Entity theEntity,
                          const char* theFieldName, int theIteration, int isMemoryCheck = true);
-    virtual Storable* Create(const char* theMeshName, VISU::Entity theEntity, 
+    virtual Storable* Create(const char* theMeshName, VISU::Entity theEntity,
                             const char* theFieldName, int theIteration);
 
     virtual void ToStream(std::ostringstream& theStr);
 
-    virtual Storable* Restore(const Storable::TRestoringMap& theMap)
-      throw(std::logic_error&);
+    virtual Storable* Restore(const Storable::TRestoringMap& theMap);
 
     void BuildTableOfReal(SALOMEDS::SObject_ptr theSObject);
 
-    static const string myComment;
+    static const std::string myComment;
     virtual const char* GetComment() const;
     virtual QString GenerateName();
   };
 }
+
 #endif