Tissue Forge C++
0.2.1
Interactive, particle-based physics, chemistry and biology modeling and simulation environment
Loading...
Searching...
No Matches
tfEventList.h
Go to the documentation of this file.
1
/*******************************************************************************
2
* This file is part of Tissue Forge.
3
* Copyright (c) 2022-2024 T.J. Sego
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU Lesser General Public License as published
7
* by the Free Software Foundation, either version 3 of the License, or
8
* (at your option) any later version.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU Lesser General Public License
16
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*
18
******************************************************************************/
19
25
#ifndef _SOURCE_EVENT_TFEVENTLIST_H_
26
#define _SOURCE_EVENT_TFEVENTLIST_H_
27
28
#include "
tfEvent.h
"
29
30
31
namespace
TissueForge::event
{
32
33
34
HRESULT
event_func_invoke(EventBase &event,
const
FloatP_t &time);
35
36
struct
CAPI_EXPORT
EventBaseList
{
37
38
private
:
39
40
inline
std::vector<EventBase*>::iterator findEventIterator(
EventBase
*event);
41
std::vector<EventBase*> toRemove;
42
43
public
:
44
45
std::vector<EventBase*> events;
46
47
~EventBaseList
();
48
49
void
addEvent(
EventBase
*event);
50
HRESULT
removeEvent(
EventBase
*event);
51
HRESULT
eval(
const
FloatP_t &time);
52
53
};
54
55
inline
HRESULT
eventListEval(
EventBaseList
*eventList,
const
FloatP_t &time);
56
57
// Basic event list
58
template
<
typename
event_t>
59
struct
EventListT
:
EventBaseList
{};
60
61
using
EventList
=
EventListT<Event>
;
62
63
};
64
65
#endif
// _SOURCE_EVENT_TFEVENTLIST_H_
TissueForge::event
Tissue Forge event system.
Definition
tfEvent.h:34
TissueForge::event::EventBase
Definition
tfEvent.h:45
TissueForge::event::EventBaseList
Definition
tfEventList.h:36
TissueForge::event::EventListT
Definition
tfEventList.h:59
HRESULT
int32_t HRESULT
Definition
tf_port.h:255
tfEvent.h
source
event
tfEventList.h
Generated by
1.10.0