SbProfilingData(3)

πŸ“¦ version 3.1.3, in fedora 43, fedora 44

πŸ’– SbProfilingData πŸ’–

okay bestie, this is a page from the Library Functions Manual β€” it's SbProfilingData(3), and it lives in Coin. It's basically a little data-holder that gathers up scene graph traversal profiling info. Think of it as the notes app where the traversal leaves receipts. ✨


🌸 NAME 🌸

SbProfilingData β€” data structure for gathering scene graph traversal profiling information.


πŸŽ€ SYNOPSIS πŸŽ€

✨ 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.

like. that's the whole vibe. it holds the stats. periodt. πŸ’…


πŸŽ€ Constructor & Destructor Documentation πŸŽ€

SbProfilingData::SbProfilingData (void )

Constructor. ✨ new object, fresh start, main character energy.

SbProfilingData::SbProfilingData (const SbProfilingData & rhs)

Copy constructor. makes a lil twin of rhs. 🫢

SbProfilingData::~SbProfilingData (void )

Desctructor. (yes bestie that typo is literally in the original, we do not touch it, we respect the source 😭) it's the destructor β€” the goodbye moment. πŸ‘‹


πŸ’œ Member Function Documentation πŸ’œ

void SbProfilingData::setActionType (SoType actiontype)

Register which type of action we are recording statistics for. tell it what kind of action it's clocking. πŸ‘‘

SoType SbProfilingData::getActionType (void ) const

Return the action type set for this SbProfilingData. the receipts come back out. πŸ”₯

void SbProfilingData::setActionStartTime (SbTime starttime)

Set traversal start time. ⏰ the clock starts NOW.

SbTime SbProfilingData::getActionStartTime (void ) const

Return the action start time. when did it all begin, bestie.

void SbProfilingData::setActionStopTime (SbTime stoptime)

Set traversal stop time. ⏱️ and that's a wrap.

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. literally how long the whole thing took. iconic.

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

This function calls the index-version of setNodeTiming after having fetched the index. so it goes and finds the index, then hands off. 🧚

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

side effects alert 🚨 β€” the counters get bumped. if you don't want that, offsetNodeTiming is your girl.

See also offsetNodeTiming

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

This function will adjust node timings without touching traversal counters. no counter drama, just vibes. ✨

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)

Return the index of the tail node in the path. If node is not registered, add it and return that index. so if it's not in the group chat yet, it gets added. 🫢

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. no parent? -1. that's the "no thoughts, head empty" answer. πŸ’€

void SbProfilingData::reset (void )

Remove all stored data. clean slate, glow-up era. 🌈

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

Assignment operator.

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

Add profiling data from another data set. sharing is caring, combining stats. πŸ”₯

size_t SbProfilingData::getProfilingDataSize (void ) const

Returns the amount of memory allocated for this data structure. how much room it's taking up, bestie.


🫢 Author 🫢

Generated automatically by Doxygen for Coin from the source code.


and that's the whole page, no notes πŸ’… this was Coin, Version 3.1.3, and the page is SbProfilingData(3). slay, bye bestie! πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from