This reference page is linked to from the following overview topics: Your First Python Program, Using C++ with MotionBuilder, Data types & properties, FBModel - Transformation Data and the Scene Graph.
Basic class definitions. More...
#include
<kaydaradef.h>
#include <fbsdk/fblibrary.h>
#include <fbsdk/fbplug.h>
#include <fbsdk/fbarray.h>
#include <fbsdk/fbstring.h>
#include <fbsdk/fbproperties.h>
Go to the source code of this file.
Classes |
|
class | FBPropertyListComponentBase |
PropertyList: Component. More... |
|
class | FBPropertyListComponent |
PropertyList: Concrete class for
PropertyList of component More... |
|
class | FBPropertyListObject |
List of scene objects. More... |
|
class | FBComponent |
MotionBuilder SDK base class. More... |
|
class | FBEvent |
Base Event class. More... |
|
class | FBEventConnectionNotify |
Connection notify event class. More... |
|
class | FBEventConnectionDataNotify |
Connection notify event class. More... |
|
class | FBEventConnectionStateNotify |
Connection notify event class. More... |
|
class | FBLibraryBase |
Library class for DLL registration. More... |
|
class | FBLibrary |
Library class for DLL registration. More... |
|
class | FBCustomManager |
Custom manager class for user controlled
observer objects. More... |
|
Defines |
|
#define | FBSDK_DLL K_DLLIMPORT |
Be sure that FBSDK_DLL is defined only
once... |
|
#define | FB_DEFAULT_SDK_ICON "openreality_noicon.png" |
Define SDK icon filename. |
|
#define | __FBClassInit mLocalPtr = NULL; |
For internal use only. |
|
#define | __FBClassInitSDKComponent(pObjectToWrappedIsAllocated) |
For internal use onlyL decide if we need to
delete the corresponding KObject. |
|
#define | __FBClassImplementation(ThisComponent, pInternalClassId) |
For internal use only. |
|
#define | __FBClassDeclare(Name, Parent) |
For internal use only. |
|
#define | FBStorableClassImplementation(ClassName, Type) |
Storable Class implementation. |
|
#define | FBElementClassImplementation(ClassName, IconFileName) |
Element Class implementation. |
|
#define | FBStorableClassDeclare(Name, Parent) |
Storable Class declaration. |
|
#define | FBPropertyInitComponent(Param, Type, PropName, Get, Set) |
Initialize a property: component. |
|
#define | FBIS(Component, ComponentType) ((Component) && (Component)->Is( ComponentType::TypeInfo )) |
Macro to verify the type of a component.
|
|
#define | FBRegisterEvent ( Object, EventId, EventProc ) IQ( Object,IRegister)->Register ( EventId,(HICallback)this,(kICallbackHandler)EventProc ); |
Event registration/unregistration. |
|
#define | FBUnregisterEvent ( Object, EventId, EventProc ) IQ( Object,IRegister)->Unregister ( EventId,(HICallback)this,(kICallbackHandler)EventProc ); |
Event registration/unregistration. |
|
#define | FBRegisterObject(LocalId, Path, Name, Description, Constructor, IsMultipleAllowed, IconFilename) static int __R##LocalId = FBObject_Register( Path,Name,Description,Constructor,IsMultipleAllowed,IconFilename ) |
Event registration/unregistration. |
|
#define | FBDeclareUserObject(ClassName) |
Event registration/unregistration. |
|
#define | FBLibraryDeclare(LibName) |
Declare the library for the application.
|
|
#define | FBLibraryModule(Name) void FBModule##Name() |
FBLibraryModule Define a module registration
call. |
|
#define | FBLibraryRegister(ClassName) |
FBLibraryRegister Declare the module's
registration functions. |
|
#define | FBLibraryRegisterStorable(ClassName) |
FBLibraryRegisterStorable Declare the
module's registration functions for storable classes. |
|
#define | FBLibraryRegisterElement(ClassName) |
FBLibraryRegisterElement Declare the
module's registration functions for element classes. |
|
#define | FBLibraryDeclareEnd |
Finish library declaration. |
|
#define | FBCustomManagerImplementation(ThisComponent) FBClassImplementation( ThisComponent ) \ |
FBCustomManagerImplementation. |
|
#define | FBRegisterCustomManager(ClassName) |
FBRegisterCustomManager. |
|
#define | FBCustomManagerDeclare(ClassName) |
FBRegisterCustomDeclare. |
|
Typedefs |
|
typedef
FBArrayTemplate < FBComponent * > |
FBComponentList |
typedef FBArrayTemplate<FBComponent*>
FBComponentList; |
|
typedef HIRegister | HISender |
HISender. |
|
typedef HKEventBase | HKEvent |
HKEvent. |
|
typedef void(ICallback::* | FBCallback )(HISender pSender, HKEvent pEvent) |
FBCallback. |
|
typedef FBComponent | FBObject |
Equivalent to FBComponent for gradual
transition. |
|
Enumerations |
|
enum | FBObjectFlag
{ kFBFlagSelectable = (1 << 0), kFBFlagDeletable = (1 << 1), kFBFlagSavable = (1 << 2), kFBFlagVisible = (1 << 3), kFBFlagClonable = (1 << 4), kFBFlagSystem = (1 << 5), kFBFlagNewable = (1 << 6), kFBFlagRenamable = (1 << 7), kFBFlagMergeable = (1 << 8), kFBFlagBrowsable = (1 << 9), kFBFlagDetachable = (1 << 10), kFBFlagUndoable = (1 << 11), kFBFlagKeyable = (1 << 12), kFBFlagAllocated = (1 << 13), kFBFlagStory = (1 << 14), kFBFlagStorable6 = (1 << 15), kFBFlagStorableData6 = (1 << 16), kFBFlagStorableBlindData = (1 << 17), kFBFlagUniqueName = (1 << 18), kFBFlagNotSelectableNameSpace = (1 << 19), kFBFlagCustomNode = (1 << 20) } |
Available flags for any component. More... |
|
enum | FBObjectStatus
{ kFBStatusNone = 0, kFBStatusCreating = (1 << 0), kFBStatusStoring = (1 << 1), kFBStatusRetrieving = (1 << 2), kFBStatusMerging = (1 << 3), kFBStatusDestroying = (1 << 4), kFBStatusOwnedByUndo = (1 << 5) } |
Available lifetime status for any component. More... |
|
enum | FBNamespaceAction { kFBConcatNamespace, kFBReplaceNamespace, kFBRemoveAllNamespace } |
Namespace flags. More... |
|
Functions |
|
K_FORWARD (IRegister) | |
K_FORWARD (IError) | |
K_FORWARD (IStore) | |
K_FORWARD (IKtView) | |
K_FORWARD (KEventBase) | |
K_FORWARD (KGlobalNamedEvent) | |
__FB_FORWARD (FBComponent) | |
__FB_FORWARD (FBVisualComponent) | |
FBSDK_DLL FBComponent * | GetFBComponent (const HIObject Object) |
Get a handle to the FBComponent belonging to an
HIObject. |
|
FBSDK_DLL FBVisualComponent * | FBGetFBVisualComponent (HIKtView pObject, bool pAutoCreate=true) |
Get the FBComponent from an Internal
Object. |
|
FBSDK_DLL FBComponent * | FBGetFBComponent (HIObject pObject, bool pAutoCreate=true) |
Get the FBComponent from an Internal
Object. |
|
FBSDK_DLL FBPlug * | FBGetFBPlug (HIObject pObject, bool pAutoCreate=true) |
Get the FBPlug from an
Internal Object. |
|
FBSDK_DLL
FBArrayTemplate < FBComponent * > & |
FBGetComponentArray () |
Get the Root FBComponent. |
|
FBSDK_DLL void | FBSetStoreableCustomModelReigstered () |
FBSDK_DLL bool | FBGetStoreableCustomModelReigstered () |
FBSDK_DLL bool | FBObject_Register (char *pGroupName, char *pEntryName, char *pDescription, kObjectCreatorFnc pCreatorFnc, bool pIsMultipleAllowed, char *pIconFilename) |
FBSDK_DLL bool | FBObject_Unregister (char *pGroupName, char *pEntryName, int nth=0) |
FBSDK_DLL FBComponent * | FBCreateObject (char *pGroupName, char *pEntryName, char *pName, void *pData=NULL, int nth=0) |
FBCreateObject. |
|
bool | FBUnregisterObject (char *pGroupName, char *pEntryName, int nth=0) |
FBUnregisterObject. |
|
FBSDK_DLL int | FBRegister_ClassId (char *pClassName) |
FB_FORWARD (FBPropertyListComponent) | |
FB_DEFINE_LIST (FBSDK_DLL, Component) | |
FB_FORWARD (FBFolder) | |
FB_DEFINE_COMPONENT (FBSDK_DLL, Folder) | |
FB_DEFINE_ENUM (FBSDK_DLL, ConnectionType) | |
FB_DEFINE_ENUM (FBSDK_DLL, ConnectionAction) | |
FB_DEFINE_ENUM (FBSDK_DLL, ObjectFlag) | |
FB_FORWARD (FBPropertyListObject) | |
__FB_FORWARD (FBEvent) | |
__FB_FORWARD (FBEventConnectionNotify) | |
__FB_FORWARD (FBEventConnectionDataNotify) | |
__FB_FORWARD (FBEventConnectionStateNotify) | |
__FB_FORWARD (FBCustomManager) |
Basic class definitions.
Contains the basic classes that most SDK objects will derive from. These classes form the base of many functionalities of the SDK. The file also contains the base macros used in the definition/registration of the SDK classes.
Definition in file fbcomponent.h.
#define FBSDK_DLL K_DLLIMPORT |
Be sure that FBSDK_DLL is defined only once...
Definition at line 57 of file fbcomponent.h.
#define FB_DEFAULT_SDK_ICON "openreality_noicon.png" |
#define __FBClassInit mLocalPtr = NULL; |
#define __FBClassInitSDKComponent | ( | pObjectToWrappedIsAllocated | ) |
__FBClassInit; \ mSDKComponent = pObjectToWrappedIsAllocated;
For internal use onlyL decide if we need to delete the corresponding KObject.
Definition at line 102 of file fbcomponent.h.
#define __FBClassImplementation | ( | ThisComponent, | |
pInternalClassId | |||
) |
int ThisComponent::TypeInfo=FBPlug::mGlobalTypeInfo++; \ int ThisComponent::GetInternalClassId() { return pInternalClassId; } \
For internal use only.
Definition at line 110 of file fbcomponent.h.
#define __FBClassDeclare | ( | Name, | |
Parent | |||
) |
public: \\ typedef Parent __FBParentClass;\\ typedef Name __FBClassType;\\ virtual char* ClassName() override { return #Name; } \\ virtual bool Is( int pTypeId ) override { return (pTypeId==TypeInfo) ? true : Parent::Is( pTypeId ); } \ virtual int GetTypeId() override { return TypeInfo; } \\ static int GetInternalClassId(); \\ Data##Name* mLocalPtr; \ virtual ~Name(); \ static int TypeInfo; \
For internal use only.
Definition at line 117 of file fbcomponent.h.
#define FBStorableClassImplementation | ( | ClassName, | |
Type | |||
) |
char* ClassName::FbxGetObjectSubType(){ return #ClassName; }\ HIObject RegisterStorable##ClassName##Create(HIObject /*pOwner*/, char* pName, void* /*pData*/){\ ClassName* Class = new ClassName(pName);\ Class->mAllocated = true;\ if( Class->FBCreate() ){\ return Class->GetHIObject();\ } else {\ delete Class;\ return NULL;}}\ FBLibraryModule(ClassName##Storable){\ FBString lGroup = "FbxStorable/";\ lGroup += #Type;\ FBRegisterObject(ClassName##R2, lGroup, #ClassName, "", RegisterStorable##ClassName##Create, true, NULL);}
Storable Class implementation.
This should be placed in the source code file for a class.
Definition at line 138 of file fbcomponent.h.
#define FBElementClassImplementation | ( | ClassName, | |
IconFileName | |||
) |
HIObject RegisterElement##ClassName##Create(HIObject /*pOwner*/, char* pName, void* /*pData*/){\ ClassName* Class = new ClassName(pName);\ Class->mAllocated = true;\ if( Class->FBCreate() ){\ return Class->GetHIObject();\ } else {\ delete Class;\ return NULL;}}\ FBLibraryModule(ClassName##Element){\ FBRegisterObject(ClassName##R2, "Browsing/Templates/Elements", #ClassName, "", RegisterElement##ClassName##Create, true, IconFileName);}
Element Class implementation.
This should be placed in the source code file for a class.
Definition at line 156 of file fbcomponent.h.
#define FBStorableClassDeclare | ( | Name, | |
Parent | |||
) |
FBClassDeclare(Name, Parent);\ public:\ virtual char* FbxGetObjectSubType();
Storable Class declaration.
Overloads the necessary functions when a class inherits from FBComponent (or its derivatives) and that you want it to be persistent.
Name | Name of class to declare. |
Parent | Parent class to associate with Name. |
Definition at line 174 of file fbcomponent.h.
#define FBPropertyInitComponent | ( | Param, | |
Type, | |||
PropName, | |||
Get, | |||
Set | |||
) |
{ \ PropertyAdd(PropName.Init( (void *)Param,#PropName,(H##Type (*)(void *))Get,(void (*)(void *,H##Type))Set )); \ PropName.TypeInfo = &Type::TypeInfo; \ }
Initialize a property: component.
Param | Owner name. |
Type | Type of variable. |
PropName | Component name. |
Get | Get function pointer. |
Set | Set function pointer. |
Definition at line 187 of file fbcomponent.h.
#define FBIS | ( | Component, | |
ComponentType | |||
) | ((Component) && (Component)->Is( ComponentType::TypeInfo )) |
Macro to verify the type of a component.
Used to compare a component to another, by verifying their Class::TypeInfo values.
Component | Component to verify. |
ComponentType | Type to verify Component with. |
Definition at line 200 of file fbcomponent.h.
#define FBRegisterEvent ( Object, EventId, EventProc ) IQ( Object,IRegister)->Register ( EventId,(HICallback)this,(kICallbackHandler)EventProc ); |
Event registration/unregistration.
For internal use only.
Definition at line 255 of file fbcomponent.h.
#define FBUnregisterEvent ( Object, EventId, EventProc ) IQ( Object,IRegister)->Unregister ( EventId,(HICallback)this,(kICallbackHandler)EventProc ); |
Event registration/unregistration.
For internal use only.
Definition at line 260 of file fbcomponent.h.
#define FBRegisterObject | ( | LocalId, | |
Path, | |||
Name, | |||
Description, | |||
Constructor, | |||
IsMultipleAllowed, | |||
IconFilename | |||
) | static int __R##LocalId = FBObject_Register( Path,Name,Description,Constructor,IsMultipleAllowed,IconFilename ) |
Event registration/unregistration.
For internal use only.
Definition at line 291 of file fbcomponent.h.
#define FBDeclareUserObject | ( | ClassName | ) |
public:\ static int ClassId;\ virtual int GetUserClassId();\ virtual char* FbxGetObjectSubType()
Event registration/unregistration.
For internal use only.
Definition at line 308 of file fbcomponent.h.
#define FBLibraryDeclare | ( | LibName | ) |
static FBLibrary LibName##GlobalFBLibrary; \ extern "C" { \ K_DLLEXPORT bool LIBRARY_INIT(HIError /*Error*/) \ { \ FB_EXT_INIT( LibName ); if (LibName##GlobalFBLibrary.LibInit()) return true; return false; \ } \ } \ FB_DLL_INIT( LibName, Operation ) \ { \ switch( Operation ) \ { \ case kFBDllLoad: \ {
Declare the library for the application.
Creates the FBLibrary object and generic interface functions for DLL access.
Definition at line 952 of file fbcomponent.h.
#define FBLibraryModule | ( | Name | ) | void FBModule##Name() |
FBLibraryModule Define a module registration call.
Name | Module to register. |
Definition at line 972 of file fbcomponent.h.
#define FBLibraryRegister | ( | ClassName | ) |
extern void FBModule##ClassName( ); \ FBModule##ClassName( );
FBLibraryRegister Declare the module's registration functions.
ClassName | Class to declare registration functions for. |
Definition at line 979 of file fbcomponent.h.
#define FBLibraryRegisterStorable | ( | ClassName | ) |
extern void FBModule##ClassName##Storable( ); \ FBModule##ClassName##Storable( );
FBLibraryRegisterStorable Declare the module's registration functions for storable classes.
ClassName | Class to declare registration functions for. |
Definition at line 987 of file fbcomponent.h.
#define FBLibraryRegisterElement | ( | ClassName | ) |
extern void FBModule##ClassName##Element( ); \ FBModule##ClassName##Element( );
FBLibraryRegisterElement Declare the module's registration functions for element classes.
ClassName | Class to declare registration functions for. |
Definition at line 995 of file fbcomponent.h.
#define FBLibraryDeclareEnd |
} \ break; \ default: \ break; \ } \ }
Finish library declaration.
Definition at line 1000 of file fbcomponent.h.
#define FBCustomManagerImplementation | ( | ThisComponent | ) | FBClassImplementation( ThisComponent ) \ |
FBCustomManagerImplementation.
ThisComponent | Component to customize |
Definition at line 1013 of file fbcomponent.h.
#define FBRegisterCustomManager | ( | ClassName | ) |
FBLibraryModule( ClassName ) \ { \ static ClassName g##ClassName; \ g##ClassName.FBCreate(); \ g##ClassName.RegisterManager(); \ } \
FBRegisterCustomManager.
ClassName | Class to declare registration functions for. |
Definition at line 1019 of file fbcomponent.h.
#define FBCustomManagerDeclare | ( | ClassName | ) |
FBClassDeclare( ClassName, FBCustomManager ); \ public: \ ClassName() : FBCustomManager() { FBClassInit; } \ private: \
FBRegisterCustomDeclare.
ClassName | Class to declare registration functions for. |
Definition at line 1030 of file fbcomponent.h.
typedef FBArrayTemplate<FBComponent*> FBComponentList |
typedef FBArrayTemplate<FBComponent*> FBComponentList;
Definition at line 242 of file fbcomponent.h.
typedef HIRegister HISender |
typedef HKEventBase HKEvent |
typedef void(ICallback::* FBCallback)(HISender pSender, HKEvent pEvent) |
FBCallback.
pSender | Set the sender |
pEvent | Set the event |
Definition at line 301 of file fbcomponent.h.
typedef FBComponent FBObject |
Equivalent to FBComponent for gradual transition.
Definition at line 746 of file fbcomponent.h.
enum FBObjectFlag |
Available flags for any component.
Definition at line 336 of file fbcomponent.h.
{ kFBFlagSelectable = (1 << 0), kFBFlagDeletable = (1 << 1), kFBFlagSavable = (1 << 2), kFBFlagVisible = (1 << 3), kFBFlagClonable = (1 << 4), kFBFlagSystem = (1 << 5), kFBFlagNewable = (1 << 6), kFBFlagRenamable = (1 << 7), kFBFlagMergeable = (1 << 8), kFBFlagBrowsable = (1 << 9), kFBFlagDetachable = (1 << 10),
enum FBObjectStatus |
Available lifetime status for any component.
Definition at line 364 of file fbcomponent.h.
{
enum FBNamespaceAction |
Namespace flags.
kFBConcatNamespace |
Use to add a namespace name to object. |
kFBReplaceNamespace |
Use to replace a define namespace. |
kFBRemoveAllNamespace |
Remove all the namespace name. |
Definition at line 375 of file fbcomponent.h.
{ kFBStatusNone = 0, kFBStatusCreating = (1 << 0), kFBStatusStoring = (1 << 1),
K_FORWARD | ( | IRegister | ) |
K_FORWARD | ( | IError | ) |
K_FORWARD | ( | IStore | ) |
K_FORWARD | ( | IKtView | ) |
K_FORWARD | ( | KEventBase | ) |
K_FORWARD | ( | KGlobalNamedEvent | ) |
__FB_FORWARD | ( | FBComponent | ) |
__FB_FORWARD | ( | FBVisualComponent | ) |
FBSDK_DLL FBComponent* GetFBComponent | ( | const HIObject | Object | ) |
Get a handle to the FBComponent belonging to an HIObject.
This will not create the internal SDK object, and will return NULL if the SDK object has not been initialized.
Object | Internal object for which the FBComponent is required. |
FBSDK_DLL FBVisualComponent* FBGetFBVisualComponent | ( | HIKtView | pObject, |
bool | pAutoCreate =
true |
||
) |
Get the FBComponent from an Internal Object.
pObject | Object to get SDK object for. |
pAutoCreate | Create object if it doesn't exist? (default is true) |
FBSDK_DLL FBComponent* FBGetFBComponent | ( | HIObject | pObject, |
bool | pAutoCreate =
true |
||
) |
Get the FBComponent from an Internal Object.
pObject | Object to get SDK object for. |
pAutoCreate | Create object if it doesn't exist? (default is true) |
FBSDK_DLL FBPlug* FBGetFBPlug | ( | HIObject | pObject, |
bool | pAutoCreate =
true |
||
) |
Get the FBPlug from an Internal Object.
pObject | Object to get SDK object for. |
pAutoCreate | Create object if it doesn't exist? (default is true) |
FBSDK_DLL FBArrayTemplate<FBComponent*>& FBGetComponentArray | ( | ) |
Get the Root FBComponent.
FBSDK_DLL void FBSetStoreableCustomModelReigstered | ( | ) |
FBSDK_DLL bool FBGetStoreableCustomModelReigstered | ( | ) |
FBSDK_DLL bool FBObject_Register | ( | char * | pGroupName, |
char * | pEntryName, | ||
char * | pDescription, | ||
kObjectCreatorFnc | pCreatorFnc, | ||
bool | pIsMultipleAllowed, | ||
char * | pIconFilename | ||
) |
FBSDK_DLL bool FBObject_Unregister | ( | char * | pGroupName, |
char * | pEntryName, | ||
int | nth = 0 |
||
) |
FBSDK_DLL FBComponent* FBCreateObject | ( | char * | pGroupName, |
char * | pEntryName, | ||
char * | pName, | ||
void * | pData = NULL , |
||
int | nth = 0 |
||
) |
FBCreateObject.
pGroupName | Set the name of the Group. |
pEntryName | Set the name of the Entry. |
pName | Set the name of the Object to create. |
pData | Data to pass to object creator function. |
nth | Set the occurence of the object to remove. |
bool FBUnregisterObject | ( | char * | pGroupName, |
char * | pEntryName, | ||
int | nth = 0 |
||
) | [inline] |
FBUnregisterObject.
pGroupName | Set the Name of the Group from which unregister an object. |
pEntryName | Set the name of the Object to unregister. |
nth | Set the occurence of the object to remove. |
Definition at line 286 of file fbcomponent.h.
{ return FBObject_Unregister( pGroupName,pEntryName,nth ); }
FBSDK_DLL int FBRegister_ClassId | ( | char * | pClassName | ) |
FB_FORWARD | ( | FBPropertyListComponent | ) |
FB_DEFINE_LIST | ( | FBSDK_DLL | , |
Component | |||
) |
FB_FORWARD | ( | FBFolder | ) |
FB_DEFINE_COMPONENT | ( | FBSDK_DLL | , |
Folder | |||
) |
FB_DEFINE_ENUM | ( | FBSDK_DLL | , |
ConnectionType | |||
) |
FB_DEFINE_ENUM | ( | FBSDK_DLL | , |
ConnectionAction | |||
) |
FB_DEFINE_ENUM | ( | FBSDK_DLL | , |
ObjectFlag | |||
) |
FB_FORWARD | ( | FBPropertyListObject | ) |
__FB_FORWARD | ( | FBEvent | ) |
__FB_FORWARD | ( | FBEventConnectionNotify | ) |
__FB_FORWARD | ( | FBEventConnectionDataNotify | ) |
__FB_FORWARD | ( | FBEventConnectionStateNotify | ) |
__FB_FORWARD | ( | FBCustomManager | ) |