1 #include "SOCC_ViewWindow.h"
3 #include "OCCViewer_ViewPort3d.h"
5 #include "SUIT_Accel.h"
7 //----------------------------------------------------------------------------
9 ::SOCC_ViewWindow( SUIT_Desktop* theDesktop,
10 OCCViewer_Viewer* theModel)
11 : OCCViewer_ViewWindow( theDesktop, theModel )
15 //----------------------------------------------------------------------------
21 //----------------------------------------------------------------------------
24 ::action( const int theAction )
28 if ( theAction == SUIT_Accel::ZoomIn || theAction == SUIT_Accel::ZoomOut ||
29 theAction == SUIT_Accel::RotateLeft || theAction == SUIT_Accel::RotateRight ||
30 theAction == SUIT_Accel::RotateUp || theAction == SUIT_Accel::RotateDown ) {
31 cx = myViewPort->width() / 2;
32 cy = myViewPort->height() / 2;
34 switch ( theAction ) {
35 case SUIT_Accel::PanLeft :
36 myViewPort->pan( -inc, 0 );
38 case SUIT_Accel::PanRight :
39 myViewPort->pan( inc, 0 );
41 case SUIT_Accel::PanUp :
42 myViewPort->pan( 0, inc );
44 case SUIT_Accel::PanDown :
45 myViewPort->pan( 0, -inc );
47 case SUIT_Accel::ZoomIn :
48 myViewPort->zoom( cx, cy, cx + inc, cy + inc );
50 case SUIT_Accel::ZoomOut :
51 myViewPort->zoom( cx, cy, cx - inc, cy - inc );
53 case SUIT_Accel::ZoomFit :
56 case SUIT_Accel::RotateLeft :
57 myViewPort->startRotation( cx, cy );
58 myViewPort->rotate( cx - inc, cy );
59 myViewPort->endRotation();
61 case SUIT_Accel::RotateRight :
62 myViewPort->startRotation( cx, cy );
63 myViewPort->rotate( cx + inc, cy );
64 myViewPort->endRotation();
66 case SUIT_Accel::RotateUp :
67 myViewPort->startRotation( cx, cy );
68 myViewPort->rotate( cx, cy - inc );
69 myViewPort->endRotation();
71 case SUIT_Accel::RotateDown :
72 myViewPort->startRotation( cx, cy );
73 myViewPort->rotate( cx, cy + inc );
74 myViewPort->endRotation();