Open Reality Reference Guide
FBDeviceOptical Class Reference

Optical device class. More...

#include <fboptical.h>

Inheritance diagram for FBDeviceOptical:

Public Member Functions

 FBDeviceOptical (const char *pName, HIObject pObject=NULL)
 Constructor. More...
 
void DeviceOpticalBeginSetup ()
 Begin device setup. More...
 
void DeviceOpticalEndSetup ()
 End device setup. More...
 
virtual void DeviceOpticalEvalAllMarkers (FBDeviceNotifyInfo &pDeviceNotifyInfo)
 Evaluate all optical markers for the device. More...
 
virtual void DeviceOpticalRecordFrame (FBTime &pTime, FBDeviceNotifyInfo &pDeviceNotifyInfo)
 Record a frame of information from 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 bool FBCreate () override
 Open Reality Creation function. More...
 
virtual void FBDestroy () override
 Open Reality destruction function. More...
 
virtual bool AnimationNodeNotify (FBAnimationNode *pAnimationNode, FBEvaluateInfo *pEvaluateInfo) override
 Notification function for animation thread. More...
 
virtual void DeviceIONotify (kDeviceIOs pAction, FBDeviceNotifyInfo &pDeviceNotifyInfo) override
 Real-Time engine thread: Device I/O. More...
 
virtual void RecordingInitAnimation (FBAnimationNode *pAnimationNode) override
 When recording, initialize animation. More...
 
virtual void RecordingDoneAnimation (FBAnimationNode *pAnimationNode) override
 When recording, finish animation. More...
 
- Public Member Functions inherited from FBDevice
 FBDevice (const char *pName, HIObject pObject=NULL)
 Constructor. More...
 
virtual FBAnimationNodeAnimationNodeInCreate (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 FBAnimationNodeAnimationNodeOutCreate (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 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...
 
FBModelModelBindingCreate ()
 Create a new model binding. More...
 
void ModelBindingRootsList (FBModelList &pList)
 Get the list of all the possible root models for binding. More...
 
virtual const char * FbxGetObjectType () override
 Returns the class type inherited by the class of an object, for example: 'Device'. More...
 
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...
 
- Public Member Functions inherited from FBBox
 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 FBAnimationNodeAnimationNodeInGet ()
 Get the (IN/OUT) animation node for this box. More...
 
virtual FBAnimationNodeAnimationNodeOutGet ()
 
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 FBAnimationNodeGetOutConnector (int pIndex) const
 Get the animation node output associated with the given index. More...
 
virtual FBAnimationNodeGetInConnector (int pIndex) const
 Get the animation node input associated with the given index. More...
 
- Public Member Functions inherited from FBComponent
 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...
 
FBPropertyPropertyCreate (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...
 
FBNamespaceGetOwnerNamespace (void)
 Get the owner Namespace object. More...
 
FBFileReferenceGetOwnerFileReference (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...
 
- Public Member Functions inherited from FBWrapperHolder
FBScriptWrapperGetWrapper ()
 Return the wrapper interface of this FBObject. More...
 
void AddWrapper (FBScriptWrapper *)
 
void RemoveWrapper (FBScriptWrapper *)
 

Public Attributes

FBPropertyListDeviceOpticalMarker Markers
 List: Markers. More...
 
FBPropertyBool SupportOcclusion
 Property: Does the device support occulsion? More...
 
FBPropertyBool AutoAntialiasing
 Property: Is it auto-antialiasing? More...
 
FBPropertyDouble DampingTime
 Property: Damping time for device. More...
 
FBPropertyModel ModelOptical
 Property: Optical model for manipulation. More...
 
FBPropertyBool ForceOpticalSamplingRate
 Property: Force the use of the optical sampling rate? More...
 
FBPropertyDouble OpticalSamplingRate
 Property: Resampling rate for optical device. More...
 
FBPropertyBool UseMarkerTimeStamp
 Property: Use the individual marker timestamps? More...
 
FBPropertyBool SkipFrame
 Property: Skip Record Frame More...
 
FBPropertyTime MarkerTimeStamp
 Property: TimeStamp for marker. More...
 
- Public Attributes inherited from FBDevice
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...
 
- Public Attributes inherited from FBBox
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...
 
- Public Attributes inherited from FBComponent
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

- Public Types inherited from FBDevice
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...
 
- Public Types inherited from FBBox
enum  ECandidateAction {
  eCandidateAccept ,
  eCandidateIntercept ,
  eCandidateInterceptAfterEvaluation
}
 Resolving action for candidates. More...
 
- Static Public Member Functions inherited from FBComponent
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 Public Attributes inherited from FBComponent
static int TypeInfo
 Contains the Type information of the object. More...
 
- Protected Member Functions inherited from FBPlug
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...
 
FBPlugGetSrc (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...
 
FBPlugGetDst (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...
 
FBPlugGetOwner ()
 Get the owner of this plug. More...
 
FBPlugGetOwned (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 Protected Member Functions inherited from FBPlug
static int GetInternalClassId ()
 Internal class Id. More...
 
- Protected Attributes inherited from FBPlug
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 Protected Attributes inherited from FBPlug
static const char * ClassGroupName
 ClassGroupName of the object. More...
 
static int TypeInfo
 TypeInfo. More...
 
static int mGlobalTypeInfo
 Represente the Type Index. More...
 

Detailed Description

Optical device class.

Definition at line 814 of file fboptical.h.

Constructor & Destructor Documentation

◆ FBDeviceOptical()

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

Constructor.

Parameters
pNameUnique name of optical device.
pObjectInternal parent object.

Member Function Documentation

◆ AnimationNodeNotify()

virtual bool AnimationNodeNotify ( FBAnimationNode pAnimationNode,
FBEvaluateInfo pEvaluateInfo 
)
overridevirtual

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.

◆ DeviceIONotify()

virtual void DeviceIONotify ( kDeviceIOs  pAction,
FBDeviceNotifyInfo pDeviceNotifyInfo 
)
overridevirtual

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.

Parameters
pActionDifferent reading/writing actions for the device.
pDeviceNotifyInfoAccess to the system and local time.

Reimplemented from FBDevice.

◆ DeviceOpticalBeginSetup()

void DeviceOpticalBeginSetup ( )

Begin device setup.

◆ DeviceOpticalEndSetup()

void DeviceOpticalEndSetup ( )

End device setup.

◆ DeviceOpticalEvalAllMarkers()

virtual void DeviceOpticalEvalAllMarkers ( FBDeviceNotifyInfo pDeviceNotifyInfo)
virtual

Evaluate all optical markers for the device.

Pure virtual device-specific call to eval marker positions.

Parameters
pDeviceNotifyInfoNotification information when thread was called.
Remarks
This function is the device evaluation function, called by the real-time engine.

◆ DeviceOpticalRecordFrame()

virtual void DeviceOpticalRecordFrame ( FBTime pTime,
FBDeviceNotifyInfo pDeviceNotifyInfo 
)
virtual

Record a frame of information from device.

Virtual function that derived class may overide

Parameters
pTimeTime of evaluation.
pDeviceNotifyInfoNotification information when thread was called.

◆ FBCreate()

virtual bool FBCreate ( )
overridevirtual

Open Reality Creation function.

Returns
Outcome of creation (true/false).

Reimplemented from FBDevice.

◆ FBDestroy()

virtual void FBDestroy ( )
overridevirtual

Open Reality destruction function.

Reimplemented from FBDevice.

◆ FbxStore()

virtual bool FbxStore ( FBFbxObject pFbxObject,
kFbxObjectStore  pStoreWhat 
)
overridevirtual

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.

◆ RecordingDoneAnimation()

virtual void RecordingDoneAnimation ( FBAnimationNode pAnimationNode)
overridevirtual

When recording, finish animation.

Parameters
pAnimationNodeAnimation node to write information to.

Reimplemented from FBDevice.

◆ RecordingInitAnimation()

virtual void RecordingInitAnimation ( FBAnimationNode pAnimationNode)
overridevirtual

When recording, initialize animation.

Parameters
pAnimationNodeAnimation node to read information from.

Reimplemented from FBDevice.

Member Data Documentation

◆ AutoAntialiasing

FBPropertyBool AutoAntialiasing

Property: Is it auto-antialiasing?

Definition at line 828 of file fboptical.h.

◆ DampingTime

FBPropertyDouble DampingTime

Property: Damping time for device.

Definition at line 829 of file fboptical.h.

◆ ForceOpticalSamplingRate

FBPropertyBool ForceOpticalSamplingRate

Property: Force the use of the optical sampling rate?

Definition at line 832 of file fboptical.h.

◆ Markers

List: Markers.

Definition at line 826 of file fboptical.h.

◆ MarkerTimeStamp

FBPropertyTime MarkerTimeStamp

Property: TimeStamp for marker.

Definition at line 837 of file fboptical.h.

◆ ModelOptical

FBPropertyModel ModelOptical

Property: Optical model for manipulation.

Definition at line 830 of file fboptical.h.

◆ OpticalSamplingRate

FBPropertyDouble OpticalSamplingRate

Property: Resampling rate for optical device.

Definition at line 833 of file fboptical.h.

◆ SkipFrame

FBPropertyBool SkipFrame

Property: Skip Record Frame

Definition at line 836 of file fboptical.h.

◆ SupportOcclusion

FBPropertyBool SupportOcclusion

Property: Does the device support occulsion?

Definition at line 827 of file fboptical.h.

◆ UseMarkerTimeStamp

FBPropertyBool UseMarkerTimeStamp

Property: Use the individual marker timestamps?

Definition at line 834 of file fboptical.h.


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