1#ifndef COIN_SBPROFILINGDATA_H
2#define COIN_SBPROFILINGDATA_H
36#include <Inventor/SbBasic.h>
37#include <Inventor/SbTime.h>
38#include <Inventor/SoType.h>
39#include <Inventor/SbName.h>
40#include <Inventor/lists/SbList.h>
41#include <Inventor/tools/SbPimplPtr.h>
46class SbProfilingDataP;
48typedef void * SbProfilingNodeKey;
49typedef int16_t SbProfilingNodeTypeKey;
50typedef const char * SbProfilingNodeNameKey;
58 void setActionType(
SoType actiontype);
59 SoType getActionType(
void)
const;
61 void setActionStartTime(
SbTime starttime);
62 SbTime getActionStartTime(
void)
const;
63 void setActionStopTime(
SbTime stoptime);
64 SbTime getActionStopTime(
void)
const;
65 SbTime getActionDuration(
void)
const;
78 enum NodeDataQueryFlags {
79 INCLUDE_CHILDREN = 0x01
83 void setNodeTiming(
int idx,
SbTime timing);
84 void preOffsetNodeTiming(
int idx,
SbTime timing);
85 SbTime getNodeTiming(
const SoPath * path,
unsigned int queryflags = 0)
const;
86 SbTime getNodeTiming(
int idx,
unsigned int queryflags = 0)
const;
88 void setNodeFootprint(
const SoPath * path, FootprintType type,
90 void setNodeFootprint(
int idx, FootprintType type,
size_t footprint);
91 size_t getNodeFootprint(
const SoPath * path, FootprintType type,
92 unsigned int queryflags = 0)
const;
93 size_t getNodeFootprint(
int idx, FootprintType type,
94 unsigned int queryflags = 0)
const;
96 void setNodeFlag(
const SoPath * path, NodeFlag flag, SbBool on);
97 void setNodeFlag(
int idx, NodeFlag flag, SbBool on);
98 SbBool getNodeFlag(
const SoPath * path, NodeFlag flag)
const;
99 SbBool getNodeFlag(
int idx, NodeFlag flag)
const;
101 int getIndex(
const SoPath * path, SbBool create = FALSE);
102 int getParentIndex(
int idx)
const;
104 SoType getNodeType(
int idx)
const;
105 SbName getNodeName(
int idx)
const;
107 int getLongestNameLength(
void)
const;
108 int getLongestTypeNameLength(
void)
const;
110 int getNumNodeEntries(
void)
const;
113 void reportAll(SbProfilingDataCB * callback,
void * userdata)
const;
117 void getStatsForType(SbProfilingNodeTypeKey type,
121 void getStatsForName(SbProfilingNodeNameKey name,
135 size_t getProfilingDataSize(
void)
const;
145 void constructorInit(
void);
147 SbBool isPathMatch(
const SoFullPath * path,
int pathlen,
int idx);
149 int getIndexCreate(
const SoFullPath * path,
int pathlen);
150 int getIndexNoCreate(
const SoPath * path,
int pathlen)
const;
151 int getIndexForwardCreate(
const SoFullPath * path,
int pathlen,
153 int getIndexForwardNoCreate(
const SoFullPath * path,
int pathlen,
154 int parentindex)
const;
The SbList class is a template container class for lists.
Definition SbList.h:70
The SbName class stores strings by reference.
Definition SbName.h:40
Definition SbPimplPtr.h:55
Data structure for gathering scene graph traversal profiling information.
Definition SbProfilingData.h:52
The SbTime class instances represents time values.
Definition SbTime.h:50
The SoFullPath class allows examination of hidden children in paths.
Definition SoFullPath.h:38
The SoNode class is the base class for nodes used in scene graphs.
Definition SoNode.h:56
The SoPath class is a container class for traversal path descriptions.
Definition SoPath.h:52
The SoType class is the basis for the runtime type system in Coin.
Definition SoType.h:59