1#ifndef COIN_SBPROFILINGDATA_H
2#define COIN_SBPROFILINGDATA_H
27#include <Inventor/SbBasic.h>
28#include <Inventor/SbTime.h>
29#include <Inventor/SoType.h>
30#include <Inventor/SbName.h>
31#include <Inventor/lists/SbList.h>
32#include <Inventor/tools/SbPimplPtr.h>
37class SbProfilingDataP;
39typedef void * SbProfilingNodeKey;
40typedef int16_t SbProfilingNodeTypeKey;
41typedef const char * SbProfilingNodeNameKey;
69 enum NodeDataQueryFlags {
70 INCLUDE_CHILDREN = 0x01
79 void setNodeFootprint(
const SoPath * path, FootprintType type,
81 void setNodeFootprint(
int idx, FootprintType type,
size_t footprint);
82 size_t getNodeFootprint(
const SoPath * path, FootprintType type,
83 unsigned int queryflags = 0)
const;
84 size_t getNodeFootprint(
int idx, FootprintType type,
85 unsigned int queryflags = 0)
const;
87 void setNodeFlag(
const SoPath * path, NodeFlag flag, SbBool on);
88 void setNodeFlag(
int idx, NodeFlag flag, SbBool on);
89 SbBool getNodeFlag(
const SoPath * path, NodeFlag flag)
const;
90 SbBool getNodeFlag(
int idx, NodeFlag flag)
const;
95 SoType getNodeType(
int idx)
const;
96 SbName getNodeName(
int idx)
const;
98 int getLongestNameLength(
void)
const;
99 int getLongestTypeNameLength(
void)
const;
101 int getNumNodeEntries(
void)
const;
104 void reportAll(SbProfilingDataCB * callback,
void * userdata)
const;
108 void getStatsForType(SbProfilingNodeTypeKey type,
112 void getStatsForName(SbProfilingNodeNameKey name,
134 SbPimplPtr<SbProfilingDataP> pimpl;
136 void constructorInit(
void);
138 SbBool isPathMatch(
const SoFullPath * path,
int pathlen,
int idx);
140 int getIndexCreate(
const SoFullPath * path,
int pathlen);
141 int getIndexNoCreate(
const SoPath * path,
int pathlen)
const;
142 int getIndexForwardCreate(
const SoFullPath * path,
int pathlen,
144 int getIndexForwardNoCreate(
const SoFullPath * path,
int pathlen,
145 int parentindex)
const;
The SbList class is a template container class for lists.
Definition SbList.h:61
The SbName class stores strings by reference.
Definition SbName.h:31
SbTime getActionStartTime(void) const
Definition SbProfilingData.cpp:411
int getParentIndex(int idx) const
Definition SbProfilingData.cpp:506
void setNodeTiming(const SoPath *path, SbTime timing)
Definition SbProfilingData.cpp:709
void reset(void)
Definition SbProfilingData.cpp:182
SbProfilingData(void)
Definition SbProfilingData.cpp:143
SbTime getActionStopTime(void) const
Definition SbProfilingData.cpp:431
SbTime getActionDuration(void) const
Definition SbProfilingData.cpp:441
SbTime getNodeTiming(const SoPath *path, unsigned int queryflags=0) const
Definition SbProfilingData.cpp:861
void setActionStopTime(SbTime stoptime)
Definition SbProfilingData.cpp:421
SoType getActionType(void) const
Definition SbProfilingData.cpp:391
size_t getProfilingDataSize(void) const
Definition SbProfilingData.cpp:1123
void setActionType(SoType actiontype)
Definition SbProfilingData.cpp:381
int getIndex(const SoPath *path, SbBool create=FALSE)
Definition SbProfilingData.cpp:482
void preOffsetNodeTiming(int idx, SbTime timing)
Definition SbProfilingData.cpp:802
void setActionStartTime(SbTime starttime)
Definition SbProfilingData.cpp:401
The SbTime class instances represents time values.
Definition SbTime.h:41
The SoFullPath class allows examination of hidden children in paths.
Definition SoFullPath.h:29
The SoNode class is the base class for nodes used in scene graphs.
Definition SoNode.h:47
The SoPath class is a container class for traversal path descriptions.
Definition SoPath.h:43
The SoType class is the basis for the run-time type system in Coin.
Definition SoType.h:50