Open Reality Reference Guide
fbsystem.h
Go to the documentation of this file.
1 #ifndef __FBSYSTEM_H__
2 #define __FBSYSTEM_H__
3 /**************************************************************************
4 Copyright (c) 1994 - 2009 Autodesk, Inc. and/or its licensors.
5 All Rights Reserved.
6 
7 The coded instructions, statements, computer programs, and/or related
8 material (collectively the "Data") in these files contain unpublished
9 information proprietary to Autodesk, Inc. and/or its licensors, which is
10 protected by Canada and United States of America federal copyright law
11 and by international treaties.
12 
13 The Data may not be disclosed or distributed to third parties, in whole
14 or in part, without the prior written consent of Autodesk, Inc.
15 ("Autodesk").
16 
17 THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY.
18 ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED. AUTODESK MAKES NO
19 WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR
20 ARISING BY CUSTOM OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES
21 OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
22 PURPOSE OR USE. WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT
23 WARRANT THAT THE OPERATION OF THE DATA WILL BE UNINTERRUPTED OR ERROR
24 FREE.
25 
26 IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS
27 OR SUPPLIERS ("AUTODESK GROUP") BE LIABLE FOR ANY LOSSES, DAMAGES OR
28 EXPENSES OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR MULTIPLE
29 DAMAGES OR OTHER SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS
30 OF PROFITS, REVENUE OR DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR
31 DAMAGES OF ANY KIND), HOWEVER CAUSED, AND REGARDLESS OF THE THEORY OF
32 LIABILITY, WHETHER DERIVED FROM CONTRACT, TORT (INCLUDING, BUT NOT
33 LIMITED TO, NEGLIGENCE), OR OTHERWISE, ARISING OUT OF OR RELATING TO THE
34 DATA OR ITS USE OR ANY OTHER PERFORMANCE, WHETHER OR NOT AUTODESK HAS
35 BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS OR DAMAGE.
36 
37 **************************************************************************/
38 
45 #include <kaydaradef.h>
46 #ifndef FBSDK_DLL
47 
50 #define FBSDK_DLL K_DLLIMPORT
51 #endif
52 
53 // Essential includes
54 #include <fbsdk/fbcomponent.h>
55 #include <fbsdk/fbdata.h> // FBPropertyListTake
56 
57 #include <fbsdk/fbio.h> // FBPropertyListCommPort
58 #include <fbsdk/fbshader.h>
59 #include <fbsdk/fbmodel.h>
60 #include <fbsdk/fbevaluateinfo.h>
61 #if !defined(K_NO_CONSTRUCTION_HISTORY)
63 #endif
64 
65 // For 'lean version' we don't need the plugin headers.
66 #if !defined(K_NO_AUDIO)
67 #include <fbsdk/fbaudio.h>
68 #endif
69 
70 #if !defined(K_NO_VIDEO)
71 #include <fbsdk/fbvideo.h>
72 #endif
73 
74 #if !defined(K_NO_DECK)
75 #include <fbsdk/fbdeck.h> // FBPropertyListDeck
76 #endif
77 
78 #if !defined(K_NO_ASSETMNG)
79 #include <fbsdk/fbassetmng.h> // FBPropertyAssetMng
80 #endif
81 
82 #if !defined(K_NO_MANIPULATOR)
83 #include <fbsdk/fbmanipulator.h> // FBPropertyListManipulator
84 #endif
85 
86 #ifdef FBSDKUseNamespace
87 namespace FBSDKNamespace {;
88 #endif
89 
90 #if !defined(K_NO_CHARACTER)
92 #endif
93 
94  struct FBVideoGrabOptions;
95 
97  FB_DEFINE_COMPONENT( FBSDK_DLL, Renderer );
98 
101  {
102  public:
106  FBEventVideoFrameRendering( HKEventBase pEvent );
107 
109  typedef enum{
110  eBeginRendering = 1,
112  eEndRendering
113  }EState;
114 
118  kInt64 GetFrameNumber();
119 
123  kInt64 GetFrameCount();
124 
129 
130  private:
131  kInt64 mFrameNumber;
132  kInt64 mFrameCount;
133  EState mState;
134  };
135 
137  // FBSystem
140 
157  class FBSDK_DLL FBSystem : public FBComponent {
159  public:
163 
164  FBPropertyString ConfigPath; // < <b>Read Only Property:</b> Location where the config folder is.
165  FBPropertyString UserConfigPath; // < <b>Read Only Property:</b> Location where the user config folder is.
168 
171 
176 
182 
183 
185 
190 
192 
195  FBPropertyTake CurrentTake;
196 
197  FBPropertyScene Scene;
198 #if !defined(K_NO_CONSTRUCTION_HISTORY)
199  FBPropertyConstructionHistory ConstructionHistory;
200 #endif
201  FBPropertyModel SceneRootModel;
202  FBPropertyModel RootModel;
205 
206 #if !defined(K_NO_AUDIO)
209 #endif
210 
211 #if !defined(K_NO_VIDEO)
214 #endif
215 
217  FBPropertyRenderer Renderer;
218 
224 
225 #if !defined(K_NO_ASSETMNG)
226  FBPropertyAssetMng AssetManager;
227 #endif
228 
229 #if !defined(K_NO_MANIPULATOR)
231 #endif
232 
237  static bool LibraryLoad(const char *pPath);
243  static void* LibraryGetProcAddress(const char *pPath, const char *pFunctionName);
248  static bool LibraryFree(const char *pPath);
249 
254 
259  static FBString MakeFullPath(const char* pRelativeFilePath);
260 
264  static FBSystem& TheOne();
265 
283 
293 
299  const FBStringList& GetPluginPath() const;
300 
302  typedef enum {
305  ePluginItemIconName
306  } EPluginItemInfo;
307 
312 
317  const FBStringList& GetLoadedPluginItemInfo( const char* pPluginItemName ) const;
318 
322  const FBStringList& GetLoadedPluginItemGroups( const char* pPluginItemName ) const;
323  };
324 
325 #ifndef K_NO_TRIGGER
326  // FBTriggerManager
334  {
336  public:
340 
345 
350  char* GetGroupName( int pIndex );
351 
356  bool GetGroupActive( int pIndex );
357 
362  void SetGroupActive( int pIndex, bool pState );
363 
365  };
366 #endif
367 
368 
370  // FBKeyControl
390  };
391  FB_DEFINE_ENUM( FBSDK_DLL, NewKeyInterpolationType );
392 
397  {
399 
400  public:
404  FBKeyControl(HIObject pObject=NULL);
405 
420  void MoveKeys( FBTimeSpan pTimeSpan, FBModel *pPivot, FBVector3d pT, FBVector3d pR, FBVector3d pS, FBTime pTime, FBModelList *pModelList = NULL );
421 
423  FBPropertyNewKeyInterpolationType NewKeyInterpolationType;
424  };
425 
427  // FBPointCacheManager
430 
435  {
437 
442  FBPointCacheManager(HIObject pObject=NULL);
443 
444  public:
446 
449 
451  FBPropertyModel NewModelRoot;
452 
461 
466  };
467 
469  // FBFileMonitoringManager
481  };
482 
483  FB_DEFINE_ENUM( FBSDK_DLL, FileMonitoringType );
484 
486 
491  {
492  public:
493 
497  FBEventFileChange( HKEventBase pEvent );
498 
499  FBPropertyFileMonitoringType Type;
501  };
502 
507  {
509 
514  FBFileMonitoringManager(HIObject pObject=NULL);
515 
516  public:
521  void AddFileToMonitor(FBString pFilePath, FBFileMonitoringType pFileMonitoringType );
522 
527 
531  void PauseFileMonitoring(bool pPause = true);
532 
536  void CleanFileMonitoring(bool pIncludePythonEditorScripts = true);
537 
538  public:
543 
547  };
548 
550  // FBCriticalSection
553 
559  {
560  void *mPtr;
561  public:
564 
567 
571  bool Init();
572 
574  void Enter();
575 
577  void Leave();
578  };
579 
581  // FBFastLock
584 
592  {
593  void *mPtr;
594  public:
597 
600 
602  void Lock();
603 
605  void Unlock();
606  };
607 
608 
610  // Global utility functions
612 
617  FBSDK_DLL void FBSleep( kULong MilliSeconds );
618 
636  {
637  kFBNO_TRACE = 0, //<! Tracing disabled
638  kFBCRITICAL_TRACE = 1, //<! Critical traces
639  kFBNORMAL_TRACE = 10, //<! Descriptive traces
640  kFBALL_TRACE = 20 //<! Default value, all traces.
641  };
642 
648  FBSDK_DLL void FBTraceSetLevel( unsigned int pNewLevel );
649 
654  FBSDK_DLL unsigned int FBTraceGetLevel();
655 
662  FBSDK_DLL void FBTrace( const char* pFormatString, ... );
663 
671  FBSDK_DLL void FBTraceWithLevel( unsigned int pLevel, const char* pFormatString, ... );
672 
674  typedef void (*FBTraceStubFct)(unsigned int pLevel, const char *pStr);
675 
681 
687 
705  FBSDK_DLL void FBObjectLifeLogEnable(bool pEnable);
706 
712 
717  FBSDK_DLL void FBObjectPrintLivings(unsigned int pStartUniqueId);
718 
722 
733  FBSDK_DLL void FBMakeFullPath( FBString &pFullPath, const char *pRootPath, const char *pFilePath );
734 
738  {
739  public:
740  virtual ~FBVisitDirectoryCallback();
741  virtual void FileVisited(const char* pSrc) const;
742  virtual void DirectoryVisited(const char* pSrc) const;
743  bool DoIt( const char* pSrcPath, bool pRecursive ) const;
744  };
745 
761 {
762 public:
763  virtual ~FBDirMap();
773  static void Add(FBString pSourceDir, FBString pTargetDir);
774 
777  static int GetCount();
778 
781  static FBString GetSource(int pIndex);
782 
785  static FBString GetTarget(int pIndex);
786 
789  static void Clear();
790 
797  static FBString Map(FBString pPath);
798 };
799 
800 #ifdef FBSDKUseNamespace
801 }
802 #endif
803 #endif
804 
FBSystem::LibraryLoad
static bool LibraryLoad(const char *pPath)
Load a library (DLL) into memory.
FBNewKeyInterpolationType
FBNewKeyInterpolationType
Key Interpolation Type to use when creating new keys.
Definition: fbsystem.h:376
FBPropertyVector2d
class K_DLLIMPORT FBPropertyBase< FBVector2d, kFBPT_Vector2D > FBPropertyVector2d
FBPropertyVector2d type definition.
Definition: fbproperties.h:1464
FBSystem::OnConnectionKeyingNotify
FBPropertyEventConnectionKeyingNotify OnConnectionKeyingNotify
Event: A keying event occurred when objects are being keyed.
Definition: fbsystem.h:175
FBSystem::ApplicationPath
FBPropertyString ApplicationPath
Read Only Property: Location where the application is installed.
Definition: fbsystem.h:166
FBPointCacheManager::ApplyCacheOnNewModel
FBPropertyBool ApplyCacheOnNewModel
Read Write Property: Duplicated the cached models, and assoicated the point cache to the new models.
Definition: fbsystem.h:450
FBFileMonitoringManager::OnFileChangePythonEditorScript
FBPropertyEvent OnFileChangePythonEditorScript
Event: Python Editor Script file change event.
Definition: fbsystem.h:542
FBPointCacheManager::CacheNormal
FBPropertyBool CacheNormal
Read Write Property: Cache normal when true.
Definition: fbsystem.h:456
FBTraceGetLevel
K_DLLIMPORT unsigned int FBTraceGetLevel()
Get Global Trace Detailed Level which affects all the output targets.
FBEventVideoFrameRendering::eRendering
@ eRendering
State before video renderer renders each frame.
Definition: fbsystem.h:111
kFBNewKeyInterpolation_Linear
@ kFBNewKeyInterpolation_Linear
Linear interpolation type.
Definition: fbsystem.h:381
FBSystem::ComputerName
FBPropertyString ComputerName
Read Only Property: Computer name.
Definition: fbsystem.h:177
FBCriticalSection
High priority critical section class.
Definition: fbsystem.h:559
FBSystem::OnConnectionNotify
FBPropertyEventConnectionNotify OnConnectionNotify
Event: A connection event occurred between objects in the system.
Definition: fbsystem.h:172
FBDirMap::Map
static FBString Map(FBString pPath)
Iterates through all the mapped directories.
FBSystem::GetCommandLineArgs
const FBStringList & GetCommandLineArgs() const
Returns the command line arguments for SDK.
FBObjectPrintLivings
K_DLLIMPORT void FBObjectPrintLivings(unsigned int pStartUniqueId)
Print those living objects created when logging is enabled.
FBSystem::PythonVersion
FBPropertyInt PythonVersion
Read Only Property: The Python interpreter version being used. The value is either 27 or 37.
Definition: fbsystem.h:181
FBPointCacheManager::AllowCacheResampling
FBPropertyBool AllowCacheResampling
Read Write Property: Allow the resample models's existing point cache deformation when true.
Definition: fbsystem.h:453
kFBFileMonitoring_FILEREFERENCE
@ kFBFileMonitoring_FILEREFERENCE
File Reference change monitoring.
Definition: fbsystem.h:479
FB_FORWARD
FB_FORWARD(FBDirMap)
FBDirMap: Allows to map a directory to another directory.
FB_DEFINE_ENUM
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
Definition: fbproperties.h:150
FBTriggerManager::GetGroupCount
int GetGroupCount()
Get the number of groups.
kFBNewKeyInterpolation_None
@ kFBNewKeyInterpolation_None
Invalid interpolation type, could be returned by the system if it is in an uninitialized state....
Definition: fbsystem.h:377
kFBNewKeyInterpolation_Spline
@ kFBNewKeyInterpolation_Spline
Spline interpolation type.
Definition: fbsystem.h:379
FBTraceWithLevel
K_DLLIMPORT void FBTraceWithLevel(unsigned int pLevel, const char *pFormatString,...)
This function prints useful debugging strings in the console.
FBPointCacheManager::NewModelRoot
FBPropertyModel NewModelRoot
Read Write Property: Valid only when ApplyCacheOnNewModel is on. Create New Models under NewModelRoot...
Definition: fbsystem.h:451
FBVisitDirectoryCallback
Loop over directory content.
Definition: fbsystem.h:738
FBObjectGetGlobalUniqueId
K_DLLIMPORT unsigned int FBObjectGetGlobalUniqueId()
Get the global static object unique ID counter.
FBSystem::Manipulators
FBPropertyListManipulator Manipulators
List: of manipulators.
Definition: fbsystem.h:230
FBSystem::SceneRootModel
FBPropertyModel SceneRootModel
Read Only Property: Scene root model.
Definition: fbsystem.h:201
FBPropertyInt
class K_DLLIMPORT FBPropertyBase< int, kFBPT_int > FBPropertyInt
Property: int
Definition: fbproperties.h:1331
FBTimeSpan
TimeSpan class.
Definition: fbtime.h:384
FBFileMonitoringManager::RemoveFileFromMonitor
void RemoveFileFromMonitor(FBString pFilePath)
Remove file from monitoring.
FBSystem::BuildVersion
FBPropertyString BuildVersion
Read Only Property: Unique build version string. The format of the build version information is: Majo...
Definition: fbsystem.h:180
FBPropertyEventConnectionStateNotify
PropertyEvent: Global ConnectionStateNotify event.
Definition: fbproperties.h:605
fbdata.h
Animation data types.
FBFileMonitoringManager::OnFileChangeFileReference
FBPropertyEvent OnFileChangeFileReference
Event: File Reference file change event.
Definition: fbsystem.h:541
FBSystem::CurrentDirectory
static FBString CurrentDirectory()
Get current work directory.
kFBNewKeyInterpolation_Smooth
@ kFBNewKeyInterpolation_Smooth
Smooth interpolation type.
Definition: fbsystem.h:384
FBStringList
String list.
Definition: fbstring.h:208
FBPointCacheManager::TheOne
static FBPointCacheManager & TheOne()
Get the global object for this class.
FBDirMap::GetSource
static FBString GetSource(int pIndex)
Returns the source directory for the element at specified index.
FBEventVideoFrameRendering::GetFrameNumber
kInt64 GetFrameNumber()
returns the frame number the video renderer is about to render.
FBTrace
K_DLLIMPORT void FBTrace(const char *pFormatString,...)
This function prints useful debugging strings in the console with kFBNORMAL_TRACE output detailed lev...
FBSystem::BuildId
FBPropertyString BuildId
Read Only Property: Unique build Id string.
Definition: fbsystem.h:179
FBPropertyEventConnectionKeyingNotify
PropertyEvent: Global KeyingNotify event.
Definition: fbproperties.h:613
FBSystem::DesktopSize
FBPropertyVector2d DesktopSize
Read Only Property: The width and height of the desktop.
Definition: fbsystem.h:222
FBPropertyListAudioIn
List: AudioIn
Definition: fbaudio.h:384
FBSystem::AudioOutputs
FBPropertyListAudioOut AudioOutputs
List: Available audio outputs.
Definition: fbsystem.h:208
FBSystem::GetLoadedPluginItemsName
const FBStringList & GetLoadedPluginItemsName() const
Returns a string list containing the names of all the loaded plug-in.
FBPropertyEventConnectionNotify
PropertyEvent: Global ConnectionNotify event.
Definition: fbproperties.h:589
FBTraceSetLevel
K_DLLIMPORT void FBTraceSetLevel(unsigned int pNewLevel)
Set Global Trace Detailed Level which affects all the output targets.
FBPropertyDouble
class K_DLLIMPORT FBPropertyBase< double, kFBPT_double > FBPropertyDouble
Property: double
Definition: fbproperties.h:1340
FBPointCacheManager::DefaultPath
FBPropertyString DefaultPath
Read Write Property: Default point cache file save path.
Definition: fbsystem.h:455
FBPointCacheManager
Point Cache Manager Interface to the point cache manager.
Definition: fbsystem.h:435
FBEventVideoFrameRendering::EState
EState
video rendering state
Definition: fbsystem.h:109
FBPropertyListVideoIn
PropertyList: VideoIn
Definition: fbvideo.h:511
FBKeyControl::FBKeyControl
FBKeyControl(HIObject pObject=NULL)
Constructor.
FBPointCacheManager::CacheAABBox
FBPropertyBool CacheAABBox
Read Write Property: Cache AABBox (Axis Aligned Bounding Box) when true.
Definition: fbsystem.h:457
fbaudio.h
Audio interface for FBSDK.
kFBNewKeyInterpolation_Step
@ kFBNewKeyInterpolation_Step
Step interpolation type.
Definition: fbsystem.h:382
FBFileMonitoringManager::PauseFileMonitoring
void PauseFileMonitoring(bool pPause=true)
Pause file from monitoring, except for Python Editor script files loaded.
FBSystem::FBSystem
FBSystem()
Constructor.
FBTime
Time data structure.
Definition: fbtime.h:88
FBSystem::TempPath
FBPropertyString TempPath
Read Only Property: Temporary path returned by the OS.
Definition: fbsystem.h:167
FBTraceStubFct
void(* FBTraceStubFct)(unsigned int pLevel, const char *pStr)
Trace Stub Function type define.
Definition: fbsystem.h:674
kFBNewKeyInterpolation_TCB
@ kFBNewKeyInterpolation_TCB
TCB interpolation type.
Definition: fbsystem.h:383
fbvideo.h
FBVideo and derivative classes.
FBSystem::RootModel
FBPropertyModel RootModel
Read Only Property: Root model.
Definition: fbsystem.h:202
kFBNewKeyInterpolation_Custom2
@ kFBNewKeyInterpolation_Custom2
Custom 2 interpolation type.
Definition: fbsystem.h:389
FBTriggerManager::FBTriggerManager
FBTriggerManager()
Constructor.
kFBNewKeyInterpolation_SplineClamp
@ kFBNewKeyInterpolation_SplineClamp
Spline Clamp interpolation type.
Definition: fbsystem.h:380
FBPropertyListVideoOut
PropertyList: VideoOut
Definition: fbvideo.h:526
FBSystem::OnUIIdle
FBPropertyEventUIIdle OnUIIdle
Event: User-interface idle event. Useful callback for less frequent GUI refresh and etc....
Definition: fbsystem.h:169
FBSystem::AreMessageBoxesSuspended
FBPropertyBool AreMessageBoxesSuspended
Read Only Property: While true, the system is suspending the messages boxes that would normally be di...
Definition: fbsystem.h:189
FBKeyControl::AutoKey
FBPropertyBool AutoKey
Read Write Property: Enable/Disable Auto Key feature (key when moving 3D objects).
Definition: fbsystem.h:422
fbmanipulator.h
Create new manipulators using the FBManipulator class.
FBSystem::PathImages
FBPropertyString PathImages
Read Only Property: Path to images.
Definition: fbsystem.h:203
FBSystem
Provides access to the underlying system, and the MotionBuilder scene.
Definition: fbsystem.h:157
FBPropertyListAudioOut
List: AudioOut
Definition: fbaudio.h:396
kFBNewKeyInterpolation_Fixed
@ kFBNewKeyInterpolation_Fixed
Fixed interpolation type.
Definition: fbsystem.h:386
FBSystem::VideoInputs
FBPropertyListVideoIn VideoInputs
List: Available video inputs.
Definition: fbsystem.h:212
FBSystem::Scene
FBPropertyScene Scene
Read Only Property: Scene.
Definition: fbsystem.h:197
kFBNewKeyInterpolation_SmoothClamp
@ kFBNewKeyInterpolation_SmoothClamp
Smooth Clamp interpolation type.
Definition: fbsystem.h:385
FBCharacter
A character is the link between a motion source and a character model.
Definition: fbcharacter.h:1388
FBUnRegisterTraceStubFct
K_DLLIMPORT bool FBUnRegisterTraceStubFct(FBTraceStubFct pFct)
Unregister custom trace stub function.
fbmodel.h
Base class for Cameras.
FBSystem::LocalTime
FBPropertyTime LocalTime
Read Only Property: Local time in take.
Definition: fbsystem.h:194
FBDirMap::Clear
static void Clear()
Clears the map.
FBTriggerManager::GetGroupActive
bool GetGroupActive(int pIndex)
Get the active status of a trigger group.
FBPropertyTime
class K_DLLIMPORT FBPropertyBase< FBTime, kFBPT_Time > FBPropertyTime
Property: FBTime
Definition: fbproperties.h:1346
FBSystem::GetLoadedPluginItemInfo
const FBStringList & GetLoadedPluginItemInfo(const char *pPluginItemName) const
Returns a string list containing the information of the specified plug-in item's name.
FBString
Basic string class.
Definition: fbstring.h:67
__FBClassDeclare
#define __FBClassDeclare(Name, Parent)
For internal use only.
Definition: fbcomponent.h:131
kFBFileMonitoring_InvalidIndex
@ kFBFileMonitoring_InvalidIndex
Invalid value.
Definition: fbsystem.h:476
FBPropertyListManipulator
PropertyList: Manipulator.
Definition: fbmanipulator.h:243
FBDirMap::GetCount
static int GetCount()
Returns the number of items in the map.
FBSystem::VideoOutputs
FBPropertyListVideoOut VideoOutputs
List: Available video outputs.
Definition: fbsystem.h:213
kFBFileMonitoring_PYTHONEDITORSCRIPT
@ kFBFileMonitoring_PYTHONEDITORSCRIPT
Python Editor Script change monitoring.
Definition: fbsystem.h:480
FBSystem::PathMeshs
FBPropertyString PathMeshs
Read Only Property: Path to meshes
Definition: fbsystem.h:204
FBPropertyListObject
List of scene objects.
Definition: fbcomponent.h:556
kFBNewKeyInterpolation_Custom0
@ kFBNewKeyInterpolation_Custom0
Custom 0 interpolation type.
Definition: fbsystem.h:387
__FB_FORWARD
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition: fbtypes.h:68
FBPointCacheManager::CreateMultiChannelCache
FBPropertyBool CreateMultiChannelCache
Read Write Property: Create a single multiple channel point cache file for all models when true.
Definition: fbsystem.h:458
FBEvent
Base Event class.
Definition: fbcomponent.h:940
FBCriticalSection::Enter
void Enter()
Enter section.
FBSystem::LibraryGetProcAddress
static void * LibraryGetProcAddress(const char *pPath, const char *pFunctionName)
Get the the address of a function in a specified library.
FBTriggerManager
Trigger engine management.
Definition: fbsystem.h:334
FBSDK_DLL
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
Definition: fbsystem.h:50
FBFileMonitoringManager::OnFileChangeMainScene
FBPropertyEvent OnFileChangeMainScene
Event: Main scene file change event.
Definition: fbsystem.h:539
FBEventVideoFrameRendering::GetFrameCount
kInt64 GetFrameCount()
returns the total number of frames the video renderer is rendering.
fbconstructionhistory.h
Construction History.
FBCriticalSection::Leave
void Leave()
Leave section.
FBTriggerManager::GetGroupName
char * GetGroupName(int pIndex)
Get the name of a trigger group.
kFBNewKeyInterpolation_Auto
@ kFBNewKeyInterpolation_Auto
Auto interpolation type.
Definition: fbsystem.h:378
FBSleep
K_DLLIMPORT void FBSleep(kULong MilliSeconds)
Sleep function Puts system to sleep for specified time.
FBObjectGetLivingCount
K_DLLIMPORT unsigned int FBObjectGetLivingCount()
Get current total living object count.
FBDirMap
Definition: fbsystem.h:761
FBSystem::LibraryFree
static bool LibraryFree(const char *pPath)
Free a library (DLL) from memory.
kFBFileMonitoring_MAINSCENE
@ kFBFileMonitoring_MAINSCENE
Main Scene change monitoring.
Definition: fbsystem.h:477
fbio.h
Hardware input and output interfaces.
FBTriggerManager::Active
FBPropertyBool Active
Read Write Property: Active status of engine.
Definition: fbsystem.h:364
FBPropertyEvent
PropertyEvent: Base event class.
Definition: fbproperties.h:515
FBModelList
class K_DLLIMPORT FBArrayTemplate< FBModel * > FBModelList
typedef class FBSDK_DLL FBArrayTemplate<FBModel*> FBModelList;
Definition: fbcharacter.h:597
FBEventVideoFrameRendering::FBEventVideoFrameRendering
FBEventVideoFrameRendering(HKEventBase pEvent)
Constructor.
FBFastLock::FBFastLock
FBFastLock()
Constructor.
FBPropertyBool
class K_DLLIMPORT FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
Definition: fbproperties.h:1308
FBFileMonitoringManager
File Change Monitoring Interface to the file change monitoring.
Definition: fbsystem.h:507
FBPropertyListCommPort
PropertyList: CommPort.
Definition: fbio.h:163
FBKeyControl
Key control.
Definition: fbsystem.h:397
fbcomponent.h
Basic class definitions.
FBFastLock::Unlock
void Unlock()
Exit lock.
FBPointCacheManager::AlwaysAskForPath
FBPropertyBool AlwaysAskForPath
Read Write Property: Always ask for the point cache file save path when true.
Definition: fbsystem.h:454
FBObjectLifeLogEnable
K_DLLIMPORT void FBObjectLifeLogEnable(bool pEnable)
Enable object creation / deletion logging.
FBSystem::GetPythonStartupPath
const FBStringList & GetPythonStartupPath() const
Returns the python startup path.
FBSystem::Renderer
FBPropertyRenderer Renderer
Read Only Property: Default renderer.
Definition: fbsystem.h:217
FBEventFileChange::Path
FBPropertyString Path
Read Only Property: The path of changed file.
Definition: fbsystem.h:500
fbdeck.h
Contains abstract deck class to interface with a deck.
FBDirMap::GetTarget
static FBString GetTarget(int pIndex)
Returns the target directory for the element at specified index.
FBKeyControl::MoveKeys
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.
FBPointCacheManager::Models
FBPropertyListObject Models
Read Write Property: Models to be recorded
Definition: fbsystem.h:445
FBTraceLevel
FBTraceLevel
Trace Level.
Definition: fbsystem.h:636
FBFastLock::Lock
void Lock()
Enter lock.
FBMakeFullPath
K_DLLIMPORT void FBMakeFullPath(FBString &pFullPath, const char *pRootPath, const char *pFilePath)
FBeval.
FBPropertyEventVideoFrameRendering
PropertyEvent: Video Frame Rendering Event
Definition: fbproperties.h:581
kFBFileMonitoring_ANIMATIONCLIP
@ kFBFileMonitoring_ANIMATIONCLIP
Animation clip change monitoring.
Definition: fbsystem.h:478
FBPointCacheManager::SetTransformReference
FBPropertyAction SetTransformReference
Action Property: Set the model's current transformation as the reference.
Definition: fbsystem.h:448
FBTriggerManager::SetGroupActive
void SetGroupActive(int pIndex, bool pState)
Disable or enable a trigger group.
FBSystem::ePluginItemDescription
@ ePluginItemDescription
Plug-in item's description.
Definition: fbsystem.h:303
FBSystem::SuspendMessageBoxes
FBPropertyBool SuspendMessageBoxes
Read Write Property: While true, all the message boxes, that would normally be displayed,...
Definition: fbsystem.h:184
FBSystem::ePluginItemFileName
@ ePluginItemFileName
Plug-in item's filename.
Definition: fbsystem.h:304
FBSystem::ConstructionHistory
FBPropertyConstructionHistory ConstructionHistory
Read Only Property: Construction History.
Definition: fbsystem.h:199
FBEventVideoFrameRendering::GetState
FBEventVideoFrameRendering::EState GetState()
returns the current state of the video renderer.
FBEventFileChange::FBEventFileChange
FBEventFileChange(HKEventBase pEvent)
Constructor.
FBPropertyEventConnectionDataNotify
PropertyEvent: Global ConnectionDataNotify event.
Definition: fbproperties.h:597
FBCriticalSection::FBCriticalSection
FBCriticalSection()
Constructor.
FBEventFileChange
File change event class.
Definition: fbsystem.h:491
FBPointCacheManager::CreateFilePerFrameCache
FBPropertyBool CreateFilePerFrameCache
Read Write Property: Create the point cache file for each frame when true.
Definition: fbsystem.h:459
FB_DEFINE_COMPONENT
FB_DEFINE_COMPONENT(K_DLLIMPORT, AnimationNode)
Animation node class.
FBSystem::GetPluginPath
const FBStringList & GetPluginPath() const
Returns the plugin path.
FBFileMonitoringManager::TheOne
static FBFileMonitoringManager & TheOne()
Get the global object for this class.
FBSystem::TheOne
static FBSystem & TheOne()
Get the global FBSystem object.
FBSystem::ProcessMemory
FBPropertyDouble ProcessMemory
Read Only Property: The size (MB) of process's working set memory.
Definition: fbsystem.h:220
FBCriticalSection::Init
bool Init()
Initialize critical section operations.
FBPointCacheManager::ApplyGlobalTransform
FBPropertyBool ApplyGlobalTransform
Read Write Property: Include no-deformable models and the global transform to Vertex Cache when true.
Definition: fbsystem.h:447
FBPointCacheManager::SaveEveryFrame
FBPropertyInt SaveEveryFrame
Read Write Property: Recording Frequency.
Definition: fbsystem.h:460
FBSystem::GetLoadedPluginItemGroups
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...
FBSystem::Version
FBPropertyDouble Version
Read Only Property: Application version.
Definition: fbsystem.h:178
FBSystem::OnConnectionDataNotify
FBPropertyEventConnectionDataNotify OnConnectionDataNotify
Event: A data event occurred between objects in the system.
Definition: fbsystem.h:173
FBEventFileChange::Type
FBPropertyFileMonitoringType Type
Read Only Property: Type of file change event.
Definition: fbsystem.h:499
kFBNewKeyInterpolation_Custom1
@ kFBNewKeyInterpolation_Custom1
Custom 1 interpolation type.
Definition: fbsystem.h:388
fbshader.h
Declaration for the classes FBShaderManager, FBShader, FBPropertyListShader and other subclasses.
FBSystem::SystemTime
FBPropertyTime SystemTime
Read Only Property: System time.
Definition: fbsystem.h:193
FBPropertyString
Property class: const char * (String).
Definition: fbproperties.h:1281
FBFastLock
FBFastLock.
Definition: fbsystem.h:592
FBPropertyEventUIIdle
PropertyEvent: UI idle event.
Definition: fbproperties.h:573
FBModel
Model class.
Definition: fbmodel.h:274
fbassetmng.h
Declaration for the FBAssetMng class.
FBSystem::AssetManager
FBPropertyAssetMng AssetManager
Read Only Property: Current asset manager.
Definition: fbsystem.h:226
FBFastLock::~FBFastLock
~FBFastLock()
Destructor.
FBComponent
MotionBuilder SDK base class.
Definition: fbcomponent.h:651
FBSystem::FullScreenViewer
FBPropertyBool FullScreenViewer
Read Write Property: Indicates that the viewer is in full screen mode.
Definition: fbsystem.h:223
FBSystem::OnVideoFrameRendering
FBPropertyEventVideoFrameRendering OnVideoFrameRendering
Event: A video frame rendering event occurred when the scene is being off-line rendered into video fi...
Definition: fbsystem.h:170
FBFileMonitoringManager::AddFileToMonitor
void AddFileToMonitor(FBString pFilePath, FBFileMonitoringType pFileMonitoringType)
Add file to monitor.
FBRegisterTraceStubFct
K_DLLIMPORT bool FBRegisterTraceStubFct(FBTraceStubFct pFct)
Register custom trace stub function.
FBCriticalSection::~FBCriticalSection
~FBCriticalSection()
Destructor.
FBSystem::CurrentTake
FBPropertyTake CurrentTake
Read Write Property: Current take.
Definition: fbsystem.h:195
FBSystem::AudioInputs
FBPropertyListAudioIn AudioInputs
List: Available audio inputs.
Definition: fbsystem.h:207
FBEventVideoFrameRendering
Event: Video Frame offline Rendering Event.
Definition: fbsystem.h:101
FBSystem::OnConnectionStateNotify
FBPropertyEventConnectionStateNotify OnConnectionStateNotify
Event: A state change event occurred between objects in the system.
Definition: fbsystem.h:174
FBSystem::FrameRate
FBPropertyDouble FrameRate
Read Only Property: The frame rate of the viewer.
Definition: fbsystem.h:219
FBSystem::ProcessMemoryPeak
FBPropertyDouble ProcessMemoryPeak
Read Only Property: The size (MB) of process's peak memory.
Definition: fbsystem.h:221
FBDirMap::Add
static void Add(FBString pSourceDir, FBString pTargetDir)
Adds an entry in the map.
FBFileMonitoringManager::OnFileChangeAnimationClip
FBPropertyEvent OnFileChangeAnimationClip
Event: Animation clip file change event.
Definition: fbsystem.h:540
FBVector3d
class K_DLLIMPORT FBVector3< double > FBVector3d
3D vector.
Definition: fbtypes.h:438
FBKeyControl::NewKeyInterpolationType
FBPropertyNewKeyInterpolationType NewKeyInterpolationType
Read Write Property: Current key interpolation type that will be used for new keys.
Definition: fbsystem.h:423
FBFileMonitoringManager::CleanFileMonitoring
void CleanFileMonitoring(bool pIncludePythonEditorScripts=true)
Clean files and directories currently been monitored.
FBSystem::CommPorts
FBPropertyListCommPort CommPorts
List: Comm Ports available.
Definition: fbsystem.h:216
FBFileMonitoringType
FBFileMonitoringType
File Monitoring Type.
Definition: fbsystem.h:475
FBPropertyAction
Property: Action Action property to trigger function.
Definition: fbproperties.h:1314
FBVideoGrabOptions
Video Grabbing Options structure.
Definition: fbvideograbber.h:99
FBSystem::MakeFullPath
static FBString MakeFullPath(const char *pRelativeFilePath)
Return the full path.