52 lines
870 B
Plaintext
52 lines
870 B
Plaintext
@startuml
|
|
class Rocket {
|
|
+addStage()
|
|
+updateMassProperties()
|
|
+prepareForFlight()
|
|
+applyFlightState()
|
|
+getTotalMass()
|
|
+getCenterOfGravity()
|
|
+getCenterOfPressure()
|
|
}
|
|
|
|
class Stage {
|
|
+addMotor()
|
|
+setAirframe()
|
|
+setFinSet()
|
|
+setRecoverySystem()
|
|
+updateMassProperties()
|
|
+getTotalThrust()
|
|
}
|
|
|
|
class Motor {
|
|
+addThrustDataPoint()
|
|
+ignite()
|
|
+update()
|
|
+getCurrentThrust()
|
|
}
|
|
|
|
class Airframe {
|
|
+getLength()
|
|
+getReferenceArea()
|
|
}
|
|
|
|
class FinSet {
|
|
+calculateNormalForceCoefficient()
|
|
+calculateCenterOfPressure()
|
|
+calculateDragArea()
|
|
+calculateMass()
|
|
}
|
|
|
|
class RecoverySystem {
|
|
+checkDeploymentCondition()
|
|
+deploy()
|
|
+isDeployed()
|
|
}
|
|
|
|
Rocket "1" *-- "*" Stage
|
|
Stage "1" *-- "*" Motor
|
|
Stage "1" *-- "0..1" Airframe
|
|
Stage "1" *-- "0..1" FinSet
|
|
Stage "1" *-- "0..1" RecoverySystem
|
|
@enduml
|