open-space-toolkit-mathematics 4.3.2__py311-none-manylinux2014_aarch64.whl → 4.4.1__py311-none-manylinux2014_aarch64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of open-space-toolkit-mathematics might be problematic. Click here for more details.
- {open_space_toolkit_mathematics-4.3.2.dist-info → open_space_toolkit_mathematics-4.4.1.dist-info}/METADATA +3 -3
- {open_space_toolkit_mathematics-4.3.2.dist-info → open_space_toolkit_mathematics-4.4.1.dist-info}/RECORD +25 -13
- {open_space_toolkit_mathematics-4.3.2.dist-info → open_space_toolkit_mathematics-4.4.1.dist-info}/WHEEL +1 -1
- ostk/mathematics/OpenSpaceToolkitMathematicsPy.cpython-311-aarch64-linux-gnu.so +0 -0
- ostk/mathematics/__init__.pyi +11 -0
- ostk/mathematics/curve_fitting/__init__.pyi +65 -0
- ostk/mathematics/curve_fitting/interpolator.pyi +46 -0
- ostk/mathematics/geometry/__init__.pyi +178 -0
- ostk/mathematics/geometry/d2/__init__.pyi +315 -0
- ostk/mathematics/geometry/d2/object.pyi +405 -0
- ostk/mathematics/geometry/d3/__init__.pyi +351 -0
- ostk/mathematics/geometry/d3/object.pyi +837 -0
- ostk/mathematics/geometry/d3/transformation/__init__.pyi +3 -0
- ostk/mathematics/geometry/d3/transformation/rotation.pyi +421 -0
- ostk/mathematics/libopen-space-toolkit-mathematics.so.4 +0 -0
- ostk/mathematics/object.pyi +123 -0
- ostk/mathematics/solver.pyi +147 -0
- ostk/mathematics/test/geometry/d2/conftest.py +6 -9
- ostk/mathematics/test/geometry/d2/object/test_composite.py +4 -7
- ostk/mathematics/test/geometry/d2/object/test_multipolygon.py +3 -10
- ostk/mathematics/test/geometry/d2/object/test_point_set.py +3 -6
- ostk/mathematics/test/geometry/d3/object/test_point_set.py +5 -8
- ostk/mathematics/test/solver/test_numerical_solver.py +2 -2
- {open_space_toolkit_mathematics-4.3.2.dist-info → open_space_toolkit_mathematics-4.4.1.dist-info}/top_level.txt +0 -0
- {open_space_toolkit_mathematics-4.3.2.dist-info → open_space_toolkit_mathematics-4.4.1.dist-info}/zip-safe +0 -0
|
@@ -0,0 +1,421 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
import numpy
|
|
3
|
+
import ostk.core.type
|
|
4
|
+
import typing
|
|
5
|
+
__all__ = ['EulerAngle', 'Quaternion', 'RotationMatrix', 'RotationVector', 'set_quaternion_array']
|
|
6
|
+
class EulerAngle:
|
|
7
|
+
class AxisSequence:
|
|
8
|
+
"""
|
|
9
|
+
Members:
|
|
10
|
+
|
|
11
|
+
Undefined
|
|
12
|
+
|
|
13
|
+
XYZ
|
|
14
|
+
|
|
15
|
+
ZXY
|
|
16
|
+
|
|
17
|
+
ZYX
|
|
18
|
+
"""
|
|
19
|
+
Undefined: typing.ClassVar[EulerAngle.AxisSequence] # value = <AxisSequence.Undefined: 0>
|
|
20
|
+
XYZ: typing.ClassVar[EulerAngle.AxisSequence] # value = <AxisSequence.XYZ: 1>
|
|
21
|
+
ZXY: typing.ClassVar[EulerAngle.AxisSequence] # value = <AxisSequence.ZXY: 2>
|
|
22
|
+
ZYX: typing.ClassVar[EulerAngle.AxisSequence] # value = <AxisSequence.ZYX: 3>
|
|
23
|
+
__members__: typing.ClassVar[dict[str, EulerAngle.AxisSequence]] # value = {'Undefined': <AxisSequence.Undefined: 0>, 'XYZ': <AxisSequence.XYZ: 1>, 'ZXY': <AxisSequence.ZXY: 2>, 'ZYX': <AxisSequence.ZYX: 3>}
|
|
24
|
+
@staticmethod
|
|
25
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
|
26
|
+
...
|
|
27
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
28
|
+
...
|
|
29
|
+
def __getstate__(self) -> int:
|
|
30
|
+
...
|
|
31
|
+
def __hash__(self) -> int:
|
|
32
|
+
...
|
|
33
|
+
def __index__(self) -> int:
|
|
34
|
+
...
|
|
35
|
+
def __init__(self, value: int) -> None:
|
|
36
|
+
...
|
|
37
|
+
def __int__(self) -> int:
|
|
38
|
+
...
|
|
39
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
40
|
+
...
|
|
41
|
+
def __repr__(self) -> str:
|
|
42
|
+
...
|
|
43
|
+
def __setstate__(self, state: int) -> None:
|
|
44
|
+
...
|
|
45
|
+
def __str__(self) -> str:
|
|
46
|
+
...
|
|
47
|
+
@property
|
|
48
|
+
def name(self) -> str:
|
|
49
|
+
...
|
|
50
|
+
@property
|
|
51
|
+
def value(self) -> int:
|
|
52
|
+
...
|
|
53
|
+
__hash__: typing.ClassVar[None] = None
|
|
54
|
+
@staticmethod
|
|
55
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
|
56
|
+
...
|
|
57
|
+
@staticmethod
|
|
58
|
+
def quaternion(quaternion: Quaternion, axis_sequence: typing.Any) -> EulerAngle:
|
|
59
|
+
...
|
|
60
|
+
@staticmethod
|
|
61
|
+
def rotation_matrix(rotation_matrix: RotationMatrix, axis_sequence: typing.Any) -> EulerAngle:
|
|
62
|
+
...
|
|
63
|
+
@staticmethod
|
|
64
|
+
def rotation_vector(rotation_vector: RotationVector, axis_sequence: typing.Any) -> EulerAngle:
|
|
65
|
+
...
|
|
66
|
+
@staticmethod
|
|
67
|
+
def undefined() -> EulerAngle:
|
|
68
|
+
...
|
|
69
|
+
@staticmethod
|
|
70
|
+
def unit() -> EulerAngle:
|
|
71
|
+
...
|
|
72
|
+
@staticmethod
|
|
73
|
+
def xyz(phi: typing.Any, theta: typing.Any, psi: typing.Any) -> EulerAngle:
|
|
74
|
+
...
|
|
75
|
+
@staticmethod
|
|
76
|
+
def zxy(phi: typing.Any, theta: typing.Any, psi: typing.Any) -> EulerAngle:
|
|
77
|
+
...
|
|
78
|
+
@staticmethod
|
|
79
|
+
def zyx(phi: typing.Any, theta: typing.Any, psi: typing.Any) -> EulerAngle:
|
|
80
|
+
...
|
|
81
|
+
def __eq__(self, arg0: EulerAngle) -> bool:
|
|
82
|
+
...
|
|
83
|
+
@typing.overload
|
|
84
|
+
def __init__(self, phi: typing.Any, theta: typing.Any, psi: typing.Any, axis_sequence: typing.Any) -> None:
|
|
85
|
+
...
|
|
86
|
+
@typing.overload
|
|
87
|
+
def __init__(self, vector: numpy.ndarray[numpy.float64[3, 1]], angle_unit: typing.Any, axis_sequence: typing.Any) -> None:
|
|
88
|
+
...
|
|
89
|
+
def __ne__(self, arg0: EulerAngle) -> bool:
|
|
90
|
+
...
|
|
91
|
+
def __repr__(self) -> str:
|
|
92
|
+
...
|
|
93
|
+
def __str__(self) -> str:
|
|
94
|
+
...
|
|
95
|
+
def is_defined(self) -> bool:
|
|
96
|
+
...
|
|
97
|
+
def is_near(self, euler_angle: EulerAngle, angular_tolerance: typing.Any) -> bool:
|
|
98
|
+
...
|
|
99
|
+
def is_unitary(self) -> bool:
|
|
100
|
+
...
|
|
101
|
+
@typing.overload
|
|
102
|
+
def to_string(self) -> ostk.core.type.String:
|
|
103
|
+
...
|
|
104
|
+
@typing.overload
|
|
105
|
+
def to_string(self, angle_unit: typing.Any) -> ostk.core.type.String:
|
|
106
|
+
...
|
|
107
|
+
def to_vector(self, angle_unit: typing.Any) -> numpy.ndarray[numpy.float64[3, 1]]:
|
|
108
|
+
...
|
|
109
|
+
@property
|
|
110
|
+
def axis_sequence(self) -> ...:
|
|
111
|
+
...
|
|
112
|
+
@property
|
|
113
|
+
def phi(self) -> ...:
|
|
114
|
+
...
|
|
115
|
+
@property
|
|
116
|
+
def psi(self) -> ...:
|
|
117
|
+
...
|
|
118
|
+
@property
|
|
119
|
+
def theta(self) -> ...:
|
|
120
|
+
...
|
|
121
|
+
class Quaternion:
|
|
122
|
+
class Format:
|
|
123
|
+
"""
|
|
124
|
+
Members:
|
|
125
|
+
|
|
126
|
+
XYZS
|
|
127
|
+
|
|
128
|
+
SXYZ
|
|
129
|
+
"""
|
|
130
|
+
SXYZ: typing.ClassVar[Quaternion.Format] # value = <Format.SXYZ: 1>
|
|
131
|
+
XYZS: typing.ClassVar[Quaternion.Format] # value = <Format.XYZS: 0>
|
|
132
|
+
__members__: typing.ClassVar[dict[str, Quaternion.Format]] # value = {'XYZS': <Format.XYZS: 0>, 'SXYZ': <Format.SXYZ: 1>}
|
|
133
|
+
@staticmethod
|
|
134
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
|
135
|
+
...
|
|
136
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
137
|
+
...
|
|
138
|
+
def __getstate__(self) -> int:
|
|
139
|
+
...
|
|
140
|
+
def __hash__(self) -> int:
|
|
141
|
+
...
|
|
142
|
+
def __index__(self) -> int:
|
|
143
|
+
...
|
|
144
|
+
def __init__(self, value: int) -> None:
|
|
145
|
+
...
|
|
146
|
+
def __int__(self) -> int:
|
|
147
|
+
...
|
|
148
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
149
|
+
...
|
|
150
|
+
def __repr__(self) -> str:
|
|
151
|
+
...
|
|
152
|
+
def __setstate__(self, state: int) -> None:
|
|
153
|
+
...
|
|
154
|
+
def __str__(self) -> str:
|
|
155
|
+
...
|
|
156
|
+
@property
|
|
157
|
+
def name(self) -> str:
|
|
158
|
+
...
|
|
159
|
+
@property
|
|
160
|
+
def value(self) -> int:
|
|
161
|
+
...
|
|
162
|
+
__hash__: typing.ClassVar[None] = None
|
|
163
|
+
@staticmethod
|
|
164
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
|
165
|
+
...
|
|
166
|
+
@staticmethod
|
|
167
|
+
def euler_angle(euler_angle: typing.Any) -> Quaternion:
|
|
168
|
+
...
|
|
169
|
+
@staticmethod
|
|
170
|
+
def lerp(first_quaternion: Quaternion, second_quaternion: Quaternion, ratio: ostk.core.type.Real) -> Quaternion:
|
|
171
|
+
...
|
|
172
|
+
@staticmethod
|
|
173
|
+
def nlerp(first_quaternion: Quaternion, second_quaternion: Quaternion, ratio: ostk.core.type.Real) -> Quaternion:
|
|
174
|
+
...
|
|
175
|
+
@staticmethod
|
|
176
|
+
def parse(string: ostk.core.type.String, format: typing.Any) -> Quaternion:
|
|
177
|
+
...
|
|
178
|
+
@staticmethod
|
|
179
|
+
def rotation_matrix(rotation_matrix: typing.Any) -> Quaternion:
|
|
180
|
+
...
|
|
181
|
+
@staticmethod
|
|
182
|
+
def rotation_vector(rotation_vector: typing.Any) -> Quaternion:
|
|
183
|
+
...
|
|
184
|
+
@staticmethod
|
|
185
|
+
def shortest_rotation(first_vector: numpy.ndarray[numpy.float64[3, 1]], second_vector: numpy.ndarray[numpy.float64[3, 1]]) -> Quaternion:
|
|
186
|
+
...
|
|
187
|
+
@staticmethod
|
|
188
|
+
def slerp(first_quaternion: Quaternion, second_quaternion: Quaternion, ratio: ostk.core.type.Real) -> Quaternion:
|
|
189
|
+
...
|
|
190
|
+
@staticmethod
|
|
191
|
+
def undefined() -> Quaternion:
|
|
192
|
+
...
|
|
193
|
+
@staticmethod
|
|
194
|
+
def unit() -> Quaternion:
|
|
195
|
+
...
|
|
196
|
+
@staticmethod
|
|
197
|
+
def xyzs(first_component: ostk.core.type.Real, second_component: ostk.core.type.Real, third_component: ostk.core.type.Real, fourth_component: ostk.core.type.Real) -> Quaternion:
|
|
198
|
+
...
|
|
199
|
+
def __add__(self, arg0: Quaternion) -> Quaternion:
|
|
200
|
+
...
|
|
201
|
+
def __eq__(self, arg0: Quaternion) -> bool:
|
|
202
|
+
...
|
|
203
|
+
def __iadd__(self, arg0: Quaternion) -> Quaternion:
|
|
204
|
+
...
|
|
205
|
+
@typing.overload
|
|
206
|
+
def __init__(self, first_component: ostk.core.type.Real, second_component: ostk.core.type.Real, third_component: ostk.core.type.Real, fourth_component: ostk.core.type.Real, format: typing.Any) -> None:
|
|
207
|
+
...
|
|
208
|
+
@typing.overload
|
|
209
|
+
def __init__(self, vector: numpy.ndarray[numpy.float64[4, 1]], format: typing.Any) -> None:
|
|
210
|
+
...
|
|
211
|
+
@typing.overload
|
|
212
|
+
def __init__(self, vector_part: numpy.ndarray[numpy.float64[3, 1]], scalar_part: ostk.core.type.Real) -> None:
|
|
213
|
+
...
|
|
214
|
+
@typing.overload
|
|
215
|
+
def __init__(self, quaternion: Quaternion) -> None:
|
|
216
|
+
...
|
|
217
|
+
@typing.overload
|
|
218
|
+
def __mul__(self, arg0: Quaternion) -> Quaternion:
|
|
219
|
+
...
|
|
220
|
+
@typing.overload
|
|
221
|
+
def __mul__(self, arg0: numpy.ndarray[numpy.float64[3, 1]]) -> numpy.ndarray[numpy.float64[3, 1]]:
|
|
222
|
+
...
|
|
223
|
+
@typing.overload
|
|
224
|
+
def __mul__(self, arg0: float) -> Quaternion:
|
|
225
|
+
...
|
|
226
|
+
def __ne__(self, arg0: Quaternion) -> bool:
|
|
227
|
+
...
|
|
228
|
+
def __pow__(self, arg0: float) -> Quaternion:
|
|
229
|
+
...
|
|
230
|
+
def __repr__(self) -> str:
|
|
231
|
+
...
|
|
232
|
+
def __rmul__(self, arg0: float) -> Quaternion:
|
|
233
|
+
...
|
|
234
|
+
def __str__(self) -> str:
|
|
235
|
+
...
|
|
236
|
+
def __truediv__(self, arg0: Quaternion) -> Quaternion:
|
|
237
|
+
...
|
|
238
|
+
def angular_difference_with(self, quaternion: Quaternion) -> ...:
|
|
239
|
+
...
|
|
240
|
+
def conjugate(self) -> None:
|
|
241
|
+
...
|
|
242
|
+
def cross_multiply(self, quaternion: Quaternion) -> Quaternion:
|
|
243
|
+
...
|
|
244
|
+
def dot_multiply(self, quaternion: Quaternion) -> Quaternion:
|
|
245
|
+
...
|
|
246
|
+
def dot_product(self, quaternion: Quaternion) -> ostk.core.type.Real:
|
|
247
|
+
...
|
|
248
|
+
def exp(self) -> Quaternion:
|
|
249
|
+
...
|
|
250
|
+
def get_scalar_part(self) -> ostk.core.type.Real:
|
|
251
|
+
...
|
|
252
|
+
def get_vector_part(self) -> numpy.ndarray[numpy.float64[3, 1]]:
|
|
253
|
+
...
|
|
254
|
+
def inverse(self) -> None:
|
|
255
|
+
...
|
|
256
|
+
def is_defined(self) -> bool:
|
|
257
|
+
...
|
|
258
|
+
def is_near(self, quaternion: Quaternion, angular_tolerance: typing.Any) -> bool:
|
|
259
|
+
...
|
|
260
|
+
def is_unitary(self, norm_tolerance: ostk.core.type.Real = ...) -> bool:
|
|
261
|
+
...
|
|
262
|
+
def log(self) -> Quaternion:
|
|
263
|
+
...
|
|
264
|
+
def norm(self) -> ostk.core.type.Real:
|
|
265
|
+
...
|
|
266
|
+
def normalize(self) -> None:
|
|
267
|
+
...
|
|
268
|
+
def pow(self, value: ostk.core.type.Real) -> Quaternion:
|
|
269
|
+
...
|
|
270
|
+
def rectify(self) -> None:
|
|
271
|
+
...
|
|
272
|
+
def rotate_vector(self, vector: numpy.ndarray[numpy.float64[3, 1]], norm_tolerance: ostk.core.type.Real = ...) -> numpy.ndarray[numpy.float64[3, 1]]:
|
|
273
|
+
...
|
|
274
|
+
def s(self) -> ostk.core.type.Real:
|
|
275
|
+
...
|
|
276
|
+
def to_conjugate(self) -> Quaternion:
|
|
277
|
+
...
|
|
278
|
+
def to_inverse(self) -> Quaternion:
|
|
279
|
+
...
|
|
280
|
+
def to_normalized(self) -> Quaternion:
|
|
281
|
+
...
|
|
282
|
+
@typing.overload
|
|
283
|
+
def to_string(self) -> ostk.core.type.String:
|
|
284
|
+
...
|
|
285
|
+
@typing.overload
|
|
286
|
+
def to_string(self, arg0: typing.Any) -> ostk.core.type.String:
|
|
287
|
+
...
|
|
288
|
+
def to_vector(self, format: typing.Any) -> numpy.ndarray[numpy.float64[4, 1]]:
|
|
289
|
+
...
|
|
290
|
+
def x(self) -> ostk.core.type.Real:
|
|
291
|
+
...
|
|
292
|
+
def y(self) -> ostk.core.type.Real:
|
|
293
|
+
...
|
|
294
|
+
def z(self) -> ostk.core.type.Real:
|
|
295
|
+
...
|
|
296
|
+
class RotationMatrix:
|
|
297
|
+
__hash__: typing.ClassVar[None] = None
|
|
298
|
+
@staticmethod
|
|
299
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
|
300
|
+
...
|
|
301
|
+
@staticmethod
|
|
302
|
+
def columns(first_column: numpy.ndarray[numpy.float64[3, 1]], second_column: numpy.ndarray[numpy.float64[3, 1]], third_column: numpy.ndarray[numpy.float64[3, 1]]) -> RotationMatrix:
|
|
303
|
+
...
|
|
304
|
+
@staticmethod
|
|
305
|
+
def euler_angle(euler_angle: typing.Any) -> RotationMatrix:
|
|
306
|
+
...
|
|
307
|
+
@staticmethod
|
|
308
|
+
def quaternion(quaternion: Quaternion) -> RotationMatrix:
|
|
309
|
+
...
|
|
310
|
+
@staticmethod
|
|
311
|
+
def rotation_vector(rotation_vector: RotationVector) -> RotationMatrix:
|
|
312
|
+
...
|
|
313
|
+
@staticmethod
|
|
314
|
+
def rows(first_row: numpy.ndarray[numpy.float64[3, 1]], second_row: numpy.ndarray[numpy.float64[3, 1]], third_row: numpy.ndarray[numpy.float64[3, 1]]) -> RotationMatrix:
|
|
315
|
+
...
|
|
316
|
+
@staticmethod
|
|
317
|
+
def rx(rotation_angle: typing.Any) -> RotationMatrix:
|
|
318
|
+
...
|
|
319
|
+
@staticmethod
|
|
320
|
+
def ry(rotation_angle: typing.Any) -> RotationMatrix:
|
|
321
|
+
...
|
|
322
|
+
@staticmethod
|
|
323
|
+
def rz(rotation_angle: typing.Any) -> RotationMatrix:
|
|
324
|
+
...
|
|
325
|
+
@staticmethod
|
|
326
|
+
def undefined() -> RotationMatrix:
|
|
327
|
+
...
|
|
328
|
+
@staticmethod
|
|
329
|
+
def unit() -> RotationMatrix:
|
|
330
|
+
...
|
|
331
|
+
def __eq__(self, arg0: RotationMatrix) -> bool:
|
|
332
|
+
...
|
|
333
|
+
@typing.overload
|
|
334
|
+
def __init__(self, matrix: numpy.ndarray[numpy.float64[3, 3]]) -> None:
|
|
335
|
+
...
|
|
336
|
+
@typing.overload
|
|
337
|
+
def __init__(self, first_coefficient: ostk.core.type.Real, second_coefficient: ostk.core.type.Real, third_coefficient: ostk.core.type.Real, fourth_coefficient: ostk.core.type.Real, fifth_coefficient: ostk.core.type.Real, sixth_coefficient: ostk.core.type.Real, seventh_coefficient: ostk.core.type.Real, eighth_coefficient: ostk.core.type.Real, ninth_coefficient: ostk.core.type.Real) -> None:
|
|
338
|
+
...
|
|
339
|
+
@typing.overload
|
|
340
|
+
def __mul__(self, arg0: RotationMatrix) -> RotationMatrix:
|
|
341
|
+
...
|
|
342
|
+
@typing.overload
|
|
343
|
+
def __mul__(self, arg0: numpy.ndarray[numpy.float64[3, 1]]) -> numpy.ndarray[numpy.float64[3, 1]]:
|
|
344
|
+
...
|
|
345
|
+
def __ne__(self, arg0: RotationMatrix) -> bool:
|
|
346
|
+
...
|
|
347
|
+
def __repr__(self) -> str:
|
|
348
|
+
...
|
|
349
|
+
def __str__(self) -> str:
|
|
350
|
+
...
|
|
351
|
+
def get_column_at(self, index: int) -> numpy.ndarray[numpy.float64[3, 1]]:
|
|
352
|
+
...
|
|
353
|
+
def get_matrix(self) -> numpy.ndarray[numpy.float64[3, 3]]:
|
|
354
|
+
...
|
|
355
|
+
def get_row_at(self, index: int) -> numpy.ndarray[numpy.float64[3, 1]]:
|
|
356
|
+
...
|
|
357
|
+
def is_defined(self) -> bool:
|
|
358
|
+
...
|
|
359
|
+
def to_transposed(self) -> RotationMatrix:
|
|
360
|
+
...
|
|
361
|
+
def transpose(self) -> None:
|
|
362
|
+
...
|
|
363
|
+
class RotationVector:
|
|
364
|
+
__hash__: typing.ClassVar[None] = None
|
|
365
|
+
@staticmethod
|
|
366
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
|
367
|
+
...
|
|
368
|
+
@staticmethod
|
|
369
|
+
def euler_angle(euler_angle: typing.Any) -> RotationVector:
|
|
370
|
+
...
|
|
371
|
+
@staticmethod
|
|
372
|
+
def quaternion(quaternion: Quaternion) -> RotationVector:
|
|
373
|
+
...
|
|
374
|
+
@staticmethod
|
|
375
|
+
def rotation_matrix(rotation_matrix: typing.Any) -> RotationVector:
|
|
376
|
+
...
|
|
377
|
+
@staticmethod
|
|
378
|
+
def undefined() -> RotationVector:
|
|
379
|
+
...
|
|
380
|
+
@staticmethod
|
|
381
|
+
def unit() -> RotationVector:
|
|
382
|
+
...
|
|
383
|
+
@staticmethod
|
|
384
|
+
def x(angle: typing.Any) -> RotationVector:
|
|
385
|
+
...
|
|
386
|
+
@staticmethod
|
|
387
|
+
def y(angle: typing.Any) -> RotationVector:
|
|
388
|
+
...
|
|
389
|
+
@staticmethod
|
|
390
|
+
def z(angle: typing.Any) -> RotationVector:
|
|
391
|
+
...
|
|
392
|
+
def __eq__(self, arg0: RotationVector) -> bool:
|
|
393
|
+
...
|
|
394
|
+
@typing.overload
|
|
395
|
+
def __init__(self, axis: numpy.ndarray[numpy.float64[3, 1]], angle: typing.Any) -> None:
|
|
396
|
+
...
|
|
397
|
+
@typing.overload
|
|
398
|
+
def __init__(self, vector: numpy.ndarray[numpy.float64[3, 1]], angle_unit: typing.Any) -> None:
|
|
399
|
+
...
|
|
400
|
+
def __ne__(self, arg0: RotationVector) -> bool:
|
|
401
|
+
...
|
|
402
|
+
def __repr__(self) -> str:
|
|
403
|
+
...
|
|
404
|
+
def __str__(self) -> str:
|
|
405
|
+
...
|
|
406
|
+
def get_angle(self) -> ...:
|
|
407
|
+
...
|
|
408
|
+
def get_axis(self) -> numpy.ndarray[numpy.float64[3, 1]]:
|
|
409
|
+
...
|
|
410
|
+
def is_defined(self) -> bool:
|
|
411
|
+
...
|
|
412
|
+
def rectify(self) -> None:
|
|
413
|
+
...
|
|
414
|
+
@typing.overload
|
|
415
|
+
def to_string(self) -> ostk.core.type.String:
|
|
416
|
+
...
|
|
417
|
+
@typing.overload
|
|
418
|
+
def to_string(self, arg0: ostk.core.type.Integer) -> ostk.core.type.String:
|
|
419
|
+
...
|
|
420
|
+
def set_quaternion_array(arg0: list[Quaternion]) -> None:
|
|
421
|
+
...
|
|
Binary file
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
import ostk.core.type
|
|
3
|
+
import typing
|
|
4
|
+
__all__ = ['RealInterval']
|
|
5
|
+
class RealInterval:
|
|
6
|
+
class Type:
|
|
7
|
+
"""
|
|
8
|
+
Members:
|
|
9
|
+
|
|
10
|
+
Undefined
|
|
11
|
+
|
|
12
|
+
Closed
|
|
13
|
+
|
|
14
|
+
Open
|
|
15
|
+
|
|
16
|
+
HalfOpenLeft
|
|
17
|
+
|
|
18
|
+
HalfOpenRight
|
|
19
|
+
"""
|
|
20
|
+
Closed: typing.ClassVar[RealInterval.Type] # value = <Type.Closed: 1>
|
|
21
|
+
HalfOpenLeft: typing.ClassVar[RealInterval.Type] # value = <Type.HalfOpenLeft: 3>
|
|
22
|
+
HalfOpenRight: typing.ClassVar[RealInterval.Type] # value = <Type.HalfOpenRight: 4>
|
|
23
|
+
Open: typing.ClassVar[RealInterval.Type] # value = <Type.Open: 2>
|
|
24
|
+
Undefined: typing.ClassVar[RealInterval.Type] # value = <Type.Undefined: 0>
|
|
25
|
+
__members__: typing.ClassVar[dict[str, RealInterval.Type]] # value = {'Undefined': <Type.Undefined: 0>, 'Closed': <Type.Closed: 1>, 'Open': <Type.Open: 2>, 'HalfOpenLeft': <Type.HalfOpenLeft: 3>, 'HalfOpenRight': <Type.HalfOpenRight: 4>}
|
|
26
|
+
@staticmethod
|
|
27
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
|
28
|
+
...
|
|
29
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
30
|
+
...
|
|
31
|
+
def __getstate__(self) -> int:
|
|
32
|
+
...
|
|
33
|
+
def __hash__(self) -> int:
|
|
34
|
+
...
|
|
35
|
+
def __index__(self) -> int:
|
|
36
|
+
...
|
|
37
|
+
def __init__(self, value: int) -> None:
|
|
38
|
+
...
|
|
39
|
+
def __int__(self) -> int:
|
|
40
|
+
...
|
|
41
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
42
|
+
...
|
|
43
|
+
def __repr__(self) -> str:
|
|
44
|
+
...
|
|
45
|
+
def __setstate__(self, state: int) -> None:
|
|
46
|
+
...
|
|
47
|
+
def __str__(self) -> str:
|
|
48
|
+
...
|
|
49
|
+
@property
|
|
50
|
+
def name(self) -> str:
|
|
51
|
+
...
|
|
52
|
+
@property
|
|
53
|
+
def value(self) -> int:
|
|
54
|
+
...
|
|
55
|
+
__hash__: typing.ClassVar[None] = None
|
|
56
|
+
@staticmethod
|
|
57
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
|
58
|
+
...
|
|
59
|
+
@staticmethod
|
|
60
|
+
def clip(intervals: list[RealInterval], clipping_interval: RealInterval) -> list[RealInterval]:
|
|
61
|
+
...
|
|
62
|
+
@staticmethod
|
|
63
|
+
def closed(lower_bound: ostk.core.type.Real, upper_bound: ostk.core.type.Real) -> RealInterval:
|
|
64
|
+
...
|
|
65
|
+
@staticmethod
|
|
66
|
+
def get_gaps(intervals: list[RealInterval], bound: RealInterval = ...) -> list[RealInterval]:
|
|
67
|
+
...
|
|
68
|
+
@staticmethod
|
|
69
|
+
def half_open_left(lower_bound: ostk.core.type.Real, upper_bound: ostk.core.type.Real) -> RealInterval:
|
|
70
|
+
...
|
|
71
|
+
@staticmethod
|
|
72
|
+
def half_open_right(lower_bound: ostk.core.type.Real, upper_bound: ostk.core.type.Real) -> RealInterval:
|
|
73
|
+
...
|
|
74
|
+
@staticmethod
|
|
75
|
+
def logical_and(intervals_1: list[RealInterval], intervals_2: list[RealInterval]) -> list[RealInterval]:
|
|
76
|
+
...
|
|
77
|
+
@staticmethod
|
|
78
|
+
def logical_or(intervals_1: list[RealInterval], intervals_2: list[RealInterval]) -> list[RealInterval]:
|
|
79
|
+
...
|
|
80
|
+
@staticmethod
|
|
81
|
+
def merge(intervals: list[RealInterval]) -> list[RealInterval]:
|
|
82
|
+
...
|
|
83
|
+
@staticmethod
|
|
84
|
+
def open(lower_bound: ostk.core.type.Real, upper_bound: ostk.core.type.Real) -> RealInterval:
|
|
85
|
+
...
|
|
86
|
+
@staticmethod
|
|
87
|
+
def sort(intervals: list[RealInterval], by_lower_bound: bool = True, ascending: bool = True) -> list[RealInterval]:
|
|
88
|
+
...
|
|
89
|
+
@staticmethod
|
|
90
|
+
def undefined() -> RealInterval:
|
|
91
|
+
...
|
|
92
|
+
def __eq__(self, arg0: RealInterval) -> bool:
|
|
93
|
+
...
|
|
94
|
+
def __init__(self, lower_bound: ostk.core.type.Real, upper_bound: ostk.core.type.Real, type: typing.Any) -> None:
|
|
95
|
+
...
|
|
96
|
+
def __ne__(self, arg0: RealInterval) -> bool:
|
|
97
|
+
...
|
|
98
|
+
def __repr__(self) -> str:
|
|
99
|
+
...
|
|
100
|
+
def __str__(self) -> str:
|
|
101
|
+
...
|
|
102
|
+
@typing.overload
|
|
103
|
+
def contains(self, real: ostk.core.type.Real) -> bool:
|
|
104
|
+
...
|
|
105
|
+
@typing.overload
|
|
106
|
+
def contains(self, interval: RealInterval) -> bool:
|
|
107
|
+
...
|
|
108
|
+
def get_intersection_with(self, interval: RealInterval) -> RealInterval:
|
|
109
|
+
...
|
|
110
|
+
def get_lower_bound(self) -> ostk.core.type.Real:
|
|
111
|
+
...
|
|
112
|
+
def get_union_with(self, interval: RealInterval) -> RealInterval:
|
|
113
|
+
...
|
|
114
|
+
def get_upper_bound(self) -> ostk.core.type.Real:
|
|
115
|
+
...
|
|
116
|
+
def intersects(self, interval: RealInterval) -> bool:
|
|
117
|
+
...
|
|
118
|
+
def is_defined(self) -> bool:
|
|
119
|
+
...
|
|
120
|
+
def is_degenerate(self) -> bool:
|
|
121
|
+
...
|
|
122
|
+
def to_string(self) -> ostk.core.type.String:
|
|
123
|
+
...
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
import numpy
|
|
3
|
+
import ostk.core.type
|
|
4
|
+
import typing
|
|
5
|
+
__all__ = ['NumericalSolver']
|
|
6
|
+
class NumericalSolver:
|
|
7
|
+
class LogType:
|
|
8
|
+
"""
|
|
9
|
+
Members:
|
|
10
|
+
|
|
11
|
+
NoLog
|
|
12
|
+
|
|
13
|
+
LogConstant
|
|
14
|
+
|
|
15
|
+
LogAdaptive
|
|
16
|
+
"""
|
|
17
|
+
LogAdaptive: typing.ClassVar[NumericalSolver.LogType] # value = <LogType.LogAdaptive: 2>
|
|
18
|
+
LogConstant: typing.ClassVar[NumericalSolver.LogType] # value = <LogType.LogConstant: 1>
|
|
19
|
+
NoLog: typing.ClassVar[NumericalSolver.LogType] # value = <LogType.NoLog: 0>
|
|
20
|
+
__members__: typing.ClassVar[dict[str, NumericalSolver.LogType]] # value = {'NoLog': <LogType.NoLog: 0>, 'LogConstant': <LogType.LogConstant: 1>, 'LogAdaptive': <LogType.LogAdaptive: 2>}
|
|
21
|
+
@staticmethod
|
|
22
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
|
23
|
+
...
|
|
24
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
25
|
+
...
|
|
26
|
+
def __getstate__(self) -> int:
|
|
27
|
+
...
|
|
28
|
+
def __hash__(self) -> int:
|
|
29
|
+
...
|
|
30
|
+
def __index__(self) -> int:
|
|
31
|
+
...
|
|
32
|
+
def __init__(self, value: int) -> None:
|
|
33
|
+
...
|
|
34
|
+
def __int__(self) -> int:
|
|
35
|
+
...
|
|
36
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
37
|
+
...
|
|
38
|
+
def __repr__(self) -> str:
|
|
39
|
+
...
|
|
40
|
+
def __setstate__(self, state: int) -> None:
|
|
41
|
+
...
|
|
42
|
+
def __str__(self) -> str:
|
|
43
|
+
...
|
|
44
|
+
@property
|
|
45
|
+
def name(self) -> str:
|
|
46
|
+
...
|
|
47
|
+
@property
|
|
48
|
+
def value(self) -> int:
|
|
49
|
+
...
|
|
50
|
+
class StepperType:
|
|
51
|
+
"""
|
|
52
|
+
Members:
|
|
53
|
+
|
|
54
|
+
RungeKutta4
|
|
55
|
+
|
|
56
|
+
RungeKuttaCashKarp54
|
|
57
|
+
|
|
58
|
+
RungeKuttaFehlberg78
|
|
59
|
+
|
|
60
|
+
RungeKuttaDopri5
|
|
61
|
+
"""
|
|
62
|
+
RungeKutta4: typing.ClassVar[NumericalSolver.StepperType] # value = <StepperType.RungeKutta4: 0>
|
|
63
|
+
RungeKuttaCashKarp54: typing.ClassVar[NumericalSolver.StepperType] # value = <StepperType.RungeKuttaCashKarp54: 1>
|
|
64
|
+
RungeKuttaDopri5: typing.ClassVar[NumericalSolver.StepperType] # value = <StepperType.RungeKuttaDopri5: 3>
|
|
65
|
+
RungeKuttaFehlberg78: typing.ClassVar[NumericalSolver.StepperType] # value = <StepperType.RungeKuttaFehlberg78: 2>
|
|
66
|
+
__members__: typing.ClassVar[dict[str, NumericalSolver.StepperType]] # value = {'RungeKutta4': <StepperType.RungeKutta4: 0>, 'RungeKuttaCashKarp54': <StepperType.RungeKuttaCashKarp54: 1>, 'RungeKuttaFehlberg78': <StepperType.RungeKuttaFehlberg78: 2>, 'RungeKuttaDopri5': <StepperType.RungeKuttaDopri5: 3>}
|
|
67
|
+
@staticmethod
|
|
68
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
|
69
|
+
...
|
|
70
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
71
|
+
...
|
|
72
|
+
def __getstate__(self) -> int:
|
|
73
|
+
...
|
|
74
|
+
def __hash__(self) -> int:
|
|
75
|
+
...
|
|
76
|
+
def __index__(self) -> int:
|
|
77
|
+
...
|
|
78
|
+
def __init__(self, value: int) -> None:
|
|
79
|
+
...
|
|
80
|
+
def __int__(self) -> int:
|
|
81
|
+
...
|
|
82
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
83
|
+
...
|
|
84
|
+
def __repr__(self) -> str:
|
|
85
|
+
...
|
|
86
|
+
def __setstate__(self, state: int) -> None:
|
|
87
|
+
...
|
|
88
|
+
def __str__(self) -> str:
|
|
89
|
+
...
|
|
90
|
+
@property
|
|
91
|
+
def name(self) -> str:
|
|
92
|
+
...
|
|
93
|
+
@property
|
|
94
|
+
def value(self) -> int:
|
|
95
|
+
...
|
|
96
|
+
__hash__: typing.ClassVar[None] = None
|
|
97
|
+
@staticmethod
|
|
98
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
|
99
|
+
...
|
|
100
|
+
@staticmethod
|
|
101
|
+
def default() -> NumericalSolver:
|
|
102
|
+
...
|
|
103
|
+
@staticmethod
|
|
104
|
+
def string_from_log_type(log_type: typing.Any) -> ostk.core.type.String:
|
|
105
|
+
...
|
|
106
|
+
@staticmethod
|
|
107
|
+
def string_from_stepper_type(stepper_type: typing.Any) -> ostk.core.type.String:
|
|
108
|
+
...
|
|
109
|
+
@staticmethod
|
|
110
|
+
def undefined() -> NumericalSolver:
|
|
111
|
+
...
|
|
112
|
+
def __eq__(self, arg0: NumericalSolver) -> bool:
|
|
113
|
+
...
|
|
114
|
+
def __init__(self, log_type: typing.Any, stepper_type: typing.Any, time_step: ostk.core.type.Real, relative_tolerance: ostk.core.type.Real, absolute_tolerance: ostk.core.type.Real) -> None:
|
|
115
|
+
...
|
|
116
|
+
def __ne__(self, arg0: NumericalSolver) -> bool:
|
|
117
|
+
...
|
|
118
|
+
def __repr__(self) -> str:
|
|
119
|
+
...
|
|
120
|
+
def __str__(self) -> str:
|
|
121
|
+
...
|
|
122
|
+
def get_absolute_tolerance(self) -> ostk.core.type.Real:
|
|
123
|
+
...
|
|
124
|
+
def get_log_type(self) -> ...:
|
|
125
|
+
...
|
|
126
|
+
def get_observed_state_vectors(self) -> list[tuple[numpy.ndarray[numpy.float64[m, 1]], float]]:
|
|
127
|
+
...
|
|
128
|
+
def get_relative_tolerance(self) -> ostk.core.type.Real:
|
|
129
|
+
...
|
|
130
|
+
def get_stepper_type(self) -> ...:
|
|
131
|
+
...
|
|
132
|
+
def get_time_step(self) -> ostk.core.type.Real:
|
|
133
|
+
...
|
|
134
|
+
@typing.overload
|
|
135
|
+
def integrate_duration(self, arg0: numpy.ndarray[numpy.float64[m, 1]], arg1: ostk.core.type.Real, arg2: typing.Any) -> tuple[numpy.ndarray[numpy.float64[m, 1]], float]:
|
|
136
|
+
...
|
|
137
|
+
@typing.overload
|
|
138
|
+
def integrate_duration(self, arg0: numpy.ndarray[numpy.float64[m, 1]], arg1: list[ostk.core.type.Real], arg2: typing.Any) -> list[tuple[numpy.ndarray[numpy.float64[m, 1]], float]]:
|
|
139
|
+
...
|
|
140
|
+
@typing.overload
|
|
141
|
+
def integrate_time(self, arg0: numpy.ndarray[numpy.float64[m, 1]], arg1: ostk.core.type.Real, arg2: ostk.core.type.Real, arg3: typing.Any) -> tuple[numpy.ndarray[numpy.float64[m, 1]], float]:
|
|
142
|
+
...
|
|
143
|
+
@typing.overload
|
|
144
|
+
def integrate_time(self, arg0: numpy.ndarray[numpy.float64[m, 1]], arg1: ostk.core.type.Real, arg2: list[ostk.core.type.Real], arg3: typing.Any) -> list[tuple[numpy.ndarray[numpy.float64[m, 1]], float]]:
|
|
145
|
+
...
|
|
146
|
+
def is_defined(self) -> bool:
|
|
147
|
+
...
|