Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef OCCVIEWER_VIEWFRAME_H
00024 #define OCCVIEWER_VIEWFRAME_H
00025
00026 #include "OCCViewer.h"
00027 #include "OCCViewer_ViewWindow.h"
00028
00029 #include <gp_Pln.hxx>
00030
00031 class SUIT_Desktop;
00032 class OCCViewer_Viewer;
00033 class QGridLayout;
00034
00035 class OCCVIEWER_EXPORT OCCViewer_ViewFrame : public OCCViewer_ViewWindow
00036 {
00037 Q_OBJECT
00038 public:
00039 enum { MAIN_VIEW, BOTTOM_RIGHT=MAIN_VIEW, BOTTOM_LEFT, TOP_LEFT, TOP_RIGHT };
00040
00041 OCCViewer_ViewFrame(SUIT_Desktop* theDesktop, OCCViewer_Viewer* theModel);
00042 virtual ~OCCViewer_ViewFrame();
00043
00044 OCCViewer_ViewWindow* getView( const int ) const;
00045
00046 virtual OCCViewer_ViewPort3d* getViewPort() { return getView(MAIN_VIEW)->getViewPort(); }
00047 OCCViewer_ViewPort3d* getViewPort(int theView);
00048
00049 virtual void performRestoring( const viewAspect& theAspect) { getView(MAIN_VIEW)->performRestoring(theAspect); }
00050 virtual void initLayout() {}
00051
00052 virtual void updateEnabledDrawMode();
00053 virtual void setCuttingPlane( bool on, const double x = 0 , const double y = 0 , const double z = 0,
00054 const double dx = 0, const double dy = 0, const double dz = 1);
00055
00056 virtual void setCuttingPlane( bool on, const gp_Pln thePln );
00057
00058 virtual bool isCuttingPlane() { return getView(MAIN_VIEW)->isCuttingPlane(); }
00059
00060 virtual QString getVisualParameters() { return getView(MAIN_VIEW)->getVisualParameters(); }
00061 virtual void setVisualParameters( const QString& parameters ) { getView(MAIN_VIEW)->setVisualParameters(parameters); }
00062
00063 virtual void initSketchers() { getView(MAIN_VIEW)->initSketchers(); }
00064 virtual OCCViewer_ViewSketcher* getSketcher( const int i) { return getView(MAIN_VIEW)->getSketcher(i); }
00065 virtual void activateSketching( int i ) { getView(MAIN_VIEW)->activateSketching(i); }
00066
00067 virtual int interactionStyle() const { return getView(MAIN_VIEW)->interactionStyle(); }
00068 virtual void setInteractionStyle( const int i );
00069
00070 virtual int zoomingStyle() const { return getView(MAIN_VIEW)->zoomingStyle(); }
00071 virtual void setZoomingStyle( const int );
00072
00073 virtual void setViewManager( SUIT_ViewManager* );
00074
00075 virtual bool eventFilter(QObject* watched, QEvent* e) { return SUIT_ViewWindow::eventFilter(watched, e); }
00076
00077 virtual QColor backgroundColor() const;
00078 virtual void setBackgroundColor( const QColor& );
00079
00080 virtual void setDropDownButtons( bool );
00081
00082 public slots:
00083 virtual void onFrontView() { getView(MAIN_VIEW)->onFrontView(); }
00084 virtual void onViewFitAll();
00085 virtual void onBackView() { getView(MAIN_VIEW)->onBackView(); }
00086 virtual void onTopView() { getView(MAIN_VIEW)->onTopView(); }
00087 virtual void onBottomView() { getView(MAIN_VIEW)->onBottomView(); }
00088 virtual void onLeftView() { getView(MAIN_VIEW)->onLeftView(); }
00089 virtual void onRightView() { getView(MAIN_VIEW)->onRightView(); }
00090 virtual void onClockWiseView() { getView(MAIN_VIEW)->onClockWiseView(); }
00091 virtual void onAntiClockWiseView() { getView(MAIN_VIEW)->onAntiClockWiseView(); }
00092 virtual void onResetView() { getView(MAIN_VIEW)->onResetView(); }
00093 virtual void onFitAll();
00094 virtual void activateZoom() {}
00095 virtual void activateWindowFit() {}
00096 virtual void activateRotation() {}
00097 virtual void activatePanning() {}
00098 virtual void activateGlobalPanning() {}
00099 virtual void onSetRotationPoint( bool on ) {}
00100 virtual void onAxialScale() {}
00101 virtual void onAmbientToogle() {}
00102 virtual void onMemorizeView() {}
00103 virtual void onRestoreView() {}
00104 virtual void onSwitchInteractionStyle( bool on ) {}
00105
00106 virtual void activateSetRotationGravity() {}
00107 virtual void activateSetRotationSelected( double theX, double theY, double theZ ) {}
00108 virtual void activateStartPointSelection() {}
00109 virtual void updateGravityCoords() {}
00110
00111 void onMaximizedView( OCCViewer_ViewWindow*, bool );
00112
00113 virtual void onDumpView();
00114
00115 protected:
00116 virtual QImage dumpView();
00117 virtual bool dumpViewToFormat( const QImage&, const QString&, const QString& );
00118
00119 private slots:
00120 void onContextMenuRequested(QContextMenuEvent*);
00121
00122 private:
00123 void connectViewSignals(OCCViewer_ViewWindow* theView);
00124
00125
00126 QList<OCCViewer_ViewWindow*> myViews;
00127 QGridLayout* myLayout;
00128
00129 OCCViewer_ViewWindow* myPopupRequestedView;
00130 };
00131
00132 #endif