Public Member Functions | Public Attributes

FBScene Class Reference

This reference page is linked to from the following overview topics: MotionBuilder 2013, Your First Python Program, Naming Conventions, FBSystem - The System Class, Scene Elements, FBScene - The Scene Class, FBModel - Transformation Data and the Scene Graph.


Search for all occurrences

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

See also the C++ code sample in toolscene.

Definition at line 276 of file fbscene.h.

#include <fbscene.h>

Inheritance diagram for FBScene:
Inheritance graph
[legend]

List of all members.

Public Member Functions

  FBScene (HIObject pObject)
  Constructor.
virtual void  FBDelete ()
  Virtual FBDelete function.
void  Clear ()
  Clears the elements part of the scene.
bool  Evaluate ()
  Evaluate the scene.
bool  CandidateEvaluationAndResolve ()
  Resolving the Candidate.
bool  EvaluateDeformations ()
  Evaluate the deformations of the scene.
Namespace Management
int  NamespaceGetChildrenList (FBStringList &pNamespaceList, const char *pNamespace=NULL, bool pRecursive=true)
  Get list of children namespaces in the given namespace.
HFBNamespace  NamespaceGet (const char *pNamespace)
  Get Namespace object.
bool  NamespaceExist (const char *pNamespace)
  Query if namespace exists.
bool  NamespaceEmpty (const char *pNamespace)
  Query if namespace is empty.
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.
void  NamespaceSelectContent (const char *pNamespace, bool pSelect, FBPlugModificationFlag pModificationFlags=kFBPlugAllContent, bool pRecursive=true, int pTypeInfo=FBPlug::TypeInfo, bool pExactTypeMatch=false)
  Select the namespace content.
bool  NamespaceRename (const char *pNameSpace, const char *pNewNamespace, bool pRecursive=true, int pTypeInfo=FBPlug::TypeInfo, bool pExactTypeMatch=false)
  Rename the namespace.
bool  NamespaceDelete (const char *pNamespace)
  Delete the namespace & all its content.
bool  NamespaceDeleteContent (const char *pNamespace, FBPlugModificationFlag pModificationFlags=kFBPlugAllContent, bool pRecursive=true, int pTypeInfo=FBPlug::TypeInfo, bool pExactTypeMatch=false)
  Delete the namespace content.
bool  NamespaceImport (const char *pNamespace, const char *pFilePath)
  Import file into Namespace.
bool  NamespaceImportToMultiple (const FBStringList &pDstNamespaceList, const char *pFilePath)
  Import file into multiple Namespaces.
bool  NamespaceExport (const char *pNamespace, const char *pFilePath, bool pASCIIFormat=false)
  Export scene content within namespace to file.

Public Attributes

FBPropertyListTake  Takes
  List: Takes for scene.
FBPropertyModel  RootModel
  Read Only Property: Scene Root model for that scene
FBPropertyListCamera  Cameras
  List: Cameras in scene.
FBPropertyListMaterial  Materials
  List: Materials for scene.
FBPropertyListTexture  Textures
  List: Textures for scene.
FBPropertyListShader  Shaders
  List: Shaders for scene.
FBPropertyListDeformer  Deformers
  List: Deformers for scene.
FBPropertyListDevice  Devices
  List: Devices for scene.
FBPropertyListConstraint  Constraints
  List: Constraints in scene.
FBPropertyListLight  Lights
  List: Lights in scene.
FBPropertyListAudioClip  AudioClips
  List: Audio clips in scene.
FBPropertyListVideoClip  VideoClips
  List: Video clips in scene.
FBPropertyListMotionClip  MotionClips
  List: Motion clips in scene.
FBPropertyListFolder  Folders
  List: Folders in scene.
FBPropertyListNote  Notes
  List: Notes in scene.
FBPropertyListPose  Poses
  List: Poses in scene.
FBPropertyListObjectPose  ObjectPoses
  List: ObjectPoses in scene.
FBPropertyListActor  Actors
  List: Actors in scene.
FBPropertyListActorFace  ActorFaces
  List: ActorFaces in scene.
FBPropertyListMarkerSet  MarkerSets
  List: Marker sets in scene.
FBPropertyListControlSet  ControlSets
  List: Control set rigs in scene.
FBPropertyListCharacter  Characters
  List: Characters in scene.
FBPropertyListCharacterFace  CharacterFaces
  List: Character faces in scene.
FBPropertyListCharacterPose  CharacterPoses
  List: Character poses in scene.
FBPropertyListCharacterExtension  CharacterExtensions
  List: Character extensions available in the scene.
FBPropertyListUserObject  UserObjects
  List: User objects
FBPropertyProjectSettings  ProjectSettings
  Read Only Property: Local project settings
FBPropertyRenderer  Renderer
  Read Only Property: Local renderer.
FBPropertyListComponent  Components
  List: Generic List of components.
FBPropertyListGroup  Groups
  List: Groups available in the scene.
FBPropertyListSet  Sets
  List: Sets available in the scene.
FBPropertyListNamespace  Namespaces
  List: Namespace available in the scene
FBPropertyListHandle  Handles
  List: Handles present in the scene.
FBPropertyListHUD  HUDs
  Read Only Property: Heads Up Displays in the scene.
FBPropertyListConstraintSolver  ConstraintSolvers
  List: Constraint Solvers present in the scene.
FBPropertyListPhysicalProperties  PhysicalProperties
  List: PhysicalProperties present in the scene.
FBPropertyString  FilePath
  Read Write Property: File path of the scene.
FBPropertyEvent  OnChange
  Event: Something in the scene has happened.
FBPropertyEvent  OnTakeChange
  Event: Something related to a take has happened.

Constructor & Destructor Documentation

FBScene ( HIObject  pObject )

Constructor.

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

Parameters:
pObject Internal parent object.

Member Function Documentation

virtual void FBDelete ( ) [virtual]

Virtual FBDelete function.

Reimplemented from FBComponent.

void Clear ( )

Clears the elements part of the scene.

Not those that belong to all the scenes.

bool Evaluate ( )

Evaluate the scene.

Returns:
true if successful.
bool CandidateEvaluationAndResolve ( )

Resolving the Candidate.

Returns:
true if successful.
bool EvaluateDeformations ( )

Evaluate the deformations of the scene.

Returns:
true if successful.
int NamespaceGetChildrenList ( FBStringList pNamespaceList,
const char *  pNamespace = NULL,
bool  pRecursive = true 
)

Get list of children namespaces in the given namespace.

Parameters:
pNamespaceList the list of namespace to return.
pNamespace specify the parent namespace, NULL mean for the whole scene.
pRecursive True only work on the direct children level namespace, otherwise will work on the whole children namespace hierarchy recursively.
Returns:
the list of children namespaces.
HFBNamespace NamespaceGet ( const char *  pNamespace )

Get Namespace object.

Parameters:
pNamespace the namespace to query
Returns:
Namespace with exact name matching
bool NamespaceExist ( const char *  pNamespace )

Query if namespace exists.

Parameters:
pNamespace the namespace to query
Returns:
True if the namespace exist, otherwise return False.
bool NamespaceEmpty ( const char *  pNamespace )

Query if namespace is empty.

Parameters:
pNamespace the namespace to query
Returns:
True if the namespace (don't include nested children namespace) is empty
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:
pContentList the list of content to return.
pNamespace the namespace to work on
pModificationFlags bitwise combination of kFBConnectionSrcObjectModified, kFBConnectionDstObjectModified, kFBConnectionSrcPropertyModified, kFBConnectionDstPropertyModified flags. kFBPlugAllContent means all the content.
pRecursive True only work on the direct children level namespace, otherwise will work on the whole children namespace hierarchy recursively.
pTypeInfo the typeInfo of the type of interested object, 0 for all the objects.
pExactTypeMatch if True, the derived typeInfo won't be considered (For example, FBCamera won't be considered when passing FBModel::TypeInfo).
void NamespaceSelectContent ( const char *  pNamespace,
bool  pSelect,
FBPlugModificationFlag  pModificationFlags = kFBPlugAllContent,
bool  pRecursive = true,
int  pTypeInfo = FBPlug::TypeInfo,
bool  pExactTypeMatch = false 
)

Select the namespace content.

Parameters:
pNamespace the namespace to work on
pSelect True (or False) indicate to select (or unselect)
pModificationFlags bitwise combination of kFBConnectionSrcObjectModified, kFBConnectionDstObjectModified, kFBConnectionSrcPropertyModified, kFBConnectionDstPropertyModified flags. kFBPlugAllContent means all the content.
pRecursive True only work on the direct children level namespace, otherwise will work on the children namespace hierarchy recursively.
pTypeInfo the typeInfo of the type of interested object, default for all the objects.
pExactTypeMatch if True, the derived typeInfo won't be considered (For example, FBCamera won't be considered when passing FBModel::TypeInfo).
bool NamespaceRename ( const char *  pNameSpace,
const char *  pNewNamespace,
bool  pRecursive = true,
int  pTypeInfo = FBPlug::TypeInfo,
bool  pExactTypeMatch = false 
)

Rename the namespace.

Parameters:
pNamespace the namespace to work on
pNewNamespace the new namespace
pRecursive True only work on the direct children level namespace, otherwise will work on the children namespace hierarchy recursively.
pTypeInfo the typeInfo of the type of interested object, default for all the objects.
pExactTypeMatch if 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
bool NamespaceDelete ( const char *  pNamespace )

Delete the namespace & all its content.

Parameters:
pNamespace the namespace to work on
Returns:
True if operation successfully, False is this namespace doesn't exist, or is locked
bool NamespaceDeleteContent ( const char *  pNamespace,
FBPlugModificationFlag  pModificationFlags = kFBPlugAllContent,
bool  pRecursive = true,
int  pTypeInfo = FBPlug::TypeInfo,
bool  pExactTypeMatch = false 
)

Delete the namespace content.

Parameters:
pNamespace the namespace to work on
pModificationFlags bitwise combination of kFBConnectionSrcObjectModified, kFBConnectionDstObjectModified, kFBConnectionSrcPropertyModified, kFBConnectionDstPropertyModified flags. kFBPlugAllContent means all the content.
pRecursive True only work on the direct children level namespace, otherwise will work on the children namespace hierarchy recursively.
pTypeInfo the typeInfo of the type of interested object, default for all the objects.
pExactTypeMatch if 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 is locked
bool NamespaceImport ( const char *  pNamespace,
const char *  pFilePath 
)

Import file into Namespace.

Parameters:
pNamespace the namespace to import to, must be in editable scope.
pFilePath the referenced file path to import.
Returns:
True if successfully.
bool NamespaceImportToMultiple ( const FBStringList pDstNamespaceList,
const char *  pFilePath 
)

Import file into multiple Namespaces.

Parameters:
pDstNamespaceList the Dst namespaces list to import, must not exist or be self contained.
pFilePath the referenced file path to import.
Returns:
True if successfully.
bool NamespaceExport ( const char *  pNamespace,
const char *  pFilePath,
bool  pASCIIFormat = false 
)

Export scene content within namespace to file.

Parameters:
pNamespace the namespace to use, must exist
pFilePath the referenced file path to export.
pASCIIFormat save the file in ASCII format.
Returns:
True if successfully.

Member Data Documentation

List: Takes for scene.

Definition at line 415 of file fbscene.h.

FBPropertyModel RootModel

Read Only Property: Scene Root model for that scene

Definition at line 416 of file fbscene.h.

List: Cameras in scene.

Definition at line 417 of file fbscene.h.

List: Materials for scene.

Definition at line 418 of file fbscene.h.

List: Textures for scene.

Definition at line 419 of file fbscene.h.

List: Shaders for scene.

Definition at line 420 of file fbscene.h.

List: Deformers for scene.

Definition at line 421 of file fbscene.h.

List: Devices for scene.

Definition at line 422 of file fbscene.h.

List: Constraints in scene.

Definition at line 423 of file fbscene.h.

List: Lights in scene.

Definition at line 425 of file fbscene.h.

List: Audio clips in scene.

Definition at line 427 of file fbscene.h.

List: Video clips in scene.

Definition at line 430 of file fbscene.h.

List: Motion clips in scene.

Definition at line 433 of file fbscene.h.

List: Folders in scene.

Definition at line 436 of file fbscene.h.

List: Notes in scene.

Definition at line 440 of file fbscene.h.

List: Poses in scene.

Definition at line 444 of file fbscene.h.

List: ObjectPoses in scene.

Definition at line 445 of file fbscene.h.

List: Actors in scene.

Definition at line 449 of file fbscene.h.

List: ActorFaces in scene.

Definition at line 450 of file fbscene.h.

List: Marker sets in scene.

Definition at line 454 of file fbscene.h.

List: Control set rigs in scene.

Definition at line 455 of file fbscene.h.

List: Characters in scene.

Definition at line 456 of file fbscene.h.

List: Character faces in scene.

Definition at line 457 of file fbscene.h.

List: Character poses in scene.

Definition at line 458 of file fbscene.h.

List: Character extensions available in the scene.

Definition at line 459 of file fbscene.h.

List: User objects

Definition at line 463 of file fbscene.h.

FBPropertyProjectSettings ProjectSettings

Read Only Property: Local project settings

Definition at line 467 of file fbscene.h.

FBPropertyRenderer Renderer

Read Only Property: Local renderer.

Definition at line 470 of file fbscene.h.

List: Generic List of components.

Reimplemented from FBComponent.

Definition at line 471 of file fbscene.h.

List: Groups available in the scene.

Definition at line 472 of file fbscene.h.

List: Sets available in the scene.

Definition at line 473 of file fbscene.h.

List: Namespace available in the scene

Definition at line 474 of file fbscene.h.

List: Handles present in the scene.

Definition at line 477 of file fbscene.h.

Read Only Property: Heads Up Displays in the scene.

Definition at line 480 of file fbscene.h.

List: Constraint Solvers present in the scene.

Definition at line 483 of file fbscene.h.

List: PhysicalProperties present in the scene.

Definition at line 484 of file fbscene.h.

Read Write Property: File path of the scene.

Definition at line 486 of file fbscene.h.

Event: Something in the scene has happened.

(FBEventSceneChange)

Definition at line 488 of file fbscene.h.

Event: Something related to a take has happened.

(FBEventTakeChange)

Definition at line 489 of file fbscene.h.


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

FBScene FBScene FBScene FBScene FBScene FBScene FBScene FBScene FBScene FBScene
FBScene FBScene FBScene FBScene FBScene FBScene FBScene FBScene FBScene FBScene