SbProfilingData(3)
π¦ SbProfilingData(3) π¦
okay so welcome to the Coin manual, bestie π this is the page for SbProfilingData(3), and ngl it's the little notebook where your scene graph traversal keeps every single receipt. Let's get into it π«Ά
β¨ NAME β¨
SbProfilingData β the data structure for gathering scene graph traversal profiling information. that's the whole job and it ate π
πΈ SYNOPSIS πΈ
#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) constvoid setActionStartTime (SbTime starttime)SbTime getActionStartTime (void) constvoid setActionStopTime (SbTime stoptime)SbTime getActionStopTime (void) constSbTime getActionDuration (void) constvoid 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) constSbTime getNodeTiming (int idx, unsigned int queryflags=0) constvoid 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) constsize_t getNodeFootprint (int idx, FootprintType type, unsigned int queryflags=0) constvoid setNodeFlag (const SoPath *path, NodeFlag flag, SbBool on)void setNodeFlag (int idx, NodeFlag flag, SbBool on)SbBool getNodeFlag (const SoPath *path, NodeFlag flag) constSbBool getNodeFlag (int idx, NodeFlag flag) constint getIndex (const SoPath *path, SbBool create=FALSE)int getParentIndex (int idx) constSoType getNodeType (int idx) constSbName getNodeName (int idx) constint getLongestNameLength (void) constint getLongestTypeNameLength (void) constint getNumNodeEntries (void) constvoid reportAll (SbProfilingDataCB *callback, void *userdata) constvoid getStatsForTypesKeyList (SbList< SbProfilingNodeTypeKey > &keys_out) constvoid getStatsForType (SbProfilingNodeTypeKey type, SbTime &total, SbTime &max, uint32_t &count) constvoid getStatsForNamesKeyList (SbList< SbProfilingNodeNameKey > &keys_out) constvoid getStatsForName (SbProfilingNodeNameKey name, SbTime &total, SbTime &max, uint32_t &count) constvoid reset (void)SbProfilingData & operator= (const SbProfilingData &rhs)SbProfilingData & operator+= (const SbProfilingData &rhs)int operator== (const SbProfilingData &rhs) constint operator!= (const SbProfilingData &rhs) constsize_t getProfilingDataSize (void) const
π Protected Attributes π
SoType actionTypeSbTime actionStartTimeSbTime actionStopTime
π Detailed Description π
It's a data structure for gathering scene graph traversal profiling information. That's it, that's the mission statement β¨ it collects the numbers, it holds the numbers, it hands the numbers back when you ask nicely. iconic behaviour honestly
πΌ Constructor & Destructor Documentation πΌ
SbProfilingData::SbProfilingData (void )
Constructor. Brand new baby data structure, freshly born, zero receipts so far π£
SbProfilingData::SbProfilingData (const SbProfilingData & rhs)
Copy constructor. Making a twin, same vibes, same data π
SbProfilingData::~SbProfilingData (void )
Destructor. It's leaving the group chat, say bye π
π οΈ Member Function Documentation π οΈ
void SbProfilingData::setActionType (SoType actiontype)
Registers which type of action we're recording statistics for. Tell it what kind of action you're clocking in for, bestie π
SoType SbProfilingData::getActionType (void ) const
Returns the action type that's been set on this SbProfilingData. gimme the type please
void SbProfilingData::setActionStartTime (SbTime starttime)
Sets the traversal start time. Clock starts now β°
SbTime SbProfilingData::getActionStartTime (void ) const
Returns the action start time.
void SbProfilingData::setActionStopTime (SbTime stoptime)
Sets the traversal stop time. That's a wrap π¬
SbTime SbProfilingData::getActionStopTime (void ) const
Returns the action stop time.
SbTime SbProfilingData::getActionDuration (void ) const
Returns the time the action has spent on the traversal that was profiled. How long did it take? It's giving the answer π«
void SbProfilingData::setNodeTiming (const SoPath * path, SbTime timing)
This function fetches the index first, then calls the index version of setNodeTiming. Passing the baton πββοΈ
void SbProfilingData::setNodeTiming (int idx, SbTime timing)
This method sets the timing for a node, as if it was brand-new data to be registered. That means counters of various types are implicitly incremented and similar things happen as a side effect. If you want to avoid those side effects, use offsetNodeTiming, which leaves all the counters alone π
ββοΈ
See also: offsetNodeTiming
void SbProfilingData::preOffsetNodeTiming (int idx, SbTime timing)
This function will adjust node timings without touching traversal counters. Sneaky, gentle, no side effects, we love that for you π§
SbTime SbProfilingData::getNodeTiming (const SoPath * path, unsigned int flags = 0) const
Returns the timing for a node.
int SbProfilingData::getIndex (const SoPath * path, SbBool create = FALSE)
Returns the index of the tail node in the path. And if that node isn't registered yet? It adds it and returns that index. generous π«Ά
int SbProfilingData::getParentIndex (int idx) const
Returns the index of the parent of the node entry at index idx. If the entry is a root entry, -1 gets returned. no parent, no problem
void SbProfilingData::reset (void )
Remove all stored data. Everything. Gone. Clean slate, main character reboot πͺοΈ
SbProfilingData & SbProfilingData::operator= (const SbProfilingData & rhs)
Assignment operator.
SbProfilingData & SbProfilingData::operator+= (const SbProfilingData & rhs)
Adds profiling data from another data set. Combining friend groups π
size_t SbProfilingData::getProfilingDataSize (void ) const
Returns the amount of memory allocated for this data structure. How much RAM is this little guy hogging π
ποΈ Author ποΈ
This page was generated automatically by Doxygen for Coin from the source code. Not a human, just robot magic doing its thing, and honestly? slay π€β¨
and that's the whole page, bestie β you understood it, no cap. This was Version 4.0.10, dated Thu Jun 25 2026 00:00:00, and that's the vibe check complete. go profile something gorgeous π ππ
π¦ where this page comes from
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms