Salome HOME
Update Help for VISU module.
[modules/visu.git] / src / VISU_I / VISU_CutLines_i.hh
index 3ebd8331369d5a514d0064e4fdce7e7a8a4d2452..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,19 +39,31 @@ namespace VISU{
     CutLines_i();
     CutLines_i(const CutLines_i&);
   public:
-    CutLines_i(Result_i* theResult, bool theAddToStudy = true);
+    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();
-    virtual void Destroy();
 
     virtual VISU::VISUType GetType() { return VISU::TCUTLINES;};
 
-    virtual void SetOrientationType(VISU::CutPlanes::Orientation theOrient);
-    virtual VISU::CutPlanes::Orientation GetOrientationType();
+    virtual void SetOrientation(VISU::CutPlanes::Orientation theOrient,
+                               CORBA::Double theXAngle, CORBA::Double theYAngle);
+    virtual void SetOrientation2(VISU::CutPlanes::Orientation theOrient,
+                                CORBA::Double theXAngle, CORBA::Double theYAngle);
 
-    virtual void SetOrientationType2(VISU::CutPlanes::Orientation theOrient);
+    virtual VISU::CutPlanes::Orientation GetOrientationType();
     virtual VISU::CutPlanes::Orientation GetOrientationType2();
 
+    virtual CORBA::Double GetRotateX();
+    virtual CORBA::Double GetRotateY();
+
+    virtual CORBA::Double GetRotateX2();
+    virtual CORBA::Double GetRotateY2();
+
     virtual void SetDisplacement(CORBA::Double theDisp);
     virtual CORBA::Double GetDisplacement();
 
@@ -70,46 +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();
-    
-    virtual void SetRotateX(CORBA::Double theAngle);
-    virtual CORBA::Double GetRotateX();
-    virtual void SetRotateY(CORBA::Double theAngle);
-    virtual CORBA::Double GetRotateY();
-
-    virtual void SetRotateX2(CORBA::Double theAngle);
-    virtual CORBA::Double GetRotateX2();
-    virtual void SetRotateY2(CORBA::Double theAngle);
-    virtual CORBA::Double GetRotateY2();
-
     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, 
-                         const char* theFieldName, int theIteration);
-    virtual Storable* Create(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,
                             const char* theFieldName, int theIteration);
 
     virtual void ToStream(std::ostringstream& theStr);
 
-    virtual Storable* Restore(const Storable::TRestoringMap& theMap)
-      throw(std::logic_error&);
-    static Storable* Restore(SALOMEDS::SObject_ptr theSObject, 
-                            const string& thePrefix, 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