|
@@ -30,6 +30,86 @@ PYBIND11_MODULE(LemmaCore, m) {
|
30
|
30
|
|
31
|
31
|
m.doc() = "Python binding of LemmaCore, additional details can be found at https://lemmasoftware.org";
|
32
|
32
|
|
|
33
|
+ //////////////////
|
|
34
|
+ // Enumerations //
|
|
35
|
+ //////////////////
|
|
36
|
+
|
|
37
|
+ py::enum_<Lemma::MAGUNITS>(m, "MAGUNITS")
|
|
38
|
+ .value("TESLA", Lemma::TESLA)
|
|
39
|
+ .value("NANOTESLA", Lemma::NANOTESLA)
|
|
40
|
+ .value("GAUSS", Lemma::GAUSS)
|
|
41
|
+ .export_values();
|
|
42
|
+
|
|
43
|
+ py::enum_<Lemma::TEMPUNITS>(m, "TEMPUNITS")
|
|
44
|
+ .value("CELCIUS", Lemma::CELCIUS)
|
|
45
|
+ .value("KELVIN", Lemma::KELVIN)
|
|
46
|
+ .export_values();
|
|
47
|
+
|
|
48
|
+ py::enum_<Lemma::TIMEUNITS>(m, "TIMEUNITS")
|
|
49
|
+ .value("SEC", Lemma::SEC)
|
|
50
|
+ .value("MILLISEC", Lemma::MILLISEC)
|
|
51
|
+ .value("MICROSEC", Lemma::MICROSEC)
|
|
52
|
+ .value("NANOSEC", Lemma::NANOSEC)
|
|
53
|
+ .value("PICOSEC", Lemma::PICOSEC)
|
|
54
|
+ .export_values();
|
|
55
|
+
|
|
56
|
+ py::enum_<Lemma::FREQUENCYUNITS>(m, "FREQUENCYUNITS")
|
|
57
|
+ .value("HZ", Lemma::HZ)
|
|
58
|
+ .value("KHZ", Lemma::KHZ)
|
|
59
|
+ .value("MHZ", Lemma::MHZ)
|
|
60
|
+ .value("GHZ", Lemma::GHZ)
|
|
61
|
+ .export_values();
|
|
62
|
+
|
|
63
|
+ py::enum_<Lemma::FEMCOILORIENTATION>(m, "FEMCOILORIENTATION")
|
|
64
|
+ .value("COAXIAL", Lemma::COAXIAL)
|
|
65
|
+ .value("COPLANAR", Lemma::COPLANAR)
|
|
66
|
+ .export_values();
|
|
67
|
+
|
|
68
|
+ py::enum_<Lemma::DIPOLESOURCETYPE>(m, "DIPOLESOURCETYPE")
|
|
69
|
+ .value("NOSOURCETYPE", Lemma::NOSOURCETYPE)
|
|
70
|
+ .value("GROUNDEDELECTRICDIPOLE", Lemma::GROUNDEDELECTRICDIPOLE )
|
|
71
|
+ .value("UNGROUNDEDELECTRICDIPOLE", Lemma::UNGROUNDEDELECTRICDIPOLE )
|
|
72
|
+ .value("MAGNETICDIPOLE", Lemma::MAGNETICDIPOLE )
|
|
73
|
+ .export_values();
|
|
74
|
+
|
|
75
|
+ py::enum_<Lemma::HANKELTRANSFORMTYPE>(m, "HANKELTRANSFORMTYPE")
|
|
76
|
+ .value("ANDERSON801", Lemma::ANDERSON801)
|
|
77
|
+ .value("CHAVE", Lemma::CHAVE)
|
|
78
|
+ .value("FHTKEY201", Lemma::FHTKEY201)
|
|
79
|
+ .value("FHTKEY101", Lemma::FHTKEY101)
|
|
80
|
+ .value("FHTKEY51", Lemma::FHTKEY51)
|
|
81
|
+ .value("QWEKEY", Lemma::QWEKEY)
|
|
82
|
+ .value("FHTKONG61", Lemma::FHTKONG61)
|
|
83
|
+ .value("FHTKONG121", Lemma::FHTKONG121)
|
|
84
|
+ .value("FHTKONG241", Lemma::FHTKONG241)
|
|
85
|
+ .value("IRONS", Lemma::IRONS)
|
|
86
|
+ .export_values();
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+ py::enum_<Lemma::FIELDCALCULATIONS>(m, "FIELDCALCULATIONS")
|
|
90
|
+ .value("E", Lemma::E)
|
|
91
|
+ .value("H", Lemma::H)
|
|
92
|
+ .value("BOTH", Lemma::BOTH)
|
|
93
|
+ .export_values();
|
|
94
|
+
|
|
95
|
+ //what the what? This won't compile on gcc?? Maybe because not all caps?
|
|
96
|
+ /*
|
|
97
|
+ py::enum_<Lemma::DipoleSourcePolarity>(m "DipoleSourcePolarity")
|
|
98
|
+ .value("NEGATIVE", Lemma::NEGATIVE)
|
|
99
|
+ .value("POSITIVE", Lemma::POSITIVE)
|
|
100
|
+ .export_values();
|
|
101
|
+
|
|
102
|
+ py::enum_<Lemma::DipoleSourcePolarisation>(m "DipoleSourcePolarisation")
|
|
103
|
+ .value("NOPOLARISATION", Lemma::NOPOLARISATION)
|
|
104
|
+ .value("XPOLARISATION", Lemma::XPOLARISATION)
|
|
105
|
+ .value("YPOLARISATION", Lemma::YPOLARISATION)
|
|
106
|
+ .value("ZPOLARISATION", Lemma::ZPOLARISATION)
|
|
107
|
+ .export_values();
|
|
108
|
+ */
|
|
109
|
+
|
|
110
|
+ ///////////////////////
|
|
111
|
+ // LemmaCore Classes //
|
|
112
|
+ ///////////////////////
|
33
|
113
|
py::class_<Lemma::RectilinearGrid, std::shared_ptr<Lemma::RectilinearGrid> > RectilinearGrid(m, "RectilinearGrid");
|
34
|
114
|
|
35
|
115
|
// lifecycle
|