Open Reality Reference Guide
FBProfiler Class Reference

FBProfiler. More...

#include <fbprofiler.h>

Inheritance diagram for FBProfiler:

Public Member Functions

 FBProfiler (HIObject pObject=NULL)
 Constructor. More...
 
int GetEventSampleCount ()
 Get number of time event samples collected during last sampling. More...
 
FBProfileTimeEventGetEventSample (int pIndex)
 Only possible way to query collected FBProfileTimeEvent. More...
 
FBProfileTimeEventGetEndEventSample (int pIndex)
 Get end time event for event at given index. More...
 
int GetStatCount ()
 Stats are holding last execution time/duration of action. More...
 
int GetStatIndex (const char *pName)
 Search for index of given stat name. More...
 
const char * GetStatName (int pIndex)
 Get information about what action is stat refering to. More...
 
const char * GetStatComment (int pIndex)
 Get aditional information about what action is stat refering to. More...
 
double GetStatStart (int pIndex)
 Get start time of action. More...
 
double GetStatStop (int pIndex)
 Get stop time of action. More...
 
double GetStatDuration (int pIndex)
 Get time that was spend on execution of action. More...
 
double GetProfilingCost ()
 Profiling collection can affect scene performace. More...
 
- Public Member Functions inherited from FBComponent
 FBComponent (HIObject pObject)
 Constructor. More...
 
virtual ~FBComponent ()
 Destructor. More...
 
virtual bool FBCreate ()
 Open Reality Creation function. More...
 
virtual void FBDestroy ()
 Open Reality destruction function. More...
 
virtual void FBDelete () override
 Open Reality deletion function. More...
 
virtual bool SetHIObject (HIObject pObject, bool pSDKComponent) override
 Assign component to an internal pointer. More...
 
virtual int PropertyAdd (FBProperty *pProperty)
 Add a property to the component's property manager. More...
 
bool PropertyAddReferenceProperty (FBProperty *pReferenceProperty)
 Add a reference property to the component's property manager. More...
 
void PropertyRemove (FBProperty *pProperty)
 Remove a Property from the component's Property manager. More...
 
void PropertyGetModifiedList (FBArrayTemplate< FBProperty * > &pPropList, FBPlugModificationFlag pModificationFlags)
 Get list of properties which have been modified since last loading. More...
 
FBPropertyPropertyCreate (const char *pName, FBPropertyType pType, const char *pDataType, bool pAnimatable, bool pIsUser=false, FBProperty *pReferenceSource=NULL)
 Create user or dynamic property. More...
 
FBObjectFlag GetObjectFlags ()
 Get all Object Flags (concatenated). More...
 
void SetObjectFlags (FBObjectFlag pFlags)
 SetObjectFlags. More...
 
bool HasObjectFlags (FBObjectFlag pFlags)
 Check whether a specific object flag is enabled. More...
 
void EnableObjectFlags (FBObjectFlag pFlags)
 Enable a specific Object Flags. More...
 
void DisableObjectFlags (FBObjectFlag pFlags)
 Disable a specific Object Flags. More...
 
void SetObjectStatus (FBObjectStatus pStatus, bool pValue)
 Enable/Disable a specific Object Status. More...
 
bool GetObjectStatus (FBObjectStatus pStatus)
 Check to see if an object status is enabled. More...
 
bool ProcessNamespaceHierarchy (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
 ProcessNamespaceHierarchy. More...
 
bool ProcessObjectNamespace (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
 ProcessObjectNamespace. More...
 
virtual const char * ClassName () override
 Get the class name. More...
 
virtual bool UseCustomPropertyViewSet () const
 Use the custom property viewSet or not. More...
 
const char * GetFullName (void)
 Get the full name. More...
 
void SetOwnerNamespace (FBNamespace *pOwnerNSObj)
 Set the owner Namespace object. More...
 
FBNamespaceGetOwnerNamespace (void)
 Get the owner Namespace object. More...
 
FBFileReferenceGetOwnerFileReference (void)
 Get the owner FileReference object. More...
 
void HardSelect ()
 HardSelect. More...
 
virtual bool Is (int pTypeId) override
 Returns true if object is of type TypeId. More...
 
virtual int GetTypeId () override
 GetTypeId( int pTypeId ) More...
 
- Public Member Functions inherited from FBWrapperHolder
FBScriptWrapperGetWrapper ()
 Return the wrapper interface of this FBObject. More...
 
void AddWrapper (FBScriptWrapper *)
 
void RemoveWrapper (FBScriptWrapper *)
 

Static Public Member Functions

static int RegisterTaskCycle (const char *pUniqueName, float *pColor=NULL)
 Register a new task cycle for profiling. More...
 
static bool IsTaskCycleNameRegistered (const char *pName)
 Test to see if a task cycle is already registered based on the name provided. More...
 
static FBProfilerTheOne ()
 Get the global object for this class. More...
 
- Static Public Member Functions inherited from FBComponent
static int GetInternalClassId ()
 
static void FBComponentSetName (FBComponent *pObject, const char *pName)
 
static const char * FBComponentGetName (FBComponent *pObject)
 
static void FBComponentSetLongName (FBComponent *pObject, const char *pName)
 
static const char * FBComponentGetLongName (FBComponent *pObject)
 

Public Attributes

FBPropertyProfilingMode ProfilingMode
 Read/Write Property: Profiling collection modes, including disabling all profiling. More...
 
FBPropertyInt EvaluationDepth
 Read/Write Property: Specify the depth of evaluation profiling for data collection (maximum value is 10). More...
 
FBPropertyInt BufferSize
 Read/Write Property: Buffer size for average and timing computation (maximum value 200). More...
 
FBPropertyBool FrameReference
 Read/Write Property: Draw task cycles in relation to main thread cycle time - frame cycle (percentage display). More...
 
FBPropertyBool ActiveSampling
 Read/Write Property: Activate the sampling for time events. Call before quering for FBProfileTimeEvent. More...
 
- Public Attributes inherited from FBComponent
FBPropertyManager PropertyList
 Read Only Property: Manages all of the properties for the component. More...
 
FBPropertyListComponent Components
 List: List of components. More...
 
FBPropertyListComponent Parents
 List: Parents. More...
 
FBPropertyBool Selected
 Read Write Property: Selected property. More...
 
FBPropertyString Name
 Read Write Property: Unique name of object. More...
 
FBPropertyString LongName
 Read Write Property: Name and namespace for object.
More...
 
FBPropertyFolder Folder
 Read Write Property: The folder that contain this component. More...
 

Additional Inherited Members

- Static Public Attributes inherited from FBComponent
static int TypeInfo
 Contains the Type information of the object. More...
 
- Protected Member Functions inherited from FBPlug
bool IsSDKComponent ()
 Return whether or not item is an SDK component. More...
 
bool ConnectSrc (FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a source connection. More...
 
bool ConnectDst (FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a destination connection. More...
 
bool ConnectSrcAt (int pDst_SrcIndex, FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a source connection. More...
 
bool ConnectDstAt (int pSrc_DstIndex, FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a destination connection. More...
 
bool DisconnectDst (FBPlug *pDst)
 Remove a destination connection. More...
 
bool DisconnectSrc (FBPlug *pSrc)
 Remove a source connection. More...
 
void DisconnectAllSrc ()
 Remove all source connections. More...
 
void DisconnectAllDst ()
 Remove all destination connections. More...
 
bool DisconnectDstAt (int pIndex)
 Remove a destination connection at a specified index. More...
 
bool DisconnectSrcAt (int pIndex)
 Remove a source connection at a specified index. More...
 
bool ReplaceDstAt (int pIndex, FBPlug *pDst)
 Replace a destination connection at a specified index. More...
 
bool ReplaceSrcAt (int pIndex, FBPlug *pSrc)
 Replace a source connection at a specified index. More...
 
bool SwapSrc (int pIndexA, int pIndexB)
 Swap source connection at index A with source connection at index B. More...
 
bool MoveSrcAt (int pIndex, int pAtIndex)
 Move source connection at pIndex to pAtIndex. More...
 
bool MoveSrcAt (FBPlug *pSrc, FBPlug *pAtSrc)
 Move source connection pSrc to the position of pAtSrc. More...
 
int GetSrcCount ()
 Get source connection count. More...
 
FBPlugGetSrc (int pIndex)
 Get a source connection's plug at specified index. More...
 
FBConnectionType GetSrcType (int pIndex)
 Get a source connection's type at specified index. More...
 
int GetDstCount ()
 Get destination connection count. More...
 
FBPlugGetDst (int pIndex)
 Get a destination connection's plug at specified index. More...
 
FBConnectionType GetDstType (int pIndex)
 Get a destination connection's type at specified index. More...
 
bool BeginChange ()
 Begins a change on multiple plugs. More...
 
void EndChange ()
 Ends a change on multiple plugs. More...
 
void SetSelfModified (FBPlugModificationFlag pFlag, bool pBool)
 Set the plug's self modification flag. More...
 
bool GetSelfModified (FBPlugModificationFlag pFlag)
 Tell if the plug's self has changed. More...
 
void SetContentModified (FBPlugModificationFlag pFlag, bool pBool)
 Set the plug's owned property/object's modification flag. More...
 
bool GetContentModified (FBPlugModificationFlag pFlag)
 Tell if the plug's content has changed. More...
 
int GetPlugConnectionModifiedList (FBPlugList &pPlugList, FBPlugModificationFlag pConnectionModificatonFlag, bool pAddRemove)
 Get plug's modified src/dst property/object connection added/removed List. More...
 
bool RevertModification (FBPlugModificationFlag pFlag=kFBAllModifiedMask)
 Revert the plug's modification to original status. More...
 
void SetStatusFlag (FBPlugStatusFlag pStatus, bool pValue)
 Set the plug's status flag. More...
 
bool GetStatusFlag (FBPlugStatusFlag pStatus) const
 Tell if the plug's status has changed. More...
 
FBPlugGetOwner ()
 Get the owner of this plug. More...
 
FBPlugGetOwned (int pIndex)
 Get the owned plug at specified index. More...
 
int GetOwnedCount ()
 Get the owned plug count. More...
 
virtual bool PlugDataNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=NULL, void *pDataOld=NULL, int pDataSize=0)
 PlugDataNotify when overloaded is equivalent of FBSystem.OnConnectionDataNotify but in the context of the derived object only. More...
 
virtual bool PlugStateNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=NULL, void *pDataOld=NULL, int pDataSize=0)
 PlugStateNotify when overloaded is equivalent of FBSystem.OnConnectionStateNotify but in the context of the derived object only. More...
 
virtual bool PlugNotify (FBConnectionAction pAction, FBPlug *pThis, int pIndex, FBPlug *pPlug=NULL, FBConnectionType pConnectionType=kFBConnectionTypeNone, FBPlug *pNewPlug=NULL)
 PlugNotify when overloaded is equivalent of FBSystem.OnConnectionNotify but in the context of the derived object only. More...
 
- Static Protected Member Functions inherited from FBPlug
static int GetInternalClassId ()
 Internal class Id. More...
 
- Protected Attributes inherited from FBPlug
bool mAllocated
 Contain the Allocation State of the Component. More...
 
HIObject mObject
 Handle on the Plug. More...
 
bool mSDKComponent
 bool Plug is an SDK component.
More...
 
- Static Protected Attributes inherited from FBPlug
static const char * ClassGroupName
 ClassGroupName of the object. More...
 
static int TypeInfo
 TypeInfo. More...
 
static int mGlobalTypeInfo
 Represente the Type Index. More...
 

Detailed Description

FBProfiler.

Central place to query profiling results and change profiling options.

Definition at line 226 of file fbprofiler.h.

Constructor & Destructor Documentation

◆ FBProfiler()

FBProfiler ( HIObject  pObject = NULL)

Constructor.

Parameters
pObjectFor internal use only.

Member Function Documentation

◆ GetEndEventSample()

FBProfileTimeEvent* GetEndEventSample ( int  pIndex)

Get end time event for event at given index.

This function and FBProfileTimeEvent.IsSingleEvent are useful to identify duration of event action.

Parameters
pIndexSample index.
Returns
Sample object if sample at given index is start sample.

◆ GetEventSample()

FBProfileTimeEvent* GetEventSample ( int  pIndex)

Only possible way to query collected FBProfileTimeEvent.

Parameters
pIndexSample index.
Returns
Sample object.

◆ GetEventSampleCount()

int GetEventSampleCount ( )

Get number of time event samples collected during last sampling.

Returns
Number of FBProfileTimeEvent samples gathered during sampling.

◆ GetProfilingCost()

double GetProfilingCost ( )

Profiling collection can affect scene performace.

This function return how costly is profiling.

Returns
Cost of profiling the scene. (in mini seconds)

◆ GetStatComment()

const char* GetStatComment ( int  pIndex)

Get aditional information about what action is stat refering to.

Parameters
pIndexIndex of stat.
Returns
Stat comment.

◆ GetStatCount()

int GetStatCount ( )

Stats are holding last execution time/duration of action.

They are used for actions that doesn't appear frequently, like file IO.

Returns
Stats count. They are created when stat occurs, so open or save action needs to be done first to get any information stored in stats.

◆ GetStatDuration()

double GetStatDuration ( int  pIndex)

Get time that was spend on execution of action.

Parameters
pIndexIndex of stat.
Returns
Stat duration (in seconds).

◆ GetStatIndex()

int GetStatIndex ( const char *  pName)

Search for index of given stat name.

Parameters
pNameName of the sample that we are looking for.
Returns
Stat index if found, -1 if not in the list.

◆ GetStatName()

const char* GetStatName ( int  pIndex)

Get information about what action is stat refering to.

Parameters
pIndexIndex of stat.
Returns
Stat name.

◆ GetStatStart()

double GetStatStart ( int  pIndex)

Get start time of action.

Parameters
pIndexIndex of stat.
Returns
Start time (in seconds).

◆ GetStatStop()

double GetStatStop ( int  pIndex)

Get stop time of action.

Parameters
pIndexIndex of stat.
Returns
Stop time (in seconds).

◆ IsTaskCycleNameRegistered()

static bool IsTaskCycleNameRegistered ( const char *  pName)
static

Test to see if a task cycle is already registered based on the name provided.

Can also be used to verify if a name is free to be used, this included checking any conflicts with internal names.

Parameters
pNameTask cycle name to test
Returns
True when name is used. False when name is not used.

◆ RegisterTaskCycle()

static int RegisterTaskCycle ( const char *  pUniqueName,
float *  pColor = NULL 
)
static

Register a new task cycle for profiling.

Pointer to name needs to stay valid during whole application session.

Parameters
pUniqueNameUnique name for new task cycle
pColorColor for new task cycle. Used in Profiling Center for drawing.
Returns
Index of task cycle. Will return -1 if failed. If task cycle is already registered it will return its index.

◆ TheOne()

static FBProfiler& TheOne ( )
static

Get the global object for this class.

Returns
the global object.

Member Data Documentation

◆ ActiveSampling

FBPropertyBool ActiveSampling

Read/Write Property: Activate the sampling for time events. Call before quering for FBProfileTimeEvent.

Definition at line 238 of file fbprofiler.h.

◆ BufferSize

FBPropertyInt BufferSize

Read/Write Property: Buffer size for average and timing computation (maximum value 200).

Definition at line 236 of file fbprofiler.h.

◆ EvaluationDepth

FBPropertyInt EvaluationDepth

Read/Write Property: Specify the depth of evaluation profiling for data collection (maximum value is 10).

Definition at line 235 of file fbprofiler.h.

◆ FrameReference

FBPropertyBool FrameReference

Read/Write Property: Draw task cycles in relation to main thread cycle time - frame cycle (percentage display).

Definition at line 237 of file fbprofiler.h.

◆ ProfilingMode

FBPropertyProfilingMode ProfilingMode

Read/Write Property: Profiling collection modes, including disabling all profiling.

Definition at line 234 of file fbprofiler.h.


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