Instrument for a camera device.
This instrument provides the necessary parameters to provide camera tracking support in a device driver (the FBDeviceCamera class and its derivatives). This will also provide a management system for lens look-up tables. Lens tables are used in order to interpret linear encoder values with the non- linear changes in the actual lens.
Definition at line 227 of file fbtracker.h.
#include <fbtracker.h>
Public Member Functions | |
FBDeviceCameraInstrument (FBDevice *pDevice) | |
Constructor. | |
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. | |
virtual bool | InstrumentWriteData (FBEvaluateInfo *pEvaluateInfo) override |
Write data to instrument's connectors. | |
virtual void | InstrumentRecordFrame (FBTime pRecordTime, FBDeviceNotifyInfo &pNotifyInfo) override |
Record the data to the function curves for the instrument. | |
virtual bool | FbxStore (FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat) override |
Storage/Retrieval of information into the FBX file format. | |
virtual bool | FbxRetrieve (FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat) override |
Public Attributes | |
FBPropertyDeviceCameraPacket | Packet |
Property(RW): Used as a buffer to contain the current state of the instrument, use to put data in connector. | |
FBPropertyDeviceCameraPacket | RecordPacket |
Property(RW): Used as a buffer to contain the record state of the instrument, use to create the keys when recording. | |
FBPropertyBool | LensTableLoaded |
Property(R-): Has the lens table been loaded? | |
FBPropertyString | LensCalibrationFilename |
Property(R-): Lens calibration filename. | |
FBPropertyBool | ManualFovMode |
Property(RW): In manual mode (not using encoder values to control zoom)? | |
FBPropertyDouble | ManualFovX |
Property(RW): Manual field of view X value. | |
FBPropertyDouble | ManualFovY |
Property(RW): Manual field of view Y value. | |
FBPropertyBool | ManualCenterMode |
Property(RW): Manually adjust the optical center? | |
FBPropertyDouble | ManualCenterX |
Property(RW): Manual optical center X coordinate. | |
FBPropertyDouble | ManualCenterY |
Property(RW): Manual optical center Y coordinate. | |
FBPropertyBool | LensFovInDegrees |
Property(RW): Is FOV in table in degrees (false) | |
FBPropertyBool | InvertZoom |
Property(RW): Invert the zoom encoder values? | |
FBPropertyBool | InvertFocus |
Property(RW): Invert the focus encoder values? | |
FBPropertyDouble | ZoomMultiplier |
Property(RW): Filmback multiplier. | |
FBPropertyDouble | NodalMultiplier |
Property(RW): Multiplier for nodal offset. | |
FBPropertyVector3d | TranslationOffset |
Property(RW): Translation offset; | |
FBPropertyVector3d | RotationOffset |
Property(RW): Rotation offset. | |
FBPropertyDouble | AspectRatio |
Property(RW): Aspect ratio for calculating the Field of View X value. |
FBDeviceCameraInstrument | ( | FBDevice * | pDevice | ) |
Constructor.
pDevice | Parent device. |
virtual bool LoadLensTables | ( | const char * | pFilename | ) | [virtual] |
Load the lens lookup tables.
pFilename | Name of *.klc file with lens values. |
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.
pDataPacket | Camera data to process with the lens tables. |
virtual bool InstrumentWriteData | ( | FBEvaluateInfo * | pEvaluateInfo | ) | [override, virtual] |
Write data to instrument's connectors.
In the evaluation engine callback, this will take the data in the instrument's temporary data holders and write it to the connectors.
pEvaluateInfo | Evaluation information structure. |
Reimplemented from FBDeviceInstrument.
virtual void InstrumentRecordFrame | ( | FBTime | pRecordTime, |
FBDeviceNotifyInfo & | pNotifyInfo | ||
) | [override, virtual] |
Record the data to the function curves for the instrument.
pRecordTime | Time to record data at. |
pNotifyInfo | Device notification information structure. |
Reimplemented from FBDeviceInstrument.
virtual bool FbxStore | ( | FBFbxObject * | pFbxObject, |
kFbxObjectStore | pStoreWhat | ||
) | [override, virtual] |
Storage/Retrieval of information into the FBX file format.
pFbxObject | Object to interface with FBX file format. |
pStoreWhat | Attributes to store in FBX file. |
Reimplemented from FBDeviceInstrument.
virtual bool FbxRetrieve | ( | FBFbxObject * | pFbxObject, |
kFbxObjectStore | pStoreWhat | ||
) | [override, virtual] |
Reimplemented from FBDeviceInstrument.
FBPropertyDeviceCameraPacket Packet |
Property(RW): Used as a buffer to contain the current state of the instrument, use to put data in connector.
Definition at line 256 of file fbtracker.h.
FBPropertyDeviceCameraPacket RecordPacket |
Property(RW): Used as a buffer to contain the record state of the instrument, use to create the keys when recording.
Definition at line 257 of file fbtracker.h.
Property(R-): Has the lens table been loaded?
Definition at line 259 of file fbtracker.h.
Property(R-): Lens calibration filename.
Definition at line 260 of file fbtracker.h.
Property(RW): In manual mode (not using encoder values to control zoom)?
Definition at line 262 of file fbtracker.h.
Property(RW): Manual field of view X value.
Definition at line 263 of file fbtracker.h.
Property(RW): Manual field of view Y value.
Definition at line 264 of file fbtracker.h.
Property(RW): Manually adjust the optical center?
Definition at line 265 of file fbtracker.h.
Property(RW): Manual optical center X coordinate.
Definition at line 266 of file fbtracker.h.
Property(RW): Manual optical center Y coordinate.
Definition at line 267 of file fbtracker.h.
Property(RW): Is FOV in table in degrees (false)
Definition at line 268 of file fbtracker.h.
Property(RW): Invert the zoom encoder values?
Definition at line 269 of file fbtracker.h.
Property(RW): Invert the focus encoder values?
Definition at line 270 of file fbtracker.h.
Property(RW): Filmback multiplier.
Definition at line 271 of file fbtracker.h.
Property(RW): Multiplier for nodal offset.
Definition at line 272 of file fbtracker.h.
Property(RW): Translation offset;
Definition at line 273 of file fbtracker.h.
Property(RW): Rotation offset.
Definition at line 274 of file fbtracker.h.
Property(RW): Aspect ratio for calculating the Field of View X value.
Definition at line 275 of file fbtracker.h.