44#include <kaydaradef.h>
49#define FBSDK_DLL K_DLLIMPORT
60#include <fbsdk/fbcamera.h>
61#include <fbsdk/fblight.h>
66#include <fbsdk/fbnamespace.h>
69#if !defined(K_NO_CHARACTER)
76#if !defined(K_NO_DECK)
80#if !defined(K_NO_AUDIO)
84#if !defined(K_NO_MANIPULATOR)
88#if !defined(K_NO_NOTE)
92#if !defined(K_NO_POSE)
96#if !defined(K_NO_STORY)
100#if !defined(K_NO_PROJECTSETTINGS)
101#include <fbsdk/fbprojectsettings.h>
104#ifndef FBSDK_LEAN_AND_MEAN
105#include <fbsdk/fbuserobject.h>
109#if !defined(K_NO_OPTICAL)
114#ifdef FBSDKUseNamespace
115namespace FBSDKNamespace {;
183 FBPropertySceneChangeType
Type;
195 kFBTakeChangeRemoved,
198 kFBTakeChangeRenamed,
199 kFBTakeChangeUpdated,
437 bool NamespaceImport(
const char* pNamespace,
const char* pFilePath,
bool pAsFileReference =
false );
454 bool NamespaceExport(
const char* pNamespace,
const char* pFilePath,
bool pASCIIFormat =
false);
506#if !defined(K_NO_NAMESPACE_UPGRADE)
534#if !defined(K_NO_AUDIO)
537#if !defined(K_NO_VIDEO)
543#if !defined(K_NO_FOLDER)
547#if !defined(K_NO_NOTE)
551#if !defined(K_NO_POSE)
556#if !defined(K_NO_ACTOR)
561#if !defined(K_NO_CHARACTER)
575#if !defined(K_NO_PROJECTSETTINGS)
607#ifndef __FB_COMPONENT_SCENE
608#define __FB_COMPONENT_SCENE
613#ifdef FBSDKUseNamespace
Template class to contain an array of items.
MotionBuilder SDK base class.
Select model event class.
FBPropertyComponent Component
Read Only Property: Modified component
FBPropertyComponent ChildComponent
Read Only Property: Child component of the event.
FBEventSceneChange(HKEventBase pEvent)
Constructor.
FBPropertySceneChangeType Type
Read Only Property: Type of selection event.
FBEventTakeChange(HKEventBase pEvent)
Constructor.
FBPropertyTakeChangeType Type
Read Only Property: Type of take change event.
FBPropertyTake Take
Read Only Property: The take modified.
Objects Containing class.
Objects Containing class.
static int TypeInfo
TypeInfo.
PropertyEvent: Base event class.
PropertyList: Actor face.
Character extension property list.
PropertyList: Character face.
PropertyList: CharacterMarkerSet.
PropertyList: CharacterPose.
PropertyList: Concrete class for PropertyList of component
PropertyList: Constraint solver
PropertyList: KeyingGroup.
PropertyList: ModelOptical.
PropertyList: ModelSkeleton.
PropertyList: ObjectPose.
PropertyList: Physical properties
virtual void RemoveAt(int pIndex)
Remove the scene at pIndex from list.
virtual FBScene * operator[](int pIndex)
Get the Scene at pIndex.
virtual int Add(FBScene *pItem)
Add a scene to the list.
virtual int GetCount()
Get the Scene count.
PropertyList: UserObject.
Property class: const char * (String).
Access to the MotionBuilder scene.
FBPropertyEvent OnTakeChange
Event: Something related to a take has happened.(FBEventTakeChange)
FBPropertyString FilePath
Read Write Property: File path of the scene.
int CleanEmptyRelationConstraints()
Remove all empty relation constraints present in the scene.
FBPropertyListHUD HUDs
Read Only Property: Heads Up Displays in the scene.
int CleanUnusedTextures()
Remove all unused textures present in the scene.
FBPropertyListVideoClip VideoClips
List: Video clips in scene.
FBPropertyListControlSet ControlSets
List: Control set rigs in scene.
bool Evaluate()
Evaluate the scene.
FBPropertyListCharacter Characters
List: Characters in scene.
int CleanUnusedVideoClips()
Remove all unused video clips present in the scene.
int CleanUnusedMaterials()
Remove all unused materials present in the scene.
FBPropertyListActor Actors
List: Actors in scene.
FBPropertyListNamespace Namespaces
List: Namespace (include FileReference) available in the scene
FBPropertyListMaterial Materials
List: Materials for scene.
bool NamespaceImport(const char *pNamespace, const char *pFilePath, bool pAsFileReference=false)
Import file into Namespace (or as file reference)
FBPropertyListConstraint Constraints
List: Constraints in scene.
FBPropertyListNote Notes
List: Notes in scene.
int CleanRelationConstraintsUnusedBoxes()
Remove all unused boxes in relations constraints present in the scene.
virtual void FBDelete() override
Virtual FBDelete function.
bool CandidateEvaluationAndResolve()
Resolving the Candidate.
bool NamespaceDeleteContent(const char *pNamespace, FBPlugModificationFlag pModificationFlags=kFBPlugAllContent, bool pRecursive=true, int pTypeInfo=FBPlug::TypeInfo, bool pExactTypeMatch=false)
Delete the namespace content.
bool NamespaceExport(const char *pNamespace, const char *pFilePath, bool pASCIIFormat=false)
Export scene content within namespace to file.
FBPropertyRenderer Renderer
Read Only Property: Local renderer.
int NamespaceGetChildrenList(FBStringList &pNamespaceList, const char *pNamespace=NULL, bool pRecursive=true)
Get list of children namespaces in the given namespace.
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.
int CleanUnusedAudioClips()
Remove all unused audio clips present in the scene.
FBPropertyListUserObject UserObjects
List: User objects
FBPropertyListPhysicalProperties PhysicalProperties
List: PhysicalProperties present in the scene.
int CleanEmptySets()
Remove all empty sets present in the scene.
void GetScriptsPaths(FBStringList &pPathList)
Get paths of all the python scripts object in the scene.
FBPropertyListMotionClip MotionClips
List: Motion clips in scene.
FBPropertyListFileReference FileReferences
List: FileReference available in the scene.
int CleanEmptyGroups()
Remove all empty groups present in the scene.
FBPropertyListTake Takes
List: Takes for scene.
bool NamespaceEmpty(const char *pNamespace)
Query if namespace is empty.
bool NamespaceImportToMultiple(const FBStringList &pDstNamespaceList, const char *pFilePath, bool pAsFileReference=false)
Import file into multiple Namespaces (or as file references)
FBPropertyListPose Poses
List: Poses in scene.
FBPropertyListLight Lights
List: Lights in scene.
bool NamespaceRename(const char *pNameSpace, const char *pNewNamespace, bool pRecursive=true, int pTypeInfo=FBPlug::TypeInfo, bool pExactTypeMatch=false)
Rename the namespace.
bool EvaluateDeformations()
Evaluate the deformations of the scene.
FBPropertyListComponent Components
List: Generic List of components.
FBPropertyListCharacterPose CharacterPoses
List: Character poses in scene.
FBPropertyListActorFace ActorFaces
List: ActorFaces in scene.
FBPropertyListShader Shaders
List: Shaders for scene.
bool NamespaceUpgradeToFileReference(const char *pNamespace, const char *pFilePath, bool pASCIIFormat=false)
Upgrade Namespace to FileReference and save the referenced file to disk.
FBPropertyListFolder Folders
List: Folders in scene.
FBPropertyListCamera Cameras
List: Cameras in scene.
FBPropertyListMarkerSet MarkerSets
List: Marker sets in scene.
FBPropertyListKeyingGroup KeyingGroups
Read Write Property: Keying Groups in the scene.
FBPropertyListGroup Groups
List: Groups available in the scene.
FBPropertyListHandle Handles
List: Handles present in the scene.
FBPropertyListDevice Devices
List: Devices for scene.
void Clear()
Clears the elements part of the scene.
FBNamespace * NamespaceGet(const char *pNamespace)
Get Namespace object.
bool NamespaceExist(const char *pNamespace)
Query if namespace exists.
FBPropertyListCharacterExtension CharacterExtensions
List: Character extensions available in the scene.
FBPropertyListTexture Textures
List: Textures for scene.
int CleanInactiveConstraints()
Remove all inactive constraints present in the scene.
bool NamespaceDowngradeFromFileReference(const char *pNamespace)
Downgrade FileReference to namespace (won't touch the original referenced file)
FBPropertyListObjectPose ObjectPoses
List: ObjectPoses in scene.
FBPropertyListCharacterFace CharacterFaces
List: Character faces in scene.
FBPropertyListConstraintSolver ConstraintSolvers
List: Constraint Solvers present in the scene.
bool NamespaceDelete(const char *pNamespace)
Delete the namespace & all its content.
FBScene(HIObject pObject)
Constructor.
FBPropertyModel RootModel
Read Only Property: Scene Root model for that scene
FBPropertyProjectSettings ProjectSettings
Read Only Property: Local project settings
FBPropertyListSet Sets
List: Sets available in the scene.
FBPropertyListCharacterMarkerSet CharacterMarkerSets
List: Character marker sets in scene.
FBPropertyEvent OnChange
Event: Something in the scene has happened.(FBEventSceneChange)
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.
bool NamespaceCleanup()
Remove all empty namespaces.
FBPropertyListDeformer Deformers
List: Deformers for scene.
FBFileReference * NamespaceGetOwnerFileReference(const char *pNamespace)
Get Owner FileReference object if the namespace is originated from File Reference.
FBPropertyListModelOptical ModelOpticals
Read Write Property: Optical Data in the scene.
FBPropertyListModelSkeleton ModelSkeletons
Read Write Property: Bones (Skeletons) in the scene.
int CleanUnusedShaders()
Remove all unused shaders present in the scene.
FBPropertyListAudioClip AudioClips
List: Audio clips in scene.
Audio interface for FBSDK.
Contains definitions for actors, characters, and marker sets In Development.
Character extension interface for FBSDK.
Contains definitions for actor faces and character faces In Development.
Contains definitions for object poses.
Declaration for the FBCommand class.
#define __FBClassDeclare(Name, Parent)
For internal use only.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
Contains definitions for devices, boxes and models.
Contains abstract deck class to interface with a deck.
FileReference interface for FBSDK.
Folders interface for FBSDK.
Groups interface for FBSDK.
Create new manipulators using the FBManipulator class.
Motion interface for FBSDK.
Contains definitions for object poses.
Generic optical motion capture device interface.
@ kFBPlugAllContent
None Modified.
class K_DLLIMPORT FBPropertyBaseComponent< FBComponent * > FBPropertyComponent
Property: FBPropertyBaseComponent(FBComponent*)
#define FB_DEFINE_LIST(DllTag, Type)
Define a component list.
#define FB_DEFINE_COMPONENT(DllTag, Type)
Define a component and give it the ability to be a property.
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
FBSceneChangeType
Types of model selection events.
@ kFBSceneChangeSoftSelect
Soft selection.
@ kFBSceneChangeSelect
Object selection.
@ kFBSceneChangeSoftUnselect
Soft deselection.
@ kFBSceneChangeRenamedPrefix
After object rename prefix.
@ kFBSceneChangeChangeName
Object change name.
@ kFBSceneChangeFocus
Object have focus.
@ kFBSceneChangeRenamedUnique
After object rename unique.
@ kFBSceneChangeLoadBegin
Begin loading file.
@ kFBSceneChangeDestroy
Object destroyed.
@ kFBSceneChangeClearBegin
Begin clearing file (file new)
@ kFBSceneChangeDetach
Object detached.
@ kFBSceneChangeMergeTransactionBegin
Begin merge transaction.
@ kFBSceneChangeReordered
Object reordered.
@ kFBSceneChangeReSelect
Re-selection.
@ kFBSceneChangeActivate
Activate.
@ kFBSceneChangeRename
Before object rename.
@ kFBSceneChangeAddChild
Child added.
@ kFBSceneChangeRenameUniquePrefix
Before object rename unique prefix.
@ kFBSceneChangeRenamedUniquePrefix
After object rename unique prefix.
@ kFBSceneChangeAttach
Object attached.
@ kFBSceneChangePreParent
Before object parenting.
@ kFBSceneChangeClearEnd
End clearing file (file new)
@ kFBSceneChangeDeactivate
Deactivate.
@ kFBSceneChangeTransactionBegin
Begin transaction.
@ kFBSceneChangeMergeTransactionEnd
End merge transaction.
@ kFBSceneChangeLoadEnd
End loading file.
@ kFBSceneChangeHardSelect
Hard selection.
@ kFBSceneChangeTransactionEnd
End transaction.
@ kFBSceneChangeRenamePrefix
Before object rename prefix.
@ kFBSceneChangeReorder
Object reorder.
@ kFBSceneChangeChangedName
Object changed name.
@ kFBSceneChangeNone
Unknown event.
@ kFBSceneChangeRemoveChild
Child removed.
@ kFBSceneChangePreUnparent
Before object unparenting.
@ kFBSceneChangeChangedParent
Object changed parent.
@ kFBSceneChangeUnselect
Object deselection.
@ kFBSceneChangeRenameUnique
Before object rename unique.
@ kFBSceneChangeRenamed
After object rename.
FBTakeChangeType
Types of take change events.
Declaration for the classes FBShaderManager, FBShader, FBPropertyListShader and other subclasses.
#define FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
FBVideo and derivative classes.