|
🛰️航天仿真算法库 SpaceAST 0.0.1
|
#include <AstroBlockFactory.hpp>
Public 成员函数 | |
| AstroBlockFactory (bool useSTM=false) | |
| BlockMotion * | createMotionBlock () |
| BlockTwoBody * | createTwoBodyBlock (double GM) |
| BlockGravity * | createGravityBlock (GravityField &&gf, int degree, int order, Axes *gravityAxes, Axes *propAxes) |
| BlockMass * | createMassBlock (double mass) |
| BlockDrag * | createDragBlock (Atmosphere *atm, double cd, double area, Frame *frame) |
| BlockSRP * | createSRPBlock (EclipseCalculator *ec, double cr, double area, Frame *frame) |
| BlockThirdBodyGravity * | createThirdBodyGravityBlock (Point *ephemeris, GravityField &&gf, int degree, int order, Axes *gravityAxes, Frame *propFrame) |
| BlockThirdBodyPointMass * | createThirdBodyPointMassBlock (Point *ephemeris, double GM, Frame *frame) |
| BlockStateTransitionMatrix * | createStateTransitionMatrixBlock () |
| BlockDragSensitivity * | createDragSensitivityBlock () |
| BlockSRPSensitivity * | createSRPSensitivityBlock () |
天体力学函数块工厂
封装 new 不同类型的决策逻辑。变化点仅在于是否启用 STM:
使用方式: AstroBlockFactory factory(forceModel.useSTM()); addBlock(factory.createGravityBlock(...));