Open Reality Reference Guide
FBScene Class Reference

Access to the MotionBuilder scene. More...

#include <fbscene.h>

Inheritance diagram for FBScene:

Public Member Functions

 FBScene (HIObject pObject)
 Constructor. More...
 
virtual void FBDelete () override
 Virtual FBDelete function. More...
 
void Clear ()
 Clears the elements part of the scene. More...
 
bool Evaluate ()
 Evaluate the scene. More...
 
bool CandidateEvaluationAndResolve ()
 Resolving the Candidate. More...
 
bool EvaluateDeformations ()
 Evaluate the deformations of the scene. More...
 
void GetScriptsPaths (FBStringList &pPathList)
 Get paths of all the python scripts object in the scene. More...
 
- Public Member Functions inherited from FBComponent
 FBComponent (HIObject pObject)
 Constructor. More...
 
virtual ~FBComponent ()
 Destructor. More...
 
virtual bool FBCreate ()
 Open Reality Creation function. More...
 
virtual void FBDestroy ()
 Open Reality destruction 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 *)
 

Namespace Management.

FBPropertyListTake Takes
 List: Takes for scene. More...
 
FBPropertyModel RootModel
 Read Only Property: Scene Root model for that scene More...
 
FBPropertyListCamera Cameras
 List: Cameras in scene. More...
 
FBPropertyListMaterial Materials
 List: Materials for scene. More...
 
FBPropertyListTexture Textures
 List: Textures for scene. More...
 
FBPropertyListShader Shaders
 List: Shaders for scene. More...
 
FBPropertyListDeformer Deformers
 List: Deformers for scene. More...
 
FBPropertyListDevice Devices
 List: Devices for scene. More...
 
FBPropertyListConstraint Constraints
 List: Constraints in scene. More...
 
FBPropertyListLight Lights
 List: Lights in scene. More...
 
FBPropertyListAudioClip AudioClips
 List: Audio clips in scene. More...
 
FBPropertyListVideoClip VideoClips
 List: Video clips in scene. More...
 
FBPropertyListMotionClip MotionClips
 List: Motion clips in scene. More...
 
FBPropertyListFolder Folders
 List: Folders in scene. More...
 
FBPropertyListNote Notes
 List: Notes in scene. More...
 
FBPropertyListPose Poses
 List: Poses in scene. More...
 
FBPropertyListObjectPose ObjectPoses
 List: ObjectPoses in scene. More...
 
FBPropertyListActor Actors
 List: Actors in scene. More...
 
FBPropertyListActorFace ActorFaces
 List: ActorFaces in scene. More...
 
FBPropertyListMarkerSet MarkerSets
 List: Marker sets in scene. More...
 
FBPropertyListCharacterMarkerSet CharacterMarkerSets
 List: Character marker sets in scene. More...
 
FBPropertyListControlSet ControlSets
 List: Control set rigs in scene. More...
 
FBPropertyListCharacter Characters
 List: Characters in scene. More...
 
FBPropertyListCharacterFace CharacterFaces
 List: Character faces in scene. More...
 
FBPropertyListCharacterPose CharacterPoses
 List: Character poses in scene. More...
 
FBPropertyListCharacterExtension CharacterExtensions
 List: Character extensions available in the scene. More...
 
FBPropertyListUserObject UserObjects
 List: User objects More...
 
FBPropertyProjectSettings ProjectSettings
 Read Only Property: Local project settings More...
 
FBPropertyRenderer Renderer
 Read Only Property: Local renderer. More...
 
FBPropertyListComponent Components
 List: Generic List of components. More...
 
FBPropertyListGroup Groups
 List: Groups available in the scene. More...
 
FBPropertyListSet Sets
 List: Sets available in the scene. More...
 
FBPropertyListNamespace Namespaces
 List: Namespace (include FileReference) available in the scene More...
 
FBPropertyListFileReference FileReferences
 List: FileReference available in the scene. More...
 
FBPropertyListHandle Handles
 List: Handles present in the scene. More...
 
FBPropertyListHUD HUDs
 Read Only Property: Heads Up Displays in the scene. More...
 
FBPropertyListConstraintSolver ConstraintSolvers
 List: Constraint Solvers present in the scene. More...
 
FBPropertyListPhysicalProperties PhysicalProperties
 List: PhysicalProperties present in the scene. More...
 
FBPropertyString FilePath
 Read Write Property: File path of the scene. More...
 
FBPropertyListKeyingGroup KeyingGroups
 Read Write Property: Keying Groups in the scene. More...
 
FBPropertyListModelSkeleton ModelSkeletons
 Read Write Property: Bones (Skeletons) in the scene. More...
 
FBPropertyListModelOptical ModelOpticals
 Read Write Property: Optical Data in the scene. More...
 
FBPropertyEvent OnChange
 Event: Something in the scene has happened.(FBEventSceneChange) More...
 
FBPropertyEvent OnTakeChange
 Event: Something related to a take has happened.(FBEventTakeChange) More...
 
int NamespaceGetChildrenList (FBStringList &pNamespaceList, const char *pNamespace=NULL, bool pRecursive=true)
 Get list of children namespaces in the given namespace. More...
 
FBFileReferenceNamespaceGetOwnerFileReference (const char *pNamespace)
 Get Owner FileReference object if the namespace is originated from File Reference. More...
 
FBNamespaceNamespaceGet (const char *pNamespace)
 Get Namespace object. More...
 
bool NamespaceExist (const char *pNamespace)
 Query if namespace exists. More...
 
bool NamespaceEmpty (const char *pNamespace)
 Query if namespace is empty. More...
 
void NamespaceGetContentList (FBComponentList &pContentList, const char *pNamespace, FBPlugModificationFlag pModificationFlags=kFBPlugAllContent, bool pRecursive=true, int pTypeInfo=FBPlug::TypeInfo, bool pExactTypeMatch=false)
 Get List of the namespace content. More...
 
void NamespaceSelectContent (const char *pNamespace, bool pSelect, FBPlugModificationFlag pModificationFlags=kFBPlugAllContent, bool pRecursive=true, int pTypeInfo=FBPlug::TypeInfo, bool pExactTypeMatch=false)
 Select (or de-select) the namespace content. More...
 
bool NamespaceRename (const char *pNameSpace, const char *pNewNamespace, bool pRecursive=true, int pTypeInfo=FBPlug::TypeInfo, bool pExactTypeMatch=false)
 Rename the namespace. More...
 
bool NamespaceDelete (const char *pNamespace)
 Delete the namespace & all its content. More...
 
bool NamespaceCleanup ()
 Remove all empty namespaces. More...
 
bool NamespaceDeleteContent (const char *pNamespace, FBPlugModificationFlag pModificationFlags=kFBPlugAllContent, bool pRecursive=true, int pTypeInfo=FBPlug::TypeInfo, bool pExactTypeMatch=false)
 Delete the namespace content. More...
 
bool NamespaceImport (const char *pNamespace, const char *pFilePath, bool pAsFileReference=false)
 Import file into Namespace (or as file reference) More...
 
bool NamespaceImportToMultiple (const FBStringList &pDstNamespaceList, const char *pFilePath, bool pAsFileReference=false)
 Import file into multiple Namespaces (or as file references) More...
 
bool NamespaceExport (const char *pNamespace, const char *pFilePath, bool pASCIIFormat=false)
 Export scene content within namespace to file. More...
 
int CleanEmptyGroups ()
 Remove all empty groups present in the scene. More...
 
int CleanEmptySets ()
 Remove all empty sets present in the scene. More...
 
int CleanUnusedMaterials ()
 Remove all unused materials present in the scene. More...
 
int CleanUnusedTextures ()
 Remove all unused textures present in the scene. More...
 
int CleanUnusedShaders ()
 Remove all unused shaders present in the scene. More...
 
int CleanUnusedVideoClips ()
 Remove all unused video clips present in the scene. More...
 
int CleanUnusedAudioClips ()
 Remove all unused audio clips present in the scene. More...
 
int CleanInactiveConstraints ()
 Remove all inactive constraints present in the scene. More...
 
int CleanRelationConstraintsUnusedBoxes ()
 Remove all unused boxes in relations constraints present in the scene. More...
 
int CleanEmptyRelationConstraints ()
 Remove all empty relation constraints present in the scene. More...
 
bool NamespaceUpgradeToFileReference (const char *pNamespace, const char *pFilePath, bool pASCIIFormat=false)
 Upgrade Namespace to FileReference and save the referenced file to disk. More...
 
bool NamespaceDowngradeFromFileReference (const char *pNamespace)
 Downgrade FileReference to namespace (won't touch the original referenced file) More...
 

Additional Inherited Members

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

Access to the MotionBuilder scene.

In MotionBuilder, the scene is the environment where your models exist. The scene contains models which you can import, select, transform, copy, tweak, and animate.

The FBScene object is obtained from the scene attribute of FBSystem.

The FBScene class contains many attributes that you can use to access objects, e.g cameras, characters, lights, and takes, essentially everything you see in the Navigator in the UI. A project can only contain one scene, and if you try to create an instance of a scene you will get an error, so you must access the scene by getting a handle through FBSystem.

myScene = FBSystem().Scene
Provides access to the underlying system, and the MotionBuilder scene.
Definition: fbsystem.h:157
FBPropertyScene Scene
Read Only Property: Scene.
Definition: fbsystem.h:197

See also the C++ code sample in toolscene.

Definition at line 281 of file fbscene.h.

Constructor & Destructor Documentation

◆ FBScene()

FBScene ( HIObject  pObject)

Constructor.

Client code cannot instantiate objects of this class. The FBSystem class provides access to the current scene object.

Parameters
pObjectInternal parent object.

Member Function Documentation

◆ CandidateEvaluationAndResolve()

bool CandidateEvaluationAndResolve ( )

Resolving the Candidate.

Returns
true if successful.

◆ CleanEmptyGroups()

int CleanEmptyGroups ( )

Remove all empty groups present in the scene.

Returns
The number of empty groups removed.

◆ CleanEmptyRelationConstraints()

int CleanEmptyRelationConstraints ( )

Remove all empty relation constraints present in the scene.

Returns
The number of empty relation constraints removed.

◆ CleanEmptySets()

int CleanEmptySets ( )

Remove all empty sets present in the scene.

Returns
The number of empty sets removed.

◆ CleanInactiveConstraints()

int CleanInactiveConstraints ( )

Remove all inactive constraints present in the scene.

Returns
The number of inactive constraints removed.

◆ CleanRelationConstraintsUnusedBoxes()

int CleanRelationConstraintsUnusedBoxes ( )

Remove all unused boxes in relations constraints present in the scene.

Returns
The number of unused boxes in relations constraints removed.

◆ CleanUnusedAudioClips()

int CleanUnusedAudioClips ( )

Remove all unused audio clips present in the scene.

Returns
The number of unused audio clips removed.

◆ CleanUnusedMaterials()

int CleanUnusedMaterials ( )

Remove all unused materials present in the scene.

Returns
The number of unused material removed.

◆ CleanUnusedShaders()

int CleanUnusedShaders ( )

Remove all unused shaders present in the scene.

Returns
The number of unused shaders removed.

◆ CleanUnusedTextures()

int CleanUnusedTextures ( )

Remove all unused textures present in the scene.

Returns
The number of unused textures removed.

◆ CleanUnusedVideoClips()

int CleanUnusedVideoClips ( )

Remove all unused video clips present in the scene.

Returns
The number of unused video clips removed.

◆ Clear()

void Clear ( )

Clears the elements part of the scene.

Not those that belong to all the scenes.

◆ Evaluate()

bool Evaluate ( )

Evaluate the scene.

Note
MoBu's is highly optimized for real-time performance, due to its multi-thread, double buffer and lazy-evaluation architecture, complex scripts are often required to call FBScene::Evaluate() to commit previous scene change commands before execute following operations. Also, certain operations in SDK may require cached data to be reevaluated. In typical large scenes this call may be consider as very costly. That's why user is responsible to design code in the way that requires as little as possible calls to FBScene::Evaluate. We should consider use FBScene::Evaluate() between scene change commands as "common scripting practice
Returns
true if successful.

◆ EvaluateDeformations()

bool EvaluateDeformations ( )

Evaluate the deformations of the scene.

Returns
true if successful.

◆ FBDelete()

virtual void FBDelete ( )
overridevirtual

Virtual FBDelete function.

Reimplemented from FBComponent.

◆ GetScriptsPaths()

void GetScriptsPaths ( FBStringList pPathList)

Get paths of all the python scripts object in the scene.

Parameters
pPathListOut parameter, to collect the path of python scripts.

◆ NamespaceCleanup()

bool NamespaceCleanup ( )

Remove all empty namespaces.

During some namespace operations, empty namespace may left over, while this is not harmful but could be annoying. Save the scene and load it back those empty namespaces will disappear. And this function also allow user to remove all empty namespaces from the scene easily via SDK.

Returns
True if operation successfully.

◆ NamespaceDelete()

bool NamespaceDelete ( const char *  pNamespace)

Delete the namespace & all its content.

Parameters
pNamespacethe namespace to work on
Returns
True if operation successfully, False is this namespace doesn't exist, or is locked (by FileReferencing or etc.,)

◆ NamespaceDeleteContent()

bool NamespaceDeleteContent ( const char *  pNamespace,
FBPlugModificationFlag  pModificationFlags = kFBPlugAllContent,
bool  pRecursive = true,
int  pTypeInfo = FBPlug::TypeInfo,
bool  pExactTypeMatch = false 
)

Delete the namespace content.

Parameters
pNamespacethe namespace to work on
pModificationFlagsbitwise combination of kFBConnectionSrcObjectModified, kFBConnectionDstObjectModified, kFBConnectionSrcPropertyModified, kFBConnectionDstPropertyModified flags. kFBPlugAllContent means all the content. Modification flags beside kFBPlugAllContent will only work on FileReference Namespace.
pRecursiveTrue only work on the direct children level namespace, otherwise will work on the children namespace hierarchy recursively.
pTypeInfothe typeInfo of the type of interested object, default for all the objects.
pExactTypeMatchif True, the derived typeInfo won't be considered (For example, FBCamera won't be considered when passing FBModel::TypeInfo).
Returns
False is the given namespace doesn't exist, or is locked (by FileRef or etc.,), True otherwise.
Note
Not all the objects will be deletable (system objects and etc.,). Deletion of partial FileRef content isn't prevented, however the behavior is undefined.

◆ NamespaceDowngradeFromFileReference()

bool NamespaceDowngradeFromFileReference ( const char *  pNamespace)

Downgrade FileReference to namespace (won't touch the original referenced file)

Parameters
pNamespacethe FileReference's namespace to use, must exist
Returns
True if downgrade successfully.

◆ NamespaceEmpty()

bool NamespaceEmpty ( const char *  pNamespace)

Query if namespace is empty.

Parameters
pNamespacethe namespace to query, NULL for whole scene.
Returns
True if the namespace (don't include nested children namespace) is empty

◆ NamespaceExist()

bool NamespaceExist ( const char *  pNamespace)

Query if namespace exists.

Parameters
pNamespacethe namespace to query
Returns
True if the namespace exist, otherwise return False.

◆ NamespaceExport()

bool NamespaceExport ( const char *  pNamespace,
const char *  pFilePath,
bool  pASCIIFormat = false 
)

Export scene content within namespace to file.

Parameters
pNamespacethe namespace to use, must exist
pFilePaththe referenced file path to export.
pASCIIFormatsave the file in ASCII format.
Returns
True if successfully.

◆ NamespaceGet()

FBNamespace* NamespaceGet ( const char *  pNamespace)

Get Namespace object.

Parameters
pNamespacethe namespace to query
Returns
Namespace with exact name matching

◆ NamespaceGetChildrenList()

int NamespaceGetChildrenList ( FBStringList pNamespaceList,
const char *  pNamespace = NULL,
bool  pRecursive = true 
)

Get list of children namespaces in the given namespace.

Parameters
pNamespaceListthe list of namespace to return.
pNamespacespecify the parent namespace, NULL for the whole scene.
pRecursiveTrue only work on the direct children level namespace, otherwise will work on the whole children namespace hierarchy recursively.
Returns
the list of children namespaces.

◆ NamespaceGetContentList()

void NamespaceGetContentList ( FBComponentList pContentList,
const char *  pNamespace,
FBPlugModificationFlag  pModificationFlags = kFBPlugAllContent,
bool  pRecursive = true,
int  pTypeInfo = FBPlug::TypeInfo,
bool  pExactTypeMatch = false 
)

Get List of the namespace content.

Parameters
pContentListthe list of content to return.
pNamespacethe namespace to work on, NULL for whole scene.
pModificationFlagsbitwise combination of kFBConnectionSrcObjectModified, kFBConnectionDstObjectModified, kFBConnectionSrcPropertyModified, kFBConnectionDstPropertyModified flags. kFBPlugAllContent means all the content. Modification flags beside kFBPlugAllContent will only work on FileReference Namespace.
pRecursiveTrue only work on the direct children level namespace, otherwise will work on the whole children namespace hierarchy recursively.
pTypeInfothe typeInfo of the type of interested object, 0 for all the objects.
pExactTypeMatchif True, the derived typeInfo won't be considered (For example, FBCamera won't be considered when passing FBModel::TypeInfo).

◆ NamespaceGetOwnerFileReference()

FBFileReference* NamespaceGetOwnerFileReference ( const char *  pNamespace)

Get Owner FileReference object if the namespace is originated from File Reference.

Parameters
pNamespacethe namespace to work on, could be nested namespace inside the FileReference's namespace.
Returns
the FileReference object is the namespace is originated from. NULL otherwise.

◆ NamespaceImport()

bool NamespaceImport ( const char *  pNamespace,
const char *  pFilePath,
bool  pAsFileReference = false 
)

Import file into Namespace (or as file reference)

Parameters
pNamespacethe namespace to import to, must be in editable scope.
pFilePaththe referenced file path to import.
pAsFileReferenceimport the file as file reference. The default value is false.
Returns
True if successfully.

◆ NamespaceImportToMultiple()

bool NamespaceImportToMultiple ( const FBStringList pDstNamespaceList,
const char *  pFilePath,
bool  pAsFileReference = false 
)

Import file into multiple Namespaces (or as file references)

Parameters
pDstNamespaceListthe Dst namespaces list to import, must not exist or be self contained.
pFilePaththe referenced file path to import.
pAsFileReferenceimport the file as file reference. The default value is false.
Returns
True if successfully.
Note
Nested destination namespaces are not allowed (e.g. a DstNamespaceList contains "NS1" and "NS1:NS2" will return False).

◆ NamespaceRename()

bool NamespaceRename ( const char *  pNameSpace,
const char *  pNewNamespace,
bool  pRecursive = true,
int  pTypeInfo = FBPlug::TypeInfo,
bool  pExactTypeMatch = false 
)

Rename the namespace.

Parameters
pNameSpacethe namespace to work on, NULL for whole scene.
pNewNamespacethe new namespace
pRecursiveTrue only work on the direct children level namespace, otherwise will work on the children namespace hierarchy recursively.
pTypeInfothe typeInfo of the type of interested object, default for all the objects.
pExactTypeMatchif True, the derived typeInfo won't be considered (For example, FBCamera won't be considered when passing FBModel::TypeInfo).
Returns
True if operation successfully, False is this namespace (or pTypeInfo type of objects) doesn't exist, or locked (by FileReferencing or etc.,)
Note
call with default parameters is considered as renaming of the whole namespace structure, otherwise will be considered as partially renaming individual objects. Renaming permission will be validated accordingly.

◆ NamespaceSelectContent()

void NamespaceSelectContent ( const char *  pNamespace,
bool  pSelect,
FBPlugModificationFlag  pModificationFlags = kFBPlugAllContent,
bool  pRecursive = true,
int  pTypeInfo = FBPlug::TypeInfo,
bool  pExactTypeMatch = false 
)

Select (or de-select) the namespace content.

Parameters
pNamespacethe namespace to work on, NULL for whole scene.
pSelectTrue (or False) indicate to select (or de-select)
pModificationFlagsbitwise combination of kFBConnectionSrcObjectModified, kFBConnectionDstObjectModified, kFBConnectionSrcPropertyModified, kFBConnectionDstPropertyModified flags. kFBPlugAllContent means all the content. Modification flags beside kFBPlugAllContent will only work on FileReference Namespace.
pRecursiveTrue only work on the direct children level namespace, otherwise will work on the children namespace hierarchy recursively.
pTypeInfothe typeInfo of the type of interested object, default for all the objects.
pExactTypeMatchif True, the derived typeInfo won't be considered (For example, FBCamera won't be considered when passing FBModel::TypeInfo).

◆ NamespaceUpgradeToFileReference()

bool NamespaceUpgradeToFileReference ( const char *  pNamespace,
const char *  pFilePath,
bool  pASCIIFormat = false 
)

Upgrade Namespace to FileReference and save the referenced file to disk.

Parameters
pNamespacethe namespace to use, must exist
pFilePaththe reference file path to export.
pASCIIFormatsave reference file as ASCII format if True
Returns
True if upgrade & export successfully.

Member Data Documentation

◆ ActorFaces

List: ActorFaces in scene.

Definition at line 558 of file fbscene.h.

◆ Actors

List: Actors in scene.

Definition at line 557 of file fbscene.h.

◆ AudioClips

List: Audio clips in scene.

Definition at line 535 of file fbscene.h.

◆ Cameras

List: Cameras in scene.

Definition at line 525 of file fbscene.h.

◆ CharacterExtensions

FBPropertyListCharacterExtension CharacterExtensions

List: Character extensions available in the scene.

Definition at line 568 of file fbscene.h.

◆ CharacterFaces

List: Character faces in scene.

Definition at line 566 of file fbscene.h.

◆ CharacterMarkerSets

FBPropertyListCharacterMarkerSet CharacterMarkerSets

List: Character marker sets in scene.

Definition at line 563 of file fbscene.h.

◆ CharacterPoses

List: Character poses in scene.

Definition at line 567 of file fbscene.h.

◆ Characters

List: Characters in scene.

Definition at line 565 of file fbscene.h.

◆ Components

List: Generic List of components.

Definition at line 580 of file fbscene.h.

◆ Constraints

List: Constraints in scene.

Definition at line 531 of file fbscene.h.

◆ ConstraintSolvers

FBPropertyListConstraintSolver ConstraintSolvers

List: Constraint Solvers present in the scene.

Definition at line 593 of file fbscene.h.

◆ ControlSets

List: Control set rigs in scene.

Definition at line 564 of file fbscene.h.

◆ Deformers

List: Deformers for scene.

Definition at line 529 of file fbscene.h.

◆ Devices

List: Devices for scene.

Definition at line 530 of file fbscene.h.

◆ FilePath

FBPropertyString FilePath

Read Write Property: File path of the scene.

Definition at line 596 of file fbscene.h.

◆ FileReferences

List: FileReference available in the scene.

Definition at line 584 of file fbscene.h.

◆ Folders

List: Folders in scene.

Definition at line 544 of file fbscene.h.

◆ Groups

List: Groups available in the scene.

Definition at line 581 of file fbscene.h.

◆ Handles

List: Handles present in the scene.

Definition at line 587 of file fbscene.h.

◆ HUDs

Read Only Property: Heads Up Displays in the scene.

Definition at line 590 of file fbscene.h.

◆ KeyingGroups

Read Write Property: Keying Groups in the scene.

Definition at line 598 of file fbscene.h.

◆ Lights

List: Lights in scene.

Definition at line 533 of file fbscene.h.

◆ MarkerSets

List: Marker sets in scene.

Definition at line 562 of file fbscene.h.

◆ Materials

List: Materials for scene.

Definition at line 526 of file fbscene.h.

◆ ModelOpticals

Read Write Property: Optical Data in the scene.

Definition at line 601 of file fbscene.h.

◆ ModelSkeletons

Read Write Property: Bones (Skeletons) in the scene.

Definition at line 599 of file fbscene.h.

◆ MotionClips

List: Motion clips in scene.

Definition at line 541 of file fbscene.h.

◆ Namespaces

List: Namespace (include FileReference) available in the scene

Definition at line 583 of file fbscene.h.

◆ Notes

List: Notes in scene.

Definition at line 548 of file fbscene.h.

◆ ObjectPoses

List: ObjectPoses in scene.

Definition at line 553 of file fbscene.h.

◆ OnChange

FBPropertyEvent OnChange

Event: Something in the scene has happened.(FBEventSceneChange)

Definition at line 603 of file fbscene.h.

◆ OnTakeChange

FBPropertyEvent OnTakeChange

Event: Something related to a take has happened.(FBEventTakeChange)

Definition at line 604 of file fbscene.h.

◆ PhysicalProperties

List: PhysicalProperties present in the scene.

Definition at line 594 of file fbscene.h.

◆ Poses

List: Poses in scene.

Definition at line 552 of file fbscene.h.

◆ ProjectSettings

FBPropertyProjectSettings ProjectSettings

Read Only Property: Local project settings

Definition at line 576 of file fbscene.h.

◆ Renderer

FBPropertyRenderer Renderer

Read Only Property: Local renderer.

Definition at line 579 of file fbscene.h.

◆ RootModel

FBPropertyModel RootModel

Read Only Property: Scene Root model for that scene

Definition at line 524 of file fbscene.h.

◆ Sets

List: Sets available in the scene.

Definition at line 582 of file fbscene.h.

◆ Shaders

List: Shaders for scene.

Definition at line 528 of file fbscene.h.

◆ Takes

List: Takes for scene.

Definition at line 523 of file fbscene.h.

◆ Textures

List: Textures for scene.

Definition at line 527 of file fbscene.h.

◆ UserObjects

List: User objects

Definition at line 572 of file fbscene.h.

◆ VideoClips

List: Video clips in scene.

Definition at line 538 of file fbscene.h.


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