DDNet documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
envelope.h
Go to the documentation of this file.
1
#ifndef GAME_EDITOR_MAPITEMS_ENVELOPE_H
2
#define GAME_EDITOR_MAPITEMS_ENVELOPE_H
3
4
#include <
game/map/render_map.h
>
5
#include <
game/mapitems.h
>
6
7
#include <array>
8
#include <vector>
9
10
class
CEnvelope
11
{
12
public
:
13
std::vector<CEnvPoint_runtime>
m_vPoints
;
14
char
m_aName
[32] =
""
;
15
bool
m_Synchronized
=
true
;
16
17
enum class
EType
18
{
19
POSITION,
20
COLOR
,
21
SOUND
,
22
};
23
explicit
CEnvelope
(
EType
Type
);
24
explicit
CEnvelope
(
int
NumChannels);
25
26
std::pair<float, float>
GetValueRange
(
int
ChannelMask);
27
void
Eval
(
float
Time,
ColorRGBA
&Result,
size_t
Channels)
const
;
28
void
AddPoint
(
CFixedTime
Time, std::array<int, CEnvPoint::MAX_CHANNELS> aValues);
29
float
EndTime
()
const
;
30
int
FindPointIndex
(
CFixedTime
Time)
const
;
31
int
GetChannels
()
const
;
32
EType
Type
()
const
{
return
m_Type
; }
33
34
private
:
35
void
Resort
();
36
37
EType
m_Type
;
38
39
class
CEnvelopePointAccess
:
public
IEnvelopePointAccess
40
{
41
std::vector<CEnvPoint_runtime> *
m_pvPoints
;
42
43
public
:
44
CEnvelopePointAccess
(std::vector<CEnvPoint_runtime> *pvPoints);
45
46
int
NumPoints
()
const override
;
47
const
CEnvPoint
*
GetPoint
(
int
Index)
const override
;
48
const
CEnvPointBezier
*
GetBezier
(
int
Index)
const override
;
49
};
50
CEnvelopePointAccess
m_PointsAccess
;
51
};
52
53
#endif
CEnvPointBezier
Definition
mapitems.h:527
CEnvPoint
Definition
mapitems.h:506
CEnvelope::CEnvelopePointAccess
Definition
envelope.h:40
CEnvelope::CEnvelopePointAccess::CEnvelopePointAccess
CEnvelopePointAccess(std::vector< CEnvPoint_runtime > *pvPoints)
Definition
envelope.cpp:11
CEnvelope::CEnvelopePointAccess::GetBezier
const CEnvPointBezier * GetBezier(int Index) const override
Definition
envelope.cpp:28
CEnvelope::CEnvelopePointAccess::NumPoints
int NumPoints() const override
Definition
envelope.cpp:16
CEnvelope::CEnvelopePointAccess::m_pvPoints
std::vector< CEnvPoint_runtime > * m_pvPoints
Definition
envelope.h:41
CEnvelope::CEnvelopePointAccess::GetPoint
const CEnvPoint * GetPoint(int Index) const override
Definition
envelope.cpp:21
CEnvelope::CEnvelope
CEnvelope(EType Type)
Definition
envelope.cpp:35
CEnvelope::m_PointsAccess
CEnvelopePointAccess m_PointsAccess
Definition
envelope.h:50
CEnvelope::FindPointIndex
int FindPointIndex(CFixedTime Time) const
Definition
envelope.cpp:128
CEnvelope::Type
EType Type() const
Definition
envelope.h:32
CEnvelope::AddPoint
void AddPoint(CFixedTime Time, std::array< int, CEnvPoint::MAX_CHANNELS > aValues)
Definition
envelope.cpp:107
CEnvelope::m_aName
char m_aName[32]
Definition
envelope.h:14
CEnvelope::EndTime
float EndTime() const
Definition
envelope.cpp:121
CEnvelope::GetChannels
int GetChannels() const
Definition
envelope.cpp:133
CEnvelope::m_Synchronized
bool m_Synchronized
Definition
envelope.h:15
CEnvelope::GetValueRange
std::pair< float, float > GetValueRange(int ChannelMask)
Definition
envelope.cpp:62
CEnvelope::m_vPoints
std::vector< CEnvPoint_runtime > m_vPoints
Definition
envelope.h:13
CEnvelope::EType
EType
Definition
envelope.h:18
CEnvelope::Eval
void Eval(float Time, ColorRGBA &Result, size_t Channels) const
Definition
envelope.cpp:101
CEnvelope::m_Type
EType m_Type
Definition
envelope.h:37
CEnvelope::Resort
void Resort()
Definition
envelope.cpp:57
CFixedTime
Definition
mapitems.h:259
ColorRGBA
Definition
color.h:183
IEnvelopePointAccess
Definition
render_map.h:25
EQuadProp::COLOR
@ COLOR
Definition
mapitems.h:12
ELayerSoundsProp::SOUND
@ SOUND
Definition
mapitems.h:124
mapitems.h
render_map.h
src
game
editor
mapitems
envelope.h
Generated by
1.18.0