DDraceNetwork Documentation
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
5#include <game/mapitems.h>
6
7#include <array>
8#include <vector>
9
11{
12public:
13 std::vector<CEnvPoint_runtime> m_vPoints;
14 char m_aName[32] = "";
15 bool m_Synchronized = true;
16
17 enum class EType
18 {
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);
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
34private:
35 void Resort();
36
38
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 };
51};
52
53#endif
Definition mapitems.h:507
Definition mapitems.h:486
Definition envelope.h:40
CEnvelopePointAccess(std::vector< CEnvPoint_runtime > *pvPoints)
Definition envelope.cpp:11
const CEnvPointBezier * GetBezier(int Index) const override
Definition envelope.cpp:28
int NumPoints() const override
Definition envelope.cpp:16
std::vector< CEnvPoint_runtime > * m_pvPoints
Definition envelope.h:41
const CEnvPoint * GetPoint(int Index) const override
Definition envelope.cpp:21
CEnvelope(EType Type)
Definition envelope.cpp:35
CEnvelopePointAccess m_PointsAccess
Definition envelope.h:50
int FindPointIndex(CFixedTime Time) const
Definition envelope.cpp:128
EType Type() const
Definition envelope.h:32
void AddPoint(CFixedTime Time, std::array< int, CEnvPoint::MAX_CHANNELS > aValues)
Definition envelope.cpp:107
char m_aName[32]
Definition envelope.h:14
float EndTime() const
Definition envelope.cpp:121
int GetChannels() const
Definition envelope.cpp:133
void Eval(float Time, ColorRGBA &Result, size_t Channels)
Definition envelope.cpp:101
bool m_Synchronized
Definition envelope.h:15
std::pair< float, float > GetValueRange(int ChannelMask)
Definition envelope.cpp:62
std::vector< CEnvPoint_runtime > m_vPoints
Definition envelope.h:13
EType
Definition envelope.h:18
@ COLOR
Definition envelope.h:20
@ POSITION
Definition envelope.h:19
@ SOUND
Definition envelope.h:21
EType m_Type
Definition envelope.h:37
void Resort()
Definition envelope.cpp:57
Definition mapitems.h:259
Definition color.h:182
Definition render_map.h:23