Nebula
Toggle main menu visibility
Loading...
Searching...
No Matches
imguigraph.h
Go to the documentation of this file.
1
#pragma once
2
//------------------------------------------------------------------------------
11
//------------------------------------------------------------------------------
12
13
#include "
util/ringbuffer.h
"
14
#include "
util/string.h
"
15
16
17
namespace
Dynui
18
{
19
20
class
Graph
21
{
22
public
:
24
Graph
(
Util::String
const
&
name
,
SizeT
historySize);
25
27
void
AddValue
(
float
val);
29
void
Draw
();
30
31
private
:
33
static
float
ValueGetter
(
void
*
object
,
int
idx);
34
35
float
_min
,
_max
;
36
float
frame_min
,
frame_max
;
37
float
average
;
38
float
averageSum
;
39
Util::String
name
;
40
Util::String
header
;
41
Util::RingBuffer<float>
buffer
;
42
bool
scroll
;
43
};
44
45
46
//------------------------------------------------------------------------------
49
inline
void
50
Graph::AddValue
(
float
val)
51
{
52
if
(val < FLT_MAX)
53
this->
buffer
.Add(val);
54
}
55
56
//------------------------------------------------------------------------------
59
inline
float
60
Graph::ValueGetter
(
void
*
object
,
int
idx)
61
{
62
Graph
* graph = (
Graph
*)
object
;
63
float
val;
64
if
(graph->
scroll
)
65
{
66
val = graph->
buffer
[idx];
67
}
68
else
69
{
70
val = graph->
buffer
.
GetBuffer
()[idx];
71
}
72
graph->
frame_max
= graph->
frame_max
< val ? val : graph->
frame_max
;
73
graph->
frame_min
= graph->
frame_min
> val ? val : graph->
frame_min
;
74
graph->
averageSum
+= val;
75
return
val;
76
}
77
78
}
// namespace Dynui
79
80
Dynui::Graph::AddValue
void AddValue(float val)
Definition
imguigraph.h:50
Dynui::Graph::frame_max
float frame_max
Definition
imguigraph.h:36
Dynui::Graph::_max
float _max
Definition
imguigraph.h:35
Dynui::Graph::buffer
Util::RingBuffer< float > buffer
Definition
imguigraph.h:41
Dynui::Graph::average
float average
Definition
imguigraph.h:37
Dynui::Graph::header
Util::String header
Definition
imguigraph.h:40
Dynui::Graph::frame_min
float frame_min
Definition
imguigraph.h:36
Dynui::Graph::Draw
void Draw()
Definition
imguigraph.cc:30
Dynui::Graph::ValueGetter
static float ValueGetter(void *object, int idx)
Definition
imguigraph.h:60
Dynui::Graph::scroll
bool scroll
Definition
imguigraph.h:42
Dynui::Graph::Graph
Graph(Util::String const &name, SizeT historySize)
Definition
imguigraph.cc:18
Dynui::Graph::name
Util::String name
Definition
imguigraph.h:39
Dynui::Graph::averageSum
float averageSum
Definition
imguigraph.h:38
Dynui::Graph::_min
float _min
Definition
imguigraph.h:35
Util::RingBuffer
A ring buffer stores up to a maximum number of elements in a circular fashion.
Definition
ringbuffer.h:21
Util::RingBuffer::GetBuffer
TYPE * GetBuffer()
get real linear underlying buffer
Definition
ringbuffer.h:368
Dynui
Imgui Profiler UI.
Definition
imguiconsole.cc:277
ringbuffer.h
string.h
Util.String
Nebula's universal string class.
Definition
String.cs:8
SizeT
int SizeT
Definition
types.h:42
code
addons
dynui
graph
imguigraph.h
Generated on
for Nebula. Dark theme by
Tilen Majerle
. All rights reserved.