Click or drag to resize

PropagateSegmentResults Class

A PropagateSegment can optionally propagate multiple segments with an auto-sequence with stopping conditions. When auto-sequences are run (possibly multiple times), there will be a pattern where the PropagateSegments propagator propagates, then the SegmentPropagator for the stopping conditions auto sequence will run, then the original propagator if the stopping condition is configured to be tripped multiple times. The overall SegmentResults returned will be the PropagateSegmentResults which is a SegmentList of all of the segments propagated.
Inheritance Hierarchy

Namespace:  AGI.Foundation.SegmentPropagation
Assembly:  AGI.Foundation.SegmentPropagation (in AGI.Foundation.SegmentPropagation.dll) Version: 24.1.418.0 (24.1.418.0)
public class PropagateSegmentResults : SegmentListResults

The PropagateSegmentResults type exposes the following members.

Public methodPropagateSegmentResults(SegmentPropagator)
Initializes a new instance.
Protected methodPropagateSegmentResults(PropagateSegmentResults, CopyContext)
Initializes a new instance as a copy of an existing instance.
Public methodPropagateSegmentResults(SegmentPropagator, ITimeBasedState)
Initializes a new instance.
Public methodPropagateSegmentResults(SegmentPropagator, PropagateSegmentResults)
Initializes a new instance.
Public propertyAdapters
Gets the list of adapters needed to transform the states of this results to the next.
(Inherited from SegmentResults.)
Public propertyAdditionalSegmentResults
Gets a list of SegmentResults that this segment may have propagated. For a SegmentList this will be the child segments it propagated. For segments that ran optional segments, they will be included here. This list will not have this instance of the results in it.
(Inherited from SegmentResults.)
Public propertyCanceled
Gets or sets a value indicating whether the propagation run was canceled.
(Inherited from SegmentResults.)
Public propertyConditionsThatStoppedPropagation
Gets all of the StoppingConditions that stopped propagation in the order that they occurred. This list will have more than 1 StoppingCondition if a StoppingCondition that was satisfied was instructed to propagate its auto-segment multiple times. See SetStoppingConditionAutoSegment(StoppingCondition, SegmentDefinition, Int32) for more details. If you did not configure any auto-sequences for your StoppingConditions then there will be a single StoppingCondition in this list.
Public propertyConditionStoppedOn
Gets or sets the final StoppingCondition that stopped propagation.
Public propertyConfiguration
Gets or sets the segment configuration that was used to propagate the segment that made these results.
(Inherited from SegmentResults.)
Public propertyEntireComputedEphemeris

Gets the entire ephemeris computed by the SegmentPropagator.

This may include ephemeris points that should be ignored when looking at the objects overall trajectory. Examples of why this may not match the EphemerisForOverallTrajectory may be because a later segment had to start at some point before the end of this segment, or because the segment computed additional ephemeris to aid with interpolation. In order to work with the rest of the library, the elements in this list should be in time ascending order even if the segment was propagated backwards.

Even for segments that do not actually propagate elements, the StateForNextSegment should be added to this list.

(Inherited from SegmentResults.)
Public propertyEphemerisForOverallTrajectory
Gets the ephemeris that should be used to represent the objects trajectory. This list of ephemeris points should be entirely contained in the EntireComputedEphemeris.
(Inherited from SegmentResults.)
Public propertyFinalNestedSegmentResult
Gets the results of final segment that was propagated that is not itself a SegmentListResults.
(Inherited from SegmentListResults.)
Public propertyFinalPropagatedState
Gets the final state that was propagated by the SegmentPropagator in time from the overall trajectory.
(Inherited from SegmentResults.)
Public propertyFinalSegmentResult
Gets the results of the final segment propagated.
(Inherited from SegmentListResults.)
Public propertyFirstPropagatedState
Gets the first state that was propagated by this segment. Often this will be at the same time as the InitialState, but adapted into this segments defined-in objects, but some segments define what their time and state is.
(Inherited from SegmentResults.)
Public propertyIdentifiers
Gets the identifiers of all of the elements propagated by the segment.
(Inherited from SegmentResults.)
Public propertyInitialState
Gets or sets the initial state that the SegmentPropagator was propagated from. If any processing was done to the initial state passed into the PropagateSegment(SegmentListResults, SegmentConfiguration, ITrackCalculationProgress) method (such as applying adapters or initializing a different state with the passed in initial state) that modified state should be set here instead of the passed in state.
(Inherited from SegmentResults.)
Public propertyIsThreadSafe
Gets a value indicating whether the methods on this instance are safe to call from multiple threads simultaneously.
(Inherited from SegmentResults.)
Public propertyOverrideSegmentListEphemeris
Gets or sets a value indicating whether the SegmentPropagator that created these results requires the parent SegmentListResults to update its EphemerisForOverallTrajectory. This must be if this segment needed to start at some point other than at the end of the previous SegmentPropagator. Otherwise leave this as .
(Inherited from SegmentResults.)
Public propertyParentResults
Gets or sets the results of the SegmentListResults that contains the SegmentPropagator that created these results. This gets set automatically by the SegmentListPropagator that propagated the SegmentPropagator that made these results. It will be if the SegmentPropagator that created this was not propagated in a SegmentListPropagator.
(Inherited from SegmentResults.)
Public propertyPropagationDirection
Gets what direction propagation initially occurred. For a SegmentList, this should be the direction of the first SegmentPropagator it is propagating.
(Inherited from SegmentResults.)
Public propertyPropagator
Gets the SegmentPropagator that was used to make this set of results.
(Inherited from SegmentResults.)
Public propertySegmentCompletelyOverriddenByOverlappingSegment
Gets or sets a value indicating whether a SegmentPropagator after the one that made these results stepped back so far that the EphemerisForOverallTrajectory is empty. So if you have four propagators, and the fourth propagator needs to back up all the way to the first propagator, this property should be set to for the second and third set of results.
(Inherited from SegmentResults.)
Public propertySegmentIdentifier
Gets the SegmentDefinition that made the SegmentPropagator that created these results.
(Inherited from SegmentResults.)
Public propertySegmentOverrideStartsIn
Gets or sets the segment that the SegmentPropagator that created this set of results starts in if this segment needs to start before the end of the previous segment. This is only needed if another segment overlaps with this one.
(Inherited from SegmentResults.)
Public propertySegmentResults
Gets the results of each segment in the order that they were propagated.
(Inherited from SegmentListResults.)
Public propertyStateForNextSegment
Gets a copy of the state to be passed to the next SegmentPropagator. This is determined automatically by the StateForNextSegmentBehavior and the EphemerisForOverallTrajectory.
(Inherited from SegmentResults.)
Public propertyStateForNextSegmentBehavior
Gets which state the SegmentPropagator will pass to the next segment.
(Inherited from SegmentResults.)
Public propertyStopAllPropagation
Gets or sets a value indicating whether all propagation must stop and whatever results have been computed should be returned.
(Inherited from SegmentResults.)
Public propertyStoppablePropagatorResults
Gets or sets the results of the wrapped StoppablePropagator.
Public propertyStoppedOnMaximumDuration
Gets or sets a value indicating whether the propagation stopped due to the MaximumDuration being exceeded.
Public propertyStopPropagationForCurrentSegmentList
Gets or sets a value indicating whether the current SegmentListPropagator was told to stop propagating its SegmentPropagators but that propagation of anything after this propagator should continue.
(Inherited from SegmentResults.)
Public propertyTimeIntervalOfEntireComputedEphemeris (Inherited from SegmentResults.)
Public propertyTimeIntervalOfEphemerisForOverallTrajectory (Inherited from SegmentResults.)
Public propertyValueOfStoppingCondition
Gets the value of the final StoppingCondition that stopped propagation.
Public methodAddEphemerisPoint
Adds the state to the EntireComputedEphemeris and EphemerisForOverallTrajectory and checks that all of the elements in the state are included in the Identifiers. This will add the state such that all of the states are in time ascending order.
(Inherited from SegmentResults.)
Public methodAddStoppingConditionBackwardsAdapters
It is not known ahead of time which of the auto-segments associated with a StoppingCondition will be run. So the adapters that go from the auto-segment back to the native defined-ins of the parent NumericalPropagatorSegment must be available for use. This method allows you to add those adapters to these results.
Public methodBackwardsAdaptersForStoppingConditionSegment
Gets the IListT of backwards adapters associated with the condition. These adapters will allow you to adapt the SegmentResults of the auto-segment associated with the condition back to the defined-ins of the initial propagation of the NumericalPropagatorSegment that made these results.
Public methodClone
Clones this object using the specified context.
(Overrides SegmentListResultsClone(CopyContext).)
Public methodCropEphemerisForOverallTrajectory
This method will clear the EphemerisForOverallTrajectory and fill it in with the ephemeris from the EntireComputedEphemeris that is in the interval. SegmentPropagators that propagate multiple segments may need to override this to properly crop its child segments (and it is likely that some segments will have an empty EphemerisForOverallTrajectory). This should not need to perform any adaptation of the states involved; simply adjust the states in the EphemerisForOverallTrajectory. For SegmentResults that are made up of multiple segments, this must be called on each individual segment before being called on the overall results.
(Inherited from SegmentListResults.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetAdapter
Gets the adapter for the specified element.
(Inherited from SegmentResults.)
Public methodGetDateMotionCollectionOfOverallTrajectory(String, ReferenceFrame)
Gets a DateMotionCollectionT of the element in the specified ReferenceFrame from the EphemerisForOverallTrajectory. This method assumes that you are asking for an entry that is of type Cartesian and that the element in the state is of that type. The state type stored must be ITimeBasedState.
(Inherited from SegmentListResults.)
Public methodGetDateMotionCollectionOfOverallTrajectoryT(String)
Gets a DateMotionCollectionT of the element from the EphemerisForOverallTrajectory. Note that this will return the ephemeris from the EphemerisForOverallTrajectory of every stored SegmentResults making no attempt at transforming them into the same ReferenceFrame or Axes. If the element happened to be propagated in different defined in objects, you must either call GetDateMotionCollectionOfOverallTrajectory(String, ReferenceFrame) if a Point was propagated, or handle the transformations yourself.
(Inherited from SegmentListResults.)
Public methodGetElementDefinedIn
Gets the Object that the element was defined in. Generally this is an Axes or ReferenceFrame. If this returns then either the element has no defined-in object, or the element was not propagated by the segment that made the results.
(Inherited from SegmentListResults.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetMotionCollectionT(String) (Inherited from SegmentResults.)
Public methodGetResultsOfSegment
This method will do a recursive search through the SegmentResults and return the first results that correspond with the segment, or if the requested segment's results are not found.
(Inherited from SegmentResults.)
Public methodGetSegmentBoundaryTimes
Returns the intervals of propagation of each segment. Segments that are instantaneous will have their start and stop times be equal to each other.
(Inherited from SegmentListResults.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIndexOfStateWithDateFromEntireComputedEphemeris
Gets the indexes of states within EntireComputedEphemeris at the specified date.
(Inherited from SegmentResults.)
Public methodIsSegmentContainedInThisList
Returns if the segment was propagated by the SegmentPropagator that produced this list of SegmentResults. Be aware that it will return once it finds the first SegmentPropagator made with the matching segment.
(Inherited from SegmentListResults.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodPropagateToAssumingTimeBasedStates
When a SegmentPropagator needs to go back and start at a point before the end of the previous segment, this method can be used to get that exact state to start at. This will adapt the state such that it is in the defined-ins of the segment right before the current segment. This method will take care of setting all of the nested segments overall ephemeris lists properly.
(Inherited from SegmentListResults.)
Public methodRegenerateEphemerisForOverallTrajectory
Regenerates the ephemeris for this. The EphemerisForOverallTrajectory will get rebuilt for this and all child segments. The states in this SegmentList will be adapted to the final stored segment in this.
(Overrides SegmentListResultsRegenerateEphemerisForOverallTrajectory.)
Public methodSetElementDefinedIn
Sets the defined-in object (ReferenceFrame, Axes...), for the specified element.
(Inherited from SegmentResults.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
See Also