Camera device base class. More...
#include <fbtracker.h>
Public Member Functions | |
FBDeviceCamera (const char *pName, HIObject pObject=NULL) | |
Constructor. More... | |
virtual bool | FBCreate () override |
Open Reality Creation function. More... | |
virtual void | FBDestroy () override |
Open Reality destruction function. More... | |
virtual bool | DeviceSyncAnimationNodeNotify (FBAnimationNode *pAnimationNode, FBEvaluateInfo *pEvaluateInfo, int pCorrectedSync) override |
Real-Time synchronous evaluation callback. More... | |
virtual void | DeviceIONotify (kDeviceIOs pAction, FBDeviceNotifyInfo &pDeviceNotifyInfo) override |
Real-Time engine thread: Device I/O. More... | |
virtual bool | ModelTemplateBindNotify (FBModel *pModel, int pIndex, FBModelTemplate *pModelTemplate) override |
Model Template binding notification callback. More... | |
virtual bool | FbxStore (FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat) override |
Storage/Retrieval of information into the FBX file format. More... | |
virtual bool | FbxRetrieve (FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat) override |
virtual void | RecordingInitAnimation (FBAnimationNode *pAnimationNode) override |
When recording, initialize animation. More... | |
virtual void | RecordingDoneAnimation (FBAnimationNode *pAnimationNode) override |
When recording, finish animation. More... | |
virtual bool | DeviceCameraAnimationNodeNotify (FBEvaluateInfo *pEvaluateInfo, FBDeviceCameraPacket *pDstPacket, FBDeviceSyncPacket *pSrcPacket) |
Evaluation engine callback for camera device. More... | |
virtual void | DeviceCameraEvalData (FBDeviceNotifyInfo &pNotifyInfo) |
I/O for camera device. More... | |
virtual void | DeviceCameraRecordFrame (FBTime &pRecordTime, FBDeviceNotifyInfo &pNotifyInfo) |
Record a frame of data to the FCurves for the camera device. More... | |
virtual bool | DeviceCameraWriteData (FBEvaluateInfo *pEvaluateInfo) |
Write data to camera connectors. More... | |
virtual bool | LoadLensTables (const char *pFilename) |
Load the lens lookup tables. More... | |
virtual void | ProcessLensData (FBDeviceCameraPacket *pDataPacket) |
Process the lens table data for this data packet. More... | |
![]() | |
FBDeviceSync (const char *pName, HIObject pObject=NULL) | |
Constructor. More... | |
virtual void | PrintDebugAnimInfo (int pSync, FBDeviceSyncPacket *pSyncPacket, FBEvaluateInfo *pEvaluateInfo) |
Print to screen animation info. More... | |
virtual void | PrintDebugIOInfo (FBDeviceSyncPacket *pSyncPacket, FBDeviceNotifyInfo &pDeviceNotifyInfo) |
Print to screen input/output info. More... | |
virtual void | PrintDebugIONotifyInfo (FBDeviceNotifyInfo &pInfo, int pPacketCount) |
Print to screen input/output notification info. More... | |
virtual bool | AnimationNodeNotify (FBAnimationNode *pAnimationNode, FBEvaluateInfo *pEvaluateInfo) override |
Notification function for animation thread. More... | |
virtual void | PacketRegister (FBDeviceSyncPacket *pPacket) |
Register a packet in the buffer. More... | |
virtual FBDeviceSyncPacket * | PacketLock () |
Lock a packet from the queue. More... | |
virtual void | PacketUnlock (FBDeviceSyncPacket *pPacket, bool pValidPacket) |
Unlock a previously locked packet. More... | |
virtual FBDeviceSyncPacket * | PacketFetch (int pRequestedSync) |
Fetch the data packet for the requested sync count. More... | |
virtual void | PacketRelease (FBDeviceSyncPacket *pPacket) |
Release a fetched packet. More... | |
virtual FBDeviceSyncPacket * | PacketRemove (int pPacketIndex) |
Remove a packet from the packet queue. More... | |
virtual int | PacketGetCount () |
Get the number of packets in the queue. More... | |
![]() | |
FBDevice (const char *pName, HIObject pObject=NULL) | |
Constructor. More... | |
virtual FBAnimationNode * | AnimationNodeInCreate (kReference pUserId, const char *pName, const char *pDataType, bool pIsPublic=true, double *pMin=NULL, double *pMax=NULL, bool pUserData=false) override |
Creation of IN/OUT Animation Nodes. More... | |
virtual FBAnimationNode * | AnimationNodeOutCreate (kReference pUserId, const char *pName, const char *pDataType, bool pIsPublic=true, double *pMin=NULL, double *pMax=NULL, bool pUserData=false) override |
virtual bool | DeviceOperation (kDeviceOperations pOperation) |
Operate device. More... | |
virtual void | DeviceTransportNotify (kTransportMode pMode, FBTime pTime, FBTime pSystem) |
Real-Time engine thread: Tranport notifications. More... | |
virtual bool | DeviceEvaluationNotify (kTransportMode pMode, FBEvaluateInfo *pEvaluateInfo) |
Real-Time engine thread: Output device evaluation. More... | |
virtual bool | ModelTemplateUnBindNotify (int pIndex, FBModelTemplate *pModelTemplate) |
Model Template unbinding notification callback. More... | |
FBModel * | ModelBindingCreate () |
Create a new model binding. More... | |
void | ModelBindingRootsList (FBModelList &pList) |
Get the list of all the possible root models for binding. More... | |
virtual const char * | FbxGetObjectType () override |
Returns the class type inherited by the class of an object, for example: 'Device'. More... | |
virtual void | DeviceSendCommand (kDeviceOperations pOperation) |
Send a command to the device. More... | |
IObject_Declare (override) | |
void | AckOneSampleReceived () |
Acknowlege that one sample was received (for statistical purposes). More... | |
void | AckOneBadSampleReceived () |
Acknowlege that one bad sample was received (for statistical purposes). More... | |
void | AckOneSampleSent () |
Acknowlege that one sample was sent (for statistical purposes). More... | |
![]() | |
FBBox (const char *pName, HIObject pObject=NULL) | |
Constructor. More... | |
virtual bool | EvaluateAnimationNodes (FBEvaluateInfo *pEvaluateInfo) |
Evaluation of non TRS nodes that needs to be evaluated. More... | |
virtual bool | ResolveCandidate (FBAnimationNode *pAnimationNode, FBEvaluateInfo *pEvaluateInfo) |
Function is call when candidate needs to be resolved (like global to local). More... | |
virtual ECandidateAction | SetGlobalCandidate (FBAnimationNode *pAnimationNode, double *pData, FBEvaluateInfo *pEvaluateInfo) |
Function is call when a global candidate is set on an animation node. More... | |
virtual ECandidateAction | SetStdCandidate (FBAnimationNode *pAnimationNode, double *pData, FBEvaluateInfo *pEvaluateInfo) |
Function is call when a non-global candidate is set on an animation node. More... | |
virtual bool | AnimationNodeDestroy (FBAnimationNode *pAnimationNode) |
Destroy an animation node. More... | |
virtual bool | AnimationNodeIsUserData (FBAnimationNode *pAnimationNode) |
Is the animation node user data? More... | |
virtual void | AnimationNodesOutDisableIfNotWritten (FBEvaluateInfo *pEvaluateInfo) |
This call will disable all out animation nodes from being pull by system (animation thread) for given pEvaluateInfo. More... | |
virtual FBAnimationNode * | AnimationNodeInGet () |
Get the (IN/OUT) animation node for this box. More... | |
virtual FBAnimationNode * | AnimationNodeOutGet () |
virtual const char * | FbxGetObjectSubType () |
Returns the class sub type inherited by the class of an object, for example: 'Relations', 'Parent-Child', 'Number to Vector', 'Shot'. More... | |
IObject_Declare (override) | |
virtual int | GetOutConnectorCount () const |
Get the number of animation node outputs for this box. More... | |
virtual int | GetInConnectorCount () const |
Get the number of animation node inputs for this box. More... | |
virtual FBAnimationNode * | GetOutConnector (int pIndex) const |
Get the animation node output associated with the given index. More... | |
virtual FBAnimationNode * | GetInConnector (int pIndex) const |
Get the animation node input associated with the given index. More... | |
![]() | |
FBComponent (HIObject pObject) | |
Constructor. More... | |
virtual | ~FBComponent () |
Destructor. More... | |
virtual void | FBDelete () override |
Open Reality deletion function. More... | |
virtual bool | SetHIObject (HIObject pObject, bool pSDKComponent) override |
Assign component to an internal pointer. More... | |
virtual int | PropertyAdd (FBProperty *pProperty) |
Add a property to the component's property manager. More... | |
bool | PropertyAddReferenceProperty (FBProperty *pReferenceProperty) |
Add a reference property to the component's property manager. More... | |
void | PropertyRemove (FBProperty *pProperty) |
Remove a Property from the component's Property manager. More... | |
void | PropertyGetModifiedList (FBArrayTemplate< FBProperty * > &pPropList, FBPlugModificationFlag pModificationFlags) |
Get list of properties which have been modified since last loading. More... | |
FBProperty * | PropertyCreate (const char *pName, FBPropertyType pType, const char *pDataType, bool pAnimatable, bool pIsUser=false, FBProperty *pReferenceSource=NULL) |
Create user or dynamic property. More... | |
FBObjectFlag | GetObjectFlags () |
Get all Object Flags (concatenated). More... | |
void | SetObjectFlags (FBObjectFlag pFlags) |
SetObjectFlags. More... | |
bool | HasObjectFlags (FBObjectFlag pFlags) |
Check whether a specific object flag is enabled. More... | |
void | EnableObjectFlags (FBObjectFlag pFlags) |
Enable a specific Object Flags. More... | |
void | DisableObjectFlags (FBObjectFlag pFlags) |
Disable a specific Object Flags. More... | |
void | SetObjectStatus (FBObjectStatus pStatus, bool pValue) |
Enable/Disable a specific Object Status. More... | |
bool | GetObjectStatus (FBObjectStatus pStatus) |
Check to see if an object status is enabled. More... | |
bool | ProcessNamespaceHierarchy (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true) |
ProcessNamespaceHierarchy. More... | |
bool | ProcessObjectNamespace (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true) |
ProcessObjectNamespace. More... | |
virtual const char * | ClassName () override |
Get the class name. More... | |
virtual bool | UseCustomPropertyViewSet () const |
Use the custom property viewSet or not. More... | |
const char * | GetFullName (void) |
Get the full name. More... | |
void | SetOwnerNamespace (FBNamespace *pOwnerNSObj) |
Set the owner Namespace object. More... | |
FBNamespace * | GetOwnerNamespace (void) |
Get the owner Namespace object. More... | |
FBFileReference * | GetOwnerFileReference (void) |
Get the owner FileReference object. More... | |
void | HardSelect () |
HardSelect. More... | |
virtual bool | Is (int pTypeId) override |
Returns true if object is of type TypeId. More... | |
virtual int | GetTypeId () override |
GetTypeId( int pTypeId ) More... | |
![]() | |
FBScriptWrapper * | GetWrapper () |
Return the wrapper interface of this FBObject. More... | |
void | AddWrapper (FBScriptWrapper *) |
void | RemoveWrapper (FBScriptWrapper *) |
Public Attributes | |
FBPropertyBool | UsingCustomInstruments |
Property(RW): Using custom instruments? More... | |
FBPropertyInt | NumberOfInstruments |
Property(RW): Number of instruments. More... | |
FBPropertyString | ModelTemplatePrefix |
Property(RW): Model template prefix. More... | |
![]() | |
FBPropertyInt | PacketBufferSize |
Property: Packet buffer size(default=100). More... | |
FBPropertyInt | SyncDelay |
Property: Synchronization delay (in sync count units). More... | |
FBPropertyBool | DebugInfo |
Property: Debugging Info? More... | |
![]() | |
FBPropertyString | Status |
Read Write Property: Device information: status. More... | |
FBPropertyString | Information |
Read Write Property: Device information: information. More... | |
FBPropertyString | HardwareVersionInfo |
Read Write Property: Device information: hardware version. More... | |
FBPropertyTime | SamplingPeriod |
Read Write Property: Set this to how many times a device is to be evaluated in one second. There is no theoretical maximum value but practically you should consider scene complexity, system resources, network speed, etc. If set to 0: the device is evaluated on the sync signal. When the sync occurs; the device is scheduled to be evaluated. If you do not set, the sampling period is based on the internal variable from the [Sync] section of the .Application.txt file (NTSC, PAL, CINEMA). More... | |
FBPropertyBool | Online |
Read Write Property: Is online? More... | |
FBPropertyEvent | OnStatusChange |
Event: Status of device changed. More... | |
FBModelTemplate | ModelTemplate |
Component: Root of model template structure. More... | |
FBPropertyModel | ModelBindingRoot |
Component: Root of model currently binded model hierarchy. More... | |
FBPropertyDeviceSamplingMode | SamplingMode |
Read Write Property: Mode to use to record device. More... | |
FBPropertyInt | CommType |
Read Write Property: Type of communications. More... | |
FBPropertyListDeviceInstrument | Instruments |
List: List of instruments. More... | |
FBPropertyTime | RecordingStartTime |
Read Only Property: The time at which the recording started. More... | |
FBPropertyTime | RecordingStopTime |
Read Only Property: The time at which the recording stopped. More... | |
![]() | |
const char * | UniqueName |
internal Unique name. More... | |
FBPropertyBool | Animatable |
Read Write Property: Is the box animatable. More... | |
FBPropertyBool | Live |
Read Write Property: Is live? More... | |
FBPropertyBool | RecordMode |
Read Write Property: Is recording? More... | |
![]() | |
FBPropertyManager | PropertyList |
Read Only Property: Manages all of the properties for the component. More... | |
FBPropertyListComponent | Components |
List: List of components. More... | |
FBPropertyListComponent | Parents |
List: Parents. More... | |
FBPropertyBool | Selected |
Read Write Property: Selected property. More... | |
FBPropertyString | Name |
Read Write Property: Unique name of object. More... | |
FBPropertyString | LongName |
Read Write Property: Name and namespace for object. More... | |
FBPropertyFolder | Folder |
Read Write Property: The folder that contain this component. More... | |
Additional Inherited Members | |
![]() | |
enum | kDeviceOperations { kOpInit , kOpStart , kOpAutoDetect , kOpStop , kOpReset , kOpDone } |
Types of operations for device. More... | |
enum | kDeviceIOs { kIOStopModeRead , kIOPlayModeRead , kIOStopModeWrite , kIOPlayModeWrite } |
Types of I/O for device. More... | |
enum | kTransportMode { kPreparePlay , kPlayReady , kPlayStop , kStop , kPlay , kJog , kPlayReverse } |
Transport control types for device. More... | |
![]() | |
enum | ECandidateAction { eCandidateAccept , eCandidateIntercept , eCandidateInterceptAfterEvaluation } |
Resolving action for candidates. More... | |
![]() | |
static int | GetInternalClassId () |
static void | FBComponentSetName (FBComponent *pObject, const char *pName) |
static const char * | FBComponentGetName (FBComponent *pObject) |
static void | FBComponentSetLongName (FBComponent *pObject, const char *pName) |
static const char * | FBComponentGetLongName (FBComponent *pObject) |
![]() | |
static int | TypeInfo |
Contains the Type information of the object. More... | |
![]() | |
bool | IsSDKComponent () |
Return whether or not item is an SDK component. More... | |
bool | ConnectSrc (FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
Add a source connection. More... | |
bool | ConnectDst (FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
Add a destination connection. More... | |
bool | ConnectSrcAt (int pDst_SrcIndex, FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
Add a source connection. More... | |
bool | ConnectDstAt (int pSrc_DstIndex, FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
Add a destination connection. More... | |
bool | DisconnectDst (FBPlug *pDst) |
Remove a destination connection. More... | |
bool | DisconnectSrc (FBPlug *pSrc) |
Remove a source connection. More... | |
void | DisconnectAllSrc () |
Remove all source connections. More... | |
void | DisconnectAllDst () |
Remove all destination connections. More... | |
bool | DisconnectDstAt (int pIndex) |
Remove a destination connection at a specified index. More... | |
bool | DisconnectSrcAt (int pIndex) |
Remove a source connection at a specified index. More... | |
bool | ReplaceDstAt (int pIndex, FBPlug *pDst) |
Replace a destination connection at a specified index. More... | |
bool | ReplaceSrcAt (int pIndex, FBPlug *pSrc) |
Replace a source connection at a specified index. More... | |
bool | SwapSrc (int pIndexA, int pIndexB) |
Swap source connection at index A with source connection at index B. More... | |
bool | MoveSrcAt (int pIndex, int pAtIndex) |
Move source connection at pIndex to pAtIndex. More... | |
bool | MoveSrcAt (FBPlug *pSrc, FBPlug *pAtSrc) |
Move source connection pSrc to the position of pAtSrc. More... | |
int | GetSrcCount () |
Get source connection count. More... | |
FBPlug * | GetSrc (int pIndex) |
Get a source connection's plug at specified index. More... | |
FBConnectionType | GetSrcType (int pIndex) |
Get a source connection's type at specified index. More... | |
int | GetDstCount () |
Get destination connection count. More... | |
FBPlug * | GetDst (int pIndex) |
Get a destination connection's plug at specified index. More... | |
FBConnectionType | GetDstType (int pIndex) |
Get a destination connection's type at specified index. More... | |
bool | BeginChange () |
Begins a change on multiple plugs. More... | |
void | EndChange () |
Ends a change on multiple plugs. More... | |
void | SetSelfModified (FBPlugModificationFlag pFlag, bool pBool) |
Set the plug's self modification flag. More... | |
bool | GetSelfModified (FBPlugModificationFlag pFlag) |
Tell if the plug's self has changed. More... | |
void | SetContentModified (FBPlugModificationFlag pFlag, bool pBool) |
Set the plug's owned property/object's modification flag. More... | |
bool | GetContentModified (FBPlugModificationFlag pFlag) |
Tell if the plug's content has changed. More... | |
int | GetPlugConnectionModifiedList (FBPlugList &pPlugList, FBPlugModificationFlag pConnectionModificatonFlag, bool pAddRemove) |
Get plug's modified src/dst property/object connection added/removed List. More... | |
bool | RevertModification (FBPlugModificationFlag pFlag=kFBAllModifiedMask) |
Revert the plug's modification to original status. More... | |
void | SetStatusFlag (FBPlugStatusFlag pStatus, bool pValue) |
Set the plug's status flag. More... | |
bool | GetStatusFlag (FBPlugStatusFlag pStatus) const |
Tell if the plug's status has changed. More... | |
FBPlug * | GetOwner () |
Get the owner of this plug. More... | |
FBPlug * | GetOwned (int pIndex) |
Get the owned plug at specified index. More... | |
int | GetOwnedCount () |
Get the owned plug count. More... | |
virtual bool | PlugDataNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=NULL, void *pDataOld=NULL, int pDataSize=0) |
PlugDataNotify when overloaded is equivalent of FBSystem.OnConnectionDataNotify but in the context of the derived object only. More... | |
virtual bool | PlugStateNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=NULL, void *pDataOld=NULL, int pDataSize=0) |
PlugStateNotify when overloaded is equivalent of FBSystem.OnConnectionStateNotify but in the context of the derived object only. More... | |
virtual bool | PlugNotify (FBConnectionAction pAction, FBPlug *pThis, int pIndex, FBPlug *pPlug=NULL, FBConnectionType pConnectionType=kFBConnectionTypeNone, FBPlug *pNewPlug=NULL) |
PlugNotify when overloaded is equivalent of FBSystem.OnConnectionNotify but in the context of the derived object only. More... | |
![]() | |
static int | GetInternalClassId () |
Internal class Id. More... | |
![]() | |
bool | mAllocated |
Contain the Allocation State of the Component. More... | |
HIObject | mObject |
Handle on the Plug. More... | |
bool | mSDKComponent |
bool Plug is an SDK component. More... | |
![]() | |
static const char * | ClassGroupName |
ClassGroupName of the object. More... | |
static int | TypeInfo |
TypeInfo. More... | |
static int | mGlobalTypeInfo |
Represente the Type Index. More... | |
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.
FBDeviceCamera | ( | const char * | pName, |
HIObject | pObject = NULL |
||
) |
Constructor.
pName | Unique name of optical device. |
pObject | Internal parent object(default=NULL). |
|
virtual |
Evaluation engine callback for camera device.
pEvaluateInfo | Evaluation information structure. |
pDstPacket | Destination packet to fill with camera data (will go to connectors). |
pSrcPacket | Source packet of information (from Sync buffer). |
|
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().
pNotifyInfo | Device notification information structure. |
|
virtual |
Record a frame of data to the FCurves for the camera device.
pRecordTime | Time to record values for. |
pNotifyInfo | Device notification structure. |
|
virtual |
Write data to camera connectors.
pEvaluateInfo | Evaluation information structure. |
|
overridevirtual |
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.
pAction | Different reading/writing actions for the device. |
pDeviceNotifyInfo | Access to the system and local time. |
Reimplemented from FBDevice.
|
overridevirtual |
Real-Time synchronous evaluation callback.
Note that this function must be overloaded to instanciate a synchronous device class.
pAnimationNode | Connector being pulled. |
pEvaluateInfo | Evaluation information structure. |
pCorrectedSync | Corrected sync value. |
Implements FBDeviceSync.
|
overridevirtual |
Open Reality Creation function.
Reimplemented from FBDeviceSync.
|
overridevirtual |
Open Reality destruction function.
Reimplemented from FBDeviceSync.
|
overridevirtual |
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 FBDeviceSync.
|
virtual |
Load the lens lookup tables.
pFilename | Name of *.klc file with lens values. |
|
overridevirtual |
Model Template binding notification callback.
pModel | Model being bound to model template. |
pIndex | Index of model template where binding is occuring. |
pModelTemplate | Model being affected with binding. |
Reimplemented from FBDevice.
|
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. |
|
overridevirtual |
When recording, finish animation.
pAnimationNode | Animation node to write information to. |
Reimplemented from FBDevice.
|
overridevirtual |
When recording, initialize animation.
pAnimationNode | Animation node to read information from. |
Reimplemented from FBDevice.
FBPropertyString ModelTemplatePrefix |
Property(RW): Model template prefix.
Definition at line 349 of file fbtracker.h.
FBPropertyInt NumberOfInstruments |
Property(RW): Number of instruments.
Definition at line 348 of file fbtracker.h.
FBPropertyBool UsingCustomInstruments |
Property(RW): Using custom instruments?
Definition at line 347 of file fbtracker.h.