Class ManeuverPlanComponent
public class ManeuverPlanComponent : ObjectComponent, IGuidIdentity
- Inheritance
-
ManeuverPlanComponent
- Implements
- Inherited Members
- Extension Methods
Constructors
ManeuverPlanComponent()
public ManeuverPlanComponent()
ManeuverPlanComponent(ManeuverPlanDefinition, IUniverseModel)
public ManeuverPlanComponent(ManeuverPlanDefinition componentDefinition, IUniverseModel universeModel)
Parameters
componentDefinitionManeuverPlanDefinitionuniverseModelIUniverseModel
Fields
OnManeuverNodeAdded
public Action<Guid> OnManeuverNodeAdded
Field Value
OnManeuverNodeBurnChanged
public Action<Guid> OnManeuverNodeBurnChanged
Field Value
OnManeuverNodePositionChanged
public Action<Guid> OnManeuverNodePositionChanged
Field Value
OnManeuverNodesRemoved
public Action<List<ManeuverNodeData>> OnManeuverNodesRemoved
Field Value
Properties
ActiveNode
Returns the current active node if there is one, otherwise null.
public ManeuverNodeData ActiveNode { get; }
Property Value
DefinitionType
[TypeConverterIgnore]
public override Type DefinitionType { get; }
Property Value
StateType
[TypeConverterIgnore]
public override Type StateType { get; }
Property Value
Type
[TypeConverterIgnore]
public override Type Type { get; }
Property Value
Methods
AddNode(ManeuverNodeData, bool)
public bool AddNode(ManeuverNodeData nodeData, bool rebuilding)
Parameters
nodeDataManeuverNodeDatarebuildingbool
Returns
EnoughDeltaVToAddNode()
public bool EnoughDeltaVToAddNode()
Returns
EnoughDeltaVToAddNodeOnRebuild(ManeuverNodeData, out Vector3d)
public bool EnoughDeltaVToAddNodeOnRebuild(ManeuverNodeData node, out Vector3d reducedBurnVectorChange)
Parameters
nodeManeuverNodeDatareducedBurnVectorChangeVector3d
Returns
EnoughDeltaVToChangeNode(ManeuverNodeData, Vector3, out Vector3)
public bool EnoughDeltaVToChangeNode(ManeuverNodeData node, Vector3 change, out Vector3 newChange)
Parameters
nodeManeuverNodeDatachangeVector3newChangeVector3
Returns
GetDefinition()
public override object GetDefinition()
Returns
GetManeuverNodeBurnDirVector(Guid)
public Vector GetManeuverNodeBurnDirVector(Guid nodeId)
Parameters
nodeIdGuid
Returns
GetManeuverNodeBurnVector(Guid)
public Vector GetManeuverNodeBurnVector(Guid nodeId)
Parameters
nodeIdGuid
Returns
GetNodes()
public List<ManeuverNodeData> GetNodes()
Returns
GetState()
public override object GetState()
Returns
IsEngineInAirbreathingMode(VesselDeltaVComponent)
public bool IsEngineInAirbreathingMode(VesselDeltaVComponent vesselDeltaV)
Parameters
vesselDeltaVVesselDeltaVComponent
Returns
OnFixedUpdate(double, double)
public override void OnFixedUpdate(double universalTime, double deltaUniversalTime)
Parameters
OnRemoved(SimulationObjectModel, double)
Action triggered when a maneuver node is removed.
public override void OnRemoved(SimulationObjectModel simulationObject, double universalTime)
Parameters
simulationObjectSimulationObjectModeluniversalTimedouble
OnStart(double)
Subscribes to SOIEnteredMessage and SOIExitedMessage.
public override void OnStart(double universalTime)
Parameters
universalTimedouble
RebuildNodeData(Action)
public void RebuildNodeData(Action onRebuild)
Parameters
onRebuildAction
RefreshManeuverNodeState(int)
Refresh the state of the specified (indexed) maneuver
public void RefreshManeuverNodeState(int maneuverNumber)
Parameters
maneuverNumberint
RemoveNode(ManeuverNodeData, bool)
Removes the specified node if found.
public void RemoveNode(ManeuverNodeData nodeData, bool showMessageIfError = true)
Parameters
nodeDataManeuverNodeDatashowMessageIfErrorbool
RemoveNodes(List<ManeuverNodeData>)
public void RemoveNodes(List<ManeuverNodeData> nodes)
Parameters
nodesList<ManeuverNodeData>
SOIChanged(MessageCenterMessage)
public void SOIChanged(MessageCenterMessage msg)
Parameters
SetState(object, ISimulationModelMap)
public override object SetState(object state, ISimulationModelMap simulationModelMap)
Parameters
stateobjectsimulationModelMapISimulationModelMap
Returns
TryGetNode(Guid, out ManeuverNodeData)
public bool TryGetNode(Guid nodeID, out ManeuverNodeData node)
Parameters
nodeIDGuidnodeManeuverNodeData
Returns
UpdateChangeOnNode(ManeuverNodeData, Vector3)
public void UpdateChangeOnNode(ManeuverNodeData data, Vector3 change)
Parameters
dataManeuverNodeDatachangeVector3
UpdateNodeDetails(ManeuverNodeData)
public void UpdateNodeDetails(ManeuverNodeData node)
Parameters
nodeManeuverNodeData
UpdateTimeOnNode(ManeuverNodeData, double)
Processes an update on the specified nodeData setting a new nodeData.Time value to adjust the timing of the node. NOTE: This method just calls the next one bypassing it nodeData.NodeID and the updated time.
public void UpdateTimeOnNode(ManeuverNodeData nodeData, double time)
Parameters
nodeDataManeuverNodeDatatimedouble
ValidateState(object, ISimulationModelMap)
public override bool ValidateState(object stateData, ISimulationModelMap simulationModelMap)
Parameters
stateDataobjectsimulationModelMapISimulationModelMap
Returns
WarpToNode(ManeuverNodeData)
public void WarpToNode(ManeuverNodeData nodeData)
Parameters
nodeDataManeuverNodeData
Events
OnManeuverNodeDataUpdated
public event Action OnManeuverNodeDataUpdated
Event Type
OnManeuverNodeETAChanged
public event Action OnManeuverNodeETAChanged