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
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
34namespace 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
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_
Tissue Forge Python language support.
Definition tf_bindPy.h:36
EventPy * onEvent(EventPyInvokePyExecutor *invokeExecutor, EventPyPredicatePyExecutor *predicateExecutor=NULL)
Creates an event using prescribed invoke and predicate python function executors.
Definition tfEvent.h:45
Definition tfEventPyExecutor.h:33
Definition tfEventPy.h:47
int32_t HRESULT
Definition tf_port.h:255