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=0)
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::SbProfilingData (void) Constructor.
SbProfilingData::SbProfilingData (const SbProfilingData & rhs) Copy
constructor.
SbProfilingData::~SbProfilingData (void) Desctructor.
Member Function Documentation
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.
void SbProfilingData::setNodeTiming (const SoPath * path, SbTime timing)
This function calls the index-version of setNodeTiming after having
fetched the index.
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.
See also:
offsetNodeTiming
void SbProfilingData::preOffsetNodeTiming (int idx, SbTime timing) This
function will adjust node timings without touching traversal counters.
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 = 0)
Return the index of the tail node in the path. If node is not
registered, add it and return that index.
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.
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.
Author
Generated automatically by Doxygen for Coin from the source code.