-// File: VISU_ViewManager_i.hxx
-// Created: Wed Jan 22 17:52:40 2003
-// Author: Alexey PETROV
-// <apo@ivanox.nnov.matra-dtv.fr>
-
+// 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
+//
+//
+// File : VISU_ViewManager_i.hh
+// Author : Alexey PETROV
+// Module : VISU
#ifndef VISU_ViewManager_i_HeaderFile
#define VISU_ViewManager_i_HeaderFile
#include "VISUConfig.hh"
-class QAD_Study;
-class QAD_StudyFrame;
-class VTKViewer_ViewFrame;
-class Plot2d_ViewFrame;
-class SALOMEGUI_TableDlg;
+
+class SalomeApp_Application;
+
class VISU_Actor;
+
+class SUIT_ViewWindow;
+
+class SVTK_ViewWindow;
+class Plot2d_ViewFrame;
+
class vtkRenderer;
class vtkCamera;
-namespace VISU{
+
+namespace VISU {
class Prs3d_i;
+ class Curve_i;
+
class ViewManager_i : public virtual POA_VISU::ViewManager,
public virtual Base_i
{
public:
ViewManager_i(SALOMEDS::Study_ptr theStudy);
- virtual ~ViewManager_i() {};
+ virtual ~ViewManager_i();
virtual VISU::VISUType GetType() { return VISU::TVIEWMANAGER;};
- virtual View3D_ptr Create3DView();
- virtual View_ptr GetCurrentView();
+ virtual View3D_ptr Create3DView();
+ virtual View_ptr GetCurrentView();
virtual TableView_ptr CreateTableView(VISU::Table_ptr theTable);
- virtual XYPlot_ptr CreateXYPlot();
- virtual void Destroy(View_ptr theView);
-
- protected:
- SALOMEDS::Study_var myStudyDocument;
- };
-
- //===========================================================================
- class View_i : public virtual POA_VISU::View,
- public virtual Storable
- {
- protected:
- QAD_Study* myStudy;
- string myName;
- public:
- View_i(SALOMEDS::Study_ptr theStudy);
- virtual ~View_i();
- virtual void SetBackground(const SALOMEDS::Color& theColor);
- virtual SALOMEDS::Color GetBackground();
- virtual void Minimize();
- virtual void Restore();
- virtual void Maximize();
- 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);
-
- virtual void Close() = 0;
- virtual void ToStream(ostrstream& theStr);
- virtual const char* GetComment() const;
- public:
- virtual const char* View_i::GetEntry();
- };
-
- //===========================================================================
- class XYPlot_i : public virtual POA_VISU::XYPlot,
- public virtual View_i
- {
- public:
- XYPlot_i(SALOMEDS::Study_ptr theStudy);
- virtual ~XYPlot_i();
- virtual VISU::VISUType GetType() { return VISU::TXYPLOT;};
-
- virtual void SetTitle(const char* theTitle);
- virtual char* GetTitle();
-
- virtual void SetSubTitle(const char* theTitle);
- virtual char* GetSubTitle();
-
- virtual void SetCurveType(VISU::XYPlot::CurveType theType);
- virtual VISU::XYPlot::CurveType GetCurveType();
+ virtual XYPlot_ptr CreateXYPlot();
+ virtual void Destroy(View_ptr theView);
- virtual void SetMarkerSize(CORBA::Long theSize);
- virtual CORBA::Long GetMarkerSize();
-
- virtual void EnableXGrid(CORBA::Boolean theMajor, CORBA::Long theNumMajor,
- CORBA::Boolean theMinor, CORBA::Long theNumMinor);
- virtual void EnableYGrid(CORBA::Boolean theMajor, CORBA::Long theNumMajor,
- CORBA::Boolean theMinor, CORBA::Long theNumMinor);
-
- virtual void SetHorScaling(VISU::Scaling theScaling);
- virtual VISU::Scaling GetHorScaling();
- virtual void SetVerScaling(VISU::Scaling theScaling);
- virtual VISU::Scaling GetVerScaling();
-
- virtual void SetXTitle(const char* theTitle);
- virtual char* GetXTitle();
-
- virtual void SetYTitle(const char* theTitle);
- virtual char* GetYTitle();
-
- virtual void ShowLegend(CORBA::Boolean theShowing);
-
- virtual void SetBackground(const SALOMEDS::Color& theColor);
- virtual SALOMEDS::Color GetBackground();
- virtual void Minimize();
- virtual void Restore();
- virtual void Maximize();
- virtual void EraseAll();
- 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);
-
- virtual void FitAll();
-
- virtual void Close();
protected:
- QAD_StudyFrame* myStudyFrame;
- Plot2d_ViewFrame* myView;
- public:
- virtual Storable* Create(int theNew);
+ SalomeApp_Application *myApplication;
};
- //===========================================================================
- class TableView_i : public virtual POA_VISU::TableView,
- public virtual View_i
- {
- public:
- TableView_i(SALOMEDS::Study_ptr theStudy);
- virtual ~TableView_i();
- virtual VISU::VISUType GetType() { return VISU::TTABLEVIEW;};
+ vtkRenderer* GetRenderer (SUIT_ViewWindow* theViewWindow);
+ vtkCamera* GetCamera (SUIT_ViewWindow* theViewWindow);
- virtual void SetTitle(const char* theTitle);
- virtual char* GetTitle();
+ void RepaintView (SUIT_ViewWindow* theViewWindow);
- virtual void Close();
- protected:
- SALOMEGUI_TableDlg* myView;
- public:
- virtual Storable* Create(VISU::Table_var theTable);
- };
-
- //===========================================================================
- class View3D_i : public virtual POA_VISU::View3D,
- public virtual View_i
- {
- public:
- View3D_i(SALOMEDS::Study_ptr theStudy);
- virtual ~View3D_i();
- virtual VISU::VISUType GetType() { return VISU::TVIEW3D;};
-
- //View interface
- virtual void SetTitle(const char* theTitle);
- virtual char* GetTitle();
- virtual void SetBackground(const SALOMEDS::Color& theColor);
- virtual SALOMEDS::Color GetBackground();
- virtual void Minimize();
- virtual void Restore();
- virtual void Maximize();
- 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);
-
- //View3D interface
- virtual void FitAll();
- virtual void SetView(VISU::View3D::ViewType theType);
-
- virtual void SetPointOfView(const VISU::View3D::XYZ theCoord);
- virtual VISU::View3D::XYZ_slice* GetPointOfView();
-
- virtual void SetViewUp(const VISU::View3D::XYZ theDir);
- virtual VISU::View3D::XYZ_slice* GetViewUp();
-
- virtual void SetFocalPoint(const VISU::View3D::XYZ theCoord);
- virtual VISU::View3D::XYZ_slice* GetFocalPoint();
-
- virtual void SetParallelScale(CORBA::Double theScale);
- virtual CORBA::Double GetParallelScale();
-
- virtual void ScaleView(VISU::View3D::Axis theAxis, CORBA::Double theParam);
- virtual void RemoveScale();
-
- virtual const char* GenerateViewParamsName();
- virtual CORBA::Boolean SaveViewParams(const char* theName);
- virtual CORBA::Boolean RestoreViewParams(const char* theName);
-
- virtual void Close();
- protected:
- QAD_StudyFrame* myStudyFrame;
- SALOMEDS::Color myColor;
- CORBA::Double myPosition[3], myFocalPnt[3], myViewUp[3], myParallelScale, myScaleFactor[3];
-
- Storable* Build(int theRestoring);
- static int myNbViewParams;
-
- public:
- virtual Storable* Create(int theNew);
- virtual Storable* Restore(const Storable::TRestoringMap& theMap) throw(std::logic_error&);
- virtual void ToStream(ostrstream& theStr);
- virtual const char* GetComment() const;
- static const string myComment;
- };
- Storable* View3DRestore(SALOMEDS::SComponent_var& theSComponent, SALOMEDS::Study_var& theStudy,
- const char* thePrefix, const Storable::TRestoringMap& theMap);
+ enum Displaing {eDisplayAll, eDisplay, eDisplayOnly, eErase, eEraseAll};
+ VISU_Actor* UpdateViewer (SUIT_ViewWindow* theViewWindow, int theDisplaing, Prs3d_i* thePrs = NULL);
+ void UpdatePlot2d (Plot2d_ViewFrame *theView, int theDisplaying, Curve_i* theCurve);
- VTKViewer_ViewFrame* GetViewFrame(QAD_StudyFrame* theStudyFrame);
- vtkRenderer* GetRenderer(QAD_StudyFrame* theStudyFrame);
- vtkCamera* GetCamera(QAD_StudyFrame* theStudyFrame);
- void RepaintView(QAD_StudyFrame* theStudyFrame);
+ VISU_Actor* GetActor (VISU::Prs3d_i* thePrs, SVTK_ViewWindow* theViewWindow);
- enum Displaing {eDisplayAll, eDisplay, eDisplayOnly, eErase, eEraseAll};
- VISU_Actor* UpdateViewer(QAD_StudyFrame* theStudyFrame, int theDisplaing, Prs3d_i* thePrs = NULL);
+ void DeleteActors (VISU::Prs3d_i* thePrs);
+ void DeleteActors (VISU::Curve_i* thePrs);
}
#endif