Public Member Functions | Public Attributes

FBDeviceSync Class Reference

Search for all occurrences

Detailed Description

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>

Inheritance diagram for FBDeviceSync:
Inheritance graph
[legend]

List of all members.

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 FBDeviceSyncPacketPacketLock ()
 Lock a packet from the queue.
virtual void PacketUnlock (FBDeviceSyncPacket *pPacket, bool pValidPacket)
 Unlock a previously locked packet.
virtual FBDeviceSyncPacketPacketFetch (int pRequestedSync)
 Fetch the data packet for the requested sync count.
virtual void PacketRelease (FBDeviceSyncPacket *pPacket)
 Release a fetched packet.
virtual FBDeviceSyncPacketPacketRemove (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?

Constructor & Destructor Documentation

FBDeviceSync ( const char *  pName,
HIObject  pObject = NULL 
)

Constructor.

Parameters:
pNameName of device sync.
pObjectInternal use only(default=NULL).

Member Function Documentation

virtual void PrintDebugAnimInfo ( int  pSync,
FBDeviceSyncPacket pSyncPacket,
FBEvaluateInfo pEvaluateInfo 
) [virtual]

Print to screen animation info.

Parameters:
pSyncApplication sync.
pSyncPacketDevice sync packet.
pEvaluateInfoInformation for evaluation.
virtual void PrintDebugIOInfo ( FBDeviceSyncPacket pSyncPacket,
FBDeviceNotifyInfo pDeviceNotifyInfo 
) [virtual]

Print to screen input/output info.

Parameters:
pSyncPacketDevice sync packet.
pDeviceNotifyInfoDevice notification info.
virtual void PrintDebugIONotifyInfo ( FBDeviceNotifyInfo pInfo,
int  pPacketCount 
) [virtual]

Print to screen input/output notification info.

Parameters:
pInfoDevice sync packet.
pPacketCountDevice notification info.
virtual bool FBCreate ( ) [virtual]

Open Reality Creation function.

Returns:
Outcome of creation (true/false).

Reimplemented from FBDevice.

Reimplemented in FBDeviceCamera.

virtual void FBDestroy ( ) [virtual]

Open Reality destruction function.

Reimplemented from FBDevice.

Reimplemented in FBDeviceCamera.

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.

Parameters:
pAnimationNodeNode containing the modified information.
pEvaluateInfoInformation concerning the evaluation of the animation (time, etc.)
Returns:
true if animation node notification is 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 FBDevice.

Reimplemented in FBDeviceCamera.

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

Reimplemented from FBDevice.

Reimplemented in FBDeviceCamera.

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.

Parameters:
pAnimationNodeConnector being pulled.
pEvaluateInfoEvaluation information structure.
pCorrectedSyncCorrected 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).

Parameters:
pPacketNewly 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

Returns:
A packet in the buffer that is protected for write operations. To be used in DeviceIONotify() for locking a packet being read from the device.
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.

Parameters:
pPacketPacket to unlock.
pValidPacketIs 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.

Parameters:
pRequestedSyncDesired packet sync count.
Returns:
The packet corresponding to the 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.

Parameters:
pPacketIndexIndex of packet to remove.
Returns:
Newly removed packet.
virtual int PacketGetCount ( ) [virtual]

Get the number of packets in the queue.

Returns:
The current number of packets in the queue.

Member Data Documentation

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.

Property: Debugging Info?

Definition at line 190 of file fbtracker.h.


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

FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync
FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync