X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FVISU_I%2FVISU_View_i.hh;h=6e644af50ef50c879db80659027123f4d4e0c8c5;hb=1ffdb3278d27b8bc7761d45bf3822281f76e2dc4;hp=67691d225b81d74659ed8fcf56c27c0fde031814;hpb=9560b540f09562b08da956cb0988791d36a41d33;p=modules%2Fvisu.git diff --git a/src/VISU_I/VISU_View_i.hh b/src/VISU_I/VISU_View_i.hh index 67691d22..6e644af5 100644 --- a/src/VISU_I/VISU_View_i.hh +++ b/src/VISU_I/VISU_View_i.hh @@ -1,6 +1,6 @@ -// VISU OBJECT : interactive object for VISU entities implementation +// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE // -// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// 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 @@ -17,17 +17,18 @@ // 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 -// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // +// VISU OBJECT : interactive object for VISU entities implementation // File : VISU_View_i.hh // Author : Alexey PETROV // Module : VISU - +// #ifndef VISU_View_i_HeaderFile #define VISU_View_i_HeaderFile #include "VISUConfig.hh" +#include "SALOME_GenericObj_i.hh" class QWidget; @@ -45,48 +46,63 @@ namespace VISU class Prs3d_i; class Curve_i; - class View_i : public virtual POA_VISU::View, - public virtual Storable + class VISU_I_EXPORT View_i : public virtual POA_VISU::View, + public virtual SALOME::GenericObj_i, + public virtual Storable { public: - QWidget *myWorkspace; - SUIT_ViewWindow *myViewWindow; - - protected: - SalomeApp_Application *myApplication; - SUIT_ViewManager *myViewManager; - View_i (SalomeApp_Application *theApplication, - SUIT_ViewManager* theViewManager); + SUIT_ViewManager* theViewManager); virtual ~View_i(); public: - virtual void ShowPart( VISU::View::ViewRepresentation ViewRepr, CORBA::Boolean state ); + virtual void ShowPart( VISU::View::ViewRepresentation ViewRepr, CORBA::Boolean state ); virtual CORBA::Boolean IsPartShown( VISU::View::ViewRepresentation ViewRepr ); + // Begin: New methods for view parameters management virtual void SplitRight(); + virtual void SplitLeft(); virtual void SplitBottom(); + virtual void SplitTop(); + + virtual void OnTop(); + + virtual void Attract (VISU::View_ptr theView); + virtual void AttractAll(VISU::View_ptr theView); + + virtual void SetRelativePositionInSplitter(CORBA::Double thePosition); + virtual void SetRelativeSizeInSplitter(CORBA::Double theSize); + virtual void SetRelativePositionX(CORBA::Double thePosition); + virtual void SetRelativePositionY(CORBA::Double thePosition); + + virtual void SetRelativeSizeX(CORBA::Double theSize); + virtual void SetRelativeSizeY(CORBA::Double theSize); + // End: New methods for view parameters management + + // Begin: Old methods for view parameters management, they don't work now virtual void SetViewWidth(CORBA::Long Width); virtual void SetViewHeight(CORBA::Long Height); virtual CORBA::Long GetViewWidth(); virtual CORBA::Long GetViewHeight(); virtual void SetViewPositionHorizontal(VISU::View::ViewPosition ViewPosHor); virtual void SetViewPositionVertical(VISU::View::ViewPosition ViewPosVer); - virtual void SetRelativePosition( CORBA::Double x, CORBA::Double y ); virtual void SetRelativeSize( CORBA::Double x, CORBA::Double y ); - - virtual void SetBackground(const SALOMEDS::Color& theColor); - virtual SALOMEDS::Color GetBackground(); virtual void Minimize(); virtual void Restore(); virtual void Maximize(); + // End: Old methods for view parameters management, they don't work now + + virtual void SetBackground(const SALOMEDS::Color& theColor); + virtual SALOMEDS::Color GetBackground(); + virtual void EraseAll(); virtual void DisplayAll(); virtual void Erase(PrsObject_ptr thePrsObj); virtual void Display(PrsObject_ptr thePrsObj); virtual void DisplayOnly(PrsObject_ptr thePrsObj); + virtual void Update(); virtual CORBA::Boolean SavePicture(const char* theFileName); @@ -94,12 +110,24 @@ namespace VISU virtual void Close() = 0; virtual void ToStream(std::ostringstream& theStr); virtual const char* GetComment() const; + + SUIT_ViewWindow* GetViewWindow(); + void SetViewWindow(SUIT_ViewWindow* theViewWindow); + + public: + QWidget *myWorkspace; + + SalomeApp_Application *myApplication; + SUIT_ViewManager *myViewManager; + + private: + SUIT_ViewWindow *myViewWindow; }; //=========================================================================== - class XYPlot_i : public virtual POA_VISU::XYPlot, - public virtual View_i + class VISU_I_EXPORT XYPlot_i : public virtual POA_VISU::XYPlot, + public virtual View_i { public: typedef VISU::XYPlot TInterface; @@ -122,10 +150,15 @@ namespace VISU virtual CORBA::Long GetMarkerSize(); virtual void EnableXGrid (CORBA::Boolean theMajor, CORBA::Long theNumMajor, - CORBA::Boolean theMinor, CORBA::Long theNumMinor); + CORBA::Boolean theMinor, CORBA::Long theNumMinor); virtual void EnableYGrid (CORBA::Boolean theMajor, CORBA::Long theNumMajor, - CORBA::Boolean theMinor, CORBA::Long theNumMinor); + CORBA::Boolean theMinor, CORBA::Long theNumMinor); + virtual void EnableYGrid (CORBA::Boolean theMajor, CORBA::Long theNumMajor, + CORBA::Boolean theMinor, CORBA::Long theNumMinor, + CORBA::Boolean the2Major, CORBA::Long the2NumMajor, + CORBA::Boolean the2Minor, CORBA::Long the2NumMinor); + virtual void SetHorScaling (VISU::Scaling theScaling); virtual VISU::Scaling GetHorScaling(); virtual void SetVerScaling (VISU::Scaling theScaling); @@ -146,8 +179,15 @@ namespace VISU virtual void Update(); virtual void FitAll(); + virtual void FitXRange(CORBA::Double xMin, CORBA::Double xMax); + virtual void FitYRange(CORBA::Double yMin, CORBA::Double yMax); + virtual void FitRange(CORBA::Double xMin, CORBA::Double xMax, + CORBA::Double yMin, CORBA::Double yMax); + virtual void GetFitRanges(double& xMin, double& xMax, double& yMin, double& yMax); virtual void Close(); + + Plot2d_ViewFrame* GetView() { return myView; } protected: Plot2d_ViewFrame* myView; public: @@ -156,7 +196,7 @@ namespace VISU //=========================================================================== - class TableView_i : public virtual POA_VISU::TableView, + class VISU_I_EXPORT TableView_i : public virtual POA_VISU::TableView, public virtual View_i { public: @@ -179,8 +219,8 @@ namespace VISU //=========================================================================== - class View3D_i : public virtual POA_VISU::View3D, - public virtual View_i + class VISU_I_EXPORT View3D_i : public virtual POA_VISU::View3D, + public virtual View_i { public: typedef VISU::View3D TInterface; @@ -194,10 +234,10 @@ namespace VISU virtual void SetTitle (const char* theTitle); virtual char* GetTitle(); - static void SetBackground (SUIT_ViewWindow* theStudyFrame, + static void SetBackground (SUIT_ViewWindow* theViewWindow, const SALOMEDS::Color& theColor); - static SALOMEDS::Color GetBackground (SUIT_ViewWindow* theStudyFrame); + static SALOMEDS::Color GetBackground (SUIT_ViewWindow* theViewWindow); virtual void EraseAll(); virtual void DisplayAll(); @@ -210,57 +250,72 @@ namespace VISU virtual void FitAll(); virtual void SetView (VISU::View3D::ViewType theType); - static void SetPointOfView (SUIT_ViewWindow* theStudyFrame, - const CORBA::Double thePosition[3]); + static void SetPointOfView (SUIT_ViewWindow* theViewWindow, + const CORBA::Double thePosition[3]); virtual void SetPointOfView (const VISU::View3D::XYZ theCoord); - static void GetPointOfView (SUIT_ViewWindow* theStudyFrame, - CORBA::Double thePosition[3]); + static void GetPointOfView (SUIT_ViewWindow* theViewWindow, + CORBA::Double thePosition[3]); virtual VISU::View3D::XYZ_slice* GetPointOfView(); - static void SetViewUp (SUIT_ViewWindow* theStudyFrame, - const CORBA::Double theViewUp[3]); + static void SetViewUp (SUIT_ViewWindow* theViewWindow, + const CORBA::Double theViewUp[3]); virtual void SetViewUp (const VISU::View3D::XYZ theDir); - static void GetViewUp (SUIT_ViewWindow* theStudyFrame, CORBA::Double theViewUp[3]); + static void GetViewUp (SUIT_ViewWindow* theViewWindow, CORBA::Double theViewUp[3]); virtual VISU::View3D::XYZ_slice* GetViewUp(); - static void SetFocalPoint (SUIT_ViewWindow* theStudyFrame, const CORBA::Double theFocalPnt[3]); + static void SetFocalPoint (SUIT_ViewWindow* theViewWindow, const CORBA::Double theFocalPnt[3]); virtual void SetFocalPoint (const VISU::View3D::XYZ theCoord); - static void View3D_i::GetFocalPoint (SUIT_ViewWindow* theStudyFrame, CORBA::Double theFocalPnt[3]); + static void GetFocalPoint (SUIT_ViewWindow* theViewWindow, CORBA::Double theFocalPnt[3]); virtual VISU::View3D::XYZ_slice* GetFocalPoint(); - static void SetParallelScale (SUIT_ViewWindow* theStudyFrame, CORBA::Double theScale); + static void SetParallelScale (SUIT_ViewWindow* theViewWindow, CORBA::Double theScale); virtual void SetParallelScale (CORBA::Double theScale); - static CORBA::Double GetParallelScale (SUIT_ViewWindow* theStudyFrame); + static CORBA::Double GetParallelScale (SUIT_ViewWindow* theViewWindow); virtual CORBA::Double GetParallelScale (); - static void ScaleView (SUIT_ViewWindow* theStudyFrame, - VISU::View3D::Axis theAxis, CORBA::Double theParam); + static void ScaleView (SUIT_ViewWindow* theViewWindow, + VISU::View3D::Axis theAxis, CORBA::Double theParam); virtual void ScaleView (VISU::View3D::Axis theAxis, CORBA::Double theParam); virtual void RemoveScale(); - static std::string ToString (SUIT_ViewWindow* theStudyFrame); + static std::string ToString (SUIT_ViewWindow* theViewWindow); - static void ToStream (SUIT_ViewWindow* theStudyFrame, std::ostringstream& theStr); + static void ToStream (SUIT_ViewWindow* theViewWindow, std::ostringstream& theStr); static bool SaveViewParams (SUIT_ViewManager* theViewManager, - const char* theName); - virtual CORBA::Boolean SaveViewParams (const char* theName); + const std::string& theName); + virtual CORBA::Boolean SaveViewParams (const char* theViewParamsName); static bool RestoreViewParams (SUIT_ViewManager* theViewManager, - const char* theName); - virtual CORBA::Boolean RestoreViewParams (const char* theName); + const std::string& theName); + virtual CORBA::Boolean RestoreViewParams (const char* theViewParamsName); static QString GenerateViewParamsName(); - static void Restore (SUIT_ViewWindow* theStudyFrame, - const Storable::TRestoringMap& theMap); + static void Restore (SUIT_ViewWindow* theViewWindow, + const Storable::TRestoringMap& theMap); virtual void Close(); + // Certain presentation view parameters management + virtual PresentationType GetPresentationType(ScalarMap_ptr thePrs); + virtual CORBA::Boolean IsShrinked (ScalarMap_ptr thePrs); + virtual CORBA::Boolean IsShaded (ScalarMap_ptr thePrs); + virtual CORBA::Double GetOpacity (ScalarMap_ptr thePrs); + virtual CORBA::Double GetLineWidth (ScalarMap_ptr thePrs); + virtual Quadratic2DPresentationType GetQuadratic2DPresentationType(ScalarMap_ptr thePrs); + + virtual char* SetPresentationType(ScalarMap_ptr thePrs, PresentationType thePrsType); + virtual char* SetShrinked (ScalarMap_ptr thePrs, CORBA::Boolean isShrinked); + virtual char* SetShaded (ScalarMap_ptr thePrs, CORBA::Boolean isShaded); + virtual char* SetOpacity (ScalarMap_ptr thePrs, CORBA::Double theOpacity); + virtual char* SetLineWidth (ScalarMap_ptr thePrs, CORBA::Double theLineWidth); + virtual char* SetQuadratic2DPresentationType(ScalarMap_ptr thePrs, Quadratic2DPresentationType theType); + protected: static int myNbViewParams;