Beispiel #1
0
void CameraObject::TakeSnapshot()
{
    Q_ASSERT( IsDrivenByHardware() );

    CameraObject * newCam = CameraObject::New();
    newCam->SetName( FindNextSnapshotName() );
    newCam->SetHidden( true );
    newCam->SetIntrinsicParams( m_intrinsicParams );
    newCam->SetImageDistance( m_imageDistance );
    newCam->SetTransparencyCenter( m_transparencyCenter[0], m_transparencyCenter[1] );
    newCam->SetTransparencyRadius( m_transparencyRadius[0], m_transparencyRadius[1] );
    newCam->SetCalibrationMatrix( GetCalibrationMatrix() );
    newCam->AddFrame( GetVideoOutput(), GetUncalibratedTransform()->GetMatrix() );
    newCam->SetCanEditTransformManually( false );

    Application::GetInstance().GetSceneManager()->AddObject( newCam );
    Application::GetInstance().GetSceneManager()->SetCurrentObject( newCam );

    newCam->Delete();
}