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
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 
188 
191 
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 
295 
306  const FBStringList& GetPluginPath() const;
307 
309  typedef enum {
312  ePluginItemIconName
313  } EPluginItemInfo;
314 
319 
324  const FBStringList& GetLoadedPluginItemInfo( const char* pPluginItemName ) const;
325 
329  const FBStringList& GetLoadedPluginItemGroups( const char* pPluginItemName ) const;
330  };
331 
332 #ifndef K_NO_TRIGGER
334  // FBTriggerManager
341  {
343  public:
347 
352 
357  char* GetGroupName( int pIndex );
358 
363  bool GetGroupActive( int pIndex );
364 
369  void SetGroupActive( int pIndex, bool pState );
370 
372  };
373 #endif
374 
375 
377  // FBKeyControl
397  };
398  FB_DEFINE_ENUM( FBSDK_DLL, NewKeyInterpolationType );
399 
404  {
406 
407  public:
411  FBKeyControl(HIObject pObject=NULL);
412 
427  void MoveKeys( FBTimeSpan pTimeSpan, FBModel *pPivot, FBVector3d pT, FBVector3d pR, FBVector3d pS, FBTime pTime, FBModelList *pModelList = NULL );
428 
430  FBPropertyNewKeyInterpolationType NewKeyInterpolationType;
431  };
432 
434  // FBPointCacheManager
437 
442  {
444 
449  FBPointCacheManager(HIObject pObject=NULL);
450 
451  public:
453 
456 
458  FBPropertyModel NewModelRoot;
459 
468 
473  };
474 
476  // FBFileMonitoringManager
488  };
489 
490  FB_DEFINE_ENUM( FBSDK_DLL, FileMonitoringType );
491 
493 
498  {
499  public:
500 
504  FBEventFileChange( HKEventBase pEvent );
505 
506  FBPropertyFileMonitoringType Type;
508  };
509 
514  {
516 
521  FBFileMonitoringManager(HIObject pObject=NULL);
522 
523  public:
528  void AddFileToMonitor(FBString pFilePath, FBFileMonitoringType pFileMonitoringType );
529 
534 
538  void PauseFileMonitoring(bool pPause = true);
539 
543  void CleanFileMonitoring(bool pIncludePythonEditorScripts = true);
544 
545  public:
554  };
555 
557  // FBCriticalSection
560 
566  {
567  void *mPtr;
568  public:
571 
574 
578  bool Init();
579 
581  void Enter();
582 
584  void Leave();
585  };
586 
588  // FBFastLock
591 
599  {
600  void *mPtr;
601  public:
604 
607 
609  void Lock();
610 
612  void Unlock();
613  };
614 
615 
617  // Global utility functions
619 
624  FBSDK_DLL void FBSleep( kULong MilliSeconds );
625 
643  {
644  kFBNO_TRACE = 0, //<! Tracing disabled
645  kFBCRITICAL_TRACE = 1, //<! Critical traces
646  kFBNORMAL_TRACE = 10, //<! Descriptive traces
647  kFBALL_TRACE = 20 //<! Default value, all traces.
648  };
649 
655  FBSDK_DLL void FBTraceSetLevel( unsigned int pNewLevel );
656 
661  FBSDK_DLL unsigned int FBTraceGetLevel();
662 
669  FBSDK_DLL void FBTrace( const char* pFormatString, ... );
670 
678  FBSDK_DLL void FBTraceWithLevel( unsigned int pLevel, const char* pFormatString, ... );
679 
681  typedef void (*FBTraceStubFct)(unsigned int pLevel, const char *pStr);
682 
688 
694 
712  FBSDK_DLL void FBObjectLifeLogEnable(bool pEnable);
713 
719 
724  FBSDK_DLL void FBObjectPrintLivings(unsigned int pStartUniqueId);
725 
729 
740  FBSDK_DLL void FBMakeFullPath( FBString &pFullPath, const char *pRootPath, const char *pFilePath );
741 
745  {
746  public:
747  virtual ~FBVisitDirectoryCallback();
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;
751  };
752 
768 {
769 public:
770  virtual ~FBDirMap();
780  static void Add(FBString pSourceDir, FBString pTargetDir);
781 
784  static int GetCount();
785 
788  static FBString GetSource(int pIndex);
789 
792  static FBString GetTarget(int pIndex);
793 
796  static void Clear();
797 
804  static FBString Map(FBString pPath);
805 };
806 
807 #ifdef FBSDKUseNamespace
808 }
809 #endif
810 #endif
811 
A character is the link between a motion source and a character model.
Definition: fbcharacter.h:1388
MotionBuilder SDK base class.
Definition: fbcomponent.h:651
High priority critical section class.
Definition: fbsystem.h:566
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.
File change event class.
Definition: fbsystem.h:498
FBPropertyFileMonitoringType Type
Read Only Property: Type of file change event.
Definition: fbsystem.h:506
FBPropertyString Path
Read Only Property: The path of changed file.
Definition: fbsystem.h:507
FBEventFileChange(HKEventBase pEvent)
Constructor.
Base Event class.
Definition: fbcomponent.h:940
Event: Video Frame offline Rendering Event.
Definition: fbsystem.h:101
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
Definition: fbsystem.h:109
@ eRendering
State before video renderer renders each frame.
Definition: fbsystem.h:111
FBFastLock.
Definition: fbsystem.h:599
void Lock()
Enter lock.
void Unlock()
Exit lock.
FBFastLock()
Constructor.
~FBFastLock()
Destructor.
File Change Monitoring Interface to the file change monitoring.
Definition: fbsystem.h:514
FBPropertyEvent OnFileChangeMainScene
Event: Main scene file change event.
Definition: fbsystem.h:546
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.
Definition: fbsystem.h:547
FBPropertyEvent OnFileChangeFileReference
Event: File Reference file change event.
Definition: fbsystem.h:548
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.
Definition: fbsystem.h:549
Key control.
Definition: fbsystem.h:404
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).
Definition: fbsystem.h:429
FBPropertyNewKeyInterpolationType NewKeyInterpolationType
Read Write Property: Current key interpolation type that will be used for new keys.
Definition: fbsystem.h:430
Model class.
Definition: fbmodel.h:274
Point Cache Manager Interface to the point cache manager.
Definition: fbsystem.h:442
FBPropertyAction SetTransformReference
Action Property: Set the model's current transformation as the reference.
Definition: fbsystem.h:455
FBPropertyBool CreateMultiChannelCache
Read Write Property: Create a single multiple channel point cache file for all models when true.
Definition: fbsystem.h:465
FBPropertyBool AlwaysAskForPath
Read Write Property: Always ask for the point cache file save path when true.
Definition: fbsystem.h:461
FBPropertyListObject Models
Read Write Property: Models to be recorded
Definition: fbsystem.h:452
FBPropertyBool CacheAABBox
Read Write Property: Cache AABBox (Axis Aligned Bounding Box) when true.
Definition: fbsystem.h:464
FBPropertyBool ApplyCacheOnNewModel
Read Write Property: Duplicated the cached models, and assoicated the point cache to the new models.
Definition: fbsystem.h:457
FBPropertyInt SaveEveryFrame
Read Write Property: Recording Frequency.
Definition: fbsystem.h:467
FBPropertyModel NewModelRoot
Read Write Property: Valid only when ApplyCacheOnNewModel is on. Create New Models under NewModelRoot...
Definition: fbsystem.h:458
FBPropertyBool CreateFilePerFrameCache
Read Write Property: Create the point cache file for each frame when true.
Definition: fbsystem.h:466
static FBPointCacheManager & TheOne()
Get the global object for this class.
FBPropertyString DefaultPath
Read Write Property: Default point cache file save path.
Definition: fbsystem.h:462
FBPropertyBool ApplyGlobalTransform
Read Write Property: Include no-deformable models and the global transform to Vertex Cache when true.
Definition: fbsystem.h:454
FBPropertyBool AllowCacheResampling
Read Write Property: Allow the resample models's existing point cache deformation when true.
Definition: fbsystem.h:460
FBPropertyBool CacheNormal
Read Write Property: Cache normal when true.
Definition: fbsystem.h:463
Property: Action Action property to trigger function.
PropertyEvent: Global ConnectionDataNotify event.
Definition: fbproperties.h:597
PropertyEvent: Global KeyingNotify event.
Definition: fbproperties.h:613
PropertyEvent: Global ConnectionNotify event.
Definition: fbproperties.h:589
PropertyEvent: Global ConnectionStateNotify event.
Definition: fbproperties.h:605
PropertyEvent: Base event class.
Definition: fbproperties.h:515
PropertyEvent: UI idle event.
Definition: fbproperties.h:573
PropertyEvent: Video Frame Rendering Event
Definition: fbproperties.h:581
List: AudioIn
Definition: fbaudio.h:384
List: AudioOut
Definition: fbaudio.h:396
PropertyList: CommPort.
Definition: fbio.h:163
PropertyList: Manipulator.
List of scene objects.
Definition: fbcomponent.h:556
PropertyList: VideoIn
Definition: fbvideo.h:541
PropertyList: VideoOut
Definition: fbvideo.h:556
Property class: const char * (String).
Basic string class.
Definition: fbstring.h:67
String list.
Definition: fbstring.h:208
Provides access to the underlying system, and the MotionBuilder scene.
Definition: fbsystem.h:157
static FBString CurrentDirectory()
Get current work directory.
FBPropertyDouble Version
Read Only Property: Application version.
Definition: fbsystem.h:178
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.
Definition: fbsystem.h:203
FBPropertyAssetMng AssetManager
Read Only Property: Current asset manager.
Definition: fbsystem.h:226
FBPropertyTake CurrentTake
Read Write Property: Current take.
Definition: fbsystem.h:195
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.
Definition: fbsystem.h:181
FBPropertyModel SceneRootModel
Read Only Property: Scene root model.
Definition: fbsystem.h:201
FBPropertyEventVideoFrameRendering OnVideoFrameRendering
Event: A video frame rendering event occurred when the scene is being off-line rendered into video fi...
Definition: fbsystem.h:170
FBPropertyEventConnectionNotify OnConnectionNotify
Event: A connection event occurred between objects in the system.
Definition: fbsystem.h:172
FBPropertyBool AreMessageBoxesSuspended
Read Only Property: While true, the system is suspending the messages boxes that would normally be di...
Definition: fbsystem.h:189
FBPropertyListVideoOut VideoOutputs
List: Available video outputs.
Definition: fbsystem.h:213
FBPropertyRenderer Renderer
Read Only Property: Default renderer.
Definition: fbsystem.h:217
const FBStringList & GetPluginPath() const
Returns the plugin paths.
FBPropertyEventConnectionKeyingNotify OnConnectionKeyingNotify
Event: A keying event occurred when objects are being keyed.
Definition: fbsystem.h:175
FBPropertyBool SuspendMessageBoxes
Read Write Property: While true, all the message boxes, that would normally be displayed,...
Definition: fbsystem.h:184
FBPropertyListAudioIn AudioInputs
List: Available audio inputs.
Definition: fbsystem.h:207
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.
Definition: fbsystem.h:167
FBPropertyListCommPort CommPorts
List: Comm Ports available.
Definition: fbsystem.h:216
FBPropertyString ApplicationPath
Read Only Property: Location where the application is installed.
Definition: fbsystem.h:166
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.
Definition: fbsystem.h:194
FBPropertyEventConnectionDataNotify OnConnectionDataNotify
Event: A data event occurred between objects in the system.
Definition: fbsystem.h:173
FBPropertyListManipulator Manipulators
List: of manipulators.
Definition: fbsystem.h:230
FBSystem()
Constructor.
FBPropertyEventConnectionStateNotify OnConnectionStateNotify
Event: A state change event occurred between objects in the system.
Definition: fbsystem.h:174
FBPropertyDouble ProcessMemoryPeak
Read Only Property: The size (MB) of process's peak memory.
Definition: fbsystem.h:221
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...
Definition: fbsystem.h:180
static FBString MakeFullPath(const char *pRelativeFilePath)
Return the full path.
FBPropertyVector2d DesktopSize
Read Only Property: The width and height of the desktop.
Definition: fbsystem.h:222
FBPropertyString BuildId
Read Only Property: Unique build Id string.
Definition: fbsystem.h:179
FBPropertyEventUIIdle OnUIIdle
Event: User-interface idle event. Useful callback for less frequent GUI refresh and etc....
Definition: fbsystem.h:169
FBPropertyListAudioOut AudioOutputs
List: Available audio outputs.
Definition: fbsystem.h:208
FBPropertyDouble FrameRate
Read Only Property: The frame rate of the viewer.
Definition: fbsystem.h:219
FBPropertyBool FullScreenViewer
Read Write Property: Indicates that the viewer is in full screen mode.
Definition: fbsystem.h:223
FBPropertyListVideoIn VideoInputs
List: Available video inputs.
Definition: fbsystem.h:212
FBPropertyString PathMeshs
Read Only Property: Path to meshes
Definition: fbsystem.h:204
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.
Definition: fbsystem.h:193
FBPropertyString ComputerName
Read Only Property: Computer name.
Definition: fbsystem.h:177
FBPropertyDouble ProcessMemory
Read Only Property: The size (MB) of process's working set memory.
Definition: fbsystem.h:220
const FBStringList & GetPythonStartupPath() const
Returns the python startup path.
@ ePluginItemDescription
Plug-in item's description.
Definition: fbsystem.h:310
@ ePluginItemFileName
Plug-in item's filename.
Definition: fbsystem.h:311
FBPropertyModel RootModel
Read Only Property: Root model.
Definition: fbsystem.h:202
FBPropertyScene Scene
Read Only Property: Scene.
Definition: fbsystem.h:197
FBPropertyConstructionHistory ConstructionHistory
Read Only Property: Construction History.
Definition: fbsystem.h:199
Time data structure.
Definition: fbtime.h:88
TimeSpan class.
Definition: fbtime.h:384
Trigger engine management.
Definition: fbsystem.h:341
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.
Definition: fbsystem.h:371
bool GetGroupActive(int pIndex)
Get the active status of a trigger group.
Loop over directory content.
Definition: fbsystem.h:745
Declaration for the FBAssetMng class.
Audio interface for FBSDK.
class K_DLLIMPORT FBArrayTemplate< FBModel * > FBModelList
typedef class FBSDK_DLL FBArrayTemplate<FBModel*> FBModelList;
Definition: fbcharacter.h:597
Basic class definitions.
#define __FBClassDeclare(Name, Parent)
For internal use only.
Definition: fbcomponent.h:131
Construction History.
Animation data types.
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.
Base class for Cameras.
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.
Definition: fbproperties.h:150
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...
Definition: fbsystem.h:50
FBFileMonitoringType
File Monitoring Type.
Definition: fbsystem.h:482
@ kFBFileMonitoring_FILEREFERENCE
File Reference change monitoring.
Definition: fbsystem.h:486
@ kFBFileMonitoring_InvalidIndex
Invalid value.
Definition: fbsystem.h:483
@ kFBFileMonitoring_ANIMATIONCLIP
Animation clip change monitoring.
Definition: fbsystem.h:485
@ kFBFileMonitoring_PYTHONEDITORSCRIPT
Python Editor Script change monitoring.
Definition: fbsystem.h:487
@ kFBFileMonitoring_MAINSCENE
Main Scene change monitoring.
Definition: fbsystem.h:484
FBNewKeyInterpolationType
Key Interpolation Type to use when creating new keys.
Definition: fbsystem.h:383
@ kFBNewKeyInterpolation_Smooth
Smooth interpolation type.
Definition: fbsystem.h:391
@ kFBNewKeyInterpolation_SplineClamp
Spline Clamp interpolation type.
Definition: fbsystem.h:387
@ kFBNewKeyInterpolation_Linear
Linear interpolation type.
Definition: fbsystem.h:388
@ kFBNewKeyInterpolation_TCB
TCB interpolation type.
Definition: fbsystem.h:390
@ kFBNewKeyInterpolation_None
Invalid interpolation type, could be returned by the system if it is in an uninitialized state....
Definition: fbsystem.h:384
@ kFBNewKeyInterpolation_Fixed
Fixed interpolation type.
Definition: fbsystem.h:393
@ kFBNewKeyInterpolation_Custom1
Custom 1 interpolation type.
Definition: fbsystem.h:395
@ kFBNewKeyInterpolation_Spline
Spline interpolation type.
Definition: fbsystem.h:386
@ kFBNewKeyInterpolation_Auto
Auto interpolation type.
Definition: fbsystem.h:385
@ kFBNewKeyInterpolation_Custom0
Custom 0 interpolation type.
Definition: fbsystem.h:394
@ kFBNewKeyInterpolation_SmoothClamp
Smooth Clamp interpolation type.
Definition: fbsystem.h:392
@ kFBNewKeyInterpolation_Custom2
Custom 2 interpolation type.
Definition: fbsystem.h:396
@ kFBNewKeyInterpolation_Step
Step interpolation type.
Definition: fbsystem.h:389
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.
Definition: fbtypes.h:68
class K_DLLIMPORT FBVector3< double > FBVector3d
3D vector.
Definition: fbtypes.h:438
FBVideo and derivative classes.
FBTraceLevel
Trace Level.
Definition: fbsystem.h:643
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.
Definition: fbsystem.h:681
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.