fbsdk/fbcomponent.h File Reference
 
 
 
fbsdk/fbcomponent.h File Reference
#include <kaydaradef.h>
#include <fbsdk/fblibrary.h>
#include <fbsdk/fbplug.h>
#include <fbsdk/fbarray.h>
#include <fbsdk/fbstring.h>
#include <fbsdk/fbproperties.h>

File Description

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.

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   FBEventConnectionKeyingNotify
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  __FBClassDeInit   if (mLocalPtr) {delete mLocalPtr; 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  __FBClassImplementationGroup(ThisComponent, pInternalClass)
#define  __FBClassDeclare(Name, Parent)
  For internal use only.
#define  __FBClassDeclareGroup(Name, Parent)
  For internal use only.
#define  FBStorableClassImplementation(ClassName, Type)
  Storable Class implementation.
#define  FBElementClassImplementation(ClassName, IconFileName)
  Element Class implementation.
#define  FBShadingElementClassImplementation(ClassName, IconFileName)
  Shading 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  FBLibraryRegisterShadingElement(ClassName)
  FBLibraryRegisterShadingElement Declare the module's registration functions for shading 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), kFBFlagParentable = (1 << 10), kFBFlagDetachable = (1 << 11),
  kFBFlagUndoable = (1 << 12), kFBFlagUndoableSeparately = (1 << 13), kFBFlagKeyable = (1 << 14), kFBFlagAllocated = (1 << 15),
  kFBFlagStory = (1 << 16), kFBFlagStorable6 = (1 << 17), kFBFlagStorableData6 = (1 << 18), kFBFlagStorableBlindData = (1 << 19),
  kFBFlagStorableBlindDataForceBinary = (1 << 20), kFBFlagUniqueName = (1 << 21), kFBFlagNotSelectableNameSpace = (1 << 22), kFBFlagNamespaceEditable = (1 << 23)
}
  Available flags for any component. More...
enum   FBObjectStatus {
  kFBStatusCreating = (1 << 0), kFBStatusStoring = (1 << 1), kFBStatusRetrieving = (1 << 2), kFBStatusMerging = (1 << 3),
  kFBStatusDestroying = (1 << 4)
}
  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)
K_DLLIMPORT int  __FBRegisterTypeInfo (int pInternalClassId)
  __FBRegisterTypeInfo For internal use only, Register the TypeInfo mapped to internal class id.
K_DLLIMPORT int  __FBGetInternalClassId (int pTypeInfo)
  __FBGetInternalClassId For internal use only, Get the internal class Id from the ORSDK FBCompoent's TypeInfo.
K_DLLIMPORT FBPlug __FBObjectCreatorSub (HIObject pObject)
  __FBObjectCreatorSub For internal use only, Create the FBPlug object from internal object.
K_DLLIMPORT void  __FBAddModelToScene (HIObject pObject)
  For internal usage only.
K_DLLIMPORT void  __FBRemoveModelFromScene (HIObject pObject)
  For internal usage only.
  __FB_FORWARD (FBComponent)
  __FB_FORWARD (FBVisualComponent)
K_DLLIMPORT FBComponent GetFBComponent (const HIObject Object)
  Get a handle to the FBComponent belonging to an HIObject.
K_DLLIMPORT FBVisualComponent FBGetFBVisualComponent (HIKtView pObject, bool pAutoCreate=true)
  Get the FBComponent from an Internal Object.
K_DLLIMPORT FBComponent FBGetFBComponent (HIObject pObject, bool pAutoCreate=true)
  Get the FBComponent from an Internal Object.
K_DLLIMPORT FBPlug FBGetFBPlug (HIObject pObject, bool pAutoCreate=true)
  Get the FBPlug from an Internal Object.
K_DLLIMPORT FBArrayTemplate
< FBComponent * > & 
FBGetComponentArray ()
  Get the Root FBComponent.
K_DLLIMPORT void  FBSetStoreableCustomModelRegistered ()
K_DLLIMPORT bool  FBGetStoreableCustomModelRegistered ()
K_DLLIMPORT void  FBSetStoreableCustomMaterialRegistered ()
K_DLLIMPORT bool  FBGetStoreableCustomMaterialRegistered ()
K_DLLIMPORT void  FBSetStoreableCustomTextureRegistered ()
K_DLLIMPORT bool  FBGetStoreableCustomTextureRegistered ()
K_DLLIMPORT bool  FBObject_Register (const char *pGroupName, const char *pEntryName, const char *pDescription, kObjectCreatorFnc pCreatorFnc, bool pIsMultipleAllowed, const char *pIconFilename)
K_DLLIMPORT bool  FBObject_Unregister (const char *pGroupName, const char *pEntryName, int nth=0)
K_DLLIMPORT FBComponent FBCreateObject (const char *pGroupName, const char *pEntryName, const char *pName, void *pData=NULL, int nth=0)
  FBCreateObject.
bool  FBUnregisterObject (const char *pGroupName, const char *pEntryName, int nth=0)
  FBUnregisterObject.
K_DLLIMPORT int  FBRegister_ClassId (const char *pClassName)
  FB_FORWARD (FBPropertyListComponent)
  FB_DEFINE_LIST (K_DLLIMPORT, Component)
  FB_FORWARD (FBFolder)
  FB_DEFINE_COMPONENT (K_DLLIMPORT, Folder)
  FB_DEFINE_ENUM (K_DLLIMPORT, ConnectionType)
  FB_DEFINE_ENUM (K_DLLIMPORT, ConnectionAction)
  FB_DEFINE_ENUM (K_DLLIMPORT, ObjectFlag)
  FB_FORWARD (FBPropertyListObject)
  __FB_FORWARD (FBNamespace)
  __FB_FORWARD (FBFileReference)
  __FB_FORWARD (FBEvent)
  __FB_FORWARD (FBEventConnectionNotify)
  __FB_FORWARD (FBEventConnectionDataNotify)
  __FB_FORWARD (FBEventConnectionStateNotify)
  __FB_FORWARD (FBEventConnectionKeyingNotify)
  __FB_FORWARD (FBCustomManager)

Variables

K_DEPRECATED_2014 const int  kFBFlagCustomObject = (1 << 24)
  User custom class instances (Internal usage only, to be removed in the future).
K_DEPRECATED_2014 const int  kFBStatusOwnedByUndo = (1 << 5)

Define Documentation

#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 SDK icon filename.

Definition at line 89 of file fbcomponent.h.

#define __FBClassInit   mLocalPtr = NULL;

For internal use only.

Definition at line 95 of file fbcomponent.h.

#define __FBClassDeInit   if (mLocalPtr) {delete mLocalPtr; mLocalPtr = NULL;}

For internal use only.

Definition at line 101 of file fbcomponent.h.

#define __FBClassInitSDKComponent (   pObjectToWrappedIsAllocated )
Value:
__FBClassInit; \
    mSDKComponent = pObjectToWrappedIsAllocated;

For internal use onlyL decide if we need to delete the corresponding KObject.

Definition at line 107 of file fbcomponent.h.

#define __FBClassImplementation (   ThisComponent,
  pInternalClassId 
)
Value:
int ThisComponent::TypeInfo=__FBRegisterTypeInfo(pInternalClassId);\
                int ThisComponent::GetInternalClassId() { return pInternalClassId; }

For internal use only.

Definition at line 115 of file fbcomponent.h.

#define __FBClassImplementationGroup (   ThisComponent,
  pInternalClass 
)
Value:
__FBClassImplementation( ThisComponent,pInternalClass::ClassId )\
        const char* ThisComponent::ClassGroupName = pInternalClass::ClassGroupName;

Definition at line 119 of file fbcomponent.h.

#define __FBClassDeclare (   Name,
  Parent 
)

For internal use only.

Definition at line 145 of file fbcomponent.h.

#define __FBClassDeclareGroup (   Name,
  Parent 
)
Value:
__FBClassDeclare( Name,Parent )\
  public:\
    static  const char* ClassGroupName; \\
  private:

For internal use only.

Definition at line 169 of file fbcomponent.h.

#define FBStorableClassImplementation (   ClassName,
  Type 
)
Value:
const char* ClassName::FbxGetObjectSubType(){ return #ClassName; }\
        HIObject RegisterStorable##ClassName##Create(HIObject /*pOwner*/, const char* pName, void* /*pData*/){\
                ClassName* Class = new ClassName(pName);\
                Class->mAllocated = true;\
                if( Class->FBCreate() ){\
            __FBRemoveModelFromScene( Class->GetHIObject() ); /* Hack in MoBu2013, we shouldn't add object to the scene/entity automatically*/\
            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 182 of file fbcomponent.h.

#define FBElementClassImplementation (   ClassName,
  IconFileName 
)
Value:
HIObject RegisterElement##ClassName##Create(HIObject /*pOwner*/, const char* pName, void* /*pData*/){\
                ClassName* Class = new ClassName(pName);\
                Class->mAllocated = true;\
                if( Class->FBCreate() ){\
            __FBRemoveModelFromScene( Class->GetHIObject() ); /* Hack in MoBu2013, we shouldn't add object to the scene/entity automatically*/\
                        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.

(Asset system) This should be placed in the source code file for a class.

Definition at line 201 of file fbcomponent.h.

#define FBShadingElementClassImplementation (   ClassName,
  IconFileName 
)
Value:
HIObject RegisterShadingElement##ClassName##Create(HIObject /*pOwner*/, const 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##ShadingElement){\
                FBRegisterObject(ClassName##R2, "Browsing/Templates/Shading Elements", #ClassName, "", RegisterShadingElement##ClassName##Create, true, IconFileName);}

Shading Element Class implementation.

This should be placed in the source code file for a class.

Definition at line 217 of file fbcomponent.h.

#define FBStorableClassDeclare (   Name,
  Parent 
)
Value:
FBClassDeclare(Name, Parent);\
public:\
        virtual const char* FbxGetObjectSubType() override; \\
private: \

Storable Class declaration.

Overloads the necessary functions when a class inherits from FBComponent (or its derivatives) and that you want it to be persistent.

Parameters:
Name Name of class to declare.
Parent Parent class to associate with Name.

Definition at line 235 of file fbcomponent.h.

#define FBPropertyInitComponent (   Param,
  Type,
  PropName,
  Get,
  Set 
)
Value:
{ \
                PropertyAdd(PropName.Init( (void *)Param,#PropName,(Type* (*)(void *))Get,(void (*)(void *,Type*))Set )); \
                PropName.TypeInfo = &Type::TypeInfo; \
        }

Initialize a property: component.

Parameters:
Param Owner name.
Type Type of variable.
PropName Component name.
Get Get function pointer.
Set Set function pointer.

Definition at line 250 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.

Parameters:
Component Component to verify.
ComponentType Type to verify Component with.
Returns:
true if object is of type ComponentType.

Definition at line 263 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 318 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 323 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 368 of file fbcomponent.h.

#define FBDeclareUserObject (   ClassName )
Value:
public:\
        static int              ClassId;\
        virtual int             GetUserClassId();\
        virtual const char*     FbxGetObjectSubType() override;\\
private:

Event registration/unregistration.

For internal use only.

Definition at line 385 of file fbcomponent.h.

#define FBLibraryDeclare (   LibName )
Value:
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 1122 of file fbcomponent.h.

#define FBLibraryModule (   Name )    void FBModule##Name()

FBLibraryModule Define a module registration call.

Parameters:
Name Module to register.

Definition at line 1142 of file fbcomponent.h.

#define FBLibraryRegister (   ClassName )
Value:
extern void FBModule##ClassName( );                     \
        FBModule##ClassName( );

FBLibraryRegister Declare the module's registration functions.

Parameters:
ClassName Class to declare registration functions for.

Definition at line 1149 of file fbcomponent.h.

#define FBLibraryRegisterStorable (   ClassName )
Value:
extern void FBModule##ClassName##Storable( );                   \
        FBModule##ClassName##Storable( );

FBLibraryRegisterStorable Declare the module's registration functions for storable classes.

Parameters:
ClassName Class to declare registration functions for.

Definition at line 1157 of file fbcomponent.h.

#define FBLibraryRegisterElement (   ClassName )
Value:
extern void FBModule##ClassName##Element( );                    \
        FBModule##ClassName##Element( );

FBLibraryRegisterElement Declare the module's registration functions for element classes.

Parameters:
ClassName Class to declare registration functions for.

Definition at line 1165 of file fbcomponent.h.

#define FBLibraryRegisterShadingElement (   ClassName )
Value:
extern void FBModule##ClassName##ShadingElement( );                     \
        FBModule##ClassName##ShadingElement( );

FBLibraryRegisterShadingElement Declare the module's registration functions for shading element classes.

Parameters:
ClassName Class to declare registration functions for.

Definition at line 1173 of file fbcomponent.h.

#define FBLibraryDeclareEnd
Value:
}                                                                               \
                break;                                                                  \
        default:                                \
        break;                                  \
        }                                                                                       \
}

Finish library declaration.

Definition at line 1178 of file fbcomponent.h.

#define FBCustomManagerImplementation (   ThisComponent )    FBClassImplementation( ThisComponent ) \

FBCustomManagerImplementation.

Parameters:
ThisComponent Component to customize

Definition at line 1191 of file fbcomponent.h.

#define FBRegisterCustomManager (   ClassName )
Value:
FBLibraryModule( ClassName )                        \
    {                                                   \
        static ClassName g##ClassName;                  \
        g##ClassName.FBCreate();                        \
        g##ClassName.RegisterManager();                 \
    }                                                   \

FBRegisterCustomManager.

Parameters:
ClassName Class to declare registration functions for.

Definition at line 1197 of file fbcomponent.h.

#define FBCustomManagerDeclare (   ClassName )
Value:
FBClassDeclare( ClassName, FBCustomManager );           \
    public:                                             \
    ClassName() : FBCustomManager() { FBClassInit; }    \             \
    private:

FBRegisterCustomDeclare.

Parameters:
ClassName Class to declare registration functions for.

Definition at line 1208 of file fbcomponent.h.


Typedef Documentation

typedef FBArrayTemplate<FBComponent*> FBComponentList;

Definition at line 305 of file fbcomponent.h.

typedef HIRegister HISender

HISender.

Definition at line 371 of file fbcomponent.h.

typedef HKEventBase HKEvent

HKEvent.

Definition at line 373 of file fbcomponent.h.

typedef void(ICallback::* FBCallback)(HISender pSender, HKEvent pEvent)

FBCallback.

Parameters:
pSender Set the sender
pEvent Set the event

Definition at line 378 of file fbcomponent.h.

Equivalent to FBComponent for gradual transition.

Definition at line 877 of file fbcomponent.h.


Enumeration Type Documentation

Available flags for any component.

Enumerator:
kFBFlagSelectable 

Can be selected.

kFBFlagDeletable 

Can be deleted.

kFBFlagSavable 

Can be saved.

kFBFlagVisible 

Can be visible.

kFBFlagClonable 

Can be cloned.

kFBFlagSystem 

Created from System (not from user)

kFBFlagNewable 

Deleted on File->New.

kFBFlagRenamable 

Can be renamed.

kFBFlagMergeable 

Can be merged.

kFBFlagBrowsable 

Visible in the Scene Navigator/Schematic View/Property View/Model View.

kFBFlagParentable 

Object (model) can be "parented".

Used by the apply manager contextual menu.

kFBFlagDetachable 

Object can be "detached".

Used by the apply manager contextual menu.

kFBFlagUndoable 

Object can undo its actions and states, in a global Undo Stack.

kFBFlagUndoableSeparately 

Object which has kFlagUndoableSeparately flag turned on will have a separate Undo Stack.

kFBFlagKeyable 

Object can Key his property.

(System Camera can't)

kFBFlagAllocated 

Object is allocated, so it must call 'delete this' on destroy.

kFBFlagStory 

Object created/used by the Story tool.

Useful flag for filtering Story objects.

kFBFlagStorable6 

System/Obsolete.

kFBFlagStorableData6 

System/Obsolete.

kFBFlagStorableBlindData 

Used in FBX SDK native IO.

kFBFlagStorableBlindDataForceBinary 
kFBFlagUniqueName 

< Used in FBX SDK native IO, force bindary format for the bindary data.

Object unique name can be added to the unique name list (at first, only RootNode have this flag)

kFBFlagNotSelectableNameSpace 

The entity will not add the namespace of the object to his list of all the namespaces of the scene.

kFBFlagNamespaceEditable 

Allow editting on the namespace objects.

Definition at line 415 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),         
        kFBFlagParentable           = (1 << 10),    
    kFBFlagDetachable           = (1 << 11),    

Available lifetime status for any component.

Enumerator:
kFBStatusCreating 

Object is in creation operations.

kFBStatusStoring 

Object is in storing operations.

kFBStatusRetrieving 

Object is in retrieving operations.

kFBStatusMerging 

Object is in Merging operations.

kFBStatusDestroying 

Object is in destruction operations.

Definition at line 446 of file fbcomponent.h.

                    {

Namespace flags.

Enumerator:
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 458 of file fbcomponent.h.

                    {
        kFBStatusCreating       = (1 << 0),     
        kFBStatusStoring        = (1 << 1),     
        kFBStatusRetrieving     = (1 << 2),     
        kFBStatusMerging        = (1 << 3),     

Function Documentation

K_FORWARD ( IRegister  )
K_FORWARD ( IError  )
K_FORWARD ( IStore  )
K_FORWARD ( IKtView  )
K_FORWARD ( KEventBase  )
K_FORWARD ( KGlobalNamedEvent  )
K_DLLIMPORT int __FBRegisterTypeInfo ( int  pInternalClassId )

__FBRegisterTypeInfo For internal use only, Register the TypeInfo mapped to internal class id.

K_DLLIMPORT int __FBGetInternalClassId ( int  pTypeInfo )

__FBGetInternalClassId For internal use only, Get the internal class Id from the ORSDK FBCompoent's TypeInfo.

K_DLLIMPORT FBPlug* __FBObjectCreatorSub ( HIObject  pObject )

__FBObjectCreatorSub For internal use only, Create the FBPlug object from internal object.

K_DLLIMPORT void __FBAddModelToScene ( HIObject  pObject )

For internal usage only.

K_DLLIMPORT void __FBRemoveModelFromScene ( HIObject  pObject )

For internal usage only.

K_DLLIMPORT 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.

Parameters:
Object Internal object for which the FBComponent is required.
Returns:
Handle to FBComponent belonging to Object.
K_DLLIMPORT FBVisualComponent* FBGetFBVisualComponent ( HIKtView  pObject,
bool  pAutoCreate = true 
)

Get the FBComponent from an Internal Object.

Parameters:
pObject Object to get SDK object for.
pAutoCreate Create object if it doesn't exist? (default is true)
Returns:
FBComponent for pObject.
K_DLLIMPORT FBComponent* FBGetFBComponent ( HIObject  pObject,
bool  pAutoCreate = true 
)

Get the FBComponent from an Internal Object.

Parameters:
pObject Object to get SDK object for.
pAutoCreate Create object if it doesn't exist? (default is true)
Returns:
FBComponent for pObject.
K_DLLIMPORT FBPlug* FBGetFBPlug ( HIObject  pObject,
bool  pAutoCreate = true 
)

Get the FBPlug from an Internal Object.

Parameters:
pObject Object to get SDK object for.
pAutoCreate Create object if it doesn't exist? (default is true)
Returns:
FBComponent for pObject.
K_DLLIMPORT FBArrayTemplate<FBComponent*>& FBGetComponentArray ( )
K_DLLIMPORT void FBSetStoreableCustomModelRegistered ( )
K_DLLIMPORT bool FBGetStoreableCustomModelRegistered ( )
K_DLLIMPORT void FBSetStoreableCustomMaterialRegistered ( )
K_DLLIMPORT bool FBGetStoreableCustomMaterialRegistered ( )
K_DLLIMPORT void FBSetStoreableCustomTextureRegistered ( )
K_DLLIMPORT bool FBGetStoreableCustomTextureRegistered ( )
K_DLLIMPORT bool FBObject_Register ( const char *  pGroupName,
const char *  pEntryName,
const char *  pDescription,
kObjectCreatorFnc  pCreatorFnc,
bool  pIsMultipleAllowed,
const char *  pIconFilename 
)
K_DLLIMPORT bool FBObject_Unregister ( const char *  pGroupName,
const char *  pEntryName,
int  nth = 0 
)
K_DLLIMPORT FBComponent* FBCreateObject ( const char *  pGroupName,
const char *  pEntryName,
const char *  pName,
void *  pData = NULL,
int  nth = 0 
)

FBCreateObject.

Parameters:
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 ( const char *  pGroupName,
const char *  pEntryName,
int  nth = 0 
) [inline]

FBUnregisterObject.

Parameters:
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 363 of file fbcomponent.h.

{ return FBObject_Unregister( pGroupName,pEntryName,nth ); }
K_DLLIMPORT int FBRegister_ClassId ( const char *  pClassName )
FB_DEFINE_LIST ( K_DLLIMPORT  ,
Component   
)
FB_DEFINE_COMPONENT ( K_DLLIMPORT  ,
Folder   
)
FB_DEFINE_ENUM ( K_DLLIMPORT  ,
ConnectionType   
)
FB_DEFINE_ENUM ( K_DLLIMPORT  ,
ConnectionAction   
)
FB_DEFINE_ENUM ( K_DLLIMPORT  ,
ObjectFlag   
)
__FB_FORWARD ( FBEvent  )

Variable Documentation

K_DEPRECATED_2014 const int kFBFlagCustomObject = (1 << 24)

User custom class instances (Internal usage only, to be removed in the future).

Definition at line 443 of file fbcomponent.h.

K_DEPRECATED_2014 const int kFBStatusOwnedByUndo = (1 << 5)
Deprecated:
Use FBPlugStatusFlag's kFBOwnedByUndo on FBPlug instead.

Definition at line 455 of file fbcomponent.h.

Go to the source code of this file.