Tissue Forge C++
0.2.1
Interactive, particle-based physics, chemistry and biology modeling and simulation environment
Loading...
Searching...
No Matches
tfEventPy.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
24
25
#ifndef _SOURCE_LANGS_PY_TFEVENTPY_H_
26
#define _SOURCE_LANGS_PY_TFEVENTPY_H_
27
28
#include "
tf_py.h
"
29
30
#include <
event/tfEvent.h
>
31
#include "tfEventPyExecutor.h"
32
33
34
namespace
TissueForge::py
{
35
36
37
struct
EventPy
;
38
39
struct
CAPI_EXPORT
EventPyPredicatePyExecutor
:
EventPyExecutor
<EventPy> {
40
HRESULT
_result = 0;
41
};
42
43
struct
CAPI_EXPORT
EventPyInvokePyExecutor
:
EventPyExecutor
<EventPy> {
44
HRESULT
_result = 0;
45
};
46
47
struct
CAPI_EXPORT EventPy :
event::EventBase
{
48
EventPy(
EventPyInvokePyExecutor
*invokeExecutor,
EventPyPredicatePyExecutor
*predicateExecutor=NULL);
49
~EventPy();
50
51
HRESULT
predicate
();
52
HRESULT
invoke
();
53
HRESULT
eval(
const
FloatP_t &time);
54
55
private
:
56
EventPyInvokePyExecutor
*invokeExecutor;
57
EventPyPredicatePyExecutor
*predicateExecutor;
58
};
59
67
CPPAPI_FUNC(
EventPy
*)
onEvent
(
EventPyInvokePyExecutor
*invokeExecutor,
EventPyPredicatePyExecutor
*predicateExecutor=NULL);
68
69
};
70
71
#endif
// _SOURCE_LANGS_PY_TFEVENTPY_H_
TissueForge::py
Tissue Forge Python language support.
Definition
tf_bindPy.h:36
TissueForge::py::onEvent
EventPy * onEvent(EventPyInvokePyExecutor *invokeExecutor, EventPyPredicatePyExecutor *predicateExecutor=NULL)
Creates an event using prescribed invoke and predicate python function executors.
TissueForge::event::EventBase
Definition
tfEvent.h:45
TissueForge::py::EventPyExecutor
Definition
tfEventPyExecutor.h:33
TissueForge::py::EventPy
Definition
tfEventPy.h:47
TissueForge::py::EventPy::predicate
HRESULT predicate()
TissueForge::py::EventPy::invoke
HRESULT invoke()
TissueForge::py::EventPyInvokePyExecutor
Definition
tfEventPy.h:43
TissueForge::py::EventPyPredicatePyExecutor
Definition
tfEventPy.h:39
HRESULT
int32_t HRESULT
Definition
tf_port.h:255
tf_py.h
tfEvent.h
source
langs
py
tfEventPy.h
Generated by
1.13.2