open-space-toolkit-astrodynamics 6.1.0__py39-none-any.whl → 7.0.0__py39-none-any.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.
- {open_space_toolkit_astrodynamics-6.1.0.dist-info → open_space_toolkit_astrodynamics-7.0.0.dist-info}/METADATA +2 -2
- open_space_toolkit_astrodynamics-7.0.0.dist-info/RECORD +97 -0
- ostk/astrodynamics/OpenSpaceToolkitAstrodynamicsPy.cpython-39-x86_64-linux-gnu.so +0 -0
- ostk/astrodynamics/display.py +3 -3
- ostk/astrodynamics/{libopen-space-toolkit-astrodynamics.so.6 → libopen-space-toolkit-astrodynamics.so.7} +0 -0
- ostk/astrodynamics/pytrajectory/pystate.py +4 -4
- ostk/astrodynamics/test/access/test_generator.py +6 -6
- ostk/astrodynamics/test/conftest.py +2 -2
- ostk/astrodynamics/test/conjunction/{messages → message}/ccsds/test_cdm.py +4 -4
- ostk/astrodynamics/test/dynamics/test_atmospheric_drag.py +18 -18
- ostk/astrodynamics/test/dynamics/test_central_body_gravity.py +1 -1
- ostk/astrodynamics/test/dynamics/test_dynamics.py +3 -3
- ostk/astrodynamics/test/dynamics/test_position_derivative.py +1 -1
- ostk/astrodynamics/test/dynamics/test_tabulated.py +5 -5
- ostk/astrodynamics/test/dynamics/test_third_body_gravity.py +1 -1
- ostk/astrodynamics/test/dynamics/test_thruster.py +17 -17
- ostk/astrodynamics/test/event_condition/test_angular_condition.py +1 -1
- ostk/astrodynamics/test/event_condition/test_coe_condition.py +1 -1
- ostk/astrodynamics/test/flight/system/test_propulsion_system.py +1 -1
- ostk/astrodynamics/test/flight/system/test_satellite_system.py +4 -4
- ostk/astrodynamics/test/flight/system/test_satellite_system_builder.py +4 -4
- ostk/astrodynamics/test/flight/test_profile.py +7 -7
- ostk/astrodynamics/test/flight/test_system.py +4 -4
- ostk/astrodynamics/test/guidance_law/test_qlaw.py +5 -5
- ostk/astrodynamics/test/solvers/test_finite_difference_solver.py +5 -5
- ostk/astrodynamics/test/solvers/test_temporal_condition_solver.py +4 -4
- ostk/astrodynamics/test/test_access.py +9 -9
- ostk/astrodynamics/test/test_display.py +6 -6
- ostk/astrodynamics/test/test_import.py +5 -5
- ostk/astrodynamics/test/test_trajectory.py +9 -9
- ostk/astrodynamics/test/test_utilities.py +7 -7
- ostk/astrodynamics/test/test_viewer.py +4 -3
- ostk/astrodynamics/test/trajectory/orbit/{messages → message}/spacex/test_opm.py +4 -4
- ostk/astrodynamics/test/trajectory/orbit/models/kepler/test_brouwer_lyddane_mean.py +3 -3
- ostk/astrodynamics/test/trajectory/orbit/models/kepler/test_brouwer_lyddane_mean_long.py +4 -4
- ostk/astrodynamics/test/trajectory/orbit/models/kepler/test_brouwer_lyddane_mean_short.py +4 -4
- ostk/astrodynamics/test/trajectory/orbit/models/kepler/test_coe.py +3 -3
- ostk/astrodynamics/test/trajectory/orbit/models/sgp4/test_tle.py +4 -4
- ostk/astrodynamics/test/trajectory/orbit/models/test_kepler.py +6 -6
- ostk/astrodynamics/test/trajectory/orbit/models/test_propagated.py +2 -2
- ostk/astrodynamics/test/trajectory/orbit/models/test_tabulated.py +1 -1
- ostk/astrodynamics/test/trajectory/state/{coordinates_subset → coordinate_subset}/test_angular_velocity.py +1 -1
- ostk/astrodynamics/test/trajectory/state/{coordinates_subset → coordinate_subset}/test_attitude_quaternion.py +1 -1
- ostk/astrodynamics/test/trajectory/state/{coordinates_subset → coordinate_subset}/test_cartesian_position.py +14 -14
- ostk/astrodynamics/test/trajectory/state/{coordinates_subset → coordinate_subset}/test_cartesian_velocity.py +14 -14
- ostk/astrodynamics/test/trajectory/state/test_coordinate_broker.py +84 -0
- ostk/astrodynamics/test/trajectory/state/test_coordinate_subset.py +43 -0
- ostk/astrodynamics/test/trajectory/state/test_numerical_solver.py +10 -10
- ostk/astrodynamics/test/trajectory/test_orbit.py +4 -4
- ostk/astrodynamics/test/trajectory/test_propagator.py +23 -23
- ostk/astrodynamics/test/trajectory/test_segment.py +8 -8
- ostk/astrodynamics/test/trajectory/test_sequence.py +18 -18
- ostk/astrodynamics/test/trajectory/test_state.py +34 -20
- ostk/astrodynamics/test/trajectory/test_state_builder.py +22 -22
- ostk/astrodynamics/utilities.py +1 -1
- ostk/astrodynamics/viewer.py +33 -3
- open_space_toolkit_astrodynamics-6.1.0.dist-info/RECORD +0 -99
- ostk/astrodynamics/test/flight/profile/test_state.py +0 -144
- ostk/astrodynamics/test/trajectory/orbit/messages/spacex/__init__.py +0 -1
- ostk/astrodynamics/test/trajectory/state/test_coordinates_broker.py +0 -84
- ostk/astrodynamics/test/trajectory/state/test_coordinates_subset.py +0 -43
- {open_space_toolkit_astrodynamics-6.1.0.dist-info → open_space_toolkit_astrodynamics-7.0.0.dist-info}/WHEEL +0 -0
- {open_space_toolkit_astrodynamics-6.1.0.dist-info → open_space_toolkit_astrodynamics-7.0.0.dist-info}/top_level.txt +0 -0
- {open_space_toolkit_astrodynamics-6.1.0.dist-info → open_space_toolkit_astrodynamics-7.0.0.dist-info}/zip-safe +0 -0
- /ostk/astrodynamics/test/conjunction/{messages → message}/ccsds/__init__.py +0 -0
- /ostk/astrodynamics/test/conjunction/{messages → message}/ccsds/conftest.py +0 -0
- /ostk/astrodynamics/test/conjunction/{messages → message}/ccsds/data/cdm.json +0 -0
- /ostk/astrodynamics/test/{flight/profile → trajectory/orbit/message}/__init__.py +0 -0
- /ostk/astrodynamics/test/trajectory/orbit/{messages → message/spacex}/__init__.py +0 -0
- /ostk/astrodynamics/test/trajectory/orbit/{messages → message}/spacex/conftest.py +0 -0
- /ostk/astrodynamics/test/trajectory/orbit/{messages → message}/spacex/data/opm_1.yaml +0 -0
ostk/astrodynamics/viewer.py
CHANGED
@@ -16,15 +16,15 @@ except ImportError:
|
|
16
16
|
|
17
17
|
from ostk.mathematics.geometry.d3.transformation.rotation import Quaternion
|
18
18
|
|
19
|
-
from ostk.physics.
|
20
|
-
from ostk.physics.
|
19
|
+
from ostk.physics.unit import Length
|
20
|
+
from ostk.physics.unit import Angle
|
21
21
|
from ostk.physics.time import Instant, Interval, Duration
|
22
22
|
from ostk.physics.coordinate import Position
|
23
23
|
from ostk.physics.coordinate import Frame
|
24
24
|
from ostk.physics.coordinate.spherical import LLA
|
25
25
|
|
26
26
|
from ostk.astrodynamics.flight import Profile
|
27
|
-
from ostk.astrodynamics.
|
27
|
+
from ostk.astrodynamics.trajectory import State
|
28
28
|
|
29
29
|
from .converters import coerce_to_datetime
|
30
30
|
from .utilities import lla_from_position
|
@@ -97,6 +97,7 @@ class Viewer:
|
|
97
97
|
show_orbital_track: bool = False,
|
98
98
|
cesium_asset_id: int | None = None,
|
99
99
|
sensors: list[Sensor] | None = None,
|
100
|
+
show_xyz_axes: bool = False,
|
100
101
|
) -> None:
|
101
102
|
"""
|
102
103
|
Add Profile to Viewer.
|
@@ -107,12 +108,41 @@ class Viewer:
|
|
107
108
|
show_orbital_track (bool, optional): Whether to show the orbital track. Defaults to False.
|
108
109
|
cesium_asset_id (int, optional): The Cesium asset ID. Defaults to None.
|
109
110
|
sensors (list[Sensor], optional): Sensors to be added to the asset. Defaults to None.
|
111
|
+
show_xyz_axes (bool, optional): Whether to show the XYZ axes. Defaults to False.
|
110
112
|
"""
|
111
113
|
|
112
114
|
instants: list[Instant] = self._interval.generate_grid(step)
|
113
115
|
states: list[State] = profile.get_states_at(instants)
|
114
116
|
llas: list[LLA] = _generate_llas(states)
|
115
117
|
|
118
|
+
sensors = sensors or []
|
119
|
+
if show_xyz_axes:
|
120
|
+
sensors.extend(
|
121
|
+
[
|
122
|
+
ConicSensor(
|
123
|
+
name="x_axis",
|
124
|
+
direction=(+1.0, 0.0, 0.0),
|
125
|
+
half_angle=Angle.degrees(1.0),
|
126
|
+
length=Length.meters(2.0),
|
127
|
+
color="red",
|
128
|
+
),
|
129
|
+
ConicSensor(
|
130
|
+
name="y_axis",
|
131
|
+
direction=(0.0, +1.0, 0.0),
|
132
|
+
half_angle=Angle.degrees(1.0),
|
133
|
+
length=Length.meters(2.0),
|
134
|
+
color="blue",
|
135
|
+
),
|
136
|
+
ConicSensor(
|
137
|
+
name="z_axis",
|
138
|
+
direction=(0.0, 0.0, +1.0),
|
139
|
+
half_angle=Angle.degrees(1.0),
|
140
|
+
length=Length.meters(2.0),
|
141
|
+
color="green",
|
142
|
+
),
|
143
|
+
]
|
144
|
+
)
|
145
|
+
|
116
146
|
satellite = cesiumpy.Satellite(
|
117
147
|
position=_generate_sampled_position(instants, llas),
|
118
148
|
orientation=_generate_sampled_orientation(states),
|
@@ -1,99 +0,0 @@
|
|
1
|
-
ostk/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
2
|
-
ostk/astrodynamics/OpenSpaceToolkitAstrodynamicsPy.cpython-39-x86_64-linux-gnu.so,sha256=H4nuhVhVyTxmBfjydLLXjnVPv1fth-uYij2tHAru3TU,2025304
|
3
|
-
ostk/astrodynamics/__init__.py,sha256=3gWyqFIbhAfcdeMhmfBPQPlPQTmaOzm-6flkJe745Zk,251
|
4
|
-
ostk/astrodynamics/converters.py,sha256=IUxJK5qNzDMsqMSiMT6hUThCjncKoIMW0ifu8kwbww0,4680
|
5
|
-
ostk/astrodynamics/display.py,sha256=y9FnoQbPFGM6LzkUdgXgeqtuVGhv57GuTKbeDdcFPgw,6306
|
6
|
-
ostk/astrodynamics/libopen-space-toolkit-astrodynamics.so.6,sha256=_PNIaTDcOxrAUezB0dgtklDnubCXKZqzyfeUIOE521Y,98614040
|
7
|
-
ostk/astrodynamics/utilities.py,sha256=PDexbTDbx46aYKqK5b4pjLYSY6NGc4Wx9FwafOkJ4EU,4821
|
8
|
-
ostk/astrodynamics/viewer.py,sha256=319Em4QOGpWNMNaiH0FilSLxuQIm4QMJjJIfJ6Y-6qU,9471
|
9
|
-
ostk/astrodynamics/pytrajectory/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
10
|
-
ostk/astrodynamics/pytrajectory/pystate.py,sha256=ceNZWYCqtsXWJlE6JKDxB5qn5ixTWGOwrYXge21XPmk,1037
|
11
|
-
ostk/astrodynamics/test/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
12
|
-
ostk/astrodynamics/test/conftest.py,sha256=J3SbQibnMVaPktAF6Z6cwVCa7xhW3uXpkOJRom6YtCo,2719
|
13
|
-
ostk/astrodynamics/test/test_access.py,sha256=6sWINwQw-KMKKOfuJIJxyIIrmT513VjvoXt2rNPpm0w,3959
|
14
|
-
ostk/astrodynamics/test/test_converters.py,sha256=hnvqOCtUGrzBvjv7GnmaRdl2mlKM3eWuJUspe305B-A,12114
|
15
|
-
ostk/astrodynamics/test/test_display.py,sha256=8YeiYRYMpokzqprbRoDBI_xhHI5B8uxcdSzmqmF3AIc,3738
|
16
|
-
ostk/astrodynamics/test/test_event_condition.py,sha256=mhMTH7wAoYFWRYt_8l2d1vjNPrFhVjMAEET4INLCVXY,1472
|
17
|
-
ostk/astrodynamics/test/test_import.py,sha256=stS8jK9HiXyzRWjtDvaTqUrzCrOVnYVX5CkmQf7MJsA,1201
|
18
|
-
ostk/astrodynamics/test/test_root_solver.py,sha256=hQ8O6g-WP49gZH_H3Rdufv0F0gQorpzJyIcjBGGUQ34,1831
|
19
|
-
ostk/astrodynamics/test/test_trajectory.py,sha256=pvv4GQsvtU0XfWYk-F-oQNgo8ciFQBgzeJ4FojZDW-A,1364
|
20
|
-
ostk/astrodynamics/test/test_utilities.py,sha256=YnJ7czgRjJ5bkYr33KF5wY5A-P0lJg2q0-_mI7spvYs,3620
|
21
|
-
ostk/astrodynamics/test/test_viewer.py,sha256=i164XnG6n-_FteiO6rjXA7GGsJhMdmT-508DpKaveVY,3957
|
22
|
-
ostk/astrodynamics/test/access/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
23
|
-
ostk/astrodynamics/test/access/test_generator.py,sha256=6cwC5GGvnWLxPXmgRQ-N7tjorGUfPxA8qFcdGaTmpp4,8038
|
24
|
-
ostk/astrodynamics/test/conjunction/messages/ccsds/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
25
|
-
ostk/astrodynamics/test/conjunction/messages/ccsds/conftest.py,sha256=xyTd24828Ue2HgOWY8UhizIc5mzgRgoH2VSOfVfKCdw,14632
|
26
|
-
ostk/astrodynamics/test/conjunction/messages/ccsds/test_cdm.py,sha256=SqtYXB8qhKzbQEWmCzz13xi0Uu64-VSKXuMObcFV7EI,18518
|
27
|
-
ostk/astrodynamics/test/conjunction/messages/ccsds/data/cdm.json,sha256=-CL8Bu-ivigzkrqHs9Q5snSubHJ_D0YMroatEInkidc,12965
|
28
|
-
ostk/astrodynamics/test/dynamics/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
29
|
-
ostk/astrodynamics/test/dynamics/test_atmospheric_drag.py,sha256=mKXF1r-gaRz7vtMNULsl6onFOwD3uk0lYqxKStm4bxU,3765
|
30
|
-
ostk/astrodynamics/test/dynamics/test_central_body_gravity.py,sha256=x2_Xe-nGVkhKuq7p5Wuq7exeXKg_de3sAGrwGsOSRfA,1790
|
31
|
-
ostk/astrodynamics/test/dynamics/test_dynamics.py,sha256=FU5Qc3H6wkguml1Kt_hTX8uKplEyfcbH8wkC1TT4bjE,1240
|
32
|
-
ostk/astrodynamics/test/dynamics/test_position_derivative.py,sha256=HIHH8W3WR0eHJo82N6k03CBj_i1g2OuiHm-xEumPbx4,1618
|
33
|
-
ostk/astrodynamics/test/dynamics/test_tabulated.py,sha256=SDsHWFsgjUkUMeJSGnpwkN_EGt---4cd6mlZVBe8uwM,3373
|
34
|
-
ostk/astrodynamics/test/dynamics/test_third_body_gravity.py,sha256=hl3svhU6gNJdKoqqdgsZt-Ngrex9whcuLPeCgepM4G8,1887
|
35
|
-
ostk/astrodynamics/test/dynamics/test_thruster.py,sha256=HHFei_ZdUcwdRNXcKDTF-EhYe8ZjVht-kQjUl0nhILU,4403
|
36
|
-
ostk/astrodynamics/test/dynamics/data/Tabulated_Earth_Gravity.csv,sha256=jJWOMJcQ83Vy1Wrb9PTh3ffOdoDF98kk6w5b-_E0uWg,47419
|
37
|
-
ostk/astrodynamics/test/dynamics/data/Tabulated_Earth_Gravity_Truth.csv,sha256=f4x-zmxZADxD_doAbACt24k36VSTp3rSIJiSzuSroKs,8377
|
38
|
-
ostk/astrodynamics/test/event_condition/test_angular_condition.py,sha256=OFlEbUDWaUs1kjUSf0AhIsOKV5qSUj6_sOxLQK5q8AU,3120
|
39
|
-
ostk/astrodynamics/test/event_condition/test_boolean_condition.py,sha256=Ng6FLKD8XoUHUz6-gi3wvrYhSGNSB_iJ_n89ajN4O3s,1580
|
40
|
-
ostk/astrodynamics/test/event_condition/test_coe_condition.py,sha256=1znTEcKVhR54CVfjhQeeAxbe4CdJJ1qlsKc8TK9jwqw,2581
|
41
|
-
ostk/astrodynamics/test/event_condition/test_instant_condition.py,sha256=Qr5dN6nrK7XDff7L4vnGCqasMK-Fa6qvxwy_U0xgH5M,1438
|
42
|
-
ostk/astrodynamics/test/event_condition/test_logical_condition.py,sha256=09h5TYWtwGt4NQW3k_tziiVs0Q2981rNII9wyKg7p2Q,3321
|
43
|
-
ostk/astrodynamics/test/event_condition/test_real_condition.py,sha256=tle6HVzMFMIIkfRY7CuaA0mPtw3riJBG_JQkc1L0dpk,1374
|
44
|
-
ostk/astrodynamics/test/flight/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
45
|
-
ostk/astrodynamics/test/flight/test_profile.py,sha256=OBwXlN35Fosk9ue37cDl6NAdITv8JG3s7mnHq3_cxc8,5195
|
46
|
-
ostk/astrodynamics/test/flight/test_system.py,sha256=YPrjoV3o67_1zCXCZqohlSAR7zkU0LXP2fF20M2s0C8,1326
|
47
|
-
ostk/astrodynamics/test/flight/profile/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
48
|
-
ostk/astrodynamics/test/flight/profile/test_state.py,sha256=2vc-PHFr9M9_x08n0ZCm29O4mE-zeu_0oTW8Wd4x7KY,4266
|
49
|
-
ostk/astrodynamics/test/flight/system/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
50
|
-
ostk/astrodynamics/test/flight/system/test_propulsion_system.py,sha256=ei-25MZczwzhiV5QVB9LXdmBY3VnBHr1DEVn_Zqtb1A,1027
|
51
|
-
ostk/astrodynamics/test/flight/system/test_satellite_system.py,sha256=rPka530ZqX_XBVmt0SC5o765O1O90_m_U5cEUsrQuWU,2530
|
52
|
-
ostk/astrodynamics/test/flight/system/test_satellite_system_builder.py,sha256=G3MUD-mBTakr-ip_261kwBTvTclnAArPPeHY3ZF9PYM,2430
|
53
|
-
ostk/astrodynamics/test/guidance_law/test_constant_thrust.py,sha256=YpMkMvat4YnE1Fyy5vZ1Sf3VvbvDaC_UvbIKNNCG_B4,2635
|
54
|
-
ostk/astrodynamics/test/guidance_law/test_qlaw.py,sha256=nu56zm7D9uwonCXCjpNw49nv9TApelTSlsoItQQ6VhY,3677
|
55
|
-
ostk/astrodynamics/test/solvers/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
56
|
-
ostk/astrodynamics/test/solvers/test_finite_difference_solver.py,sha256=h_CDEswTKzEld9vvTMMPXj-TI3YSeY14-Z6clYWtfB0,5417
|
57
|
-
ostk/astrodynamics/test/solvers/test_temporal_condition_solver.py,sha256=s7r7VelXx1_b-6wO_GyOlmxlsfA4I_zpxrWojriQls8,4867
|
58
|
-
ostk/astrodynamics/test/trajectory/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
59
|
-
ostk/astrodynamics/test/trajectory/test_local_orbital_frame_direction.py,sha256=d72J50UGG9m0Atei0UQ8sITU1WdJmws5xgUiacLZMbw,2515
|
60
|
-
ostk/astrodynamics/test/trajectory/test_local_orbital_frame_factory.py,sha256=FziYh9XxD2FEuj6WhnqOe5mF9twLTQtvcem8KzQZKXg,1864
|
61
|
-
ostk/astrodynamics/test/trajectory/test_model.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
62
|
-
ostk/astrodynamics/test/trajectory/test_orbit.py,sha256=dFZRN2E538lG6ZaiRBWUDMtKzgMIKnFILV3yeofRV1I,5075
|
63
|
-
ostk/astrodynamics/test/trajectory/test_propagator.py,sha256=kEAvrFM4MZouAAnYPi91akPSXWHbGxHTo5uaXQKexII,12631
|
64
|
-
ostk/astrodynamics/test/trajectory/test_segment.py,sha256=5XSCPUVrE6_oz8tsZeAb9mzQoLUuyUlfgJ-rWP54-ao,9170
|
65
|
-
ostk/astrodynamics/test/trajectory/test_sequence.py,sha256=N3jPB31P4i13ocYITaVMLiMfczpATmDLVbNdImM68tQ,12909
|
66
|
-
ostk/astrodynamics/test/trajectory/test_state.py,sha256=rW0HH7oy_tZ-34VIhk2rx_v2Kyg3xegBYpKs9_NznSs,6508
|
67
|
-
ostk/astrodynamics/test/trajectory/test_state_builder.py,sha256=3C8JeN8VGgUzEASgh5PfnJQ2JWGkKYTm7eaelE6Lw7E,4815
|
68
|
-
ostk/astrodynamics/test/trajectory/orbit/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
69
|
-
ostk/astrodynamics/test/trajectory/orbit/test_model.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
70
|
-
ostk/astrodynamics/test/trajectory/orbit/test_pass.py,sha256=p6YCtb-QhCS_En3ECaSM2sJsWEnqXzmWaCmai_SuK0U,2191
|
71
|
-
ostk/astrodynamics/test/trajectory/orbit/messages/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
72
|
-
ostk/astrodynamics/test/trajectory/orbit/messages/spacex/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
73
|
-
ostk/astrodynamics/test/trajectory/orbit/messages/spacex/conftest.py,sha256=O75ywkPJjoFp0uKptCu4C2tGMRaGN-8NVFVhps85eWE,379
|
74
|
-
ostk/astrodynamics/test/trajectory/orbit/messages/spacex/test_opm.py,sha256=wfxuccqIF2odRA9Dc-8wtKZ8t__4KJ9HVhN-il284OU,3893
|
75
|
-
ostk/astrodynamics/test/trajectory/orbit/messages/spacex/data/opm_1.yaml,sha256=DqIdfLCPD9oV4qDvgq35fIT8Gb8zgtrHr5Nx53InSQM,1363
|
76
|
-
ostk/astrodynamics/test/trajectory/orbit/models/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
77
|
-
ostk/astrodynamics/test/trajectory/orbit/models/test_kepler.py,sha256=sf1FpdYyiGyWcal-CwVfelW1k-HYGlIdbJdcbOi9-lY,3372
|
78
|
-
ostk/astrodynamics/test/trajectory/orbit/models/test_propagated.py,sha256=JMAuicyuv5hqp9l8vsfngJAxLMktgNgSloRICpEDHfo,7149
|
79
|
-
ostk/astrodynamics/test/trajectory/orbit/models/test_sgp4.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
80
|
-
ostk/astrodynamics/test/trajectory/orbit/models/test_tabulated.py,sha256=tL3gGDitdEYCCRwGtu2RP-9d4JWsujV53ck9DRkyeG4,11183
|
81
|
-
ostk/astrodynamics/test/trajectory/orbit/models/kepler/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
82
|
-
ostk/astrodynamics/test/trajectory/orbit/models/kepler/test_brouwer_lyddane_mean.py,sha256=9JC4LTpMXWzQ2VoEOaVaruy2hPjyiAIR5_2QTfm4MqU,1545
|
83
|
-
ostk/astrodynamics/test/trajectory/orbit/models/kepler/test_brouwer_lyddane_mean_long.py,sha256=gVpnA6FE3aCD6hskOKiVkb4YlONTUMogwBY1EaOqm7M,2472
|
84
|
-
ostk/astrodynamics/test/trajectory/orbit/models/kepler/test_brouwer_lyddane_mean_short.py,sha256=8g2Q8ywuU5wsvrycAKUWFY-1bqIcylBpcnMJW4ze8Hs,2489
|
85
|
-
ostk/astrodynamics/test/trajectory/orbit/models/kepler/test_coe.py,sha256=C_2qGt8yzbs6S-rCheUbj8wOnLEWBNio2UD6ST-SwHk,4781
|
86
|
-
ostk/astrodynamics/test/trajectory/orbit/models/sgp4/__init__.py,sha256=epnVn2PwdQkUDZ1msqBRO5nEZIOUBIq-IfK3IlNPijE,21
|
87
|
-
ostk/astrodynamics/test/trajectory/orbit/models/sgp4/test_tle.py,sha256=lbPqHd87ExTNbBFcFSTMWRnWbpe_4BDJ2g2APlQLJkY,11486
|
88
|
-
ostk/astrodynamics/test/trajectory/state/test_coordinates_broker.py,sha256=LUVQ6LjpWAxs6XA3vOwHO5Unnf4TMYCx31fk_ORLTcc,2907
|
89
|
-
ostk/astrodynamics/test/trajectory/state/test_coordinates_subset.py,sha256=eMmifR5rJMk2yFN7pfAHq2Ub3FPvknb6gvS-nBDidro,1201
|
90
|
-
ostk/astrodynamics/test/trajectory/state/test_numerical_solver.py,sha256=-SHQWgR34Xk0gO26VwQWbmRnPXp3AKfk0j9t-lPvfmk,9403
|
91
|
-
ostk/astrodynamics/test/trajectory/state/coordinates_subset/test_angular_velocity.py,sha256=IWLmoMvxVejdiw8JuiDsIaii7ctbRDvU-13fgZEvWXA,626
|
92
|
-
ostk/astrodynamics/test/trajectory/state/coordinates_subset/test_attitude_quaternion.py,sha256=B1Tni_YpKB9Fzb0fpXSokw9DjgiZem9uBATMQbcq8P4,394
|
93
|
-
ostk/astrodynamics/test/trajectory/state/coordinates_subset/test_cartesian_position.py,sha256=L3MpDG9MDHbK2HPZejqiY0QJdiEB-FZe0rVGDl379YA,2722
|
94
|
-
ostk/astrodynamics/test/trajectory/state/coordinates_subset/test_cartesian_velocity.py,sha256=k0aNqdMwwt-XSFQ1Si8kDTY79SB7fC0WWm2UNjpaOI0,3077
|
95
|
-
open_space_toolkit_astrodynamics-6.1.0.dist-info/METADATA,sha256=3L6SXSIQTsIoqFKT9iRdvWX8FzFFHJZiN0Lpi-6hwCE,1777
|
96
|
-
open_space_toolkit_astrodynamics-6.1.0.dist-info/WHEEL,sha256=5QfLU7RJJCZZ3ERZV_rtHDh5D6BqH-rQ7cKm5M1VoS0,93
|
97
|
-
open_space_toolkit_astrodynamics-6.1.0.dist-info/top_level.txt,sha256=zOR18699uDYnafgarhL8WU_LmTZY_5NVqutv-flp_x4,5
|
98
|
-
open_space_toolkit_astrodynamics-6.1.0.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
99
|
-
open_space_toolkit_astrodynamics-6.1.0.dist-info/RECORD,,
|
@@ -1,144 +0,0 @@
|
|
1
|
-
# Apache License 2.0
|
2
|
-
|
3
|
-
import pytest
|
4
|
-
|
5
|
-
import numpy as np
|
6
|
-
|
7
|
-
import ostk.mathematics as mathematics
|
8
|
-
|
9
|
-
import ostk.physics as physics
|
10
|
-
|
11
|
-
import ostk.astrodynamics as astrodynamics
|
12
|
-
|
13
|
-
Quaternion = mathematics.geometry.d3.transformation.rotation.Quaternion
|
14
|
-
DateTime = physics.time.DateTime
|
15
|
-
Instant = physics.time.Instant
|
16
|
-
Scale = physics.time.Scale
|
17
|
-
Position = physics.coordinate.Position
|
18
|
-
Velocity = physics.coordinate.Velocity
|
19
|
-
Frame = physics.coordinate.Frame
|
20
|
-
State = astrodynamics.flight.profile.State
|
21
|
-
|
22
|
-
|
23
|
-
@pytest.fixture
|
24
|
-
def instant() -> Instant:
|
25
|
-
return Instant.date_time(DateTime(2020, 1, 3, 0, 0, 0), Scale.UTC)
|
26
|
-
|
27
|
-
|
28
|
-
@pytest.fixture
|
29
|
-
def frame() -> Frame:
|
30
|
-
return Frame.GCRF()
|
31
|
-
|
32
|
-
|
33
|
-
@pytest.fixture
|
34
|
-
def position(frame: Frame) -> Position:
|
35
|
-
return Position.meters([0.0, 3.2, 3000.0], frame)
|
36
|
-
|
37
|
-
|
38
|
-
@pytest.fixture
|
39
|
-
def velocity(frame: Frame) -> Velocity:
|
40
|
-
return Velocity.meters_per_second([1.0, 3.0, 0.0], frame)
|
41
|
-
|
42
|
-
|
43
|
-
@pytest.fixture
|
44
|
-
def quaternion() -> Quaternion:
|
45
|
-
return Quaternion([0.0, 0.0, 0.0, 1.0], Quaternion.Format.XYZS)
|
46
|
-
|
47
|
-
|
48
|
-
@pytest.fixture
|
49
|
-
def angular_velocity() -> np.array:
|
50
|
-
return np.array((0.01, 0.01, 0.0))
|
51
|
-
|
52
|
-
|
53
|
-
@pytest.fixture
|
54
|
-
def state(
|
55
|
-
instant: Instant,
|
56
|
-
position: Position,
|
57
|
-
velocity: Velocity,
|
58
|
-
quaternion: Quaternion,
|
59
|
-
angular_velocity: np.array,
|
60
|
-
frame: Frame,
|
61
|
-
) -> State:
|
62
|
-
return State(
|
63
|
-
instant,
|
64
|
-
position,
|
65
|
-
velocity,
|
66
|
-
quaternion,
|
67
|
-
angular_velocity,
|
68
|
-
frame,
|
69
|
-
)
|
70
|
-
|
71
|
-
|
72
|
-
class TestState:
|
73
|
-
def test_constructors_list(
|
74
|
-
self, instant: Instant, quaternion: Quaternion, frame: Frame
|
75
|
-
):
|
76
|
-
position = Position.meters([0.0, 3.2, 3000.0], frame)
|
77
|
-
velocity = Velocity.meters_per_second([1.0, 3.0, 0.0], frame)
|
78
|
-
angular_velocity = [0.01, 0.01, 0.0]
|
79
|
-
|
80
|
-
assert isinstance(
|
81
|
-
State(instant, position, velocity, quaternion, angular_velocity, frame),
|
82
|
-
State,
|
83
|
-
)
|
84
|
-
|
85
|
-
def test_constructors_tuples(
|
86
|
-
self, instant: Instant, quaternion: Quaternion, frame: Frame
|
87
|
-
):
|
88
|
-
position = Position.meters((0.0, 3.2, 3000.0), frame)
|
89
|
-
velocity = Velocity.meters_per_second((1.0, 3.0, 0.0), frame)
|
90
|
-
angular_velocity = (0.01, 0.01, 0.0)
|
91
|
-
|
92
|
-
assert isinstance(
|
93
|
-
State(instant, position, velocity, quaternion, angular_velocity, frame),
|
94
|
-
State,
|
95
|
-
)
|
96
|
-
|
97
|
-
def test_constructors_array(
|
98
|
-
self, instant: Instant, quaternion: Quaternion, frame: Frame
|
99
|
-
):
|
100
|
-
position = Position.meters(np.array((0.0, 3.2, 3000.0)), Frame.GCRF())
|
101
|
-
velocity = Velocity.meters_per_second(np.array((1.0, 3.0, 0.0)), Frame.GCRF())
|
102
|
-
angular_velocity = np.array((0.01, 0.01, 0.0))
|
103
|
-
|
104
|
-
assert isinstance(
|
105
|
-
State(instant, position, velocity, quaternion, angular_velocity, frame),
|
106
|
-
State,
|
107
|
-
)
|
108
|
-
|
109
|
-
def test_comparators(self, state: State):
|
110
|
-
assert (state == state) is True
|
111
|
-
assert (state != state) is False
|
112
|
-
|
113
|
-
def test_get_instant(self, instant: Instant, state: State):
|
114
|
-
assert isinstance(state.get_instant(), Instant)
|
115
|
-
assert state.get_instant() == instant
|
116
|
-
|
117
|
-
def test_get_position(self, position: Position, state: State):
|
118
|
-
assert isinstance(state.get_position(), Position)
|
119
|
-
assert state.get_position() == position
|
120
|
-
|
121
|
-
def test_get_velocity(self, velocity: Velocity, state: State):
|
122
|
-
assert isinstance(state.get_velocity(), Velocity)
|
123
|
-
assert state.get_velocity() == velocity
|
124
|
-
|
125
|
-
def test_get_attitude(self, quaternion: Quaternion, state: State):
|
126
|
-
assert isinstance(state.get_attitude(), Quaternion)
|
127
|
-
assert state.get_attitude() == quaternion
|
128
|
-
|
129
|
-
def test_get_angular_velocity(self, angular_velocity: np.array, state: State):
|
130
|
-
assert isinstance(state.get_angular_velocity(), np.ndarray)
|
131
|
-
assert np.array_equal(state.get_angular_velocity(), angular_velocity)
|
132
|
-
|
133
|
-
def test_get_frame(self, frame: Frame, state: State):
|
134
|
-
assert isinstance(state.get_frame(), Frame)
|
135
|
-
assert state.get_frame() == frame
|
136
|
-
|
137
|
-
def test_in_frame(self, frame: Frame, state: State):
|
138
|
-
assert isinstance(state.in_frame(frame), State)
|
139
|
-
|
140
|
-
def test_undefined(self):
|
141
|
-
state: State = State.undefined()
|
142
|
-
|
143
|
-
assert isinstance(state, State)
|
144
|
-
assert state.is_defined() is False
|
@@ -1 +0,0 @@
|
|
1
|
-
# Apache License 2.0
|
@@ -1,84 +0,0 @@
|
|
1
|
-
# Apache License 2.0
|
2
|
-
|
3
|
-
import pytest
|
4
|
-
|
5
|
-
from ostk.astrodynamics.trajectory.state import CoordinatesBroker, CoordinatesSubset
|
6
|
-
|
7
|
-
|
8
|
-
@pytest.fixture
|
9
|
-
def coordinates_subsets() -> list:
|
10
|
-
return [CoordinatesSubset("Subset1", 2), CoordinatesSubset("Subset2", 3)]
|
11
|
-
|
12
|
-
|
13
|
-
@pytest.fixture
|
14
|
-
def coordinates_broker(coordinates_subsets) -> CoordinatesBroker:
|
15
|
-
return CoordinatesBroker(coordinates_subsets)
|
16
|
-
|
17
|
-
|
18
|
-
@pytest.fixture
|
19
|
-
def coordinates() -> list[float]:
|
20
|
-
return [1.0, 2.0, 3.0, 4.0, 5.0]
|
21
|
-
|
22
|
-
|
23
|
-
class TestCoordinatesBroker:
|
24
|
-
def test_constructor(self, coordinates_broker: CoordinatesBroker):
|
25
|
-
assert coordinates_broker is not None
|
26
|
-
|
27
|
-
def test_eq(self, coordinates_broker: CoordinatesBroker):
|
28
|
-
assert coordinates_broker == coordinates_broker
|
29
|
-
|
30
|
-
def test_ne(self, coordinates_broker: CoordinatesBroker):
|
31
|
-
assert (coordinates_broker != coordinates_broker) == False
|
32
|
-
|
33
|
-
def test_access_subsets(
|
34
|
-
self, coordinates_broker: CoordinatesBroker, coordinates_subsets: list
|
35
|
-
):
|
36
|
-
assert coordinates_broker.access_subsets() == coordinates_subsets
|
37
|
-
|
38
|
-
def test_get_number_of_coordinates(self, coordinates_broker: CoordinatesBroker):
|
39
|
-
assert coordinates_broker.get_number_of_coordinates() == 5
|
40
|
-
|
41
|
-
def test_get_number_of_subsets(self, coordinates_broker: CoordinatesBroker):
|
42
|
-
assert coordinates_broker.get_number_of_subsets() == 2
|
43
|
-
|
44
|
-
def test_get_subsets(
|
45
|
-
self, coordinates_broker: CoordinatesBroker, coordinates_subsets: list
|
46
|
-
):
|
47
|
-
assert coordinates_broker.get_subsets() == coordinates_subsets
|
48
|
-
|
49
|
-
def test_add_subset(self, coordinates_broker: CoordinatesBroker):
|
50
|
-
new_subset = CoordinatesSubset("NewSubset", 4)
|
51
|
-
number_of_coordinates = coordinates_broker.get_number_of_coordinates()
|
52
|
-
assert coordinates_broker.add_subset(new_subset) == number_of_coordinates
|
53
|
-
assert coordinates_broker.has_subset(new_subset)
|
54
|
-
|
55
|
-
def test_has_subset(
|
56
|
-
self, coordinates_broker: CoordinatesBroker, coordinates_subsets: list
|
57
|
-
):
|
58
|
-
assert coordinates_broker.has_subset(coordinates_subsets[0])
|
59
|
-
|
60
|
-
def test_extract_coordinate(
|
61
|
-
self,
|
62
|
-
coordinates_broker: CoordinatesBroker,
|
63
|
-
coordinates: list[float],
|
64
|
-
coordinates_subsets: list[CoordinatesSubset],
|
65
|
-
):
|
66
|
-
assert (
|
67
|
-
coordinates_broker.extract_coordinate(coordinates, coordinates_subsets[0])
|
68
|
-
== [1.0, 2.0]
|
69
|
-
).all()
|
70
|
-
assert (
|
71
|
-
coordinates_broker.extract_coordinate(coordinates, coordinates_subsets[1])
|
72
|
-
== [3.0, 4.0, 5.0]
|
73
|
-
).all()
|
74
|
-
|
75
|
-
def test_extract_coordinates(
|
76
|
-
self,
|
77
|
-
coordinates_broker: CoordinatesBroker,
|
78
|
-
coordinates: list[float],
|
79
|
-
coordinates_subsets: list[CoordinatesSubset],
|
80
|
-
):
|
81
|
-
assert (
|
82
|
-
coordinates_broker.extract_coordinates(coordinates, coordinates_subsets)
|
83
|
-
== [1.0, 2.0, 3.0, 4.0, 5.0]
|
84
|
-
).all()
|
@@ -1,43 +0,0 @@
|
|
1
|
-
# Apache License 2.0
|
2
|
-
|
3
|
-
import pytest
|
4
|
-
|
5
|
-
from ostk.astrodynamics.trajectory.state import CoordinatesSubset
|
6
|
-
|
7
|
-
|
8
|
-
@pytest.fixture
|
9
|
-
def name() -> str:
|
10
|
-
return "MySubset"
|
11
|
-
|
12
|
-
|
13
|
-
@pytest.fixture
|
14
|
-
def size() -> int:
|
15
|
-
return 3
|
16
|
-
|
17
|
-
|
18
|
-
@pytest.fixture
|
19
|
-
def coordinates_subset(name: str, size: int) -> CoordinatesSubset:
|
20
|
-
return CoordinatesSubset(name, size)
|
21
|
-
|
22
|
-
|
23
|
-
class TestCoordinatesSubset:
|
24
|
-
def test_constructor(self, coordinates_subset: CoordinatesSubset):
|
25
|
-
assert coordinates_subset is not None
|
26
|
-
|
27
|
-
def test_eq(self, coordinates_subset: CoordinatesSubset):
|
28
|
-
assert coordinates_subset == coordinates_subset
|
29
|
-
|
30
|
-
def test_ne(self, coordinates_subset: CoordinatesSubset):
|
31
|
-
assert (coordinates_subset != coordinates_subset) == False
|
32
|
-
|
33
|
-
def test_get_id(self, coordinates_subset: CoordinatesSubset):
|
34
|
-
assert coordinates_subset.get_id() is not None
|
35
|
-
|
36
|
-
def test_get_name(self, coordinates_subset: CoordinatesSubset, name: str):
|
37
|
-
assert coordinates_subset.get_name() == name
|
38
|
-
|
39
|
-
def test_get_size(self, coordinates_subset: CoordinatesSubset, size: int):
|
40
|
-
assert coordinates_subset.get_size() == size
|
41
|
-
|
42
|
-
def test_mass(self):
|
43
|
-
assert CoordinatesSubset.mass() is not None
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|