/*!
Redirect the request to #SVTK_Renderer::OnViewTrihedron
*/
-void SVTK_ViewWindow::onViewTrihedron()
+void SVTK_ViewWindow::onViewTrihedron(bool show)
{
- GetRenderer()->OnViewTrihedron();
+ GetRenderer()->SetTrihedronVisibility(show);
Repaint();
}
}
/*!
- 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);
}
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
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;
}
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 );
}