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

mitk::CompositeMapper Class Reference
[Mapper Classes]

Composite pattern for combination of different mappers. More...

#include <mitkCompositeMapper.h>

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

List of all members.

Public Types

typedef CompositeMapper Self
typedef VtkMapper2D Superclass
typedef itk::SmartPointer< SelfPointer
typedef itk::SmartPointer
< const Self
ConstPointer

Public Member Functions

virtual const char * GetClassName () const
virtual void MitkRenderOverlay (BaseRenderer *renderer)
virtual void MitkRenderOpaqueGeometry (BaseRenderer *renderer)
virtual void MitkRenderTranslucentGeometry (BaseRenderer *renderer)
void SetDataNode (DataNode *node)
 Set the DataNode containing the data to map.
bool IsVtkBased () const
 Returns whether this is an vtk-based mapper.
bool HasVtkProp (const vtkProp *prop, BaseRenderer *renderer)
 Returns true if this mapper owns the specified vtkProp for the given BaseRenderer.
void ReleaseGraphicsResources (vtkWindow *window)
 Release vtk-based graphics resources. Must be overwritten in subclasses if vtkProps are used.
bool IsLODEnabled (BaseRenderer *renderer) const
vtkProp * GetProp (mitk::BaseRenderer *renderer)
void SetGeometry3D (const mitk::Geometry3D *aGeometry3D)
 Set Geometry3D containing the all possible Geometry2D that may be requested for mapping.
void Enable2DOpenGL ()
void Disable2DOpenGL ()

Static Public Member Functions

static Pointer New ()
static void SetDefaultProperties (DataNode *node, BaseRenderer *renderer=NULL, bool overwrite=false)
 Set default values of properties used by this mapper to node.

Protected Member Functions

virtual void GenerateData ()
 Generate the data needed for rendering (independent of a specific renderer)
virtual void GenerateData (mitk::BaseRenderer *renderer)
 Generate the data needed for rendering into renderer.
 CompositeMapper ()
virtual ~CompositeMapper ()

Detailed Description

Composite pattern for combination of different mappers.

Definition at line 43 of file mitkCompositeMapper.h.


Member Typedef Documentation

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

Reimplemented from mitk::VtkMapper2D.

Definition at line 47 of file mitkCompositeMapper.h.

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

Reimplemented from mitk::VtkMapper2D.

Definition at line 47 of file mitkCompositeMapper.h.

Reimplemented from mitk::VtkMapper2D.

Definition at line 47 of file mitkCompositeMapper.h.

Reimplemented from mitk::VtkMapper2D.

Definition at line 47 of file mitkCompositeMapper.h.


Constructor & Destructor Documentation

mitk::CompositeMapper::CompositeMapper (  ) [protected]

Definition at line 23 of file mitkCompositeMapper.cpp.

References New().

mitk::CompositeMapper::~CompositeMapper (  ) [protected, virtual]

Definition at line 29 of file mitkCompositeMapper.cpp.

{
}

Member Function Documentation

void mitk::CompositeMapper::Disable2DOpenGL (  )
void mitk::CompositeMapper::Enable2DOpenGL (  )

Definition at line 33 of file mitkCompositeMapper.cpp.

References GL_DEPTH_BUFFER_BIT, GL_DEPTH_TEST, GL_LIGHTING, GL_LIGHTING_BIT, GL_MODELVIEW, GL_PROJECTION, GL_VIEWPORT, glDisable(), glGetIntegerv(), glLoadIdentity(), glMatrixMode(), glOrtho(), glPushAttrib(), and glPushMatrix().

Referenced by MitkRenderOpaqueGeometry(), MitkRenderOverlay(), and MitkRenderTranslucentGeometry().

{
  GLint iViewport[4];  
   
  // Get a copy of the viewport  
  glGetIntegerv( GL_VIEWPORT, iViewport );  
   
  // Save a copy of the projection matrix so that we can restore it  
  // when it's time to do 3D rendering again.  
  glMatrixMode( GL_PROJECTION );  
  glPushMatrix();  
  glLoadIdentity();  
   
  // Set up the orthographic projection  
  glOrtho( 
    iViewport[0], iViewport[0]+iViewport[2],  
    iViewport[1], iViewport[1]+iViewport[3],
    -1.0, 1.0 
  );
  glMatrixMode( GL_MODELVIEW );  
  glPushMatrix();  
  glLoadIdentity();  
   
  // Make sure depth testing and lighting are disabled for 2D rendering until  
  // we are finished rendering in 2D  
  glPushAttrib( GL_DEPTH_BUFFER_BIT | GL_LIGHTING_BIT );  
  glDisable( GL_DEPTH_TEST );  
  glDisable( GL_LIGHTING );  
}
virtual void mitk::CompositeMapper::GenerateData (  ) [inline, protected, virtual]

Generate the data needed for rendering (independent of a specific renderer)

Reimplemented from mitk::Mapper.

Definition at line 144 of file mitkCompositeMapper.h.

References mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections >::GenerateData().

    {
      m_OdfMapper->GenerateData();
    }
virtual void mitk::CompositeMapper::GenerateData ( mitk::BaseRenderer renderer ) [inline, protected, virtual]

Generate the data needed for rendering into renderer.

Reimplemented from mitk::Mapper.

Definition at line 149 of file mitkCompositeMapper.h.

References mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections >::GenerateData(), and mitk::RenderingManager::GetInstance().

    {
      m_ImgMapper->GenerateData(renderer);
      if( mitk::RenderingManager::GetInstance()->GetNextLOD( renderer ) > 0 )
      {
        m_OdfMapper->GenerateData(renderer);
      }
    }
virtual const char* mitk::CompositeMapper::GetClassName (  ) const [virtual]

Reimplemented from mitk::VtkMapper2D.

vtkProp* mitk::CompositeMapper::GetProp ( mitk::BaseRenderer renderer ) [inline, virtual]

Implements mitk::VtkMapper2D.

Definition at line 128 of file mitkCompositeMapper.h.

References mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections >::GetProp().

    {
      return m_OdfMapper->GetProp(renderer);
    }
bool mitk::CompositeMapper::HasVtkProp ( const vtkProp *  ,
BaseRenderer  
) [inline, virtual]

Returns true if this mapper owns the specified vtkProp for the given BaseRenderer.

Note: returns false by default; should be implemented for VTK-based Mapper subclasses.

Reimplemented from mitk::Mapper.

Definition at line 100 of file mitkCompositeMapper.h.

References mitk::Mapper::HasVtkProp().

    { 
      return m_OdfMapper->HasVtkProp(prop, renderer);
    }
bool mitk::CompositeMapper::IsLODEnabled ( BaseRenderer  ) const [inline, virtual]

Returns true if this Mapper currently allows for Level-of-Detail rendering. This reflects whether this Mapper currently invokes StartEvent, EndEvent, and ProgressEvent on BaseRenderer.

Reimplemented from mitk::Mapper.

Definition at line 123 of file mitkCompositeMapper.h.

References mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections >::IsLODEnabled().

    {
      return m_ImgMapper->IsLODEnabled(renderer) || m_OdfMapper->IsLODEnabled(renderer);
    }
bool mitk::CompositeMapper::IsVtkBased (  ) const [inline]

Returns whether this is an vtk-based mapper.

Reimplemented from mitk::Mapper.

Definition at line 95 of file mitkCompositeMapper.h.

References mitk::Mapper::IsVtkBased().

    {
      return m_OdfMapper->IsVtkBased();
    }
virtual void mitk::CompositeMapper::MitkRenderOpaqueGeometry ( BaseRenderer renderer ) [inline, virtual]

Implements mitk::Mapper.

Definition at line 58 of file mitkCompositeMapper.h.

References Disable2DOpenGL(), Enable2DOpenGL(), mitk::RenderingManager::GetInstance(), and mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections >::MitkRenderOpaqueGeometry().

    {
      Enable2DOpenGL();
      m_ImgMapper->MitkRenderOpaqueGeometry(renderer);
      Disable2DOpenGL();
      m_OdfMapper->MitkRenderOpaqueGeometry(renderer);
      if( mitk::RenderingManager::GetInstance()->GetNextLOD( renderer ) == 0 )
      {
        renderer->Modified();
      }
    }
virtual void mitk::CompositeMapper::MitkRenderOverlay ( BaseRenderer renderer ) [inline, virtual]

Implements mitk::Mapper.

Definition at line 50 of file mitkCompositeMapper.h.

References Disable2DOpenGL(), Enable2DOpenGL(), and mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections >::MitkRenderOverlay().

    {
      Enable2DOpenGL();
      m_ImgMapper->MitkRenderOverlay(renderer);
      Disable2DOpenGL();
      m_OdfMapper->MitkRenderOverlay(renderer);
    }
virtual void mitk::CompositeMapper::MitkRenderTranslucentGeometry ( BaseRenderer renderer ) [inline, virtual]

Implements mitk::Mapper.

Definition at line 70 of file mitkCompositeMapper.h.

References Disable2DOpenGL(), Enable2DOpenGL(), and mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections >::MitkRenderTranslucentGeometry().

    {
      Enable2DOpenGL();
      m_ImgMapper->MitkRenderTranslucentGeometry(renderer);
      Disable2DOpenGL();
      m_OdfMapper->MitkRenderTranslucentGeometry(renderer);
    }
static Pointer mitk::CompositeMapper::New (  ) [static]
void mitk::CompositeMapper::ReleaseGraphicsResources ( vtkWindow *   ) [inline, virtual]

Release vtk-based graphics resources. Must be overwritten in subclasses if vtkProps are used.

Reimplemented from mitk::Mapper.

Definition at line 105 of file mitkCompositeMapper.h.

References mitk::Mapper::ReleaseGraphicsResources().

    {
      m_ImgMapper->ReleaseGraphicsResources(window);
      m_OdfMapper->ReleaseGraphicsResources(window);
    }
void mitk::CompositeMapper::SetDataNode ( DataNode _arg ) [inline, virtual]

Set the DataNode containing the data to map.

Reimplemented from mitk::Mapper.

Definition at line 88 of file mitkCompositeMapper.h.

References mitk::Mapper::m_DataNode, and mitk::Mapper::SetDataNode().

    {
      m_DataNode = node;
      m_ImgMapper->SetDataNode(node);
      m_OdfMapper->SetDataNode(node);
    }
static void mitk::CompositeMapper::SetDefaultProperties ( DataNode node,
BaseRenderer renderer = NULL,
bool  overwrite = false 
) [inline, static]

Set default values of properties used by this mapper to node.

Parameters:
nodeThe node for which the properties are set
overwriteoverwrite existing properties (default: false)
rendererdefines which property list of node is used (default: NULL, i.e. default property list)

Reimplemented from mitk::Mapper.

Definition at line 111 of file mitkCompositeMapper.h.

References mitk::DataNode::AddProperty(), New(), mitk::LevelWindow::SetRangeMinMax(), and mitk::LevelWindow::SetWindowBounds().

Referenced by mitk::DiffusionImagingObjectFactory::SetDefaultProperties().

    {
      mitk::OdfVtkMapper2D<float,QBALL_ODFSIZE>::SetDefaultProperties(node, renderer, overwrite);
      mitk::CopyImageMapper2D::SetDefaultProperties(node, renderer, overwrite);

      mitk::LevelWindow opaclevwin;
      opaclevwin.SetRangeMinMax(0,255);
      opaclevwin.SetWindowBounds(0,0);
      mitk::LevelWindowProperty::Pointer prop = mitk::LevelWindowProperty::New(opaclevwin);
      node->AddProperty( "opaclevelwindow", prop );
    }
void mitk::CompositeMapper::SetGeometry3D ( const mitk::Geometry3D aGeometry3D ) [inline, virtual]

Set Geometry3D containing the all possible Geometry2D that may be requested for mapping.

See also:
m_Geometry3D

Reimplemented from mitk::Mapper2D.

Definition at line 133 of file mitkCompositeMapper.h.

References mitk::Mapper2D::SetGeometry3D().

    {
      m_ImgMapper->SetGeometry3D(aGeometry3D);
      m_OdfMapper->SetGeometry3D(aGeometry3D);
    }

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