Producer::CameraGroup Class Reference

Inheritance diagram for Producer::CameraGroup:

Producer::Referenced List of all members.

Public Types

 SingleThreaded
 ThreadPerRenderSurface
 ThreadPerCamera
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

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

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

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

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

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

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

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

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

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

void Producer::CameraGroup::advance (  ) 

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()

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

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

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

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

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

CameraConfig* Producer::CameraGroup::getCameraConfig (  ) 

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

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

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

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

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

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

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

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()

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

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

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

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

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

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

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

realize implemention.

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

Set the threading model and then call realize().

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

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

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

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

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

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

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()

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::setSceneHandler ( Camera::SceneHandler  ) 

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

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

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

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

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

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

bool Producer::CameraGroup::validForRendering (  )  const

bool Producer::CameraGroup::waitForRealize (  ) 


Member Data Documentation

bool Producer::CameraGroup::_block_on_vsync [protected]

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

Timer_t Producer::CameraGroup::_endOfUpdate [protected]

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

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

FrameStats Producer::CameraGroup::_frameStats [protected]

Timer_t Producer::CameraGroup::_initTime [protected]

bool Producer::CameraGroup::_instrumented [protected]

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

bool Producer::CameraGroup::_realized [protected]

size_t Producer::CameraGroup::_stack_size [protected]

Timer_t Producer::CameraGroup::_startOfFrame [protected]

Timer_t Producer::CameraGroup::_startOfUpdate [protected]

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

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

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

ThreadModel Producer::CameraGroup::_threadModel [protected]

Timer Producer::CameraGroup::_timer [protected]


The documentation for this class was generated from the following file:
Generated on Sun Oct 1 13:17:15 2006 for producer by  doxygen 1.4.7