HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
UT_PerfMonUtils.h
Go to the documentation of this file.
1
/*
2
* PROPRIETARY INFORMATION. This software is proprietary to
3
* Side Effects Software Inc., and is not to be reproduced,
4
* transmitted, or disclosed in any way without written permission.
5
*
6
* NAME: UT_PerfMonUtils.h (UT Library, C++)
7
*
8
* COMMENTS:
9
*
10
* Pure static class that provides utilities for the performance monitor
11
* to merge and manipulate sets of times
12
*/
13
14
#ifndef __UT_PerfMonUtils__
15
#define __UT_PerfMonUtils__
16
17
#include "
UT_API.h
"
18
#include "
UT_PriorityQueue.h
"
19
#include "
UT_ValArray.h
"
20
21
#include <
SYS/SYS_Time.h
>
22
23
24
struct
UT_TimeBlock
;
25
typedef
UT_ValArray<UT_TimeBlock>
UT_TimeBlockList
;
26
27
// A block of time with a start and end.
28
struct
UT_API
UT_TimeBlock
29
{
30
UT_TimeBlock
(
const
SYS_TimeVal
&
start
,
const
SYS_TimeVal
&
end
);
31
32
fpreal
time
()
const
;
33
34
SYS_TimeVal
myStart
;
35
SYS_TimeVal
myEnd
;
36
};
37
38
// Comparator for time blocks.
39
class
UT_API
UT_TimeBlockCompare
40
{
41
public
:
42
bool
operator()(
const
UT_TimeBlock
*block1,
const
UT_TimeBlock
*block2)
const
;
43
};
44
45
typedef
UT_PriorityQueue<UT_TimeBlock *, UT_TimeBlockCompare, false>
46
UT_TimeBlockQueue
;
47
48
class
UT_API
UT_PerfMonUtils
49
{
50
public
:
51
static
bool
isTimeLess(
const
SYS_TimeVal
&time1,
const
SYS_TimeVal
&time2);
52
static
bool
doTimeBlocksOverlap(
const
UT_TimeBlock
*block1,
53
const
UT_TimeBlock
*block2);
54
static
void
mergeTimeBlock(
const
UT_TimeBlock
&time_block,
55
UT_TimeBlockQueue
&time_blocks);
56
};
57
58
#endif
SYS_TimeVal
struct timeval SYS_TimeVal
Definition:
SYS_Time.h:31
UT_TimeBlock::myStart
SYS_TimeVal myStart
Definition:
UT_PerfMonUtils.h:34
GT_Names::time
GT_API const UT_StringHolder time
start
GLuint start
Definition:
glcorearb.h:475
UT_PriorityQueue< UT_TimeBlock *, UT_TimeBlockCompare, false >
UT_API.h
UT_API
#define UT_API
Definition:
UT_API.h:14
SYS_Time.h
UT_ValArray
Definition:
GA_ArrayDataArray.h:33
UT_TimeBlockCompare
Definition:
UT_PerfMonUtils.h:39
UT_TimeBlockQueue
UT_PriorityQueue< UT_TimeBlock *, UT_TimeBlockCompare, false > UT_TimeBlockQueue
Definition:
UT_PerfMonUtils.h:46
UT_ValArray.h
end
GLuint GLuint end
Definition:
glcorearb.h:475
UT_TimeBlock
Definition:
UT_PerfMonUtils.h:28
UT_PerfMonUtils
Definition:
UT_PerfMonUtils.h:48
UT_PriorityQueue.h
fpreal
fpreal64 fpreal
Definition:
SYS_Types.h:277
UT_TimeBlock::myEnd
SYS_TimeVal myEnd
Definition:
UT_PerfMonUtils.h:35
UT_TimeBlockList
UT_ValArray< UT_TimeBlock > UT_TimeBlockList
Definition:
UT_PerfMonUtils.h:24
UT
UT_PerfMonUtils.h
Generated on Sat Dec 21 2024 02:49:14 for HDK by
1.8.6