-// 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
class QComboBox;
class QCheckBox;
class QtxDoubleSpinBox;
+class QtxDoubleSpinSlider;
+class QtxIntSpinSlider;
class QStackedLayout;
class QSlider;
class QMenu;
class OCCViewer_Viewer;
class OCCViewer_ViewWindow;
+class OCCViewer_ClipPlaneInteractor;
/*!
\class OCCViewer_ClippingDlg
virtual void showEvent ( QShowEvent * );
virtual void hideEvent ( QHideEvent * );
void initParam();
+ void setPlaneParam( OCCViewer_ClipPlane& thePlane );
void displayPreview();
void erasePreview();
void updatePreview();
bool isValid();
void updateClipping();
+ void updateControls();
- OCCViewer_ClipPlane& getClipPlane (int theIndex);
+ OCCViewer_ClipPlane& getClipPlane( int );
int clipPlanesCount();
+ OCCViewer_ClipPlane::PlaneMode currentPlaneMode() const;
+
+private:
+
QComboBox* ComboBoxPlanes;
QCheckBox* isActivePlane;
QPushButton* buttonNew;
QLabel* TextLabelDistance;
QLabel* TextLabelRotation1;
QLabel* TextLabelRotation2;
- QLabel* TLValueDistance;
- QLabel* TLValueRotation1;
- QLabel* TLValueRotation2;
- QSlider* SliderDistance;
- QSlider* SliderRotation1;
- QSlider* SliderRotation2;
+ QtxDoubleSpinSlider* SpinSliderDistance;
+ QtxIntSpinSlider* SpinSliderRotation1;
+ QtxIntSpinSlider* SpinSliderRotation2;
QComboBox* CBRelativeOrientation;
QCheckBox* PreviewCheckBox;
OCCViewer_Viewer* myModel;
Handle(V3d_View) myView3d;
- Standard_Integer myCurrentClipPlaneMode;
std::vector<Handle(AIS_Plane)> myPreviewPlaneVector;
bool myIsSelectPlane;
+ bool myIsUpdatingControls;
bool myBusy;
bool myIsPlaneCreation;
ClipPlanesList myLocalPlanes;
-
+
+ OCCViewer_ClipPlaneInteractor* myInteractor;
+
public slots:
void onApply();
void onReset();
void onInvert();
void onOrientationAbsoluteChanged( int );
- void onOrientationRelativeChanged (int);
+ void onOrientationRelativeChanged( int );
void onPreview( bool on );
void onAutoApply(bool);
- void SliderDistanceHasMoved(int);
- void SliderRotation1HasMoved(int);
- void SliderRotation2HasMoved(int);
+ void onPlaneClicked( const Handle_AIS_Plane& thePlane );
+ void onPlaneDragged( const Handle_AIS_Plane& thePlane );
};
#endif // OCCVIEWER_CLIPPINGDLG_H