Skip to content
Merged
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/models/rocket.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ class RocketModel(ApiBaseModel):
radius: float
mass: float
motor_position: float
center_of_mass_without_motor: int
center_of_mass_without_motor: float
inertia: Union[
Tuple[float, float, float],
Tuple[float, float, float, float, float, float],
Expand Down
3 changes: 2 additions & 1 deletion src/models/sub/aerosurfaces.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,15 @@ class Fins(BaseModel):
root_chord: float
span: float
position: float

# Optional parameters
tip_chord: Optional[float] = None
cant_angle: Optional[float] = None
rocket_radius: Optional[float] = None
airfoil: Optional[
Tuple[List[Tuple[float, float]], Literal['radians', 'degrees']]
] = None
sweep_length: Optional[float] = None
sweep_angle: Optional[float] = None

def get_additional_parameters(self):
return {
Expand Down
9 changes: 5 additions & 4 deletions src/services/environment.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from rocketpy.environment.environment import Environment as RocketPyEnvironment
from src.models.environment import EnvironmentModel
from src.views.environment import EnvironmentSimulation
from src.utils import rocketpy_encoder, DiscretizeConfig
from src.utils import collect_attributes


class EnvironmentService:
Expand Down Expand Up @@ -54,10 +54,11 @@ def get_environment_simulation(self) -> EnvironmentSimulation:
EnvironmentSimulation
"""

attributes = rocketpy_encoder(
self.environment, DiscretizeConfig.for_environment()
encoded_attributes = collect_attributes(
self.environment,
[EnvironmentSimulation],
)
env_simulation = EnvironmentSimulation(**attributes)
env_simulation = EnvironmentSimulation(**encoded_attributes)
return env_simulation

def get_environment_binary(self) -> bytes:
Expand Down
17 changes: 13 additions & 4 deletions src/services/flight.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@
from src.services.rocket import RocketService
from src.models.flight import FlightModel
from src.views.flight import FlightSimulation
from src.utils import rocketpy_encoder, DiscretizeConfig
from src.views.rocket import RocketSimulation
from src.views.motor import MotorSimulation
from src.views.environment import EnvironmentSimulation
from src.utils import collect_attributes


class FlightService:
Expand Down Expand Up @@ -55,10 +58,16 @@ def get_flight_simulation(self) -> FlightSimulation:
Returns:
FlightSimulation
"""
attributes = rocketpy_encoder(
self.flight, DiscretizeConfig.for_flight()
encoded_attributes = collect_attributes(
self.flight,
[
FlightSimulation,
RocketSimulation,
MotorSimulation,
EnvironmentSimulation,
],
)
flight_simulation = FlightSimulation(**attributes)
flight_simulation = FlightSimulation(**encoded_attributes)
return flight_simulation

def get_flight_binary(self) -> bytes:
Expand Down
9 changes: 6 additions & 3 deletions src/services/motor.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
from src.models.sub.tanks import TankKinds
from src.models.motor import MotorKinds, MotorModel
from src.views.motor import MotorSimulation
from src.utils import rocketpy_encoder, DiscretizeConfig
from src.utils import collect_attributes


class MotorService:
Expand Down Expand Up @@ -140,8 +140,11 @@ def get_motor_simulation(self) -> MotorSimulation:
Returns:
MotorSimulation
"""
attributes = rocketpy_encoder(self.motor, DiscretizeConfig.for_motor())
motor_simulation = MotorSimulation(**attributes)
encoded_attributes = collect_attributes(
self.motor,
[MotorSimulation],
)
motor_simulation = MotorSimulation(**encoded_attributes)
return motor_simulation

def get_motor_binary(self) -> bytes:
Expand Down
9 changes: 5 additions & 4 deletions src/services/rocket.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@
from src.models.sub.aerosurfaces import NoseCone, Tail, Fins
from src.services.motor import MotorService
from src.views.rocket import RocketSimulation
from src.utils import rocketpy_encoder, DiscretizeConfig
from src.views.motor import MotorSimulation
from src.utils import collect_attributes


class RocketService:
Expand Down Expand Up @@ -107,10 +108,10 @@ def get_rocket_simulation(self) -> RocketSimulation:
Returns:
RocketSimulation
"""
attributes = rocketpy_encoder(
self.rocket, DiscretizeConfig.for_rocket()
encoded_attributes = collect_attributes(
self.rocket, [RocketSimulation, MotorSimulation]
)
rocket_simulation = RocketSimulation(**attributes)
rocket_simulation = RocketSimulation(**encoded_attributes)
return rocket_simulation

def get_rocket_binary(self) -> bytes:
Expand Down
Loading
Loading