The class provides mouse dragging operations with AIS_Plane: 1) Sliding plane by dragging it with point 2) Rotating plane around one or both of the rotation axes by dragging its point with "ctrl" key pressed.
#include <OCCViewer_ClipPlaneInteractor.h>

Public Types | |
| enum | DragOperation { DragOperation_Undef, DragOperation_Slide, DragOperation_Rotate } | 
| typedef std::vector< Handle(AIS_Plane)> | SeqOfPlanes | 
Signals | |
| void | planeClicked (const Handle_AIS_Plane &thePlane) | 
| void | planeDragged (const Handle_AIS_Plane &thePlane) | 
Public Member Functions | |
| OCCViewer_ClipPlaneInteractor (OCCViewer_ViewManager *, QObject *theParent) | |
| Constructor.  More... | |
| const SeqOfPlanes & | planes () const | 
| Get sequence of planes to interact with.  More... | |
| void | setPlanes (const SeqOfPlanes &) | 
| Sets sequence of planes allowed for interaction.  More... | |
| void | setRotationCenter (const gp_Pnt &) | 
| Sets center of rotation for the scene.  More... | |
| void | setMinMax (const Bnd_Box &) | 
| Sets minimum and maximum bounding of the scene. The sliding movements are limited to minimum and maximum bounds.  More... | |
| virtual void | setEnabled (const bool) | 
| Enables or disables event processing within the viewer.  More... | |
  Public Member Functions inherited from OCCViewer_ViewportInputFilter | |
| OCCViewer_ViewportInputFilter (OCCViewer_ViewManager *, QObject *) | |
| Constructor.  More... | |
| ~OCCViewer_ViewportInputFilter () | |
| Destructor.  More... | |
Protected Member Functions | |
| bool | isClickable (const Handle(AIS_Plane)&thePlane) | 
| Checks whether the interactive plane can be clicked.  More... | |
| bool | isDraggable (const Handle(AIS_Plane)&thePlane) | 
| Checks whether the interactive plane can be dragged.  More... | |
| bool | isPerforming () const | 
| Checks whether the interactive operation is in progress.  More... | |
| bool | startDragging (const QPoint &thePickPos, const QPoint &theDragPos, const DragOperation theOperation, const Handle(AIS_Plane)&thePlane, const Handle(V3d_View)&theView) | 
| Checks whether it is possible to start interaction with plane.  More... | |
| void | performDragging (const QPoint &theDragPos, const DragOperation theOperation, const Handle(AIS_Plane)&thePlane, const Handle(V3d_View)&theView) | 
| Performs dragging operation on the passed interactive plane.  More... | |
| void | adjustBounds (gp_Ax3 &, const Bnd_Box &) | 
| Adjusts min-max bounds of the plane.  More... | |
| virtual bool | mouseMove (QMouseEvent *, OCCViewer_ViewPort3d *) | 
| Handle mouse move events. Performs dragging if interaction is in progress.  More... | |
| virtual bool | mousePress (QMouseEvent *, OCCViewer_ViewPort3d *) | 
| Handle mouse press events. Starts interaction with detected plane.  More... | |
| virtual bool | mouseRelease (QMouseEvent *, OCCViewer_ViewPort3d *) | 
| Handle mouse release events. Stops interaction.  More... | |
| virtual bool | mouseDoubleClick (QMouseEvent *, OCCViewer_ViewPort3d *) | 
| Handle mouse double clicking events events. Stops the event propagation if interaction with plane is in progress.  More... | |
| virtual bool | keyPress (QKeyEvent *, OCCViewer_ViewPort3d *) | 
| Handle key pressing events. Stops the event propagation if interaction with plane is in progress.  More... | |
| virtual bool | keyRelease (QKeyEvent *, OCCViewer_ViewPort3d *) | 
| Handle key releasing events. Stops the event propagation if interaction with plane is in progress.  More... | |
| Handle (AIS_Plane) myInteractedPlane | |
  Protected Member Functions inherited from OCCViewer_ViewportInputFilter | |
| void | connectView (SUIT_ViewWindow *) | 
| Connects view to event processing.  More... | |
| void | disconnectView (SUIT_ViewWindow *) | 
| Disconnects view to event processing.  More... | |
| bool | eventFilter (QObject *, QEvent *) | 
| Base-level implementation of event filtering. Routes user input events to associated implementation methods.  More... | |
Protected Attributes | |
| gp_Ax3 | myPlaneReferenceCS | 
| gp_Ax1 | myRotationAxis | 
| gp_Pln | myMouseDragPln | 
| QPoint | myDragPos | 
| QPoint | myPickPos | 
| DragOperation | myPerformingOp | 
| gp_Pnt | myRotationCenter | 
| Bnd_Box | myMinMax | 
| SeqOfPlanes | myPlanes | 
| bool | myIsDraggable | 
| bool | myIsClickable | 
  Protected Attributes inherited from OCCViewer_ViewportInputFilter | |
| OCCViewer_ViewManager * | myVM | 
| OCCViewer_Viewer * | myViewer | 
| bool | myIsEnabled | 
Additional Inherited Members | |
  Protected Slots inherited from OCCViewer_ViewportInputFilter | |
| void | onViewCreated (SUIT_ViewWindow *) | 
| Connects newly created within viewer to event processing.  More... | |
| void | onViewRemoved (SUIT_ViewWindow *) | 
| Disconnects view being removed from viewer.  More... | |
| typedef std::vector<Handle(AIS_Plane)> OCCViewer_ClipPlaneInteractor::SeqOfPlanes | 
| OCCViewer_ClipPlaneInteractor::OCCViewer_ClipPlaneInteractor | ( | OCCViewer_ViewManager * | theVM, | 
| QObject * | theParent | ||
| ) | 
| theVM | [in] the view manager. | 
| theParent | [in] the parent object. | 
      
  | 
  protected | 
| thePlane | [in/out] the plane. | 
| theMinMax | [in] the min max bounds | 
      
  | 
  protected | 
true if the click interaction is supported for the plane. References Handle(), isFound(), myPlanes, and OCCViewer_ViewportInputFilter::myViewer.
true if the dragging interaction is supported for the plane. References Handle(), isFound(), myPlanes, and OCCViewer_ViewportInputFilter::myViewer.
      
  | 
  protected | 
true if the interaction is performed on IO object meaning that no other operations in viewer should be processed. 
      
  | 
  protectedvirtual | 
| theEvent | [in] the user event. | 
| theViewPort | [in] the viewport. | 
Implements OCCViewer_ViewportInputFilter.
References DragOperation_Rotate, DragOperation_Slide, DragOperation_Undef, isDraggable(), isPerforming(), myIsDraggable, myPerformingOp, and myPickPos.
      
  | 
  protectedvirtual | 
| theEvent | [in] the user event. | 
| theViewPort | [in] the viewport. | 
Implements OCCViewer_ViewportInputFilter.
References DragOperation_Rotate, DragOperation_Slide, DragOperation_Undef, isDraggable(), isPerforming(), myIsDraggable, myPerformingOp, and myPickPos.
      
  | 
  protectedvirtual | 
| theEvent | [in] the user event. | 
| theViewPort | [in] the viewport. | 
Implements OCCViewer_ViewportInputFilter.
References isPerforming().
      
  | 
  protectedvirtual | 
| theEvent | [in] the user event. | 
| theViewPort | [in] the viewport. | 
Implements OCCViewer_ViewportInputFilter.
References DragOperation_Rotate, DragOperation_Slide, DragOperation_Undef, Handle(), isPerforming(), myDragPos, myIsDraggable, myPerformingOp, myPickPos, performDragging(), planeDragged(), and startDragging().
      
  | 
  protectedvirtual | 
| theEvent | [in] the user event. | 
| theViewPort | [in] the viewport. | 
Implements OCCViewer_ViewportInputFilter.
References Handle(), isClickable(), isDraggable(), myIsClickable, myIsDraggable, myPickPos, OCCViewer_ViewportInputFilter::myViewer, and planeClicked().
      
  | 
  protectedvirtual | 
| theEvent | [in] the user event. | 
| theViewPort | [in] the viewport. | 
Implements OCCViewer_ViewportInputFilter.
References DragOperation_Undef, isPerforming(), myDragPos, myIsClickable, myIsDraggable, myMouseDragPln, myPerformingOp, and myPickPos.
      
  | 
  protected | 
| theDragPos | [in] the position of mouse dragging. | 
| theDragOp | [in] the drag operation to start. | 
| thePlane | [in] the operated plane. | 
| theView | [in] the view. | 
References adjustBounds(), DragOperation_Rotate, DragOperation_Slide, Handle(), myMinMax, myMouseDragPln, myPlaneReferenceCS, myRotationAxis, myRotationCenter, and OCCViewer_ViewportInputFilter::myViewer.
      
  | 
  signal | 
      
  | 
  signal | 
| const OCCViewer_ClipPlaneInteractor::SeqOfPlanes & OCCViewer_ClipPlaneInteractor::planes | ( | ) | const | 
References myPlanes.
      
  | 
  virtual | 
Reimplemented from OCCViewer_ViewportInputFilter.
References DragOperation_Undef, myDragPos, myIsClickable, myIsDraggable, myMouseDragPln, myPerformingOp, myPickPos, and OCCViewer_ViewportInputFilter::setEnabled().
| void OCCViewer_ClipPlaneInteractor::setMinMax | ( | const Bnd_Box & | theMinMax | ) | 
| theMinMax | [in] the minimum and maximum bounds. | 
References myMinMax.
| void OCCViewer_ClipPlaneInteractor::setPlanes | ( | const SeqOfPlanes & | thePlanes | ) | 
| thePlanes | [in] the sequence of accepted planes. | 
References myPlanes.
| void OCCViewer_ClipPlaneInteractor::setRotationCenter | ( | const gp_Pnt & | theCenter | ) | 
| theCenter | [in] the center of rotation. | 
References myRotationCenter.
      
  | 
  protected | 
| thePickPos | [in] the position of mouse picking. | 
| theDragPos | [in] the position of initial mouse dragging. | 
| theDragOp | [in] the drag operation to start. | 
| thePlane | [in] the detected plane. | 
| theView | [in] the view. | 
References DragOperation_Rotate, DragOperation_Slide, Handle(), myMouseDragPln, myPlaneReferenceCS, myRotationAxis, and myRotationCenter.
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected |