vrj::DrawManager Class Reference

Abstract base class for API-specific Draw Manager. More...

#include <vrj/Draw/DrawManager.h>

Inheritance diagram for vrj::DrawManager:

Inheritance graph
[legend]
Collaboration diagram for vrj::DrawManager:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 DrawManager ()
virtual ~DrawManager ()
virtual void draw ()=0
 Enable a frame to be drawn.
virtual void sync ()=0
 Blocks until the end of the frame.
virtual void setApp (App *app)=0
 Sets the application with which the Draw Manager will interact.
virtual void initAPI ()=0
 Initializes the drawing API (if not already running).
virtual void addDisplay (Display *disp)=0
 Callback when display is added to Display Manager.
virtual void removeDisplay (Display *disp)=0
 Callback when display is removed to Display Manager.
virtual void closeAPI ()=0
 Shuts down the drawing API.
void setDisplayManager (DisplayManager *dispMgr)
 Setter for Display Manager variable.
DisplayManagergetDisplayManager ()

Protected Attributes

DisplayManagermDisplayManager
 The display manager dealing with.

Friends

virtual VJ_API(std::ostream outStream (std::ostream &out)&) operator<<(std void

Detailed Description

Abstract base class for API-specific Draw Manager.

Concrete classes are resonsible for all rendering.

Date:
9-7-97

Definition at line 54 of file DrawManager.h.


Constructor & Destructor Documentation

vrj::DrawManager::DrawManager (  )  [inline]

Definition at line 57 of file DrawManager.h.

00058       : mDisplayManager(NULL)
00059    {
00060       /* Do nothing. */ ;
00061    }

virtual vrj::DrawManager::~DrawManager (  )  [inline, virtual]

Definition at line 63 of file DrawManager.h.

00064    {
00065       /* Do nothing. */ ;
00066    }


Member Function Documentation

virtual void vrj::DrawManager::draw (  )  [pure virtual]

Enable a frame to be drawn.

Takes a jccl::Configuration and extracts API-specific stuff.

Implemented in vrj::GlDrawManager, and vrj::PfDrawManager.

Referenced by vrj::Kernel::controlLoop().

virtual void vrj::DrawManager::sync (  )  [pure virtual]

Blocks until the end of the frame.

Postcondition:
The frame has been drawn.

Implemented in vrj::GlDrawManager, and vrj::PfDrawManager.

Referenced by vrj::Kernel::controlLoop().

virtual void vrj::DrawManager::setApp ( App app  )  [pure virtual]

Sets the application with which the Draw Manager will interact.

Note:
The member variable is not in the base class because its "real" type is only known in the derived classes.

Implemented in vrj::GlDrawManager, and vrj::PfDrawManager.

Referenced by vrj::Kernel::startDrawManager().

virtual void vrj::DrawManager::initAPI (  )  [pure virtual]

Initializes the drawing API (if not already running).

Note:
If the draw manager should be an active object, start the process here.

Implemented in vrj::GlDrawManager, and vrj::PfDrawManager.

Referenced by vrj::Kernel::startDrawManager().

virtual void vrj::DrawManager::addDisplay ( Display disp  )  [pure virtual]

Callback when display is added to Display Manager.

Implemented in vrj::GlDrawManager, and vrj::PfDrawManager.

Referenced by vrj::DisplayManager::setDrawManager().

virtual void vrj::DrawManager::removeDisplay ( Display disp  )  [pure virtual]

Callback when display is removed to Display Manager.

Implemented in vrj::GlDrawManager, and vrj::PfDrawManager.

virtual void vrj::DrawManager::closeAPI (  )  [pure virtual]

Shuts down the drawing API.

Note:
If it was an active object, kill process here.

Implemented in vrj::GlDrawManager, and vrj::PfDrawManager.

Referenced by vrj::Kernel::stopDrawManager().

void vrj::DrawManager::setDisplayManager ( DisplayManager dispMgr  ) 

Setter for Display Manager variable.

Definition at line 40 of file DrawManager.cpp.

References mDisplayManager.

Referenced by vrj::Kernel::startDrawManager().

00041 { mDisplayManager = _dispMgr; }

DisplayManager * vrj::DrawManager::getDisplayManager (  ) 

Definition at line 43 of file DrawManager.cpp.

References mDisplayManager.

00044 {
00045    return mDisplayManager;
00046 }


Friends And Related Function Documentation

virtual VJ_API (std::ostream outStream ( std::ostream &  out  )  [friend]

Reimplemented in vrj::GlDrawManager.

Definition at line 119 of file DrawManager.h.

00120    {
00121       out << "vrj::DrawManager: outstream\n";  // Set a default
00122    }


Member Data Documentation

DisplayManager* vrj::DrawManager::mDisplayManager [protected]

The display manager dealing with.

Definition at line 125 of file DrawManager.h.

Referenced by getDisplayManager(), vrj::PfDrawManager::initAPI(), setDisplayManager(), and vrj::PfDrawManager::updatePfProjections().


The documentation for this class was generated from the following files:
Generated on Thu Jan 4 10:58:10 2007 for VR Juggler by  doxygen 1.5.1