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 (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)
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]

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

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