Display Class Reference

#include <Display.h>

Inheritance diagram for Display:
Inheritance graph
[legend]

List of all members.

Public Types

enum   MouseMode { kPointer, kNavigator }
 

In the pointer mode, the cursor behaves in the familiar way and the 'relative motion' values stored in Events are limited by the boundaries of the screen.

More...
enum   DrawMode { kShaded, kWireFrame }
enum   ShadingMode { kNormal, kNoAmbientShadows }
enum   TransparencyTechnique { kBlend = 0, kSortedBlend }

Public Member Functions

  Display (bool interactive)
  This class exposes an abstract interface to a display sub-system.
  ~Display ()
bool  setDrawElements (int drawElements)
int  getDrawElements () const
virtual void  configureMultiDisplay (int colCount, int rowCount, int colIndex, int rowIndex)
void  setScene (awScene::Node *)
void  setModelRoot (awScene::Node *)
void  setOverlayRoot (awScene::Node *)
void  setBackplateRoot (awScene::Node *)
virtual bool  initialize (awInput::EventDispatcher *dispatcher)
  initialize must be called prior to invoking "realize".
virtual void  realize ()=0
  The realize method is intended to actually instantiate the target for the renderer (i.e.
virtual bool  stopRequested () const
virtual bool  step ()
virtual void  cleanup ()
virtual bool  isDone () const =0
  isDone will only return true after the display has successfully cleaned up via cleanup().
virtual bool  isResetted ()
  reset should be called whenever a scene is closed in order to release any cached state information.
virtual void  reset ()
virtual bool  setEnableRT (bool state)
virtual bool  getEnableRT () const
virtual bool  getRTUpdateMode () const
virtual bool  setEnableRTCluster (bool state)
virtual bool  getEnableRTCluster () const
virtual void  setRTCluster (const awString::IString &host, int port, int cpus)
virtual void  setRTMaxAODistanceDefault (float)
void  setScaleformUIShow (bool)
  Just holding these, counting on the caller to set the correct values.
bool  getScaleformUIShow () const
int  getScaleformUIWidth () const
int  getScaleformUIHeight () const
void  getScaleformUISize (int &w, int &h) const
void  setScaleformUIWidth (int w)
void  setScaleformUIHeight (int h)
virtual void  setScaleformUISize (int w, int h)
virtual void  bindDynamicTextures ()
virtual void  releaseDynamicTextures ()
virtual void  bindDynamicTexture (int index)
virtual void  releaseDynamicTexture (int index)
virtual CameraRef  getCamera (int viewport=0) const
virtual ViewStateRef  getViewState (int viewport=0) const
virtual bool  performAutoCamActiveOperations ()=0
virtual const
AutoCam::CameraParameters & 
getAutoCamParameters () const =0
virtual void  setAutoCamParameters (const AutoCam::CameraParameters &params)=0
virtual bool  isAutoCamChangePending () const =0
virtual void  setAutoCamChangePending (bool state)=0
awLinear::Point  pointInPixelSpace (const awLinear::Point &pos, int viewport=0) const
  Returns Point, even though it's really just the X and Y that are relevant.
virtual void  getPointOfInterest (awLinear::Point &pos) const
  Todo: Move camera methods to a new Camera class...
virtual void  setPointOfInterest (const awLinear::Point &pos)
virtual void  getViewportRegion (double &x, double &y, double &w, double &h, double px, double py) const
virtual void  getViewportRegion (double &x, double &y, double &w, double &h, int index) const
virtual void  enableStereo ()
virtual void  disableStereo ()
virtual void  setStereoEyeDistance (float dist)
virtual float  getStereoEyeDistance () const
virtual void  setStereoAutoEyeDistanceAdjust (bool adjust)
virtual void  setStereoAutoEyeDistanceAdjustFactor (float factor)
virtual float  getStereoAutoEyeDistanceAdjustFactor () const
virtual void  setFocusDistance (float focusDistance)
virtual float  getFocusDistance () const
virtual void  resetFocusDistance ()
virtual void  enableCameraAdjustment (double winRegionLLX, double winRegionLLY, double winRegionURX, double winRegionURY, double winOffsetX, double winOffsetY, double camRotX, double camRotY, double camRotZ, double camMoveX, double camMoveY, double camMoveZ)
virtual void  disableCameraAdjustment ()
virtual void  enableManualStereo (double winRegionLLXLeft, double winRegionLLYLeft, double winRegionURXLeft, double winRegionURYLeft, double winRegionLLXRight, double winRegionLLYRight, double winRegionURXRight, double winRegionURYRight, double winOffsetLeftX, double winOffsetLeftY, double winOffsetRightX, double winOffsetRightY, double camRotLeftX, double camRotLeftY, double camRotLeftZ, double camRotRightX, double camRotRightY, double camRotRightZ, double camMoveLeftX, double camMoveLeftY, double camMoveLeftZ, double camMoveRightX, double camMoveRightY, double camMoveRightZ)
virtual void  disableManualStereo ()
virtual void  setTextureSizeLimit (int)
  Limit the texture size; -1 sets it to hardware limit Go with power of two if you know what's good for you.
virtual void  setFrameTimeValue (double timeValue)
virtual double  getFrameTimeValue () const
virtual int  getRefreshRate () const
virtual void  setFullScreen (bool fullScreen)
  The fullscreen argument indicates whether the viewer should open a fullscreen window or a normal bordered window.
virtual void  toggleFullScreen ()
virtual bool  isFullScreen () const
virtual bool  isInteractive () const
virtual void  setMouseMode (MouseMode)
virtual IntersectorRef  createIntersector (int drawElements)=0
  Allocate a new Intersector or Selector.
virtual IntersectorRef  createIntersector (int drawElements, double x, double y)=0
virtual BoxIntersectorRef  createBoxIntersector (int drawElements)
virtual BoxIntersectorRef  createBoxIntersector (int drawElements, double x, double y)
void  setExitRequest (bool exit)
bool  getExitRequest () const
void  setEnableRender (bool state)
  Rendering can be disabled without affecting the execution of the render/event loop...
bool  getEnableRender () const
void  setAdvancePerFrame (bool state)
bool  getAdvancePerFrame () const
awInput::EventQueue getEventQueue ()
awInput::EventDispatcher getEventDispatcher ()
void  setShortDescription (const awString::IString &description)
  Since the viewer can display help/about information we can give it a short description of this application.
void  getShortDescription (awString::IString &description) const
virtual void  setPositionAndSize (int x, int y, int width, int height)
  Methods for setting the Position and size of the display CameraID is the index of the camera, starting at zero.
virtual void  getPositionAndSize (int &x, int &y, int &width, int &height) const =0
virtual void  getWindowSize (int &width, int &height) const =0
virtual void  setDrawMode (DrawMode drawMode)
  Sets the draw mode to a specific mode decalred by the DrawMode enum.
virtual DrawMode  getDrawMode () const
virtual bool  setShadingMode (ShadingMode shadingMode)
virtual ShadingMode  getShadingMode () const
virtual bool  setTransparencyTechnique (TransparencyTechnique technique)
virtual TransparencyTechnique  getTransparencyTechnique () const
virtual void  showNormals (bool show)
  Turns on and off the display of normals.
virtual void  requestRedraw ()
  Request that the view be refreshed.
virtual void  setActivityStatus (bool state)
  The activity status indicator is used to prevent the display loop from pausing.
bool  getActivityStatus () const
bool  getIdleState () const
virtual void  printModel (const awString::IString &subrootName) const =0
virtual void *  getImplementation ()
  getImplementation allows those with access only to the base class interface to get at the native implementation for this display object.
virtual int  numActiveViewports () const
virtual SnapperRef  getSnapper ()
virtual void  setDefaultImagePath (const awString::IString &)=0
  If a texture can't be found, this will be used.
virtual void  setEnvironmentLight (awSupport::ValueParameterGroupRef envLight)
virtual void  setUseBackgroundGeometry (const bool usingBgGeom)
  Tell the render if a geometry environment is used or not in order to do all the right things in ray tracing.
awSupport::ValueParameterGroupRef  getDisplayOptions ()
virtual void  setEnableCulling (bool enable)
virtual void  setOverwriteCameraMatrices (bool, bool)=0
virtual void  setOverwriteCameraMatricesFromCurrent (float)=0
virtual void  setOverwriteCameraWorldToView (const awLinear::ProjMatrix &worldToView, const awLinear::ProjMatrix &viewToWorld)=0
virtual void  setOverwriteCameraProjection (const awLinear::ProjMatrix &projection, const awLinear::ProjMatrix &projectionInverse)=0
virtual void  setOverwriteCameraWorldToViewRightEye (const awLinear::ProjMatrix &worldToView, const awLinear::ProjMatrix &viewToWorld)=0
virtual void  setOverwriteCameraProjectionRightEye (const awLinear::ProjMatrix &projection, const awLinear::ProjMatrix &projectionInverse)=0
virtual bool  SetTonemapParameters (const awViewing::PhotographicTonemapData &parameters)
  Set the tonemap parameters and update project file data.
void  setExposureCompensation (double newValue)
double  getExposureCompensation () const
virtual
awViewing::PhotographicTonemapData 
GetTonemapParameters (void) const
  Get a copy of the currently used tonemap parameters or default if missing.
virtual void  SetGlobalPhysicalScale (float scale)
  Set the global physical scale for all lightsources.
virtual float  GetGlobalPhysicalScale (void) const
  Get the global physical scale for all lightsources.

Static Public Member Functions

static void  resetBackgroundColor ()
  Window background color.
static void  setBackgroundColor (double r, double g, double b, double a)
static void  getBackgroundColorAsDouble (double[4])
static void  getBackgroundColorAsFloat (float[4])
static void  getBackgroundColorAsRGB (float &r, float &g, float &b)
  This one is useful for Python access with (r,g,b) = display.getBackgroundColorAsRGB()
static void  setEnableStereoFormat ()
static bool  getEnableStereoFormat ()
static void  reloadBackplateImage ()

Protected Member Functions

virtual bool  renderFrame (double time)=0
  Sub-classes should implement renderFrame to actually draw the current frames image.
virtual bool  update ()
  Update performs scene graph modifications after each frame has completed rendering.
virtual void  synchronizeGraphs ()
virtual void  makeCurrent ()=0
  Make the viewer Rendering context current for the calling thread...
void  setIdleState (bool state)
void  checkIdleStatus (bool state)
virtual void  postDispatchChecks ()
virtual void  awaitDrawCompletion ()
virtual void  processEvents (awInput::EventList &events)
void  dispatchEvents ()
void  setDirtyCamera (bool dirty)
bool  isDirtyCamera () const
void  timerStart ()
  Convenience methods for performance monitoring.
void  timerEnd (const char *what)
virtual void  onDrawElementsChanged (int drawElements)

Protected Attributes

awThread::Mutex  myLock
awString::IString  myShortDescription
awInput::EventQueue  myEventQueue
awInput::EventDispatcher myEventDispatcher
awSupport::LocalTimer  myTimer
awLinear::Point  myPointOfInterest
DrawMode  myDrawMode
ShadingMode  myShadingMode
TransparencyTechnique  myTransparencyTechnique
double  mySwapTime
double  myIdleStartTime
double  myTimeReferenceValue
double  myTimeReferenceStart
int  myTimeReferenceCounter
int  myScaleformUIWidth
int  myScaleformUIHeight
bool  myScaleformUIShow
bool  myIdleState
bool  myExitRequest
bool  myIsInteractive
bool  myAdvancePerFrame
bool  myDirtyCamera
bool  myActivityStatus
bool  myRenderEnabled
bool  myFrameStarted
PhotographicTonemapData  myPhotographicTonemap

Friends

class  DisplaySignalProxy

Member Enumeration Documentation

In the pointer mode, the cursor behaves in the familiar way and the 'relative motion' values stored in Events are limited by the boundaries of the screen.

In the navigator mode, we warp the position of the pointer as necessary to allow unlimited relative motion, at the expense of a consistent sense of absolute position.

Enumerator:
kPointer 
kNavigator 
Enumerator:
kNormal 
kNoAmbientShadows 
    {
        kNormal,
        kNoAmbientShadows
        // kNoLights?
        // kNormalsOnly?
        // kOcclusionOnly?
    };

Constructor & Destructor Documentation

Display ( bool  interactive ) [explicit]

This class exposes an abstract interface to a display sub-system.

This could be an offline rendering system or an interactive display system.

~Display ( )

Member Function Documentation

bool setDrawElements ( int  drawElements )
int getDrawElements ( ) const
virtual void configureMultiDisplay ( int  colCount,
int  rowCount,
int  colIndex,
int  rowIndex 
) [virtual]
static void resetBackgroundColor ( ) [static]

Window background color.

static void setBackgroundColor ( double  r,
double  g,
double  b,
double  a 
) [static]
static void getBackgroundColorAsDouble ( double  [4] ) [static]
static void getBackgroundColorAsFloat ( float  [4] ) [static]
static void getBackgroundColorAsRGB ( float &  r,
float &  g,
float &  b 
) [static]

This one is useful for Python access with (r,g,b) = display.getBackgroundColorAsRGB()

static void setEnableStereoFormat ( ) [static]
static bool getEnableStereoFormat ( ) [static]
static void reloadBackplateImage ( ) [static]
void setModelRoot ( awScene::Node )
void setOverlayRoot ( awScene::Node )
void setBackplateRoot ( awScene::Node )
virtual bool initialize ( awInput::EventDispatcher dispatcher ) [virtual]

initialize must be called prior to invoking "realize".

If initialize returns false then some undefined error occurred.

Sub-classes must invoke this base class method.

virtual void realize ( ) [pure virtual]

The realize method is intended to actually instantiate the target for the renderer (i.e.

window or pbuffer) and any support required to run the display context. e.g. window message handling.

virtual bool stopRequested ( ) const [virtual]
virtual bool step ( ) [virtual]
virtual void cleanup ( ) [virtual]
virtual bool isDone ( ) const [pure virtual]

isDone will only return true after the display has successfully cleaned up via cleanup().

Should be called only after realize().

virtual bool isResetted ( ) [virtual]

reset should be called whenever a scene is closed in order to release any cached state information.

virtual void reset ( ) [virtual]
virtual bool setEnableRT ( bool  state ) [virtual]
virtual bool getEnableRT ( ) const [virtual]
virtual bool getRTUpdateMode ( ) const [virtual]
List of new 2013 classes:
: New in Version 2013

The RT update mode indicates whether Rapid RT shaders are being updated synchronously with non-RT shaders. See also: Refresh.

virtual bool setEnableRTCluster ( bool  state ) [virtual]
virtual bool getEnableRTCluster ( ) const [virtual]
virtual void setRTCluster ( const awString::IString &  host,
int  port,
int  cpus 
) [virtual]
virtual void setRTMaxAODistanceDefault ( float  ) [inline, virtual]
void setScaleformUIShow ( bool  )

Just holding these, counting on the caller to set the correct values.

List of new 2013 classes:
: New in Version 2013
bool getScaleformUIShow ( ) const
int getScaleformUIWidth ( ) const
int getScaleformUIHeight ( ) const
void getScaleformUISize ( int &  w,
int &  h 
) const
void setScaleformUIWidth ( int  w )
void setScaleformUIHeight ( int  h )
virtual void setScaleformUISize ( int  w,
int  h 
) [virtual]
virtual void bindDynamicTextures ( ) [virtual]
virtual void releaseDynamicTextures ( ) [virtual]
virtual void bindDynamicTexture ( int  index ) [virtual]
virtual void releaseDynamicTexture ( int  index ) [virtual]
virtual CameraRef getCamera ( int  viewport = 0 ) const [virtual]
virtual ViewStateRef getViewState ( int  viewport = 0 ) const [virtual]
virtual bool performAutoCamActiveOperations ( ) [pure virtual]
virtual const AutoCam::CameraParameters& getAutoCamParameters ( ) const [pure virtual]
virtual void setAutoCamParameters ( const AutoCam::CameraParameters &  params ) [pure virtual]
virtual bool isAutoCamChangePending ( ) const [pure virtual]
virtual void setAutoCamChangePending ( bool  state ) [pure virtual]
awLinear::Point pointInPixelSpace ( const awLinear::Point &  pos,
int  viewport = 0 
) const

Returns Point, even though it's really just the X and Y that are relevant.

To be clear, this will be in [0,width],[0,height] if the pos is visible by the camera. The third coordinate is still in the screen space, as returned by the camera.

virtual void getPointOfInterest ( awLinear::Point &  pos ) const [virtual]

Todo: Move camera methods to a new Camera class...

virtual void setPointOfInterest ( const awLinear::Point &  pos ) [virtual]
virtual void getViewportRegion ( double &  x,
double &  y,
double &  w,
double &  h,
double  px,
double  py 
) const [virtual]
virtual void getViewportRegion ( double &  x,
double &  y,
double &  w,
double &  h,
int  index 
) const [virtual]
virtual void enableStereo ( ) [virtual]
virtual void disableStereo ( ) [virtual]
virtual void setStereoEyeDistance ( float  dist ) [virtual]
virtual float getStereoEyeDistance ( ) const [virtual]
virtual void setStereoAutoEyeDistanceAdjust ( bool  adjust ) [virtual]
virtual void setStereoAutoEyeDistanceAdjustFactor ( float  factor ) [virtual]
virtual float getStereoAutoEyeDistanceAdjustFactor ( ) const [virtual]
virtual void setFocusDistance ( float  focusDistance ) [virtual]
virtual float getFocusDistance ( ) const [virtual]
virtual void resetFocusDistance ( ) [virtual]
virtual void enableCameraAdjustment ( double  winRegionLLX,
double  winRegionLLY,
double  winRegionURX,
double  winRegionURY,
double  winOffsetX,
double  winOffsetY,
double  camRotX,
double  camRotY,
double  camRotZ,
double  camMoveX,
double  camMoveY,
double  camMoveZ 
) [virtual]
virtual void disableCameraAdjustment ( ) [virtual]
virtual void enableManualStereo ( double  winRegionLLXLeft,
double  winRegionLLYLeft,
double  winRegionURXLeft,
double  winRegionURYLeft,
double  winRegionLLXRight,
double  winRegionLLYRight,
double  winRegionURXRight,
double  winRegionURYRight,
double  winOffsetLeftX,
double  winOffsetLeftY,
double  winOffsetRightX,
double  winOffsetRightY,
double  camRotLeftX,
double  camRotLeftY,
double  camRotLeftZ,
double  camRotRightX,
double  camRotRightY,
double  camRotRightZ,
double  camMoveLeftX,
double  camMoveLeftY,
double  camMoveLeftZ,
double  camMoveRightX,
double  camMoveRightY,
double  camMoveRightZ 
) [virtual]
virtual void disableManualStereo ( ) [virtual]
virtual void setTextureSizeLimit ( int  ) [virtual]

Limit the texture size; -1 sets it to hardware limit Go with power of two if you know what's good for you.

virtual void setFrameTimeValue ( double  timeValue ) [virtual]
virtual double getFrameTimeValue ( ) const [virtual]
virtual int getRefreshRate ( ) const [virtual]
virtual void setFullScreen ( bool  fullScreen ) [virtual]

The fullscreen argument indicates whether the viewer should open a fullscreen window or a normal bordered window.

virtual void toggleFullScreen ( ) [virtual]
virtual bool isFullScreen ( ) const [virtual]
virtual bool isInteractive ( ) const [virtual]
virtual void setMouseMode ( MouseMode  ) [virtual]
virtual IntersectorRef createIntersector ( int  drawElements ) [pure virtual]

Allocate a new Intersector or Selector.

The callers are responsible for deleting the returned objects.

virtual IntersectorRef createIntersector ( int  drawElements,
double  x,
double  y 
) [pure virtual]
virtual BoxIntersectorRef createBoxIntersector ( int  drawElements ) [virtual]
virtual BoxIntersectorRef createBoxIntersector ( int  drawElements,
double  x,
double  y 
) [virtual]
void setExitRequest ( bool  exit )
bool getExitRequest ( ) const
void setEnableRender ( bool  state )

Rendering can be disabled without affecting the execution of the render/event loop...

bool getEnableRender ( ) const
void setAdvancePerFrame ( bool  state )
bool getAdvancePerFrame ( ) const
void setShortDescription ( const awString::IString &  description )

Since the viewer can display help/about information we can give it a short description of this application.

void getShortDescription ( awString::IString &  description ) const
virtual void setPositionAndSize ( int  x,
int  y,
int  width,
int  height 
) [virtual]

Methods for setting the Position and size of the display CameraID is the index of the camera, starting at zero.

Position (x,y)=(0,0) is the bottom left corner of the screen. Height and width are in pixels and must be greater than zero.

virtual void getPositionAndSize ( int &  x,
int &  y,
int &  width,
int &  height 
) const [pure virtual]
virtual void getWindowSize ( int &  width,
int &  height 
) const [pure virtual]
virtual void setDrawMode ( DrawMode  drawMode ) [virtual]

Sets the draw mode to a specific mode decalred by the DrawMode enum.

virtual DrawMode getDrawMode ( ) const [virtual]
virtual bool setShadingMode ( ShadingMode  shadingMode ) [virtual]
virtual ShadingMode getShadingMode ( ) const [virtual]
virtual bool setTransparencyTechnique ( TransparencyTechnique  technique ) [virtual]
virtual TransparencyTechnique getTransparencyTechnique ( ) const [virtual]
virtual void showNormals ( bool  show ) [virtual]

Turns on and off the display of normals.

virtual void requestRedraw ( ) [virtual]

Request that the view be refreshed.

If the application is in an idle state, request redraw does not cause it to get out of idle state.

virtual void setActivityStatus ( bool  state ) [virtual]

The activity status indicator is used to prevent the display loop from pausing.

Call this with a value of true when you know you will need a redraw immediately. This differs from request Redraw in that it does not queue an event. Setting the activity status to true takes the application out of the idle state.

bool getActivityStatus ( ) const [inline]
bool getIdleState ( ) const [inline]
virtual void printModel ( const awString::IString &  subrootName ) const [pure virtual]
virtual void* getImplementation ( ) [virtual]

getImplementation allows those with access only to the base class interface to get at the native implementation for this display object.

virtual int numActiveViewports ( ) const [virtual]
virtual SnapperRef getSnapper ( ) [inline, virtual]
{ return NULL; }
virtual void setDefaultImagePath ( const awString::IString &  ) [pure virtual]

If a texture can't be found, this will be used.

virtual void setEnvironmentLight ( awSupport::ValueParameterGroupRef  envLight ) [virtual]
virtual void setUseBackgroundGeometry ( const bool  usingBgGeom ) [virtual]

Tell the render if a geometry environment is used or not in order to do all the right things in ray tracing.

List of new 2013 classes:
: New in Version 2013
virtual void setEnableCulling ( bool  enable ) [virtual]
virtual void setOverwriteCameraMatrices ( bool  ,
bool   
) [pure virtual]
virtual void setOverwriteCameraMatricesFromCurrent ( float  ) [pure virtual]
virtual void setOverwriteCameraWorldToView ( const awLinear::ProjMatrix &  worldToView,
const awLinear::ProjMatrix &  viewToWorld 
) [pure virtual]
virtual void setOverwriteCameraProjection ( const awLinear::ProjMatrix &  projection,
const awLinear::ProjMatrix &  projectionInverse 
) [pure virtual]
virtual void setOverwriteCameraWorldToViewRightEye ( const awLinear::ProjMatrix &  worldToView,
const awLinear::ProjMatrix &  viewToWorld 
) [pure virtual]
virtual void setOverwriteCameraProjectionRightEye ( const awLinear::ProjMatrix &  projection,
const awLinear::ProjMatrix &  projectionInverse 
) [pure virtual]
virtual bool SetTonemapParameters ( const awViewing::PhotographicTonemapData parameters ) [virtual]

Set the tonemap parameters and update project file data.

Default implementation just stores the parameters in a member.

Parameters:
parameters The new tonemap parameters we want to use.
Returns:
true if the parameters was valid and set.
See also:
PhotographicTonemapData
List of new 2013 classes:
: New in Version 2013
void setExposureCompensation ( double  newValue )
double getExposureCompensation ( ) const
virtual awViewing::PhotographicTonemapData GetTonemapParameters ( void  ) const [virtual]

Get a copy of the currently used tonemap parameters or default if missing.

There is no reference in the copy to any currently used parameters, so changing a value in the copy will not have any functional effect. Default implementation just returns the parameters that is set with the default implementation of SetTonemapParameters(const awViewing::PhotographicTonemapData& parameters).

See also:
PhotographicTonemapData
List of new 2013 classes:
: New in Version 2013
virtual void SetGlobalPhysicalScale ( float  scale ) [virtual]

Set the global physical scale for all lightsources.

Parameters:
scale The scale in candela to use as a base scale for all light sources.
List of new 2013 classes:
: New in Version 2013
virtual float GetGlobalPhysicalScale ( void  ) const [virtual]

Get the global physical scale for all lightsources.

Returns:
The scale in candela that is used as a base scale for all light sources.
List of new 2013 classes:
: New in Version 2013
virtual bool renderFrame ( double  time ) [protected, pure virtual]

Sub-classes should implement renderFrame to actually draw the current frames image.

This method is called from step after dispatching all pending events.

virtual bool update ( ) [protected, virtual]

Update performs scene graph modifications after each frame has completed rendering.

This base class method should be called by any sub-class overrides. Returns true as long as the stopRequested() flag is not set.

virtual void synchronizeGraphs ( ) [protected, virtual]
virtual void makeCurrent ( ) [protected, pure virtual]

Make the viewer Rendering context current for the calling thread...

void setIdleState ( bool  state ) [protected]
void checkIdleStatus ( bool  state ) [protected]
virtual void postDispatchChecks ( ) [protected, virtual]
virtual void awaitDrawCompletion ( ) [protected, virtual]
virtual void processEvents ( awInput::EventList events ) [protected, virtual]
void dispatchEvents ( ) [protected]
void setDirtyCamera ( bool  dirty ) [protected]
bool isDirtyCamera ( ) const [protected]
void timerStart ( ) [inline, protected]

Convenience methods for performance monitoring.

No-ops with NDEBUG

{
    myTimer.zero();
}
void timerEnd ( const char *  what ) [inline, protected]
virtual void onDrawElementsChanged ( int  drawElements ) [protected, virtual]

Friends And Related Function Documentation

friend class DisplaySignalProxy [friend]

Member Data Documentation

awThread::Mutex myLock [protected]
awString::IString myShortDescription [protected]
awLinear::Point myPointOfInterest [protected]

Display Display Display Display Display Display Display Display Display Display
Display Display Display Display Display Display Display Display Display Display