Salome HOME
Updated copyright comment
[modules/gui.git] / src / SVTK / SVTK_InteractorStyle.h
index 786e97adf132405e76aa515368acb2b7a5d3012e..45671c864c2f78a3924e2be6b4926d5bd2ee4c7d 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2024  CEA, EDF, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -55,7 +55,7 @@
 */
 class SVTK_EXPORT SVTK_ControllerIncrement : public vtkObject{
  public:
-  vtkTypeMacro(SVTK_ControllerIncrement, vtkObject);
+  vtkTypeMacro(SVTK_ControllerIncrement, vtkObject)
   static SVTK_ControllerIncrement* New();
 
   //! Set start value of increment
@@ -87,7 +87,7 @@ class SVTK_EXPORT SVTK_ControllerIncrement : public vtkObject{
 */
 class SVTK_EXPORT SVTK_GeomControllerIncrement : public SVTK_ControllerIncrement{
  public:
-  vtkTypeMacro(SVTK_GeomControllerIncrement, SVTK_ControllerIncrement);
+  vtkTypeMacro(SVTK_GeomControllerIncrement, SVTK_ControllerIncrement)
   static SVTK_GeomControllerIncrement* New();
 
   //! Increace the increment value by add 1
@@ -110,7 +110,7 @@ class SVTK_EXPORT SVTK_GeomControllerIncrement : public SVTK_ControllerIncrement
 */
 class SVTK_EXPORT SVTK_ControllerOnKeyDown : public vtkObject{
  public:
-  vtkTypeMacro(SVTK_ControllerOnKeyDown, vtkObject);
+  vtkTypeMacro(SVTK_ControllerOnKeyDown, vtkObject)
   static SVTK_ControllerOnKeyDown* New();
 
   //! Provides the action on event 
@@ -134,7 +134,7 @@ class SVTK_Selector;
 class SVTK_GenericRenderWindowInteractor;
 class SVTK_Actor;
 
-class QRubberBand;
+class QtxRectRubberBand;
 
 #define VTK_INTERACTOR_STYLE_CAMERA_NONE    0
 #define VTK_INTERACTOR_STYLE_CAMERA_ROTATE  1
@@ -145,6 +145,7 @@ class QRubberBand;
 #define VTK_INTERACTOR_STYLE_CAMERA_SELECT     6
 #define VTK_INTERACTOR_STYLE_CAMERA_GLOBAL_PAN 7
 #define VTK_INTERACTOR_STYLE_CAMERA_SELECT_ROTATION_POINT 8
+#define VTK_INTERACTOR_STYLE_CAMERA_INTERACTIVE_SELECTION 9
 
 enum PolygonState { Disable, Start, InProcess, Finished, Closed, NotValid };
 
@@ -157,7 +158,7 @@ class SVTK_EXPORT SVTK_InteractorStyle: public vtkInteractorStyle
 {
  public:
   static SVTK_InteractorStyle *New();
-  vtkTypeMacro(SVTK_InteractorStyle, vtkInteractorStyle);
+  vtkTypeMacro(SVTK_InteractorStyle, vtkInteractorStyle)
 
   typedef boost::shared_ptr<SVTK_SelectionEvent> PSelectionEvent;
 
@@ -281,6 +282,9 @@ class SVTK_EXPORT SVTK_InteractorStyle: public vtkInteractorStyle
   void
   IncrementalRotate( const int incrX, const int incrY );
 
+  void
+  InteractiveSelection();
+
   // Main process event method (reimplemented from #vtkInteractorStyle)
   static 
   void
@@ -303,6 +307,7 @@ class SVTK_EXPORT SVTK_InteractorStyle: public vtkInteractorStyle
 
   void startPointSelection();
   void startFocalPointSelection();
+  void startInteractiveSelection();
 
  protected:
   void loadCursors();
@@ -369,9 +374,10 @@ class SVTK_EXPORT SVTK_InteractorStyle: public vtkInteractorStyle
   vtkSmartPointer<vtkPointPicker> myPointPicker;
   
   double                          myBBCenter[3];
+  double                          myInteractivePoint[3];
   bool                            myBBFirstCheck;
 
-  QRubberBand*                    myRectBand; //!< selection rectangle rubber band
+  QtxRectRubberBand*              myRectBand; //!< selection rectangle rubber band
   QtxPolyRubberBand*              myPolygonBand; //!< polygonal selection
   QVector<QPoint>                 myPolygonPoints;
   PolygonState                    myPoligonState;