NAP
Overview
Manual
Classes
Namespaces
•
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Pages
nap
system_modules
napsequence
src
sequencetracksegmentevent.h
1
/* This Source Code Form is subject to the terms of the Mozilla Public
2
* License, v. 2.0. If a copy of the MPL was not distributed with this
3
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
5
#pragma once
6
7
// Local Includes
8
#include "sequencetracksegment.h"
9
#include "sequenceevent.h"
10
11
// External Includes
12
#include <nap/event.h>
13
14
namespace
nap
15
{
17
21
class
NAPAPI
SequenceTrackSegmentEventBase
:
public
SequenceTrackSegment
22
{
23
friend
class
SequencePlayerEventAdapter
;
24
25
RTTI_ENABLE(
SequenceTrackSegment
)
26
private
:
31
virtual
SequenceEventPtr
createEvent() = 0;
32
};
33
38
template
<
typename
T>
39
class
SequenceTrackSegmentEvent
:
public
SequenceTrackSegmentEventBase
40
{
41
RTTI_ENABLE(
SequenceTrackSegmentEventBase
)
42
public
:
43
T
mValue
;
44
private
:
45
virtual
SequenceEventPtr
createEvent()
override
;
46
};
47
49
// Definitions of all supported sequence track event segments
51
52
using
SequenceTrackSegmentEventString
=
SequenceTrackSegmentEvent<std::string>
;
53
using
SequenceTrackSegmentEventFloat
=
SequenceTrackSegmentEvent<float>
;
54
using
SequenceTrackSegmentEventInt
=
SequenceTrackSegmentEvent<int>
;
55
using
SequenceTrackSegmentEventVec2
=
SequenceTrackSegmentEvent<glm::vec2>
;
56
using
SequenceTrackSegmentEventVec3
=
SequenceTrackSegmentEvent<glm::vec3>
;
57
using
SequenceTrackSegmentEventVec4
=
SequenceTrackSegmentEvent<glm::vec4>
;
58
60
// Template definitions
62
63
template
<
typename
T>
64
SequenceEventPtr
SequenceTrackSegmentEvent<T>::createEvent
()
65
{
66
return
std::make_unique<SequenceEvent<T>>(mValue);
67
}
68
}
nap::SequenceTrackSegment
Definition:
sequencetracksegment.h:19
nap::SequenceEventPtr
std::unique_ptr< SequenceEventBase > SequenceEventPtr
Definition:
sequenceevent.h:68
nap::SequenceTrackSegmentEvent
Definition:
sequencetracksegmentevent.h:39
nap::SequenceTrackSegmentEvent::mValue
T mValue
Definition:
sequencetracksegmentevent.h:43
nap::SequenceTrackSegmentEventBase
Definition:
sequencetracksegmentevent.h:21
nap
Definition:
templateapp.h:17
nap::SequencePlayerEventAdapter
Definition:
sequenceplayereventadapter.h:24
Generated by doxygen