-
-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathhypatia.i
More file actions
106 lines (94 loc) · 3.3 KB
/
hypatia.i
File metadata and controls
106 lines (94 loc) · 3.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
%begin %{
#if defined( __WIN32__ ) || defined( _WIN32 )
#include <cmath>
#endif
%}
%module hypatia
%include <typemaps.i>
%include <std_vector.i>
%include <std_string.i>
#pragma SWIG nowarn=509
%ignore *::operator[];
%ignore *::operator=;
%ignore *::operator==;
%ignore *::operator!=;
%ignore *::operator<;
%ignore *::operator<=;
%ignore *::operator>;
%ignore *::operator>=;
%ignore operator<<;
%{
#define SWIG_FILE_WITH_INIT
#include "hypatia/MathOps.h"
#include "hypatia/primitives/Polar.h"
#include "hypatia/primitives/Vector2.h"
#include "hypatia/primitives/Vector3.h"
#include "hypatia/primitives/Matrix3x3.h"
#include "hypatia/primitives/TimeSpan.h"
#include "hypatia/primitives/DateTime.h"
#include "hypatia/coordinates/Equatorial.h"
#include "hypatia/coordinates/PrecessionMatrix.h"
#include "hypatia/coordinates/Galactic.h"
#include "hypatia/coordinates/Ecliptic.h"
#include "hypatia/coordinates/Horizontal.h"
#include "hypatia/coordinates/Geodetic.h"
#include "hypatia/coordinates/ECI.h"
#include "hypatia/coordinates/Tile.h"
#include "hypatia/coordinates/UTM.h"
#include "hypatia/TimeOps.h"
#include "hypatia/GeoOps.h"
#include "hypatia/Observer.h"
#include "hypatia/CoordOps.h"
#include "hypatia/ProjOps.h"
#include "hypatia/Body.h"
#include "hypatia/Luna.h"
#include "hypatia/Star.h"
#include "hypatia/Constellation.h"
#include "hypatia/Satellite.h"
#include "hypatia/models/TLE.h"
%}
%include "numpy.i"
%include <std_array.i>
%init %{
import_array();
%}
%apply double &OUTPUT { double &_x, double &_y };
%apply double &OUTPUT { double &_lng, double &_lat };
%apply double &OUTPUT { int &_deg, int &_min, double &_sec };
%apply double &OUTPUT { int &_hrs, int &_min, double &_sec };
%apply double &OUTPUT { int &_year, int &_month, double &_day };
%apply int &OUTPUT { int &_day, int &_month, int &_year };
%apply int &OUTPUT { int &_hrs, int &_min, int &_sec };
namespace std {
%template(DoubleArray12) array<double, 12>;
%template(IntVector) vector<int>;
%template(EquatorialVector) vector<Equatorial>;
%template(TileList) vector<Tile>;
};
%include "include/hypatia/MathOps.h"
%include "include/hypatia/primitives/Polar.h"
%include "include/hypatia/primitives/Vector2.h"
%include "include/hypatia/primitives/Vector3.h"
%include "include/hypatia/primitives/Matrix3x3.h"
%include "include/hypatia/primitives/TimeSpan.h"
%include "include/hypatia/primitives/DateTime.h"
%include "include/hypatia/coordinates/Equatorial.h"
%include "include/hypatia/coordinates/PrecessionMatrix.h"
%include "include/hypatia/coordinates/Galactic.h"
%include "include/hypatia/coordinates/Ecliptic.h"
%include "include/hypatia/coordinates/Horizontal.h"
%include "include/hypatia/coordinates/Geodetic.h"
%include "include/hypatia/coordinates/ECI.h"
%include "include/hypatia/coordinates/Tile.h"
%include "include/hypatia/coordinates/UTM.h"
%include "include/hypatia/TimeOps.h"
%include "include/hypatia/GeoOps.h"
%include "include/hypatia/Observer.h"
%include "include/hypatia/CoordOps.h"
%include "include/hypatia/ProjOps.h"
%include "include/hypatia/Body.h"
%include "include/hypatia/Luna.h"
%include "include/hypatia/Star.h"
%include "include/hypatia/Constellation.h"
%include "include/hypatia/Satellite.h"
%include "include/hypatia/models/TLE.h"