Producer::CameraGroup Class Reference

Inheritance diagram for Producer::CameraGroup:

Producer::Referenced List of all members.

Public Types

enum  ThreadModel { SingleThreaded, ThreadPerRenderSurface, ThreadPerCamera }

Public Member Functions

 CameraGroup ()
 CameraGroup (CameraConfig *cfg)
 CameraGroup (const std::string &configFile)
CameraConfiggetCameraConfig ()
const CameraConfiggetCameraConfig () const
void setStackSize (size_t size)
virtual bool realize (ThreadModel thread_model)
virtual bool realize ()
bool isRealized () const
bool waitForRealize ()
bool validForRendering () const
void setViewByLookat (float eyex, float eyey, float eyez, float centerx, float centery, float centerz, float upx, float upy, float upz)
void setViewByLookat (const Vec3 &eye, const Vec3 &center, const Vec3 &up)
virtual void setViewByMatrix (const Producer::Matrix &)
unsigned int getNumberOfCameras () const
CameragetCamera (int i)
const CameragetCamera (int i) const
virtual void frame ()
virtual void sync ()
void advance ()
void setSceneHandler (Camera::SceneHandler *)
void setInstrumentationMode (bool flag)
bool getInstrumentationMode () const
const FrameStatsgetFrameStats () const
void setStatsHandler (StatsHandler *sh)
void setBlockOnVsync (bool block)
bool getBlockOnVsync ()
void setLensPerspective (double hfov, double vfov, double nearClip, double farClip)
void setLensFrustum (double left, double right, double bottom, double top, double nearClip, double farClip)
void setLensOrtho (double left, double right, double bottom, double top, double nearClip, double farClip)
bool convertLensToOrtho (float d)
bool convertLensToPerspective (float d)
Camera::Lens::Projection getLensProjectionType ()
void getLensParams (double &left, double &right, double &bottom, double &top, double &nearClip, double &farClip)
float getLensHorizontalFov ()
float getLensVerticalFov ()
void setLensAutoAspect (bool ar)
bool getLensAutoAspect ()
void setLensAspectRatio (double aspectRatio)

Static Public Member Functions

static ThreadModel getDefaultThreadModel ()

Protected Member Functions

virtual ~CameraGroup ()
void _initVariables ()
void _frame ()
void _frameInstrumented ()
void _sync ()
void _syncInstrumented (bool)
void _updateStats ()
void _initLens ()
void _threadPerCameraFrame ()
void _singleThreadedFrame ()

Protected Attributes

ref_ptr< CameraConfig_cfg
Producer::ref_ptr< Camera::Lens_lens
Producer::ref_ptr< StatsHandler_statsHandler
ThreadModel _threadModel
ref_ptr< RefBarrier_syncBarrier
ref_ptr< RefBarrier_frameBarrier
bool _realized
size_t _stack_size
unsigned int _frame_count
unsigned int _sync_count
bool _instrumented
Timer _timer
Timer_t _initTime
Timer_t _startOfFrame
Timer_t _startOfUpdate
Timer_t _endOfUpdate
FrameStats _frameStats
bool _block_on_vsync

Classes

class  Callback
struct  FrameStats
class  StatsHandler

Member Enumeration Documentation

enum Producer::CameraGroup::ThreadModel

Enumerator:
SingleThreaded 
ThreadPerRenderSurface 
ThreadPerCamera 


Constructor & Destructor Documentation

Producer::CameraGroup::CameraGroup (  ) 

Producer::CameraGroup::CameraGroup ( CameraConfig cfg  ) 

Producer::CameraGroup::CameraGroup ( const std::string &  configFile  ) 

virtual Producer::CameraGroup::~CameraGroup (  )  [protected, virtual]


Member Function Documentation

static ThreadModel Producer::CameraGroup::getDefaultThreadModel (  )  [inline, static]

CameraConfig* Producer::CameraGroup::getCameraConfig (  ) 

const CameraConfig* Producer::CameraGroup::getCameraConfig (  )  const

void Producer::CameraGroup::setStackSize ( size_t  size  ) 

virtual bool Producer::CameraGroup::realize ( ThreadModel  thread_model  )  [virtual]

Set the threading model and then call realize().

virtual bool Producer::CameraGroup::realize (  )  [virtual]

realize implemention.

bool Producer::CameraGroup::isRealized (  )  const [inline]

bool Producer::CameraGroup::waitForRealize (  ) 

bool Producer::CameraGroup::validForRendering (  )  const

void Producer::CameraGroup::setViewByLookat ( float  eyex,
float  eyey,
float  eyez,
float  centerx,
float  centery,
float  centerz,
float  upx,
float  upy,
float  upz 
)

void Producer::CameraGroup::setViewByLookat ( const Vec3 eye,
const Vec3 center,
const Vec3 up 
)

virtual void Producer::CameraGroup::setViewByMatrix ( const Producer::Matrix  )  [virtual]

unsigned int Producer::CameraGroup::getNumberOfCameras (  )  const

Camera* Producer::CameraGroup::getCamera ( int  i  ) 

const Camera* Producer::CameraGroup::getCamera ( int  i  )  const

virtual void Producer::CameraGroup::frame (  )  [virtual]

virtual void Producer::CameraGroup::sync (  )  [virtual]

void Producer::CameraGroup::advance (  ) 

void Producer::CameraGroup::setSceneHandler ( Camera::SceneHandler  ) 

void Producer::CameraGroup::setInstrumentationMode ( bool  flag  ) 

bool Producer::CameraGroup::getInstrumentationMode (  )  const [inline]

const FrameStats& Producer::CameraGroup::getFrameStats (  )  const [inline]

void Producer::CameraGroup::setStatsHandler ( StatsHandler sh  )  [inline]

void Producer::CameraGroup::setBlockOnVsync ( bool  block  ) 

bool Producer::CameraGroup::getBlockOnVsync (  )  [inline]

void Producer::CameraGroup::setLensPerspective ( double  hfov,
double  vfov,
double  nearClip,
double  farClip 
) [inline]

Convenience method for setting the Lens Perspective. See Camera::Lens::setPerspective().

void Producer::CameraGroup::setLensFrustum ( double  left,
double  right,
double  bottom,
double  top,
double  nearClip,
double  farClip 
) [inline]

Convenience method for setting the Lens Frustum. See Camera::Lens::setFrustum().

void Producer::CameraGroup::setLensOrtho ( double  left,
double  right,
double  bottom,
double  top,
double  nearClip,
double  farClip 
) [inline]

Convenience method for setting the lens Orthographic projection. See Camera::Lens::setOrtho()

bool Producer::CameraGroup::convertLensToOrtho ( float  d  )  [inline]

Convenience method for converting the Perpective lens to an Orthographic lens. see Camera::lens:convertToOrtho()

bool Producer::CameraGroup::convertLensToPerspective ( float  d  )  [inline]

Convenience method for converting the Orthographic lens to an Perspective lens. see Camera::lens:convertToPerspective()

Camera::Lens::Projection Producer::CameraGroup::getLensProjectionType (  )  [inline]

Convenience method for getting the lens projection type. See Camera::Lens::setAspectRatio()

void Producer::CameraGroup::getLensParams ( double &  left,
double &  right,
double &  bottom,
double &  top,
double &  nearClip,
double &  farClip 
) [inline]

Convenience method for getting the Lens parameters. See Camera::Lens::apply()

float Producer::CameraGroup::getLensHorizontalFov (  )  [inline]

Convenience method for getting the Lens Horizontal field of view. See Camera::Lens::getHorizontalFov()

float Producer::CameraGroup::getLensVerticalFov (  )  [inline]

Convenience method for getting the Lens Horizontal field of view. See Camera::Lens::getVerticalFov()

void Producer::CameraGroup::setLensAutoAspect ( bool  ar  )  [inline]

Convenience method for setting AutoAspect on the lens. See Camera::Lens::setAutoAspect()

bool Producer::CameraGroup::getLensAutoAspect (  )  [inline]

Convenience method for getting AutoAspect on the lens. See Camera::Lens::getAutoAspect()

void Producer::CameraGroup::setLensAspectRatio ( double  aspectRatio  )  [inline]

Convenience method for setting the lens Aspect Ratio. See Camera::Lens::setAspectRatio()

void Producer::CameraGroup::_initVariables (  )  [protected]

void Producer::CameraGroup::_frame (  )  [protected]

void Producer::CameraGroup::_frameInstrumented (  )  [protected]

void Producer::CameraGroup::_sync (  )  [protected]

void Producer::CameraGroup::_syncInstrumented ( bool   )  [protected]

void Producer::CameraGroup::_updateStats (  )  [protected]

void Producer::CameraGroup::_initLens (  )  [protected]

void Producer::CameraGroup::_threadPerCameraFrame (  )  [protected]

void Producer::CameraGroup::_singleThreadedFrame (  )  [protected]


Member Data Documentation

ref_ptr<CameraConfig > Producer::CameraGroup::_cfg [protected]

Producer::ref_ptr<Camera::Lens> Producer::CameraGroup::_lens [protected]

Producer::ref_ptr<StatsHandler> Producer::CameraGroup::_statsHandler [protected]

ThreadModel Producer::CameraGroup::_threadModel [protected]

ref_ptr<RefBarrier> Producer::CameraGroup::_syncBarrier [protected]

ref_ptr<RefBarrier> Producer::CameraGroup::_frameBarrier [protected]

bool Producer::CameraGroup::_realized [protected]

size_t Producer::CameraGroup::_stack_size [protected]

unsigned int Producer::CameraGroup::_frame_count [protected]

unsigned int Producer::CameraGroup::_sync_count [protected]

bool Producer::CameraGroup::_instrumented [protected]

Timer Producer::CameraGroup::_timer [protected]

Timer_t Producer::CameraGroup::_initTime [protected]

Timer_t Producer::CameraGroup::_startOfFrame [protected]

Timer_t Producer::CameraGroup::_startOfUpdate [protected]

Timer_t Producer::CameraGroup::_endOfUpdate [protected]

FrameStats Producer::CameraGroup::_frameStats [protected]

bool Producer::CameraGroup::_block_on_vsync [protected]


The documentation for this class was generated from the following file:
Generated on Fri Jun 22 22:42:42 2007 for producer by  doxygen 1.5.2