Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes

mitk::VtkWidgetRendering Class Reference

Mechanism for rendering a vtkWidget in the foreground of a RenderWindow. More...

#include <mitkVtkWidgetRendering.h>

Inheritance diagram for mitk::VtkWidgetRendering:
Inheritance graph
[legend]
Collaboration diagram for mitk::VtkWidgetRendering:
Collaboration graph
[legend]

List of all members.

Public Types

typedef VtkWidgetRendering Self
typedef BaseData Superclass
typedef itk::SmartPointer< SelfPointer
typedef itk::SmartPointer
< const Self
ConstPointer

Public Member Functions

virtual const char * GetClassName () const
virtual void SetRenderWindow (vtkRenderWindow *renderWindow)
virtual void Enable ()
virtual void Disable ()
virtual bool IsEnabled ()
virtual void SetRequestedRegionToLargestPossibleRegion ()
virtual bool RequestedRegionIsOutsideOfTheBufferedRegion ()
virtual bool VerifyRequestedRegion ()
virtual void SetRequestedRegion (itk::DataObject *)
virtual vtkRenderWindow * GetRenderWindow ()
virtual vtkRenderer * GetVtkRenderer ()
void SetVtkWidget (vtkInteractorObserver *widget)
vtkInteractorObserver * GetVtkWidget () const

Static Public Member Functions

static Pointer New ()

Protected Member Functions

 VtkWidgetRendering ()
 ~VtkWidgetRendering ()

Protected Attributes

vtkRenderWindow * m_RenderWindow
vtkRenderer * m_Renderer
vtkInteractorObserver * m_VtkWidget
bool m_IsEnabled

Detailed Description

Mechanism for rendering a vtkWidget in the foreground of a RenderWindow.

To use this class, specify the vtkRenderWindow of the window into which the vtkWidget shall be placed, and set the vtkWidget using SetVtkWidget(). After enabling the vtkWidget and calling Enable() of this class, the widget should be rendered.

Note: this class only provides a basic mechanism for adding widget; all widget configuration such as placement, size, and en-/disabling of interaction mechanisms need to be done in the vtkWidget object.

Definition at line 44 of file mitkVtkWidgetRendering.h.


Member Typedef Documentation

typedef itk::SmartPointer<const Self> mitk::VtkWidgetRendering::ConstPointer

Reimplemented from mitk::BaseData.

Definition at line 48 of file mitkVtkWidgetRendering.h.

typedef itk::SmartPointer<Self> mitk::VtkWidgetRendering::Pointer

Reimplemented from mitk::BaseData.

Definition at line 48 of file mitkVtkWidgetRendering.h.

Reimplemented from mitk::BaseData.

Definition at line 48 of file mitkVtkWidgetRendering.h.

Reimplemented from mitk::BaseData.

Definition at line 48 of file mitkVtkWidgetRendering.h.


Constructor & Destructor Documentation

mitk::VtkWidgetRendering::VtkWidgetRendering (  ) [protected]

Constructor

Definition at line 37 of file mitkVtkWidgetRendering.cpp.

References m_Renderer, and New().

: m_RenderWindow( NULL ),
  m_VtkWidget( NULL ),
  m_IsEnabled( false )
{
  m_Renderer = vtkRenderer::New();
}
mitk::VtkWidgetRendering::~VtkWidgetRendering (  ) [protected]

Destructor

Definition at line 46 of file mitkVtkWidgetRendering.cpp.

{
  if ( m_RenderWindow != NULL )
    if ( this->IsEnabled() )
      this->Disable();
  
  if ( m_Renderer != NULL )
    m_Renderer->Delete();
}

Member Function Documentation

void mitk::VtkWidgetRendering::Disable (  ) [virtual]

Disables drawing of the widget. If you want to enable it, call the Enable() function.

Definition at line 120 of file mitkVtkWidgetRendering.cpp.

References mitk::VtkLayerController::GetInstance(), and mitk::VtkLayerController::RemoveRenderer().

{
  if ( this->IsEnabled() )
  {
    mitk::VtkLayerController *layerController =
      mitk::VtkLayerController::GetInstance(m_RenderWindow);

    if ( layerController )
    {
      layerController->RemoveRenderer(m_Renderer);
    }

    m_IsEnabled = false;
  }
}
void mitk::VtkWidgetRendering::Enable (  ) [virtual]

Enables drawing of the widget. If you want to disable it, call the Disable() function.

Definition at line 89 of file mitkVtkWidgetRendering.cpp.

References mitk::VtkLayerController::GetInstance(), and mitk::VtkLayerController::InsertForegroundRenderer().

{
  if(m_IsEnabled)
    return;

  if(m_RenderWindow != NULL)
  {
    vtkRenderWindowInteractor *interactor = m_RenderWindow->GetInteractor();

    if ( m_VtkWidget != NULL )
    {
      m_VtkWidget->SetInteractor( interactor );

      mitk::VtkLayerController *layerController =
        mitk::VtkLayerController::GetInstance(m_RenderWindow);

      if ( layerController )
      {
        layerController->InsertForegroundRenderer(m_Renderer,false);
      }
      
      m_IsEnabled = true;
    }
  }
}
virtual const char* mitk::VtkWidgetRendering::GetClassName (  ) const [virtual]

Reimplemented from mitk::BaseData.

vtkRenderWindow * mitk::VtkWidgetRendering::GetRenderWindow (  ) [virtual]

Returns the vtkRenderWindow, which is used for displaying the widget

Definition at line 70 of file mitkVtkWidgetRendering.cpp.

{
  return m_RenderWindow;
}
vtkRenderer * mitk::VtkWidgetRendering::GetVtkRenderer (  ) [virtual]

Returns the renderer responsible for rendering the widget into the vtkRenderWindow

Definition at line 80 of file mitkVtkWidgetRendering.cpp.

{
  return m_Renderer;
}
vtkInteractorObserver * mitk::VtkWidgetRendering::GetVtkWidget (  ) const

Get the vtkWidget to be rendered

Definition at line 171 of file mitkVtkWidgetRendering.cpp.

{
  return m_VtkWidget;
}
bool mitk::VtkWidgetRendering::IsEnabled (  ) [virtual]

Checks, if the widget is currently enabled (visible)

Definition at line 140 of file mitkVtkWidgetRendering.cpp.

{
  return  m_IsEnabled;
}
static Pointer mitk::VtkWidgetRendering::New (  ) [static]
bool mitk::VtkWidgetRendering::RequestedRegionIsOutsideOfTheBufferedRegion (  ) [virtual]

Empty implementation, since the VtkWidgetRendering doesn't support the requested region concept

Implements mitk::BaseData.

Definition at line 151 of file mitkVtkWidgetRendering.cpp.

{
    return false;    
}
void mitk::VtkWidgetRendering::SetRenderWindow ( vtkRenderWindow *  renderWindow ) [virtual]

Sets the renderwindow, in which the widget will be shown. Make sure, you have called this function before calling Enable()

Definition at line 61 of file mitkVtkWidgetRendering.cpp.

{
  m_RenderWindow = renderWindow;
}
void mitk::VtkWidgetRendering::SetRequestedRegion ( itk::DataObject *   ) [virtual]

Empty implementation, since the VtkWidgetRendering doesn't support the requested region concept

Implements mitk::BaseData.

Definition at line 161 of file mitkVtkWidgetRendering.cpp.

{
    //nothing to do
}
void mitk::VtkWidgetRendering::SetRequestedRegionToLargestPossibleRegion (  ) [virtual]

Empty implementation, since the VtkWidgetRendering doesn't support the requested region concept

Implements mitk::BaseData.

Definition at line 146 of file mitkVtkWidgetRendering.cpp.

{
    //nothing to do
}
void mitk::VtkWidgetRendering::SetVtkWidget ( vtkInteractorObserver *  widget )

Set the vtkWidget to be rendered

Definition at line 166 of file mitkVtkWidgetRendering.cpp.

{
  m_VtkWidget = widget;
}
bool mitk::VtkWidgetRendering::VerifyRequestedRegion (  ) [virtual]

Empty implementation, since the VtkWidgetRendering doesn't support the requested region concept

Implements mitk::BaseData.

Definition at line 156 of file mitkVtkWidgetRendering.cpp.

{
    return true;
}

Member Data Documentation

Definition at line 139 of file mitkVtkWidgetRendering.h.

vtkRenderer* mitk::VtkWidgetRendering::m_Renderer [protected]

Definition at line 135 of file mitkVtkWidgetRendering.h.

Referenced by VtkWidgetRendering().

vtkRenderWindow* mitk::VtkWidgetRendering::m_RenderWindow [protected]

Definition at line 134 of file mitkVtkWidgetRendering.h.

vtkInteractorObserver* mitk::VtkWidgetRendering::m_VtkWidget [protected]

Definition at line 137 of file mitkVtkWidgetRendering.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines