FBDeviceCamera Class Reference

#include <fbtracker.h>
FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera
Inheritance diagram for FBDeviceCamera:
Inheritance graph
[legend]

List of all members.


Detailed Description

Camera device base class.

Based on the FBDeviceSync class, this class generalizes the concept of a virtual set camera driver, permitting synchronization with a genlock source, generic camera connectors, and model templates.

Definition at line 286 of file fbtracker.h.


Public Member Functions

  FBDeviceCamera (char *pName, HIObject pObject=NULL)
  Constructor.
virtual bool  FBCreate ()
  Open Reality Creation function.
virtual void  FBDestroy ()
  Open Reality destruction function.
virtual bool  DeviceSyncAnimationNodeNotify (HFBAnimationNode pAnimationNode, HFBEvaluateInfo pEvaluateInfo, int pCorrectedSync)
  Real-Time synchronous evaluation callback.
virtual void  DeviceIONotify (kDeviceIOs pAction, FBDeviceNotifyInfo &pDeviceNotifyInfo)
  Real-Time engine thread: Device I/O.
virtual bool  ModelTemplateBindNotify (HFBModel pModel, int pIndex, HFBModelTemplate pModelTemplate)
  Model Template binding notification callback.
virtual bool  FbxStore (HFBFbxObject pFbxObject, kFbxObjectStore pStoreWhat)
  Storage/Retrieval of information into the FBX file format.
virtual bool  FbxRetrieve (HFBFbxObject pFbxObject, kFbxObjectStore pStoreWhat)
  Storage/Retrieval of information into the FBX file format.
virtual void  RecordingInitAnimation (HFBAnimationNode pAnimationNode)
  When recording, initialize animation.
virtual void  RecordingDoneAnimation (HFBAnimationNode pAnimationNode)
  When recording, finish animation.
virtual bool  DeviceCameraAnimationNodeNotify (HFBEvaluateInfo pEvaluateInfo, HFBDeviceCameraPacket pDstPacket, HFBDeviceSyncPacket pSrcPacket)
  Evaluation engine callback for camera device.
virtual void  DeviceCameraEvalData (FBDeviceNotifyInfo &pNotifyInfo)
  I/O for camera device.
virtual void  DeviceCameraRecordFrame (FBTime &pRecordTime, FBDeviceNotifyInfo &pNotifyInfo)
  Record a frame of data to the FCurves for the camera device.
virtual bool  DeviceCameraWriteData (HFBEvaluateInfo pEvaluateInfo)
  Write data to camera connectors.
virtual bool  LoadLensTables (char *pFilename)
  Load the lens lookup tables.
virtual void  ProcessLensData (HFBDeviceCameraPacket pDataPacket)
  Process the lens table data for this data packet.

Public Attributes

FBPropertyBool  UsingCustomInstruments
  Property(RW): Using custom instruments?
FBPropertyInt  NumberOfInstruments
  Property(RW): Number of instruments.
FBPropertyString  ModelTemplatePrefix
  Property(RW): Model template prefix.

Constructor & Destructor Documentation

FBDeviceCamera ( char *  pName,
HIObject  pObject = NULL  
)

Constructor.

Parameters:
pName  Unique name of optical device.
pObject  Internal parent object(default=NULL).

Member Function Documentation

virtual bool FBCreate (  )  [virtual]

Open Reality Creation function.

Returns:
Outcome of creation (true/false).

Reimplemented from FBDeviceSync.

virtual void FBDestroy (  )  [virtual]

Open Reality destruction function.

Reimplemented from FBDeviceSync.

virtual bool DeviceSyncAnimationNodeNotify ( HFBAnimationNode  pAnimationNode,
HFBEvaluateInfo  pEvaluateInfo,
int  pCorrectedSync  
) [virtual]

Real-Time synchronous evaluation callback.

Note that this function must be overloaded to instanciate a synchronous device class.

Parameters:
pAnimationNode  Connector being pulled.
pEvaluateInfo  Evaluation information structure.
pCorrectedSync  Corrected sync value.

Implements FBDeviceSync.

virtual void DeviceIONotify ( kDeviceIOs  pAction,
FBDeviceNotifyInfo pDeviceNotifyInfo  
) [virtual]

Real-Time engine thread: Device I/O.

The device I/O thread calls this function (required) which is a highly optimized non-blocking function registering input/output information from/to the device.

Parameters:
pAction  Different reading/writing actions for the device.
pDeviceNotifyInfo  Access to the system and local time.

Reimplemented from FBDevice.

virtual bool ModelTemplateBindNotify ( HFBModel  pModel,
int  pIndex,
HFBModelTemplate  pModelTemplate  
) [virtual]

Model Template binding notification callback.

Parameters:
pModel  Model being bound to model template.
pIndex  Index of model template where binding is occuring.
pModelTemplate  Model being affected with binding.
Returns:
true if successful.

Reimplemented from FBDevice.

virtual bool FbxStore ( HFBFbxObject  pFbxObject,
kFbxObjectStore  pStoreWhat  
) [virtual]

Storage/Retrieval of information into the FBX file format.

Parameters:
pFbxObject  Object to interface with FBX file format.
pStoreWhat  Attributes to store in FBX file.
Returns:
true if successful.

Reimplemented from FBDeviceSync.

virtual bool FbxRetrieve ( HFBFbxObject  pFbxObject,
kFbxObjectStore  pStoreWhat  
) [virtual]

Storage/Retrieval of information into the FBX file format.

Parameters:
pFbxObject  Object to interface with FBX file format.
pStoreWhat  Attributes to store in FBX file.
Returns:
true if successful.

Reimplemented from FBDeviceSync.

virtual void RecordingInitAnimation ( HFBAnimationNode  pAnimationNode  )  [virtual]

When recording, initialize animation.

Parameters:
pAnimationNode  Animation node to read information from.

Reimplemented from FBDevice.

virtual void RecordingDoneAnimation ( HFBAnimationNode  pAnimationNode  )  [virtual]

When recording, finish animation.

Parameters:
pAnimationNode  Animation node to write information to.

Reimplemented from FBDevice.

virtual bool DeviceCameraAnimationNodeNotify ( HFBEvaluateInfo  pEvaluateInfo,
HFBDeviceCameraPacket  pDstPacket,
HFBDeviceSyncPacket  pSrcPacket  
) [virtual]

Evaluation engine callback for camera device.

Parameters:
pEvaluateInfo  Evaluation information structure.
pDstPacket  Destination packet to fill with camera data (will go to connectors).
pSrcPacket  Source packet of information (from Sync buffer).
Returns:
true if successful.

virtual void DeviceCameraEvalData ( FBDeviceNotifyInfo pNotifyInfo  )  [virtual]

I/O for camera device.

This synchronous callback is used to fill the device buffer and is not necessary if the device I/O notify function call is overloaded, as it merely isolates the read operation from DeviceIONotify().

Parameters:
pNotifyInfo  Device notification information structure.

virtual void DeviceCameraRecordFrame ( FBTime pRecordTime,
FBDeviceNotifyInfo pNotifyInfo  
) [virtual]

Record a frame of data to the FCurves for the camera device.

Parameters:
pRecordTime  Time to record values for.
pNotifyInfo  Device notification structure.

virtual bool DeviceCameraWriteData ( HFBEvaluateInfo  pEvaluateInfo  )  [virtual]

Write data to camera connectors.

Parameters:
pEvaluateInfo  Evaluation information structure.
Returns:
true if successful.

virtual bool LoadLensTables ( char *  pFilename  )  [virtual]

Load the lens lookup tables.

Parameters:
pFilename  Name of *.klc file with lens values.
Returns:
true if successfully loaded.

virtual void ProcessLensData ( HFBDeviceCameraPacket  pDataPacket  )  [virtual]

Process the lens table data for this data packet.

The actual operation for this will depend on a couple of properties for the instrument: LensTableLoaded, LensMode, as well as the invert values and the zoom multiplier.

Parameters:
pDataPacket  Camera data to process with the lens tables.

Member Data Documentation

FBPropertyBool UsingCustomInstruments

Property(RW): Using custom instruments?

Definition at line 347 of file fbtracker.h.

FBPropertyInt NumberOfInstruments

Property(RW): Number of instruments.

Definition at line 348 of file fbtracker.h.

FBPropertyString ModelTemplatePrefix

Property(RW): Model template prefix.

Definition at line 349 of file fbtracker.h.


Please send us your comments about this page.