Coin: SbProfilingData Class Reference

| Coin3D is Free Software, published under the BSD 3-clause license. | https://coin3d.github.io https://www.kongsberg.com/en/kogt/

Public Types | Public Member Functions | Protected Attributes | List of all members
SbProfilingData Class Reference
Scene Graph Profiling

Data structure for gathering scene graph traversal profiling information. More...

`#include <Inventor/annex/SbProfilingData.h>`

## 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

## Detailed Description

Data structure for gathering scene graph traversal profiling information.

## Constructor & Destructor Documentation

## ◆ SbProfilingData() [1/2]

SbProfilingData::SbProfilingData | ( | void |  | ) |

Constructor.

## ◆ SbProfilingData() [2/2]

SbProfilingData::SbProfilingData | ( | const SbProfilingData & | rhs | ) |

Copy constructor.

## ◆ ~SbProfilingData()

SbProfilingData::~SbProfilingData | ( | void |  | ) |

Destructor.

## Member Function Documentation

## ◆ setActionType()

void SbProfilingData::setActionType | ( | SoType | actiontype | ) |

Register which type of action we are recording statistics for.

## ◆ getActionType()

SoType SbProfilingData::getActionType | ( | void |  | ) | const

Return the action type set for this SbProfilingData.

## ◆ setActionStartTime()

void SbProfilingData::setActionStartTime | ( | SbTime | starttime | ) |

Set traversal start time.

## ◆ getActionStartTime()

SbTime SbProfilingData::getActionStartTime | ( | void |  | ) | const

Return the action start time.

## ◆ setActionStopTime()

void SbProfilingData::setActionStopTime | ( | SbTime | stoptime | ) |

Set traversal stop time.

## ◆ getActionStopTime()

SbTime SbProfilingData::getActionStopTime | ( | void |  | ) | const

Return the action stop time.

## ◆ getActionDuration()

SbTime SbProfilingData::getActionDuration | ( | void |  | ) | const

Return the time the action has spent on the traversal that was profiled.

## ◆ setNodeTiming() [1/2]

void SbProfilingData::setNodeTiming | ( | const SoPath * | path,
|  | SbTime | timing )

This function calls the index version of setNodeTiming after having fetched the index.

## ◆ setNodeTiming() [2/2]

void SbProfilingData::setNodeTiming | ( | int | idx,
|  | SbTime | timing )

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 side effects, use offsetNodeTiming, which leaves all the counters alone.

See also
  offsetNodeTiming

## ◆ preOffsetNodeTiming()

void SbProfilingData::preOffsetNodeTiming | ( | int | idx,
|  | SbTime | timing )

This function will adjust node timings without touching traversal counters.

## ◆ getNodeTiming()

SbTime SbProfilingData::getNodeTiming | ( | const SoPath * | path,
|  | unsigned int | flags = 0 ) const

Returns the timing for a node.

## ◆ getIndex()

int SbProfilingData::getIndex | ( | const SoPath * | path,
|  | SbBool | create = FALSE )

Return the index of the tail node in the path. If node is not registered, add it and return that index.

## ◆ getParentIndex()

int SbProfilingData::getParentIndex | ( | int | idx | ) | const

Return the index of the parent of the node entry at index idx. If entry is a root entry, -1 is returned.

## ◆ reset()

void SbProfilingData::reset | ( | void |  | ) |

Remove all stored data.

## ◆ operator=()

SbProfilingData & SbProfilingData::operator= | ( | const SbProfilingData & | rhs | ) |

Assignment operator.

## ◆ operator+=()

SbProfilingData & SbProfilingData::operator+= | ( | const SbProfilingData & | rhs | ) |

Add profiling data from another data set.

## ◆ getProfilingDataSize()

size_t SbProfilingData::getProfilingDataSize | ( | void |  | ) | const

Returns the amount of memory allocated for this data structure.

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

- SbProfilingData.h
- SbProfilingData.cpp