Coin3D is Free Software, published under the BSD 3-clause license. |
https://bitbucket.org/Coin3D/ http://www.kongsberg.com/kogt/ |
Data structure for gathering scene graph traversal profiling information. More...
Public Types | |
enum | FootprintType { MEMORY_SIZE, VIDEO_MEMORY_SIZE } |
enum | NodeFlag { GL_CACHED_FLAG, CULLED_FLAG } |
enum | NodeDataQueryFlags { INCLUDE_CHILDREN = 0x01 } |
typedef void | SbProfilingDataCB(void *userdata, const SbProfilingData &data, const SbList< SoNode *> &pointers, SbList< int > &childindices, int idx) |
Public Member Functions | |
SbProfilingData (void) | |
SbProfilingData (const SbProfilingData &rhs) | |
~SbProfilingData (void) | |
void | setActionType (SoType actiontype) |
SoType | getActionType (void) const |
void | setActionStartTime (SbTime starttime) |
SbTime | getActionStartTime (void) const |
void | setActionStopTime (SbTime stoptime) |
SbTime | getActionStopTime (void) const |
SbTime | getActionDuration (void) const |
void | setNodeTiming (const SoPath *path, SbTime timing) |
void | setNodeTiming (int idx, SbTime timing) |
void | preOffsetNodeTiming (int idx, SbTime timing) |
SbTime | getNodeTiming (const SoPath *path, unsigned int queryflags=0) const |
SbTime | getNodeTiming (int idx, unsigned int queryflags=0) const |
void | setNodeFootprint (const SoPath *path, FootprintType type, size_t footprint) |
void | setNodeFootprint (int idx, FootprintType type, size_t footprint) |
size_t | getNodeFootprint (const SoPath *path, FootprintType type, unsigned int queryflags=0) const |
size_t | getNodeFootprint (int idx, FootprintType type, unsigned int queryflags=0) const |
void | setNodeFlag (const SoPath *path, NodeFlag flag, SbBool on) |
void | setNodeFlag (int idx, NodeFlag flag, SbBool on) |
SbBool | getNodeFlag (const SoPath *path, NodeFlag flag) const |
SbBool | getNodeFlag (int idx, NodeFlag flag) const |
int | getIndex (const SoPath *path, SbBool create=FALSE) |
int | getParentIndex (int idx) const |
SoType | getNodeType (int idx) const |
SbName | getNodeName (int idx) const |
int | getLongestNameLength (void) const |
int | getLongestTypeNameLength (void) const |
int | getNumNodeEntries (void) const |
void | reportAll (SbProfilingDataCB *callback, void *userdata) const |
void | getStatsForTypesKeyList (SbList< SbProfilingNodeTypeKey > &keys_out) const |
void | getStatsForType (SbProfilingNodeTypeKey type, SbTime &total, SbTime &max, uint32_t &count) const |
void | getStatsForNamesKeyList (SbList< SbProfilingNodeNameKey > &keys_out) const |
void | getStatsForName (SbProfilingNodeNameKey name, SbTime &total, SbTime &max, uint32_t &count) const |
void | reset (void) |
SbProfilingData & | operator= (const SbProfilingData &rhs) |
SbProfilingData & | operator+= (const SbProfilingData &rhs) |
int | operator== (const SbProfilingData &rhs) const |
int | operator!= (const SbProfilingData &rhs) const |
size_t | getProfilingDataSize (void) const |
Protected Attributes | |
SoType | actionType |
SbTime | actionStartTime |
SbTime | actionStopTime |
Data structure for gathering scene graph traversal profiling information.
SbProfilingData::SbProfilingData | ( | void | ) |
Constructor.
SbProfilingData::SbProfilingData | ( | const SbProfilingData & | rhs | ) |
Copy constructor.
SbProfilingData::~SbProfilingData | ( | void | ) |
Desctructor.
void SbProfilingData::setActionType | ( | SoType | actiontype | ) |
Register which type of action we are recording statistics for.
SoType SbProfilingData::getActionType | ( | void | ) | const |
Return the action type set for this SbProfilingData.
void SbProfilingData::setActionStartTime | ( | SbTime | starttime | ) |
Set traversal start time.
SbTime SbProfilingData::getActionStartTime | ( | void | ) | const |
Return the action start time.
void SbProfilingData::setActionStopTime | ( | SbTime | stoptime | ) |
Set traversal stop time.
SbTime SbProfilingData::getActionStopTime | ( | void | ) | const |
Return the action stop time.
SbTime SbProfilingData::getActionDuration | ( | void | ) | const |
Return the time the action has spent on the traversal that was profiled.
This function calls the index-version of setNodeTiming after having fetched the index.
This method sets the timing for a node, as if it was new data to be registered. This means that counters of various types are implicitly incremented and similar things. To avoid those sideeffects, use offsetNodeTiming, which leaves all the counters alone.
This function will adjust node timings without touching traversal counters.
Returns the timing for a node.
Return the index of the tail node in the path. If node is not registered, add it and return that index.
Return the index of the parent of the node entry at index idx. If entry is a root entry, -1 is returned.
void SbProfilingData::reset | ( | void | ) |
Remove all stored data.
SbProfilingData & SbProfilingData::operator= | ( | const SbProfilingData & | rhs | ) |
Assignment operator.
SbProfilingData & SbProfilingData::operator+= | ( | const SbProfilingData & | rhs | ) |
Add profiling data from another data set.
size_t SbProfilingData::getProfilingDataSize | ( | void | ) | const |
Returns the amount of memory allocated for this data structure.