fbsdk/fbcore.h File Reference

fbcore.h File Reference
#include <kaydaradef.h>
#include <fbsdk/fbcomponent.h>
#include <fbsdk/fbfbx.h>
#include <fbsdk/fbtime.h>
#include <fbsdk/fbdata.h>
#include <fbsdk/fbevaluateinfo.h>

File Description

Contains definitions for devices, boxes and models.

Definition in file fbcore.h.

Classes

class  FBBox
 A box is a fundamental building block in the application architecture. More...
 
class  FBHandle
 FBHandle class exposes the Handle object of the application. More...
 
class  FBPropertyListHandle
 PropertyList: Handle. More...
 
class  FBPropertyListModelTemplate
 PropertyList: ModelTemplate. More...
 
class  FBPropertyListModelTemplateBinding
 PropertyList: ModelTemplateBinding. More...
 
class  FBModelTemplate
 Model template class. More...
 
class  FBPropertyListDevice
 PropertyList: Device More...
 
class  FBDeviceNotifyInfo
 Device Input and Output Notification information structure. More...
 
class  FBDeviceInstrument
 Instrument abstraction layer. More...
 
class  FBPropertyListDeviceInstrument
 List of instruments. More...
 
class  FBSyncReference
 Application sync. More...
 
class  FBDevice
 Base Device class. Cannot be instantiated from Python. More...
 
class  FBDeviceGlove
 Base Glove class. More...
 
class  FBDeviceGlove::GloveChannel
 Base GloveChannel. More...
 

Namespaces

 ORSDK2018
 

Macros

#define FBSDK_DLL   K_DLLIMPORT
 Be sure that FBSDK_DLL is defined only once... More...
 
#define FBBoxDeclare(ClassName, Parent)
 Box declaration. More...
 
#define FBBoxImplementation(ThisComponent)   FBClassImplementation( ThisComponent )
 Box implementation. More...
 
#define FBDeviceDeclare(ClassName, Parent)
 Device declaration. More...
 
#define FBDeviceImplementation(ThisComponent)   FBClassImplementation( ThisComponent )
 Device implementation. More...
 
#define FBRegisterBox(UniqueNameStr, ClassName, FolderName, Label, Description, IconFilename)
 Register a box class. More...
 
#define FBRegisterDevice(UniqueNameStr, ClassName, Label, Description, IconFilename)
 Register a device class. More...
 
#define FBRegisterOnlineDevice(UniqueNameStr, ClassName, Label, Description, IconFilename)
 Register an online device class. More...
 

Typedefs

typedef class FBPropertyBase< FBModelTemplate *, kFBPT_object > FBPropertyBaseModelTemplate
 
typedef class FBPropertyBaseComponent< FBModelTemplate * > FBPropertyModelTemplate
 
typedef class FBPropertyBase< FBDevice *, kFBPT_object > FBPropertyBaseDevice
 
typedef class FBPropertyBaseComponent< FBDevice * > FBPropertyDevice
 
typedef class FBPropertyBase< FBPath3D *, kFBPT_object > FBPropertyBasePath3D
 
typedef class FBPropertyBaseComponent< FBPath3D * > FBPropertyPath3D
 
typedef class FBPropertyBase< FBScene *, kFBPT_object > FBPropertyBaseScene
 
typedef class FBPropertyBaseComponent< FBScene * > FBPropertyScene
 
typedef class FBPropertyBase< FBModel *, kFBPT_object > FBPropertyBaseModel
 
typedef class FBPropertyBaseComponent< FBModel * > FBPropertyModel
 
typedef HIObject(* kFBObjectCreatorFnc) (HIObject pOwner, const char *pName, void *pData)
 
typedef class FBPropertyBaseList< FBHandle * > FBPropertyBaseListHandle
 
typedef class FBPropertyBaseList< FBModelTemplate * > FBPropertyBaseListModelTemplate
 
typedef class FBPropertyBaseList< FBAnimationNode * > FBPropertyBaseListModelTemplateBinding
 typedef class FBSDK_DLL FBPropertyBaseList< FBAnimationNode* > FBPropertyBaseListModelTemplateBinding More...
 
typedef class FBPropertyBase< FBDeviceInstrument *, kFBPT_object > FBPropertyBaseDeviceInstrument
 
typedef class FBPropertyBaseComponent< FBDeviceInstrument * > FBPropertyDeviceInstrument
 
typedef class FBPropertyBaseList< FBDeviceInstrument * > FBPropertyBaseListDeviceInstrument
 
typedef class FBPropertyBase< FBSyncReference *, kFBPT_object > FBPropertyBaseSyncReference
 
typedef class FBPropertyBaseComponent< FBSyncReference * > FBPropertySyncReference
 
typedef class FBPropertyBaseEnum< enum FBDeviceSamplingMode > FBPropertyDeviceSamplingMode
 

Enumerations

enum  FBModelTemplateStyle {
  kFBModelTemplateNone, kFBModelTemplateNull, kFBModelTemplateMarker, kFBModelTemplateRoot,
  kFBModelTemplateSensor, kFBModelTemplateSkeleton, kFBModelTemplateCamera, kFBModelTemplateGeometry,
  kFBModelTemplateCameraInterest, kFBModelTemplateLight, kFBModelTemplateOptical
}
 Model template styles When creating model templates, this parameter will affect the actual model created (associated with the model template). More...
 
enum  FBDeviceSamplingMode { kFBHardwareTimestamp, kFBHardwareFrequency, kFBAutoFrequency, kFBSoftwareTimestamp }
 Recording types. More...
 
enum  FBCommType {
  kFBCommTypeNone = 0, kFBCommTypeSerial = 1<<0, kFBCommTypeNetworkTCP = 1<<1, kFBCommTypeNetworkUDP = 1<<2,
  kFBCommTypeSharedMemory = 1<<3, kFBCommTypeSimulator = 1<<4, kFBCommTypeOther = 1<<5
}
 Communications type. More...
 

Macro Definition Documentation

#define FBBoxDeclare (   ClassName,
  Parent 
)
Value:
FBClassDeclare( ClassName,Parent ); \
public: \
ClassName(const char* pName):Parent(pName) { FBClassInit; } \
private:
#define FBClassInit
Class initialization.
Definition: fbdefines.h:64
#define FBClassDeclare(Name, Parent)
Class declaration.
Definition: fbdefines.h:85

Box declaration.

Parameters
ClassNameName of box class.
ParentParent class of ClassName.
+ Examples:

Definition at line 90 of file fbcore.h.

#define FBBoxImplementation (   ThisComponent)    FBClassImplementation( ThisComponent )
#define FBRegisterBox (   UniqueNameStr,
  ClassName,
  FolderName,
  Label,
  Description,
  IconFilename 
)
Value:
HIObject RegisterBox##ClassName##Create( HIObject /*pOwner*/,const char* pName,void * /*pData*/) \
{ \
ClassName *Class = new ClassName(pName); \
Class->mAllocated = true; \
Class->UniqueName = UniqueNameStr; \
if (Class->FBCreate()) { \
return Class->GetHIObject(); \
} else { \
delete Class; \
return NULL; \
} \
} \
FBLibraryModule( ClassName ) \
{\
FBRegisterObject(ClassName##R1,"Boxes",UniqueNameStr,Description,RegisterBox##ClassName##Create,true, IconFilename );\
FBRegisterObject(ClassName##R2,"Boxes/Functions/"FolderName,Label,Description,RegisterBox##ClassName##Create,true, IconFilename );\
FBRegisterObject(ClassName##R3,"FbxStorable/Box",UniqueNameStr,Description,RegisterBox##ClassName##Create,true, IconFilename ); \
}
#define NULL
Definition: kaydara.h:169
#define FBLibraryModule(Name)
FBLibraryModule Define a module registration call.
Definition: fbcomponent.h:1211

Register a box class.

Parameters
UniqueNameStrUnique name of class.
ClassNameName of box class.
FolderNameDirectory structure within the application.
LabelShort description.
DescriptionLong description.
IconFilenameName of the file containing the icon.
+ Examples:

Definition at line 129 of file fbcore.h.

#define FBRegisterDevice (   UniqueNameStr,
  ClassName,
  Label,
  Description,
  IconFilename 
)
Value:
HIObject RegisterDevice##ClassName##Create( HIObject /*pOwner*/,const char* pName,void * /*pData*/) \
{ \
ClassName *Class = new ClassName(pName); \
Class->mAllocated = true; \
Class->UniqueName = UniqueNameStr; \
if (Class->FBCreate()) { \
return Class->GetHIObject(); \
} else { \
delete Class; \
return NULL; \
} \
} \
FBLibraryModule( ClassName ) \
{ \
FBRegisterObject(ClassName##R1,"Boxes/Devices",Label,Description,RegisterDevice##ClassName##Create,true, IconFilename );\
FBRegisterObject(ClassName##R2,"FbxStorable/Device",UniqueNameStr,Description,RegisterDevice##ClassName##Create,true, IconFilename ); \
}
#define NULL
Definition: kaydara.h:169
#define FBLibraryModule(Name)
FBLibraryModule Define a module registration call.
Definition: fbcomponent.h:1211

Register a device class.

Parameters
UniqueNameStrUnique name of class.
ClassNameName of device class.
LabelShort description.
DescriptionLong description.
IconFilenameName of the file containing the icon.
+ Examples:

Definition at line 157 of file fbcore.h.

#define FBRegisterOnlineDevice (   UniqueNameStr,
  ClassName,
  Label,
  Description,
  IconFilename 
)
Value:
HIObject RegisterDevice##ClassName##Create( HIObject /*pOwner*/,const char* pName,void * /*pData*/) \
{ \
ClassName *Class = new ClassName(pName); \
Class->mAllocated = true; \
Class->UniqueName = UniqueNameStr; \
if (Class->FBCreate()) { \
return Class->GetHIObject(); \
} else { \
delete Class; \
return NULL; \
} \
} \
FBLibraryModule( ClassName ) \
{ \
if( FBGetLicense() >= kFBLicenseOnline ) \
{ \
FBRegisterObject(ClassName##R1,"Boxes/Devices",Label,Description,RegisterDevice##ClassName##Create, true, IconFilename );\
FBRegisterObject(ClassName##R2,"FbxStorable/Device",UniqueNameStr,Description,RegisterDevice##ClassName##Create, true, IconFilename ); \
} \
}
#define NULL
Definition: kaydara.h:169
#define FBLibraryModule(Name)
FBLibraryModule Define a module registration call.
Definition: fbcomponent.h:1211

Register an online device class.

Parameters
UniqueNameStrUnique name of class.
ClassNameName of device class.
LabelShort description.
DescriptionLong description.
IconFilenameName of the file containing the icon.

Definition at line 184 of file fbcore.h.

#define FBSDK_DLL   K_DLLIMPORT

Be sure that FBSDK_DLL is defined only once...

Definition at line 48 of file fbcore.h.

Go to the source code of this file.