73 .moment = Vec3<Scalar>::Zero(),
74 .application_point = Vec3<Scalar>::Zero(),
83 .moment = Vec3<Scalar>::Zero(),
84 .application_point = point,
Core type definitions, concepts, and configuration for Icarus.
Definition AggregationTypes.hpp:13
const char * FrameToString(Frame frame)
Convert Frame enum to string for logging.
Definition AggregationTypes.hpp:35
SourceLifecycle
Signal lifecycle for mass/force sources.
Definition AggregationTypes.hpp:98
@ DYNAMIC
Time-varying (e.g., fuel mass, sloshing).
Definition AggregationTypes.hpp:100
@ STATIC
Constant during run (e.g., dry mass, structure).
Definition AggregationTypes.hpp:99
Frame
Reference frame for force/moment quantities.
Definition AggregationTypes.hpp:25
@ WIND
Velocity-aligned frame (X=airspeed direction).
Definition AggregationTypes.hpp:27
@ INERTIAL
Inertial frame (ECI or ECEF).
Definition AggregationTypes.hpp:29
@ LOCAL
Component-local frame (e.g., nozzle axis).
Definition AggregationTypes.hpp:28
@ BODY
Body-fixed frame (X=forward, Y=right, Z=down).
Definition AggregationTypes.hpp:26
Force contribution from a single source.
Definition AggregationTypes.hpp:62
Frame frame
Frame of force/moment vectors.
Definition AggregationTypes.hpp:66
static ForceContribution< Scalar > AtPoint(const Vec3< Scalar > &f, const Vec3< Scalar > &point)
Create a body-frame force at a specified point.
Definition AggregationTypes.hpp:81
Vec3< Scalar > force
Force vector in source frame.
Definition AggregationTypes.hpp:63
static ForceContribution< Scalar > AtCG(const Vec3< Scalar > &f)
Create a body-frame force at CG (no moment transfer needed).
Definition AggregationTypes.hpp:71
Vec3< Scalar > moment
Moment about application point.
Definition AggregationTypes.hpp:64
Vec3< Scalar > application_point
Point of force application (body frame).
Definition AggregationTypes.hpp:65