creation / deletion log utility functions.

creation / deletion log utility functions.

Module description

This set of utility functions are useful for tracing the object creation / deletion.

This section describes the principal objects used by HumanIK.

It help to identify potential memory leak inside SDK plugin, or even inside MoBu for particular client workflow.

see Sctipts/Samples/Utilities/DebugMemoryLeak.py for usage example.

Classes

struct  HIKCharacter
 Defines a character to be used with HumanIK. More...
 
struct  HIKEffectorSetState
 Defines an HIKEffectorSetState. More...
 
struct  HIKCharacterState
 Defines a pose for a character. More...
 
struct  HIKPropertySetState
 Defines a character's properties. More...
 
struct  HIKCharacterDefinition
 Defines which Nodes are to be used by an HIKCharacter. More...
 
struct  HIKCreature
 Defines a Creature to be used with HumanIK. More...
 
struct  HIKCreatureState
 Defines a pose for a creature. More...
 
struct  HIKCreatureEffectorSetState
 Defines an HIKCreatureEffectorSetState. More...
 

Modules

 Merge Transaction Optimization.
 File Reference and scene assembly workflow load many small files which contain individual entities (model, material, texture, character, props and etc.,).
 
 Streaming Objects To and From Memory
 This section describes the functions provided for reading HumanIK objects from memory streams, and writing HumanIK objects to memory buffers.
 
 Constructors
 This section describes the functions used to create HIK objects.
 
 Destructors
 This section describes the functions used to destroy HIK objects.
 
 Determining Object Size in Memory
 This page describes the functions provided for determining the size in memory of the different HumanIK objects.
 

Enumerations

enum  HIKNodeFlags {
  HIKNodeNotUsed = 0, HIKNodeUsed = 1 << 0, HIKNodeParentOffset = 1 << 1 | HIKNodeUsed, HIKNodeLimits = 1 << 2 | HIKNodeParentOffset,
  HIKNodeNotUsed = 0, HIKNodeUsed = 1 << 0, HIKNodeParentOffset = 1 << 1 | HIKNodeUsed, HIKNodeLimits = 1 << 2 | HIKNodeParentOffset
}
 Flags used in the characterization process, in conjunction with HIKCharacterDefinition. More...
 
enum  HIKNodeFlags {
  HIKNodeNotUsed = 0, HIKNodeUsed = 1 << 0, HIKNodeParentOffset = 1 << 1 | HIKNodeUsed, HIKNodeLimits = 1 << 2 | HIKNodeParentOffset,
  HIKNodeNotUsed = 0, HIKNodeUsed = 1 << 0, HIKNodeParentOffset = 1 << 1 | HIKNodeUsed, HIKNodeLimits = 1 << 2 | HIKNodeParentOffset
}
 Flags used in the characterization process, in conjunction with HIKCharacterDefinition. More...
 

Functions

void FBObjectLifeLogEnable (bool pEnable)
 Enable object creation / deletion logging. More...
 
unsigned int FBObjectGetGlobalUniqueId ()
 Get the global static object unique ID counter. More...
 
void FBObjectPrintLivings (unsigned int pStartUniqueId)
 Print those living objects created when logging is enabled. More...
 
unsigned int FBObjectGetLivingCount ()
 Get current total living object count. More...
 

Enumeration Type Documentation

Flags used in the characterization process, in conjunction with HIKCharacterDefinition.

Enumerator
HIKNodeNotUsed 

Node is not characterized.

HIKNodeUsed 

Node is characterized.

HIKNodeParentOffset 

Node has a parent unknown to HumanIK, used for local space transform and DoF.

Transparently assigns HIKNodeUsed.

HIKNodeLimits 

Node has limits (DoF).

Transparently assigns HIKNodeParentOffset, which in turn assigns HIKNodeUsed.

HIKNodeNotUsed 

Node is not characterized.

HIKNodeUsed 

Node is characterized.

HIKNodeParentOffset 

Node has a parent unknown to HumanIK, used for local space transform and DoF.

Transparently assigns HIKNodeUsed.

HIKNodeLimits 

Node has limits (DoF).

Transparently assigns HIKNodeParentOffset, which in turn assigns HIKNodeUsed.

Definition at line 479 of file humanik.h.

480 {
481  HIKNodeNotUsed = 0,
482  HIKNodeUsed = 1 << 0,
483  HIKNodeParentOffset = 1 << 1 | HIKNodeUsed,
485 };
Node is characterized.
Definition: humanik.h:482
Node has limits (DoF).
Definition: humanik.h:484
Node has a parent unknown to HumanIK, used for local space transform and DoF.
Definition: humanik.h:483
Node is not characterized.
Definition: humanik.h:481

Flags used in the characterization process, in conjunction with HIKCharacterDefinition.

Enumerator
HIKNodeNotUsed 

Node is not characterized.

HIKNodeUsed 

Node is characterized.

HIKNodeParentOffset 

Node has a parent unknown to HumanIK, used for local space transform and DoF.

Transparently assigns HIKNodeUsed.

HIKNodeLimits 

Node has limits (DoF).

Transparently assigns HIKNodeParentOffset, which in turn assigns HIKNodeUsed.

HIKNodeNotUsed 

Node is not characterized.

HIKNodeUsed 

Node is characterized.

HIKNodeParentOffset 

Node has a parent unknown to HumanIK, used for local space transform and DoF.

Transparently assigns HIKNodeUsed.

HIKNodeLimits 

Node has limits (DoF).

Transparently assigns HIKNodeParentOffset, which in turn assigns HIKNodeUsed.

Definition at line 519 of file humanik.h.

520 {
521  HIKNodeNotUsed = 0,
522  HIKNodeUsed = 1 << 0,
523  HIKNodeParentOffset = 1 << 1 | HIKNodeUsed,
525 };
Node is characterized.
Definition: humanik.h:482
Node has limits (DoF).
Definition: humanik.h:484
Node has a parent unknown to HumanIK, used for local space transform and DoF.
Definition: humanik.h:483
Node is not characterized.
Definition: humanik.h:481

Function Documentation

unsigned int ORSDK2019::FBObjectGetGlobalUniqueId ( )

Get the global static object unique ID counter.

Each new created object will be assigned this global unique ID. Object.UniqueID = GlobalUniqueID++

unsigned int ORSDK2019::FBObjectGetLivingCount ( )

Get current total living object count.

void ORSDK2019::FBObjectLifeLogEnable ( bool  pEnable)

Enable object creation / deletion logging.

Default logging if off This logging may hurt performance slightly. use it only for debug purpose.

Parameters
pEnabletrue to enable logging.
void ORSDK2019::FBObjectPrintLivings ( unsigned int  pStartUniqueId)

Print those living objects created when logging is enabled.

Parameters
pStartUniqueIdAny living object has been logged and with its uniqueId no less than pStartUniqueId will be printed out.