Tissue Forge C++ 0.2.1
Interactive, particle-based physics, chemistry and biology modeling and simulation environment
Loading...
Searching...
No Matches
tfParticleEventPy.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_TFPARTICLEEVENTPY_H_
26#define _SOURCE_LANGS_PY_TFPARTICLEEVENTPY_H_
27
28#include "tf_py.h"
29
30#include "tfEventPyExecutor.h"
31
33
34
35namespace TissueForge::py {
36
37
38 struct ParticleEventPy;
39
41 HRESULT _result = 0;
42 };
43
45 HRESULT _result = 0;
46 };
47
48 struct CAPI_EXPORT ParticleEventPy : event::ParticleEvent {
49
50 ParticleEventPy() {}
51 ParticleEventPy(
53 ParticleEventPyInvokePyExecutor *invokeExecutor,
54 ParticleEventPyPredicatePyExecutor *predicateExecutor=NULL,
55 event::ParticleEventParticleSelector *particleSelector=NULL
56 );
57 virtual ~ParticleEventPy();
58
59 virtual HRESULT predicate();
60 virtual HRESULT invoke();
61 virtual HRESULT eval(const FloatP_t &time);
62
63 private:
64
65 ParticleEventPyInvokePyExecutor *invokeExecutor;
66 ParticleEventPyPredicatePyExecutor *predicateExecutor;
67
68 };
69
80 ParticleType *targetType,
81 ParticleEventPyInvokePyExecutor *invokeExecutor,
82 ParticleEventPyPredicatePyExecutor *predicateExecutor,
83 const std::string &selector="default"
84 );
85
86};
87
88#endif // _SOURCE_LANGS_PY_TFPARTICLEEVENTPY_H_
Tissue Forge Python language support.
Definition tf_bindPy.h:36
ParticleEventPy * onParticleEvent(ParticleType *targetType, ParticleEventPyInvokePyExecutor *invokeExecutor, ParticleEventPyPredicatePyExecutor *predicateExecutor, const std::string &selector="default")
Creates a particle event using prescribed invoke and predicate python function executors.
Structure containing information on each particle type.
Definition tfParticle.h:768
Definition tfParticleEvent.h:126
ParticleType * targetType
Target particle type of this event.
Definition tfParticleEvent.h:131
Definition tfEventPyExecutor.h:33
Definition tfParticleEventPy.h:48
Definition tfParticleEventPy.h:44
int32_t HRESULT
Definition tf_port.h:255