X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSVTK%2FSVTK_ViewWindow.cxx;h=d56dde955cb163a7d2ecb1ae12e500e2f75d6d9c;hb=02904c3728214667f919cfe06072a91e1687b12f;hp=65442aa2c9a34d1dafd14a383e8bc26addee15a3;hpb=d26f738c9c427a45409bacf3848fd8c224edf6ed;p=modules%2Fgui.git diff --git a/src/SVTK/SVTK_ViewWindow.cxx b/src/SVTK/SVTK_ViewWindow.cxx index 65442aa2c..d56dde955 100755 --- a/src/SVTK/SVTK_ViewWindow.cxx +++ b/src/SVTK/SVTK_ViewWindow.cxx @@ -799,9 +799,9 @@ bool SVTK_ViewWindow::isCubeAxesDisplayed() /*! Redirect the request to #SVTK_Renderer::OnViewTrihedron */ -void SVTK_ViewWindow::onViewTrihedron() +void SVTK_ViewWindow::onViewTrihedron(bool show) { - GetRenderer()->OnViewTrihedron(); + GetRenderer()->SetTrihedronVisibility(show); Repaint(); } @@ -1866,10 +1866,11 @@ void SVTK_ViewWindow::activateSetRotationSelected(void* theData) } /*! - Set the point selected by user as a rotation point + Set the gravity center of element selected by user as a rotation point */ -void SVTK_ViewWindow::activateStartPointSelection() +void SVTK_ViewWindow::activateStartPointSelection( Selection_Mode theSelectionMode ) { + SetSelectionMode( theSelectionMode ); myEventDispatcher->InvokeEvent(SVTK::StartPointSelection,0); } @@ -2049,8 +2050,11 @@ void SVTK_ViewWindow::createActions(SUIT_ResourceMgr* theResourceMgr) anAction = new QtxAction(tr("MNU_SHOW_TRIHEDRON"), theResourceMgr->loadPixmap( "VTKViewer", tr( "ICON_VTKVIEWER_VIEW_TRIHEDRON" ) ), tr( "MNU_SHOW_TRIHEDRON" ), 0, this); + anAction->setCheckable( true ); + anAction->setChecked( true ); + anAction->setStatusTip(tr("DSC_SHOW_TRIHEDRON")); - connect(anAction, SIGNAL(activated()), this, SLOT(onViewTrihedron())); + connect(anAction, SIGNAL(toggled(bool)), this, SLOT(onViewTrihedron(bool))); mgr->registerAction( anAction, ViewTrihedronId ); // onNonIsometric: Manage non-isometric params @@ -2490,22 +2494,22 @@ SUIT_CameraProperties SVTK_ViewWindow::cameraProperties() double anAxialScale[3]; aCamera->OrthogonalizeViewUp(); - aCamera->GetFocalPoint(aFocalPoint); - aCamera->GetPosition(aPosition); - aCamera->GetViewUp(aViewUp); + aCamera->GetFocalPoint( aFocalPoint ); + aCamera->GetPosition( aPosition ); + aCamera->GetViewUp( aViewUp ); - aProps.setFocalPoint(aFocalPoint[0], aFocalPoint[1], aFocalPoint[2]); - aProps.setPosition(aPosition[0], aPosition[1], aPosition[2]); - aProps.setViewUp(aViewUp[0], aViewUp[1], aViewUp[2]); - aProps.setMappingScale(aCamera->GetParallelScale()); + aProps.setFocalPoint( aFocalPoint[0], aFocalPoint[1], aFocalPoint[2] ); + aProps.setPosition( aPosition[0], aPosition[1], aPosition[2] ); + aProps.setViewUp( aViewUp[0], aViewUp[1], aViewUp[2] ); + aProps.setMappingScale( aCamera->GetParallelScale() * 2.0 ); - if (aProps.getProjection() == SUIT_CameraProperties::PrjPerspective) + if ( aProps.getProjection() == SUIT_CameraProperties::PrjPerspective ) { - aProps.setViewAngle(aCamera->GetViewAngle()); + aProps.setViewAngle( aCamera->GetViewAngle() ); } - GetRenderer()->GetScale(anAxialScale); - aProps.setAxialScale(anAxialScale[0], anAxialScale[1], anAxialScale[2]); + GetRenderer()->GetScale( anAxialScale ); + aProps.setAxialScale( anAxialScale[0], anAxialScale[1], anAxialScale[2] ); return aProps; } @@ -2535,26 +2539,26 @@ void SVTK_ViewWindow::synchronize( SUIT_ViewWindow* theView ) double anAxialScale[3]; // get common properties - aProps.getViewUp(aViewUp[0], aViewUp[1], aViewUp[2]); - aProps.getPosition(aPosition[0], aPosition[1], aPosition[2]); - aProps.getFocalPoint(aFocalPoint[0], aFocalPoint[1], aFocalPoint[2]); - aProps.getAxialScale(anAxialScale[0], anAxialScale[1], anAxialScale[2]); + aProps.getViewUp( aViewUp[0], aViewUp[1], aViewUp[2] ); + aProps.getPosition( aPosition[0], aPosition[1], aPosition[2] ); + aProps.getFocalPoint( aFocalPoint[0], aFocalPoint[1], aFocalPoint[2] ); + aProps.getAxialScale( anAxialScale[0], anAxialScale[1], anAxialScale[2] ); // restore properties to the camera - aCamera->SetViewUp(aViewUp); - aCamera->SetPosition(aPosition); - aCamera->SetFocalPoint(aFocalPoint); - aCamera->SetParallelScale(aProps.getMappingScale()); + aCamera->SetViewUp( aViewUp ); + aCamera->SetPosition( aPosition ); + aCamera->SetFocalPoint( aFocalPoint ); + aCamera->SetParallelScale( aProps.getMappingScale() / 2.0 ); - if (aProps.getProjection() == SUIT_CameraProperties::PrjPerspective) + if ( aProps.getProjection() == SUIT_CameraProperties::PrjPerspective ) { - aCamera->SetViewAngle(aProps.getViewAngle()); + aCamera->SetViewAngle( aProps.getViewAngle() ); } - GetRenderer()->SetScale(anAxialScale); + GetRenderer()->SetScale( anAxialScale ); getRenderer()->ResetCameraClippingRange(); - Repaint(false); + Repaint( false ); blockSignals( blocked ); }