45 #include <kaydaradef.h>
50 #define FBSDK_DLL K_DLLIMPORT
60 #include <fbsdk/fbevaluateinfo.h>
61 #if !defined(K_NO_CONSTRUCTION_HISTORY)
66 #if !defined(K_NO_AUDIO)
70 #if !defined(K_NO_VIDEO)
74 #if !defined(K_NO_DECK)
78 #if !defined(K_NO_ASSETMNG)
82 #if !defined(K_NO_MANIPULATOR)
86 #ifdef FBSDKUseNamespace
87 namespace FBSDKNamespace {;
90 #if !defined(K_NO_CHARACTER)
198 #if !defined(K_NO_CONSTRUCTION_HISTORY)
206 #if !defined(K_NO_AUDIO)
211 #if !defined(K_NO_VIDEO)
225 #if !defined(K_NO_ASSETMNG)
229 #if !defined(K_NO_MANIPULATOR)
506 FBPropertyFileMonitoringType
Type;
645 kFBCRITICAL_TRACE = 1,
646 kFBNORMAL_TRACE = 10,
748 virtual void FileVisited(
const char* pSrc)
const;
749 virtual void DirectoryVisited(
const char* pSrc)
const;
750 bool DoIt(
const char* pSrcPath,
bool pRecursive )
const;
807 #ifdef FBSDKUseNamespace
A character is the link between a motion source and a character model.
MotionBuilder SDK base class.
High priority critical section class.
FBCriticalSection()
Constructor.
void Enter()
Enter section.
~FBCriticalSection()
Destructor.
void Leave()
Leave section.
bool Init()
Initialize critical section operations.
static FBString Map(FBString pPath)
Iterates through all the mapped directories.
static int GetCount()
Returns the number of items in the map.
static FBString GetTarget(int pIndex)
Returns the target directory for the element at specified index.
static FBString GetSource(int pIndex)
Returns the source directory for the element at specified index.
static void Add(FBString pSourceDir, FBString pTargetDir)
Adds an entry in the map.
static void Clear()
Clears the map.
FBPropertyFileMonitoringType Type
Read Only Property: Type of file change event.
FBPropertyString Path
Read Only Property: The path of changed file.
FBEventFileChange(HKEventBase pEvent)
Constructor.
Event: Video Frame offline Rendering Event.
kInt64 GetFrameNumber()
returns the frame number the video renderer is about to render.
kInt64 GetFrameCount()
returns the total number of frames the video renderer is rendering.
FBEventVideoFrameRendering(HKEventBase pEvent)
Constructor.
FBEventVideoFrameRendering::EState GetState()
returns the current state of the video renderer.
EState
video rendering state
@ eRendering
State before video renderer renders each frame.
File Change Monitoring Interface to the file change monitoring.
FBPropertyEvent OnFileChangeMainScene
Event: Main scene file change event.
static FBFileMonitoringManager & TheOne()
Get the global object for this class.
void AddFileToMonitor(FBString pFilePath, FBFileMonitoringType pFileMonitoringType)
Add file to monitor.
FBPropertyEvent OnFileChangeAnimationClip
Event: Animation clip file change event.
FBPropertyEvent OnFileChangeFileReference
Event: File Reference file change event.
void CleanFileMonitoring(bool pIncludePythonEditorScripts=true)
Clean files and directories currently been monitored.
void RemoveFileFromMonitor(FBString pFilePath)
Remove file from monitoring.
void PauseFileMonitoring(bool pPause=true)
Pause file from monitoring, except for Python Editor script files loaded.
FBPropertyEvent OnFileChangePythonEditorScript
Event: Python Editor Script file change event.
FBKeyControl(HIObject pObject=NULL)
Constructor.
void MoveKeys(FBTimeSpan pTimeSpan, FBModel *pPivot, FBVector3d pT, FBVector3d pR, FBVector3d pS, FBTime pTime, FBModelList *pModelList=NULL)
Move animation keys in space, with respect to a pivot object.
FBPropertyBool AutoKey
Read Write Property: Enable/Disable Auto Key feature (key when moving 3D objects).
FBPropertyNewKeyInterpolationType NewKeyInterpolationType
Read Write Property: Current key interpolation type that will be used for new keys.
Point Cache Manager Interface to the point cache manager.
FBPropertyAction SetTransformReference
Action Property: Set the model's current transformation as the reference.
FBPropertyBool CreateMultiChannelCache
Read Write Property: Create a single multiple channel point cache file for all models when true.
FBPropertyBool AlwaysAskForPath
Read Write Property: Always ask for the point cache file save path when true.
FBPropertyListObject Models
Read Write Property: Models to be recorded
FBPropertyBool CacheAABBox
Read Write Property: Cache AABBox (Axis Aligned Bounding Box) when true.
FBPropertyBool ApplyCacheOnNewModel
Read Write Property: Duplicated the cached models, and assoicated the point cache to the new models.
FBPropertyInt SaveEveryFrame
Read Write Property: Recording Frequency.
FBPropertyModel NewModelRoot
Read Write Property: Valid only when ApplyCacheOnNewModel is on. Create New Models under NewModelRoot...
FBPropertyBool CreateFilePerFrameCache
Read Write Property: Create the point cache file for each frame when true.
static FBPointCacheManager & TheOne()
Get the global object for this class.
FBPropertyString DefaultPath
Read Write Property: Default point cache file save path.
FBPropertyBool ApplyGlobalTransform
Read Write Property: Include no-deformable models and the global transform to Vertex Cache when true.
FBPropertyBool AllowCacheResampling
Read Write Property: Allow the resample models's existing point cache deformation when true.
FBPropertyBool CacheNormal
Read Write Property: Cache normal when true.
Property: Action Action property to trigger function.
PropertyEvent: Global ConnectionDataNotify event.
PropertyEvent: Global KeyingNotify event.
PropertyEvent: Global ConnectionNotify event.
PropertyEvent: Global ConnectionStateNotify event.
PropertyEvent: Base event class.
PropertyEvent: UI idle event.
PropertyEvent: Video Frame Rendering Event
PropertyList: Manipulator.
Property class: const char * (String).
Provides access to the underlying system, and the MotionBuilder scene.
static FBString CurrentDirectory()
Get current work directory.
FBPropertyDouble Version
Read Only Property: Application version.
const FBStringList & GetLoadedPluginItemsName() const
Returns a string list containing the names of all the loaded plug-in.
FBPropertyString PathImages
Read Only Property: Path to images.
FBPropertyAssetMng AssetManager
Read Only Property: Current asset manager.
FBPropertyTake CurrentTake
Read Write Property: Current take.
static void * LibraryGetProcAddress(const char *pPath, const char *pFunctionName)
Get the the address of a function in a specified library.
FBPropertyInt PythonVersion
Read Only Property: The Python interpreter version being used. The value is either 27 or 37.
FBPropertyModel SceneRootModel
Read Only Property: Scene root model.
FBPropertyEventVideoFrameRendering OnVideoFrameRendering
Event: A video frame rendering event occurred when the scene is being off-line rendered into video fi...
FBPropertyEventConnectionNotify OnConnectionNotify
Event: A connection event occurred between objects in the system.
FBPropertyBool AreMessageBoxesSuspended
Read Only Property: While true, the system is suspending the messages boxes that would normally be di...
FBPropertyListVideoOut VideoOutputs
List: Available video outputs.
FBPropertyRenderer Renderer
Read Only Property: Default renderer.
const FBStringList & GetPluginPath() const
Returns the plugin paths.
FBPropertyEventConnectionKeyingNotify OnConnectionKeyingNotify
Event: A keying event occurred when objects are being keyed.
FBPropertyBool SuspendMessageBoxes
Read Write Property: While true, all the message boxes, that would normally be displayed,...
FBPropertyListAudioIn AudioInputs
List: Available audio inputs.
const FBStringList & GetCommandLineArgs() const
Returns the command line arguments for SDK.
static bool LibraryFree(const char *pPath)
Free a library (DLL) from memory.
FBPropertyString TempPath
Read Only Property: Temporary path returned by the OS.
FBPropertyListCommPort CommPorts
List: Comm Ports available.
FBPropertyString ApplicationPath
Read Only Property: Location where the application is installed.
const FBStringList & GetLoadedPluginItemInfo(const char *pPluginItemName) const
Returns a string list containing the information of the specified plug-in item's name.
FBPropertyTime LocalTime
Read Only Property: Local time in take.
FBPropertyEventConnectionDataNotify OnConnectionDataNotify
Event: A data event occurred between objects in the system.
FBPropertyListManipulator Manipulators
List: of manipulators.
FBPropertyEventConnectionStateNotify OnConnectionStateNotify
Event: A state change event occurred between objects in the system.
FBPropertyDouble ProcessMemoryPeak
Read Only Property: The size (MB) of process's peak memory.
static FBSystem & TheOne()
Get the global FBSystem object.
FBPropertyString BuildVersion
Read Only Property: Unique build version string. The format of the build version information is: Majo...
static FBString MakeFullPath(const char *pRelativeFilePath)
Return the full path.
FBPropertyVector2d DesktopSize
Read Only Property: The width and height of the desktop.
FBPropertyString BuildId
Read Only Property: Unique build Id string.
FBPropertyEventUIIdle OnUIIdle
Event: User-interface idle event. Useful callback for less frequent GUI refresh and etc....
FBPropertyListAudioOut AudioOutputs
List: Available audio outputs.
FBPropertyDouble FrameRate
Read Only Property: The frame rate of the viewer.
FBPropertyBool FullScreenViewer
Read Write Property: Indicates that the viewer is in full screen mode.
FBPropertyListVideoIn VideoInputs
List: Available video inputs.
FBPropertyString PathMeshs
Read Only Property: Path to meshes
const FBStringList & GetLoadedPluginItemGroups(const char *pPluginItemName) const
Returns a string list containing the groups list in which the specified plug-in item's name belongs t...
static bool LibraryLoad(const char *pPath)
Load a library (DLL) into memory.
FBPropertyTime SystemTime
Read Only Property: System time.
FBPropertyString ComputerName
Read Only Property: Computer name.
FBPropertyDouble ProcessMemory
Read Only Property: The size (MB) of process's working set memory.
const FBStringList & GetPythonStartupPath() const
Returns the python startup path.
@ ePluginItemDescription
Plug-in item's description.
@ ePluginItemFileName
Plug-in item's filename.
FBPropertyModel RootModel
Read Only Property: Root model.
FBPropertyScene Scene
Read Only Property: Scene.
FBPropertyConstructionHistory ConstructionHistory
Read Only Property: Construction History.
Trigger engine management.
int GetGroupCount()
Get the number of groups.
char * GetGroupName(int pIndex)
Get the name of a trigger group.
void SetGroupActive(int pIndex, bool pState)
Disable or enable a trigger group.
FBTriggerManager()
Constructor.
FBPropertyBool Active
Read Write Property: Active status of engine.
bool GetGroupActive(int pIndex)
Get the active status of a trigger group.
Loop over directory content.
Declaration for the FBAssetMng class.
Audio interface for FBSDK.
class K_DLLIMPORT FBArrayTemplate< FBModel * > FBModelList
typedef class FBSDK_DLL FBArrayTemplate<FBModel*> FBModelList;
#define __FBClassDeclare(Name, Parent)
For internal use only.
FB_DEFINE_COMPONENT(K_DLLIMPORT, AnimationNode)
Animation node class.
Contains abstract deck class to interface with a deck.
Hardware input and output interfaces.
Create new manipulators using the FBManipulator class.
class K_DLLIMPORT FBPropertyBase< int, kFBPT_int > FBPropertyInt
Property: int
class K_DLLIMPORT FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
class K_DLLIMPORT FBPropertyBase< FBTime, kFBPT_Time > FBPropertyTime
Property: FBTime
class K_DLLIMPORT FBPropertyBase< FBVector2d, kFBPT_Vector2D > FBPropertyVector2d
FBPropertyVector2d type definition.
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
class K_DLLIMPORT FBPropertyBase< double, kFBPT_double > FBPropertyDouble
Property: double
Declaration for the classes FBShaderManager, FBShader, FBPropertyListShader and other subclasses.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
FBFileMonitoringType
File Monitoring Type.
@ kFBFileMonitoring_FILEREFERENCE
File Reference change monitoring.
@ kFBFileMonitoring_InvalidIndex
Invalid value.
@ kFBFileMonitoring_ANIMATIONCLIP
Animation clip change monitoring.
@ kFBFileMonitoring_PYTHONEDITORSCRIPT
Python Editor Script change monitoring.
@ kFBFileMonitoring_MAINSCENE
Main Scene change monitoring.
FBNewKeyInterpolationType
Key Interpolation Type to use when creating new keys.
@ kFBNewKeyInterpolation_Smooth
Smooth interpolation type.
@ kFBNewKeyInterpolation_SplineClamp
Spline Clamp interpolation type.
@ kFBNewKeyInterpolation_Linear
Linear interpolation type.
@ kFBNewKeyInterpolation_TCB
TCB interpolation type.
@ kFBNewKeyInterpolation_None
Invalid interpolation type, could be returned by the system if it is in an uninitialized state....
@ kFBNewKeyInterpolation_Fixed
Fixed interpolation type.
@ kFBNewKeyInterpolation_Custom1
Custom 1 interpolation type.
@ kFBNewKeyInterpolation_Spline
Spline interpolation type.
@ kFBNewKeyInterpolation_Auto
Auto interpolation type.
@ kFBNewKeyInterpolation_Custom0
Custom 0 interpolation type.
@ kFBNewKeyInterpolation_SmoothClamp
Smooth Clamp interpolation type.
@ kFBNewKeyInterpolation_Custom2
Custom 2 interpolation type.
@ kFBNewKeyInterpolation_Step
Step interpolation type.
K_DLLIMPORT void FBMakeFullPath(FBString &pFullPath, const char *pRootPath, const char *pFilePath)
FBeval.
K_DLLIMPORT void FBSleep(kULong MilliSeconds)
Sleep function Puts system to sleep for specified time.
FB_FORWARD(FBDirMap)
FBDirMap: Allows to map a directory to another directory.
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
class K_DLLIMPORT FBVector3< double > FBVector3d
3D vector.
FBVideo and derivative classes.
K_DLLIMPORT bool FBRegisterTraceStubFct(FBTraceStubFct pFct)
Register custom trace stub function.
K_DLLIMPORT void FBTrace(const char *pFormatString,...)
This function prints useful debugging strings in the console with kFBNORMAL_TRACE output detailed lev...
void(* FBTraceStubFct)(unsigned int pLevel, const char *pStr)
Trace Stub Function type define.
K_DLLIMPORT void FBTraceWithLevel(unsigned int pLevel, const char *pFormatString,...)
This function prints useful debugging strings in the console.
K_DLLIMPORT bool FBUnRegisterTraceStubFct(FBTraceStubFct pFct)
Unregister custom trace stub function.
K_DLLIMPORT unsigned int FBTraceGetLevel()
Get Global Trace Detailed Level which affects all the output targets.
K_DLLIMPORT void FBTraceSetLevel(unsigned int pNewLevel)
Set Global Trace Detailed Level which affects all the output targets.
K_DLLIMPORT void FBObjectLifeLogEnable(bool pEnable)
Enable object creation / deletion logging.
K_DLLIMPORT unsigned int FBObjectGetGlobalUniqueId()
Get the global static object unique ID counter.
K_DLLIMPORT void FBObjectPrintLivings(unsigned int pStartUniqueId)
Print those living objects created when logging is enabled.
K_DLLIMPORT unsigned int FBObjectGetLivingCount()
Get current total living object count.
Video Grabbing Options structure.