Class ManeuverPlanSolver
public class ManeuverPlanSolver : IDisposable
- Inheritance
-
ManeuverPlanSolver
- Implements
- Inherited Members
- Extension Methods
Constructors
ManeuverPlanSolver(UniverseModel, OrbiterComponent)
Creates a ManeuverPlanSolver using the supplied UniverseModel for the supplied OrbiterComponent.
public ManeuverPlanSolver(UniverseModel universeModel, OrbiterComponent orbiter)
Parameters
universeModelUniverseModelorbiterOrbiterComponent
Fields
MAX_PATCHEDNBODY_SOLVES
Max value = 10
public const int MAX_PATCHEDNBODY_SOLVES = 10
Field Value
Properties
HasActiveManeuver
A flag indicating if this maneuver plan has an active maneuver.
public bool HasActiveManeuver { get; }
Property Value
ManeuverTrajectory
List of maneuver trajecotries.
public List<IPatchedOrbit> ManeuverTrajectory { get; }
Property Value
PatchedConicsList
List of patched conic orbits.
public List<PatchedConicsOrbit> PatchedConicsList { get; }
Property Value
PatchedNBodyList
List of Patched N-Body Orbits.
public List<PatchedNBodyOrbit> PatchedNBodyList { get; }
Property Value
TargetBody
The target celestial body.
public CelestialBodyComponent TargetBody { get; }
Property Value
Methods
Dispose()
Good question!
public void Dispose()
FindPatchContainingUt(double, List<IPatchedOrbit>, out IPatchedOrbit, out int)
public void FindPatchContainingUt(double ut, List<IPatchedOrbit> patchList, out IPatchedOrbit patch, out int patchIndex)
Parameters
utdoublepatchListList<IPatchedOrbit>patchIPatchedOrbitpatchIndexint
FindPatchContainingUt(double, List<PatchedConicsOrbit>, out IPatchedOrbit, out int)
public void FindPatchContainingUt(double ut, List<PatchedConicsOrbit> patchList, out IPatchedOrbit patch, out int patchIndex)
Parameters
utdoublepatchListList<PatchedConicsOrbit>patchIPatchedOrbitpatchIndexint
GetVelocityAfterFirstManeuver(out double)
public Vector GetVelocityAfterFirstManeuver(out double UT)
Parameters
UTdouble
Returns
HandleNodeAdded(List<ManeuverNodeData>, ManeuverNodeData)
public void HandleNodeAdded(List<ManeuverNodeData> nodes, ManeuverNodeData nodeAdded)
Parameters
nodesList<ManeuverNodeData>nodeAddedManeuverNodeData
HandleNodeBurnChanged(List<ManeuverNodeData>, ManeuverNodeData)
public void HandleNodeBurnChanged(List<ManeuverNodeData> nodes, ManeuverNodeData nodeChanged)
Parameters
nodesList<ManeuverNodeData>nodeChangedManeuverNodeData
HandleNodePositionChanged(List<ManeuverNodeData>, ManeuverNodeData)
public void HandleNodePositionChanged(List<ManeuverNodeData> nodes, ManeuverNodeData nodeChanged)
Parameters
nodesList<ManeuverNodeData>nodeChangedManeuverNodeData
HandleNodesRemoved(List<ManeuverNodeData>, List<ManeuverNodeData>)
public void HandleNodesRemoved(List<ManeuverNodeData> currentNodes, List<ManeuverNodeData> removedNodes)
Parameters
currentNodesList<ManeuverNodeData>removedNodesList<ManeuverNodeData>
OnStart()
Mono behavior called automatically.
public void OnStart()
OnUpdate()
Mono behavior called automatically.
public void OnUpdate()
SetPatchesInactive(List<PatchedNBodyOrbit>, int)
public static void SetPatchesInactive(List<PatchedNBodyOrbit> patchedNBodyOrbits, int startIndex = 0)
Parameters
patchedNBodyOrbitsList<PatchedNBodyOrbit>startIndexint
SetTarget(CelestialBodyComponent)
Set the TargetBody pameter using the supplied CelestialBodyComponent.
public void SetTarget(CelestialBodyComponent targetBody)
Parameters
targetBodyCelestialBodyComponent
UpdateManeuverTrajectory()
Updates all the PatchedConicsOrbit list for this maneuver plan?
public void UpdateManeuverTrajectory()
UpdatePositionVelocityForSoiCross(IPatchedOrbit, PatchedNBodyOrbit, double, ref Vector3d, ref Vector3d)
Updates the position and velocity vectors for the SOI transition using the supplier patch and patchedNBodyOrbit.
public static void UpdatePositionVelocityForSoiCross(IPatchedOrbit patch, PatchedNBodyOrbit patchedNBodyOrbit, double subStageStartUt, ref Vector3d localPosition, ref Vector3d localVelocity)
Parameters
patchIPatchedOrbitpatchedNBodyOrbitPatchedNBodyOrbitsubStageStartUtdoublelocalPositionVector3dlocalVelocityVector3d