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.
#include <fbtracker.h>
Public Member Functions | |
FBDeviceSync (const char *pName, HIObject pObject=NULL) | |
Constructor. | |
virtual void | PrintDebugAnimInfo (int pSync, FBDeviceSyncPacket *pSyncPacket, FBEvaluateInfo *pEvaluateInfo) |
Print to screen animation info. | |
virtual void | PrintDebugIOInfo (FBDeviceSyncPacket *pSyncPacket, FBDeviceNotifyInfo &pDeviceNotifyInfo) |
Print to screen input/output info. | |
virtual void | PrintDebugIONotifyInfo (FBDeviceNotifyInfo &pInfo, int pPacketCount) |
Print to screen input/output notification info. | |
virtual bool | FBCreate () |
Open Reality Creation function. | |
virtual void | FBDestroy () |
Open Reality destruction function. | |
virtual bool | AnimationNodeNotify (FBAnimationNode *pAnimationNode, FBEvaluateInfo *pEvaluateInfo) |
Notification function for animation thread. | |
virtual bool | FbxStore (FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat) |
Storage/Retrieval of information into the FBX file format. | |
virtual bool | FbxRetrieve (FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat) |
virtual bool | DeviceSyncAnimationNodeNotify (FBAnimationNode *pAnimationNode, FBEvaluateInfo *pEvaluateInfo, int pCorrectedSync)=0 |
Real-Time synchronous evaluation callback. | |
virtual void | PacketRegister (FBDeviceSyncPacket *pPacket) |
Register a packet in the buffer. | |
virtual FBDeviceSyncPacket * | PacketLock () |
Lock a packet from the queue. | |
virtual void | PacketUnlock (FBDeviceSyncPacket *pPacket, bool pValidPacket) |
Unlock a previously locked packet. | |
virtual FBDeviceSyncPacket * | PacketFetch (int pRequestedSync) |
Fetch the data packet for the requested sync count. | |
virtual void | PacketRelease (FBDeviceSyncPacket *pPacket) |
Release a fetched packet. | |
virtual FBDeviceSyncPacket * | PacketRemove (int pPacketIndex) |
Remove a packet from the packet queue. | |
virtual int | PacketGetCount () |
Get the number of packets in the queue. | |
Public Attributes | |
FBPropertyInt | PacketBufferSize |
Property: Packet buffer size(default=100). | |
FBPropertyInt | SyncDelay |
Property: Synchronization delay (in sync count units). | |
FBPropertyBool | DebugInfo |
Property: Debugging Info? |
FBDeviceSync | ( | const char * | pName, |
HIObject | pObject = NULL |
||
) |
Constructor.
pName | Name of device sync. |
pObject | Internal use only(default=NULL). |
virtual void PrintDebugAnimInfo | ( | int | pSync, |
FBDeviceSyncPacket * | pSyncPacket, | ||
FBEvaluateInfo * | pEvaluateInfo | ||
) | [virtual] |
Print to screen animation info.
pSync | Application sync. |
pSyncPacket | Device sync packet. |
pEvaluateInfo | Information for evaluation. |
virtual void PrintDebugIOInfo | ( | FBDeviceSyncPacket * | pSyncPacket, |
FBDeviceNotifyInfo & | pDeviceNotifyInfo | ||
) | [virtual] |
Print to screen input/output info.
pSyncPacket | Device sync packet. |
pDeviceNotifyInfo | Device notification info. |
virtual void PrintDebugIONotifyInfo | ( | FBDeviceNotifyInfo & | pInfo, |
int | pPacketCount | ||
) | [virtual] |
Print to screen input/output notification info.
pInfo | Device sync packet. |
pPacketCount | Device notification info. |
virtual bool FBCreate | ( | ) | [virtual] |
Open Reality Creation function.
Reimplemented from FBDevice.
Reimplemented in FBDeviceCamera.
virtual void FBDestroy | ( | ) | [virtual] |
virtual bool AnimationNodeNotify | ( | FBAnimationNode * | pAnimationNode, |
FBEvaluateInfo * | pEvaluateInfo | ||
) | [virtual] |
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.
virtual bool FbxStore | ( | FBFbxObject * | pFbxObject, |
kFbxObjectStore | pStoreWhat | ||
) | [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 FBDevice.
Reimplemented in FBDeviceCamera.
virtual bool FbxRetrieve | ( | FBFbxObject * | pFbxObject, |
kFbxObjectStore | pStoreWhat | ||
) | [virtual] |
virtual bool DeviceSyncAnimationNodeNotify | ( | FBAnimationNode * | pAnimationNode, |
FBEvaluateInfo * | pEvaluateInfo, | ||
int | pCorrectedSync | ||
) | [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.
virtual void PacketRegister | ( | FBDeviceSyncPacket * | pPacket | ) | [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 FBDeviceSyncPacket* PacketLock | ( | ) | [virtual] |
Lock a packet from the queue.
Locks a packet for modification (write), to be used in the DeviceIONotify Function
virtual void PacketUnlock | ( | FBDeviceSyncPacket * | pPacket, |
bool | pValidPacket | ||
) | [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 FBDeviceSyncPacket* PacketFetch | ( | int | pRequestedSync | ) | [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 void PacketRelease | ( | FBDeviceSyncPacket * | pPacket | ) | [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 FBDeviceSyncPacket* PacketRemove | ( | int | pPacketIndex | ) | [virtual] |
Remove a packet from the packet queue.
pPacketIndex | Index of packet to remove. |
virtual int PacketGetCount | ( | ) | [virtual] |
Get the number of packets in the queue.
Property: Packet buffer size(default=100).
Definition at line 188 of file fbtracker.h.
Property: Synchronization delay (in sync count units).
Definition at line 189 of file fbtracker.h.