19
19
#include " MGIS/Behaviour/BehaviourData.hxx"
20
20
#include " MGIS/Behaviour/MaterialDataManager.hxx"
21
21
#include " MGIS/Behaviour/Integrate.hxx"
22
+ #include " MGIS/Python/NumPySupport.hxx"
22
23
#include " MGIS/Python/VectorConverter.hxx"
23
24
24
25
void declareIntegrate ();
@@ -30,6 +31,115 @@ static int integrateBehaviourData1(mgis::behaviour::BehaviourData& d,
30
31
return s;
31
32
} // end of integrateBehaviourData
32
33
34
+ static int BehaviourDataView_executeInitializeFunction (
35
+ mgis::behaviour::BehaviourDataView& v,
36
+ const mgis::behaviour::Behaviour& b,
37
+ const std::string& n) {
38
+ return mgis::behaviour::executeInitializeFunction (v, b, n);
39
+ }
40
+
41
+ static int BehaviourDataView_executeInitializeFunction2 (
42
+ mgis::behaviour::BehaviourDataView& v,
43
+ const mgis::behaviour::Behaviour& b,
44
+ const std::string& n,
45
+ boost::python::object i) {
46
+ const auto inputs = mgis::python::mgis_convert_to_span (i);
47
+ return mgis::behaviour::executeInitializeFunction (v, b, n, inputs);
48
+ }
49
+
50
+ static mgis::behaviour::BehaviourIntegrationResult
51
+ MaterialDataManager_executeInitializeFunction (
52
+ mgis::behaviour::MaterialDataManager& m,
53
+ const std::string& n) {
54
+ return mgis::behaviour::executeInitializeFunction (m, n);
55
+ }
56
+
57
+ static mgis::behaviour::BehaviourIntegrationResult
58
+ MaterialDataManager_executeInitializeFunction1 (
59
+ mgis::behaviour::MaterialDataManager& m,
60
+ const std::string& n,
61
+ const mgis::size_type b,
62
+ const mgis::size_type e) {
63
+ return mgis::behaviour::executeInitializeFunction (m, n, b, e);
64
+ }
65
+
66
+ static mgis::behaviour::MultiThreadedBehaviourIntegrationResult
67
+ MaterialDataManager_executeInitializeFunction2 (
68
+ mgis::ThreadPool& t,
69
+ mgis::behaviour::MaterialDataManager& m,
70
+ const std::string& n) {
71
+ return mgis::behaviour::executeInitializeFunction (t, m, n);
72
+ }
73
+
74
+ static mgis::behaviour::BehaviourIntegrationResult
75
+ MaterialDataManager_executeInitializeFunction3 (
76
+ mgis::behaviour::MaterialDataManager& m,
77
+ const std::string& n,
78
+ boost::python::object i) {
79
+ const auto inputs = mgis::python::mgis_convert_to_span (i);
80
+ return mgis::behaviour::executeInitializeFunction (m, n, inputs);
81
+ }
82
+
83
+ static mgis::behaviour::BehaviourIntegrationResult
84
+ MaterialDataManager_executeInitializeFunction4 (
85
+ mgis::behaviour::MaterialDataManager& m,
86
+ const std::string& n,
87
+ boost::python::object i,
88
+ const mgis::size_type b,
89
+ const mgis::size_type e) {
90
+ const auto inputs = mgis::python::mgis_convert_to_span (i);
91
+ return mgis::behaviour::executeInitializeFunction (m, n, inputs, b, e);
92
+ }
93
+
94
+ static mgis::behaviour::MultiThreadedBehaviourIntegrationResult
95
+ MaterialDataManager_executeInitializeFunction5 (
96
+ mgis::ThreadPool& t,
97
+ mgis::behaviour::MaterialDataManager& m,
98
+ const std::string& n,
99
+ boost::python::object i) {
100
+ const auto inputs = mgis::python::mgis_convert_to_span (i);
101
+ return mgis::behaviour::executeInitializeFunction (t, m, n, inputs);
102
+ }
103
+
104
+ static int BehaviourDataView_executePostProcessing (
105
+ boost::python::object o,
106
+ mgis::behaviour::BehaviourDataView& v,
107
+ const mgis::behaviour::Behaviour& b,
108
+ const std::string& n) {
109
+ const auto output = mgis::python::mgis_convert_to_span (o);
110
+ return mgis::behaviour::executePostProcessing (output, v, b, n);
111
+ }
112
+
113
+ static mgis::behaviour::BehaviourIntegrationResult
114
+ MaterialDataManager_executePostProcessing (
115
+ boost::python::object o,
116
+ mgis::behaviour::MaterialDataManager& m,
117
+ const std::string& n) {
118
+ const auto output = mgis::python::mgis_convert_to_span (o);
119
+ return mgis::behaviour::executePostProcessing (output, m, n);
120
+ }
121
+
122
+ static mgis::behaviour::BehaviourIntegrationResult
123
+ MaterialDataManager_executePostProcessing2 (
124
+ boost::python::object o,
125
+ mgis::behaviour::MaterialDataManager& m,
126
+ const std::string& n,
127
+ const mgis::size_type b,
128
+ const mgis::size_type e) {
129
+ const auto output = mgis::python::mgis_convert_to_span (o);
130
+ return mgis::behaviour::executePostProcessing (output, m, n, b, e);
131
+ }
132
+
133
+ mgis::behaviour::MultiThreadedBehaviourIntegrationResult
134
+ MaterialDataManager_executePostProcessing3 (
135
+ boost::python::object o,
136
+ mgis::ThreadPool& t,
137
+ mgis::behaviour::MaterialDataManager& m,
138
+ const std::string& n) {
139
+ const auto output = mgis::python::mgis_convert_to_span (o);
140
+ return mgis::behaviour::executePostProcessing (output, t, m, n);
141
+ }
142
+
33
143
void declareIntegrate () {
34
144
using namespace mgis ::behaviour;
35
145
@@ -107,6 +217,23 @@ void declareIntegrate() {
107
217
.add_property (" results" ,
108
218
&MultiThreadedBehaviourIntegrationResult::results);
109
219
220
+ boost::python::def (" executeInitializeFunction" ,
221
+ BehaviourDataView_executeInitializeFunction);
222
+ boost::python::def (" executeInitializeFunction" ,
223
+ BehaviourDataView_executeInitializeFunction2);
224
+ boost::python::def (" executeInitializeFunction" ,
225
+ MaterialDataManager_executeInitializeFunction);
226
+ boost::python::def (" executeInitializeFunction" ,
227
+ MaterialDataManager_executeInitializeFunction1);
228
+ boost::python::def (" executeInitializeFunction" ,
229
+ MaterialDataManager_executeInitializeFunction2);
230
+ boost::python::def (" executeInitializeFunction" ,
231
+ MaterialDataManager_executeInitializeFunction3);
232
+ boost::python::def (" executeInitializeFunction" ,
233
+ MaterialDataManager_executeInitializeFunction4);
234
+ boost::python::def (" executeInitializeFunction" ,
235
+ MaterialDataManager_executeInitializeFunction5);
236
+
110
237
int (*integrate_ptr1)(BehaviourDataView&, const Behaviour&) = integrate;
111
238
int (*integrate_ptr2)(MaterialDataManager&, const IntegrationType,
112
239
const mgis::real, const mgis::size_type,
@@ -127,4 +254,14 @@ void declareIntegrate() {
127
254
boost::python::def (" integrate" , integrate_ptr3);
128
255
boost::python::def (" integrate" , integrate_ptr4);
129
256
boost::python::def (" integrate" , integrate_ptr5);
257
+
258
+ boost::python::def (" executePostProcessing" ,
259
+ BehaviourDataView_executePostProcessing);
260
+ boost::python::def (" executePostProcessing" ,
261
+ MaterialDataManager_executePostProcessing);
262
+ boost::python::def (" executePostProcessing" ,
263
+ MaterialDataManager_executePostProcessing2);
264
+ boost::python::def (" executePostProcessing" ,
265
+ MaterialDataManager_executePostProcessing3);
266
+
130
267
} // end of declareIntegrate
0 commit comments