Exemplo n.º 1
0
void
RenderingManager
::RenderingEndCallback( vtkObject *caller, unsigned long , void *, void * )
{
    vtkRenderWindow *renderWindow  = dynamic_cast< vtkRenderWindow * >( caller );

    mitk::RenderingManager* renman = mitk::BaseRenderer::GetInstance(renderWindow)->GetRenderingManager();

    RenderWindowList &renderWindowList = renman->m_RenderWindowList;

    RendererIntMap &nextLODMap = renman->m_NextLODMap;

    if ( renderWindow )
    {
        BaseRenderer *renderer = BaseRenderer::GetInstance( renderWindow );
        if ( renderer )
        {
            renderWindowList[renderer->GetRenderWindow()] = RENDERING_INACTIVE;

            // Level-of-Detail handling
            if ( renderer->GetNumberOfVisibleLODEnabledMappers() > 0 )
            {
                if(nextLODMap[renderer]==0)
                    renman->StartOrResetTimer();
                else
                    nextLODMap[renderer] = 0;
            }
        }
    }
}
Exemplo n.º 2
0
void
RenderingManager
::ExecutePendingHighResRenderingRequest()
{
    RenderWindowList::iterator it;
    for ( it = m_RenderWindowList.begin(); it != m_RenderWindowList.end(); ++it )
    {
        BaseRenderer *renderer = BaseRenderer::GetInstance( it->first );

        if(renderer->GetNumberOfVisibleLODEnabledMappers()>0)
        {
            if(m_NextLODMap[renderer]==0)
            {
                m_NextLODMap[renderer]=1;
                RequestUpdate( it->first );
            }
        }
    }
}
Exemplo n.º 3
0
void
RenderingManager
::RenderingProgressCallback( vtkObject *caller, unsigned long , void *, void * )
{
    vtkRenderWindow *renderWindow  = dynamic_cast< vtkRenderWindow * >( caller );
    mitk::RenderingManager* renman = mitk::BaseRenderer::GetInstance(renderWindow)->GetRenderingManager();

    if ( renman->m_LODAbortMechanismEnabled )
    {
        vtkRenderWindow *renderWindow = dynamic_cast< vtkRenderWindow * >( caller );
        if ( renderWindow )
        {
            BaseRenderer *renderer = BaseRenderer::GetInstance( renderWindow );
            if ( renderer && (renderer->GetNumberOfVisibleLODEnabledMappers() > 0) )
            {
                renman->DoMonitorRendering();
            }
        }
    }
}