当前位置: 首页>>代码示例>>C++>>正文


C++ View::GetRenderer方法代码示例

本文整理汇总了C++中View::GetRenderer方法的典型用法代码示例。如果您正苦于以下问题:C++ View::GetRenderer方法的具体用法?C++ View::GetRenderer怎么用?C++ View::GetRenderer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在View的用法示例。


在下文中一共展示了View::GetRenderer方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: ReleaseControl

void CameraObject::ReleaseControl( View * triggeredView )
{
    m_trackingCamera = false;
    PerViewElementCont::iterator it = m_perViewElements.begin();
    while( it != m_perViewElements.end() )
    {
        View * v = (*it).first;
        PerViewElements & elem = (*it).second;

        if( triggeredView != v )
            v->ReleaseControl( this );

        // Move back image from overlay renderer to main renderer
        v->GetOverlayRenderer()->RemoveActor( elem.cameraImageActor );
        v->GetRenderer()->AddActor( elem.cameraImageActor );
        elem.cameraActor->VisibilityOn();
        elem.cameraAxesActor->VisibilityOn();

        for( int i = 0; i < elem.anotations.size(); ++i )
        {
            v->GetOverlayRenderer()->RemoveViewProp( elem.anotations[i] );
            v->GetRenderer()->AddViewProp( elem.anotations[i] );
        }

        // Recover backup camera
        v->GetRenderer()->SetActiveCamera( elem.cameraBackup );
        v->GetOverlayRenderer()->SetActiveCamera( elem.cameraBackup );
        v->GetOverlayRenderer2()->SetActiveCamera( elem.cameraBackup );
        elem.cameraBackup->UnRegister( this );
        elem.cameraBackup = 0;

        ++it;
    }
}
开发者ID:IbisNeuronav,项目名称:Ibis,代码行数:34,代码来源:cameraobject.cpp

示例2: SetTrackCamera

void CameraObject::SetTrackCamera( bool t )
{
    if( t == m_trackingCamera )
        return;
    if( t )
    {
        m_trackingCamera = true;

        PerViewElementCont::iterator it = m_perViewElements.begin();
        while( it != m_perViewElements.end() )
        {
            View * v = (*it).first;
            PerViewElements & elem = (*it).second;

            // Tell the view we are taking control
            v->TakeControl( this );

            // Move image to overlay renderer and hide other parts of the cam
            elem.cameraActor->VisibilityOff();
            elem.cameraAxesActor->VisibilityOff();
            v->GetRenderer()->RemoveActor( elem.cameraImageActor );
            v->GetOverlayRenderer()->AddActor( elem.cameraImageActor );

            // Move anotations to overlay renderer
            for( int i = 0; i < elem.anotations.size(); ++i )
            {
                v->GetRenderer()->RemoveViewProp( elem.anotations[i] );
                v->GetOverlayRenderer()->AddViewProp( elem.anotations[i] );
            }

            // Set this camera to control the view
            elem.cameraBackup = v->GetRenderer()->GetActiveCamera();
            elem.cameraBackup->Register( this );
            v->GetRenderer()->SetActiveCamera( m_camera );
            v->GetOverlayRenderer()->SetActiveCamera( m_camera );
            v->GetOverlayRenderer2()->SetActiveCamera( m_camera );

            ++it;
        }
    }
    else
    {
        this->ReleaseControl( 0 );
    }
    emit ParamsModified();
}
开发者ID:IbisNeuronav,项目名称:Ibis,代码行数:46,代码来源:cameraobject.cpp


注:本文中的View::GetRenderer方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。