Sync'ed device class. More...
#include <fbtracker.h>
Public Member Functions | |
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 | FBCreate () override |
Open Reality Creation function. More... | |
virtual void | FBDestroy () override |
Open Reality destruction function. More... | |
virtual bool | AnimationNodeNotify (FBAnimationNode *pAnimationNode, FBEvaluateInfo *pEvaluateInfo) override |
Notification function for animation thread. 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 bool | DeviceSyncAnimationNodeNotify (FBAnimationNode *pAnimationNode, FBEvaluateInfo *pEvaluateInfo, int pCorrectedSync)=0 |
Real-Time synchronous evaluation callback. 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 void | DeviceIONotify (kDeviceIOs pAction, FBDeviceNotifyInfo &pDeviceNotifyInfo) |
Real-Time engine thread: Device I/O. More... | |
virtual bool | DeviceEvaluationNotify (kTransportMode pMode, FBEvaluateInfo *pEvaluateInfo) |
Real-Time engine thread: Output device evaluation. More... | |
virtual bool | ModelTemplateBindNotify (FBModel *pModel, int pIndex, FBModelTemplate *pModelTemplate) |
Model Template binding notification callback. 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... | |
virtual void | RecordingInitAnimation (FBAnimationNode *pAnimationNode) |
When recording, initialize animation. More... | |
virtual void | RecordingDoneAnimation (FBAnimationNode *pAnimationNode) |
When recording, finish animation. 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 | |
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... | |
Sync'ed device class.
Base class for devices that are streaming data that will be accessed based upon a sync'ed stream (such as a genlock).
Definition at line 89 of file fbtracker.h.
FBDeviceSync | ( | const char * | pName, |
HIObject | pObject = NULL |
||
) |
Constructor.
pName | Name of device sync. |
pObject | Internal use only(default=NULL). |
|
overridevirtual |
Notification function for animation thread.
This function is called by the real-time engine in order to process animation information.
pAnimationNode | Node containing the modified information. |
pEvaluateInfo | Information concerning the evaluation of the animation (time, etc.) |
Reimplemented from FBDevice.
|
pure virtual |
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. |
Implemented in FBDeviceCamera.
|
overridevirtual |
Open Reality Creation function.
Reimplemented from FBDevice.
Reimplemented in FBDeviceCamera.
|
overridevirtual |
|
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 FBDevice.
Reimplemented in FBDeviceCamera.
|
virtual |
Fetch the data packet for the requested sync count.
Given a requested sync count, pRequestedSync, return the data packet that corresponds to this count in the queue. This routine will also protect the packet from write operations, requiring a call to PacketRelease when the current use is finished. To be used in AnimationNodeNotify() for locking a packet being read from the device.
pRequestedSync | Desired packet sync count. |
|
virtual |
Get the number of packets in the queue.
|
virtual |
Lock a packet from the queue.
Locks a packet for modification (write), to be used in the DeviceIONotify Function
|
virtual |
Register a packet in the buffer.
This will determine the buffer size (based on the number of packets that are added). Each packet should be allocated dynamically just before being added then registered to the device, which will then take complete ownership (and will destroy the packet itself).
pPacket | Newly allocated packet to register in the buffer. |
|
virtual |
Release a fetched packet.
Finish a read process of a specified packet pPacket. This will make the packet available to be read/modified by other processes. To be used in AnimationNodeNotify() for unlocking a packet being read from the device.
|
virtual |
Remove a packet from the packet queue.
pPacketIndex | Index of packet to remove. |
|
virtual |
Unlock a previously locked packet.
Unlocks a packet pPacket, indicating whether or not the packet is valid. If valid, the packet is kept in the buffer. Otherwise, the packet is listed as being free for the other write operations. To be used in DeviceIONotify() for unlocking a packet being read from the device.
pPacket | Packet to unlock. |
pValidPacket | Is the packet valid data or not. |
|
virtual |
Print to screen animation info.
pSync | Application sync. |
pSyncPacket | Device sync packet. |
pEvaluateInfo | Information for evaluation. |
|
virtual |
Print to screen input/output info.
pSyncPacket | Device sync packet. |
pDeviceNotifyInfo | Device notification info. |
|
virtual |
Print to screen input/output notification info.
pInfo | Device sync packet. |
pPacketCount | Device notification info. |
FBPropertyBool DebugInfo |
Property: Debugging Info?
Definition at line 190 of file fbtracker.h.
FBPropertyInt PacketBufferSize |
Property: Packet buffer size(default=100).
Definition at line 188 of file fbtracker.h.
FBPropertyInt SyncDelay |
Property: Synchronization delay (in sync count units).
Definition at line 189 of file fbtracker.h.