Public Member Functions | Public Attributes

FBDeviceCamera Class Reference

This reference page is linked to from the following overview topics: Motion Capture Devices.


Search for all occurrences

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.

#include <fbtracker.h>

Inheritance diagram for FBDeviceCamera:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 FBDeviceCamera (const char *pName, HIObject pObject=NULL)
 Constructor.
virtual bool FBCreate ()
 Open Reality Creation function.
virtual void FBDestroy ()
 Open Reality destruction function.
virtual bool DeviceSyncAnimationNodeNotify (FBAnimationNode *pAnimationNode, FBEvaluateInfo *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 (FBModel *pModel, int pIndex, FBModelTemplate *pModelTemplate)
 Model Template binding notification callback.
virtual bool FbxStore (FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat)
 Storage/Retrieval of information into the FBX file format.
virtual bool FbxRetrieve (FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat)
virtual void RecordingInitAnimation (FBAnimationNode *pAnimationNode)
 When recording, initialize animation.
virtual void RecordingDoneAnimation (FBAnimationNode *pAnimationNode)
 When recording, finish animation.
virtual bool DeviceCameraAnimationNodeNotify (FBEvaluateInfo *pEvaluateInfo, FBDeviceCameraPacket *pDstPacket, FBDeviceSyncPacket *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 (FBEvaluateInfo *pEvaluateInfo)
 Write data to camera connectors.
virtual bool LoadLensTables (const char *pFilename)
 Load the lens lookup tables.
virtual void ProcessLensData (FBDeviceCameraPacket *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 ( const char *  pName,
HIObject  pObject = NULL 
)

Constructor.

Parameters:
pNameUnique name of optical device.
pObjectInternal 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 ( FBAnimationNode pAnimationNode,
FBEvaluateInfo pEvaluateInfo,
int  pCorrectedSync 
) [virtual]

Real-Time synchronous evaluation callback.

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

Parameters:
pAnimationNodeConnector being pulled.
pEvaluateInfoEvaluation information structure.
pCorrectedSyncCorrected 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:
pActionDifferent reading/writing actions for the device.
pDeviceNotifyInfoAccess to the system and local time.

Reimplemented from FBDevice.

virtual bool ModelTemplateBindNotify ( FBModel pModel,
int  pIndex,
FBModelTemplate pModelTemplate 
) [virtual]

Model Template binding notification callback.

Parameters:
pModelModel being bound to model template.
pIndexIndex of model template where binding is occuring.
pModelTemplateModel being affected with binding.
Returns:
true if successful.

Reimplemented from FBDevice.

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

Storage/Retrieval of information into the FBX file format.

Parameters:
pFbxObjectObject to interface with FBX file format.
pStoreWhatAttributes to store in FBX file.
Returns:
true if successful.

Reimplemented from FBDeviceSync.

virtual bool FbxRetrieve ( FBFbxObject pFbxObject,
kFbxObjectStore  pStoreWhat 
) [virtual]
virtual void RecordingInitAnimation ( FBAnimationNode pAnimationNode) [virtual]

When recording, initialize animation.

Parameters:
pAnimationNodeAnimation node to read information from.

Reimplemented from FBDevice.

virtual void RecordingDoneAnimation ( FBAnimationNode pAnimationNode) [virtual]

When recording, finish animation.

Parameters:
pAnimationNodeAnimation node to write information to.

Reimplemented from FBDevice.

virtual bool DeviceCameraAnimationNodeNotify ( FBEvaluateInfo pEvaluateInfo,
FBDeviceCameraPacket pDstPacket,
FBDeviceSyncPacket pSrcPacket 
) [virtual]

Evaluation engine callback for camera device.

Parameters:
pEvaluateInfoEvaluation information structure.
pDstPacketDestination packet to fill with camera data (will go to connectors).
pSrcPacketSource 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:
pNotifyInfoDevice notification information structure.
virtual void DeviceCameraRecordFrame ( FBTime pRecordTime,
FBDeviceNotifyInfo pNotifyInfo 
) [virtual]

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

Parameters:
pRecordTimeTime to record values for.
pNotifyInfoDevice notification structure.
virtual bool DeviceCameraWriteData ( FBEvaluateInfo pEvaluateInfo) [virtual]

Write data to camera connectors.

Parameters:
pEvaluateInfoEvaluation information structure.
Returns:
true if successful.
virtual bool LoadLensTables ( const char *  pFilename) [virtual]

Load the lens lookup tables.

Parameters:
pFilenameName of *.klc file with lens values.
Returns:
true if successfully loaded.
virtual void ProcessLensData ( FBDeviceCameraPacket 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:
pDataPacketCamera data to process with the lens tables.

Member Data Documentation

Property(RW): Using custom instruments?

Definition at line 347 of file fbtracker.h.

Property(RW): Number of instruments.

Definition at line 348 of file fbtracker.h.

Property(RW): Model template prefix.

Definition at line 349 of file fbtracker.h.


The documentation for this class was generated from the following file:

FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera
FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera FBDeviceCamera