FBDeviceSync Class Reference

#include <fbtracker.h>
FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync FBDeviceSync
Inheritance diagram for FBDeviceSync:
Inheritance graph
[legend]

List of all members.


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.


Public Member Functions

  FBDeviceSync (char *pName, HIObject pObject=NULL)
  Constructor.
virtual void  PrintDebugAnimInfo (int pSync, FBDeviceSyncPacket *pSyncPacket, HFBEvaluateInfo 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 (HFBAnimationNode pAnimationNode, HFBEvaluateInfo pEvaluateInfo)
  Notification function for animation thread.
virtual bool  FbxStore (HFBFbxObject pFbxObject, kFbxObjectStore pStoreWhat)
  Storage/Retrieval of information into the FBX file format.
virtual bool  FbxRetrieve (HFBFbxObject pFbxObject, kFbxObjectStore pStoreWhat)
  Storage/Retrieval of information into the FBX file format.
virtual bool  DeviceSyncAnimationNodeNotify (HFBAnimationNode pAnimationNode, HFBEvaluateInfo pEvaluateInfo, int pCorrectedSync)=0
  Real-Time synchronous evaluation callback.
virtual void  PacketRegister (HFBDeviceSyncPacket pPacket)
  Register a packet in the buffer.
virtual
HFBDeviceSyncPacket 
PacketLock ()
  Lock a packet from the queue.
virtual void  PacketUnlock (HFBDeviceSyncPacket pPacket, bool pValidPacket)
  Unlock a previously locked packet.
virtual
HFBDeviceSyncPacket 
PacketFetch (int pRequestedSync)
  Fetch the data packet for the requested sync count.
virtual void  PacketRelease (HFBDeviceSyncPacket pPacket)
  Release a fetched packet.
virtual
HFBDeviceSyncPacket 
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?

Constructor & Destructor Documentation

FBDeviceSync ( char *  pName,
HIObject  pObject = NULL  
)

Constructor.

Parameters:
pName  Name of device sync.
pObject  Internal use only(default=NULL).

Member Function Documentation

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

Print to screen animation info.

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

Parameters:
pSyncPacket  Device sync packet.
pDeviceNotifyInfo  Device notification info.

virtual void PrintDebugIONotifyInfo ( FBDeviceNotifyInfo pInfo,
int  pPacketCount  
) [virtual]

Print to screen input/output notification info.

Parameters:
pInfo  Device sync packet.
pPacketCount  Device 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 ( HFBAnimationNode  pAnimationNode,
HFBEvaluateInfo  pEvaluateInfo  
) [virtual]

Notification function for animation thread.

This function is called by the real-time engine in order to process animation information.

Parameters:
pAnimationNode  Node containing the modified information.
pEvaluateInfo  Information concerning the evaluation of the animation (time, etc.)
Returns:
true if animation node notification is successful.

Reimplemented from FBDevice.

virtual bool FbxStore ( HFBFbxObject  pFbxObject,
kFbxObjectStore  pStoreWhat  
) [virtual]

Storage/Retrieval of information into the FBX file format.

Parameters:
pFbxObject  Object to interface with FBX file format.
pStoreWhat  Attributes to store in FBX file.
Returns:
true if successful.

Reimplemented from FBDevice.

Reimplemented in FBDeviceCamera.

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

Storage/Retrieval of information into the FBX file format.

Parameters:
pFbxObject  Object to interface with FBX file format.
pStoreWhat  Attributes to store in FBX file.
Returns:
true if successful.

Reimplemented from FBDevice.

Reimplemented in FBDeviceCamera.

virtual bool DeviceSyncAnimationNodeNotify ( HFBAnimationNode  pAnimationNode,
HFBEvaluateInfo  pEvaluateInfo,
int  pCorrectedSync  
) [pure virtual]

Real-Time synchronous evaluation callback.

Note that this function must be overloaded to instanciate a synchronous device class.

Parameters:
pAnimationNode  Connector being pulled.
pEvaluateInfo  Evaluation information structure.
pCorrectedSync  Corrected sync value.

Implemented in FBDeviceCamera.

virtual void PacketRegister ( HFBDeviceSyncPacket  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:
pPacket  Newly allocated packet to register in the buffer.

virtual HFBDeviceSyncPacket 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 ( HFBDeviceSyncPacket  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:
pPacket  Packet to unlock.
pValidPacket  Is the packet valid data or not.

virtual HFBDeviceSyncPacket 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:
pRequestedSync  Desired packet sync count.
Returns:
The packet corresponding to the sync count.

virtual void PacketRelease ( HFBDeviceSyncPacket  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 HFBDeviceSyncPacket PacketRemove ( int  pPacketIndex  )  [virtual]

Remove a packet from the packet queue.

Parameters:
pPacketIndex  Index 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

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.

FBPropertyBool DebugInfo

Property: Debugging Info?

Definition at line 190 of file fbtracker.h.


Please send us your comments about this page.