-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
//
// 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
// 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.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
#include <QVector>
#include "OCCViewer.h"
+#include "OCCViewer_ClipPlane.h"
#include "Qtx.h"
#include "SUIT_ViewModel.h"
#include <AIS_Trihedron.hxx>
#include <AIS_InteractiveContext.hxx>
#include <Basics_OCCTVersion.hxx>
+#include <Graphic3d_SequenceOfHClipPlane.hxx>
class QKeyEvent;
class QMouseEvent;
class SUIT_ViewWindow;
class SUIT_Desktop;
+class OCCViewer_ClippingDlg;
class OCCViewer_ViewWindow;
+class OCCViewer_ViewPort3d;
class AIS_ListOfInteractive;
+class QtxAction;
+
+
#ifdef WIN32
#pragma warning( disable:4251 )
#endif
bool trihedronRelative() const {return myIsRelative; }
- // a utility function, used by SALOME_View_s methods
+ // a utility functions, used by SALOME_View_s methods
bool computeTrihedronSize( double& theNewSize, double& theSize );
+ virtual double computeSceneSize(const Handle(V3d_View)&) const;
void updateTrihedron();
int getSelectionCount() const { return (!myAISContext.IsNull())? myAISContext->NbSelected():0; }
- bool isStaticTrihedronDisplayed() { return myShowStaticTrihedron; }
void setStaticTrihedronDisplayed(const bool on);
+ /* Clip planes management */
+ void setClipPlanes (ClipPlanesList theList);
+ ClipPlanesList getClipPlanes() const;
+ void applyExistingClipPlanesToObject (const Handle(AIS_InteractiveObject)& theObject);
+
+ OCCViewer_ClippingDlg* getClippingDlg() const;
+ void setClippingDlg(OCCViewer_ClippingDlg* theDlg);
+
+
/* Selection management */
bool highlight( const Handle(AIS_InteractiveObject)&, bool, bool=true );
bool unHighlightAll( bool=true, bool=true );
virtual void onMouseMove(SUIT_ViewWindow*, QMouseEvent*);
virtual void onMouseRelease(SUIT_ViewWindow*, QMouseEvent*);
virtual void onKeyPress(SUIT_ViewWindow*, QKeyEvent*);
- virtual void onViewClosed();
- virtual void onViewMapped();
+ virtual void onViewClosed(OCCViewer_ViewPort3d*);
+ virtual void onViewMapped(OCCViewer_ViewPort3d*);
void onDumpView();
void onChangeBackground();
Handle(AIS_Trihedron) myTrihedron;
- Handle(AIS_InteractiveContext) myAISContext;
+ Handle(AIS_InteractiveContext) myAISContext;
int myInteractionStyle;
int myZoomingStyle;
//QColor myBgColor;
QPoint myStartPnt, myEndPnt, myCurPnt;
- bool myShowStaticTrihedron;
-
double myTrihedronSize;
QVector<Qtx::BackgroundData> myBackgrounds;
+
+ OCCViewer_ClippingDlg* myClippingDlg;
+
+ ClipPlanesList myClipPlanes;
+ Graphic3d_SequenceOfHClipPlane myInternalClipPlanes;
};
#ifdef WIN32