Base Device class. More...
#include <fbcore.h>
Public Types | |
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... | |
Public Member Functions | |
FBDevice (const char *pName, HIObject pObject=NULL) | |
Constructor. More... | |
virtual bool | FBCreate () override |
Open Reality Creation function. More... | |
virtual void | FBDestroy () override |
Open Reality destruction function. 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 bool | AnimationNodeNotify (FBAnimationNode *pAnimationNode, FBEvaluateInfo *pEvaluateInfo) override |
Notification function for animation thread. More... | |
virtual const char * | FbxGetObjectType () override |
Returns the class type inherited by the class of an object, for example: 'Device'. 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 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 | |
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 | |
![]() | |
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... | |
Base Device class.
Cannot be instantiated from Python.
enum kDeviceIOs |
Types of I/O for device.
These are states of the engine for the DeviceIONotify callback.
enum kDeviceOperations |
Types of operations for device.
These are parameters for the DeviceSendCommand() function.
enum kTransportMode |
FBDevice | ( | const char * | pName, |
HIObject | pObject = NULL |
||
) |
Constructor.
pName | Name of device. |
pObject | For internal use only (default is NULL). |
void AckOneBadSampleReceived | ( | ) |
Acknowlege that one bad sample was received (for statistical purposes).
void AckOneSampleReceived | ( | ) |
Acknowlege that one sample was received (for statistical purposes).
void AckOneSampleSent | ( | ) |
Acknowlege that one sample was sent (for statistical purposes).
|
overridevirtual |
Creation of IN/OUT Animation Nodes.
pUserId | User-defined reference number. |
pName | Name of animation node. |
pDataType | Type of data being animated. |
pIsPublic | Determine if the animation node is published, that means whether to show it in property editor and have input / output in relation constraints editor (default is false). |
pMin | Minimum values for data (default is NULL). |
pMax | Maximum values for data (default is NULL). |
pUserData | Is this user data? False means the property is NOT animated, user cannot change the data. Especially for device, it doesn't make sense to make it animated, unless you want to record the device data. (default is false). |
Reimplemented from FBBox.
|
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 FBBox.
Reimplemented in FBDeviceSync, and FBDeviceOptical.
|
virtual |
Real-Time engine thread: Output device evaluation.
pMode | Transport mode. |
pEvaluateInfo | Access to the system and local time. |
|
virtual |
Real-Time engine thread: Device I/O.
The device I/O thread calls this function (required) which is a highly optimized non-blocking function registering input/output information from/to the device.
pAction | Different reading/writing actions for the device. |
pDeviceNotifyInfo | Access to the system and local time. |
Reimplemented in FBDeviceCamera, and FBDeviceOptical.
|
virtual |
Operate device.
This is an operation such as Init, Start, Done, Reset, etc.
pOperation | Operation to have device perform. |
|
virtual |
Send a command to the device.
This function will send the Init, Start, etc. commands to the device.
pOperation | Operation for device to perform. |
|
virtual |
Real-Time engine thread: Tranport notifications.
The device I/O thread calls this function when there is a transport change.
pMode | Transport mode. |
pTime | Local time. |
pSystem | System time. |
|
overridevirtual |
Open Reality Creation function.
Reimplemented from FBComponent.
Reimplemented in FBDeviceCamera, FBDeviceSync, and FBDeviceOptical.
|
overridevirtual |
Open Reality destruction function.
Reimplemented from FBComponent.
Reimplemented in FBDeviceCamera, FBDeviceSync, and FBDeviceOptical.
|
overridevirtual |
Returns the class type inherited by the class of an object, for example: 'Device'.
Reimplemented from FBBox.
|
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 FBBox.
Reimplemented in FBDeviceCamera, FBDeviceSync, and FBDeviceOptical.
FBModel* ModelBindingCreate | ( | ) |
Create a new model binding.
void ModelBindingRootsList | ( | FBModelList & | pList | ) |
Get the list of all the possible root models for binding.
pList | List to add found models to. |
|
virtual |
Model Template binding notification callback.
pModel | Model being bound to model template. |
pIndex | Index of model template where binding is occuring. |
pModelTemplate | Model being affected with binding. |
Reimplemented in FBDeviceCamera.
|
virtual |
Model Template unbinding notification callback.
pIndex | Index in pModelTemplate where unbinding has occured. |
pModelTemplate | Model template from which binding is removed. |
|
virtual |
When recording, finish animation.
pAnimationNode | Animation node to write information to. |
Reimplemented in FBDeviceCamera, FBDeviceOptical, and FBDeviceGlove.
|
virtual |
When recording, initialize animation.
pAnimationNode | Animation node to read information from. |
Reimplemented in FBDeviceCamera, FBDeviceOptical, and FBDeviceGlove.
FBPropertyInt CommType |
FBPropertyString HardwareVersionInfo |
FBPropertyString Information |
FBPropertyListDeviceInstrument Instruments |
FBPropertyModel ModelBindingRoot |
FBModelTemplate ModelTemplate |
FBPropertyBool Online |
FBPropertyEvent OnStatusChange |
FBPropertyTime RecordingStartTime |
FBPropertyTime RecordingStopTime |
FBPropertyDeviceSamplingMode SamplingMode |
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).
FBPropertyString Status |