SbProfilingData(3)

πŸ“¦
version 4.0.10 Β· 4 versions
, in fedora 43, fedora 44

πŸ¦‹ 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) 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 πŸ’œ

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