SbProfilingData(3) 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.

Constructor & Destructor Documentation

SbProfilingData::SbProfilingData (void)

Constructor.

SbProfilingData::SbProfilingData (const SbProfilingData &rhs)

Copy constructor.

SbProfilingData::~SbProfilingData (void)

Desctructor.

Member Function Documentation

void SbProfilingData::setActionType (SoTypeactiontype)

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 (SbTimestarttime)

Set traversal start time.

SbTime SbProfilingData::getActionStartTime (void) const

Return the action start time.

void SbProfilingData::setActionStopTime (SbTimestoptime)

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, SbTimetiming)

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

void SbProfilingData::setNodeTiming (intidx, SbTimetiming)

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 (intidx, SbTimetiming)

This function will adjust node timings without touching traversal counters.

SbTime SbProfilingData::getNodeTiming (const SoPath *path, unsigned intflags = 0) const

Returns the timing for a node.

int SbProfilingData::getIndex (const SoPath *path, SbBoolcreate = FALSE)

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

int SbProfilingData::getParentIndex (intidx) 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.