Click or drag to resize

SegmentListResults Class

The results returned by a propagated SegmentList.
Inheritance Hierarchy

Namespace:  AGI.Foundation.SegmentPropagation
Assembly:  AGI.Foundation.Models (in AGI.Foundation.Models.dll) Version: 19.2.399.0 (19.2.399.0)
Syntax
public class SegmentListResults : SegmentResults

The SegmentListResults type exposes the following members.

Constructors
  NameDescription
Public methodSegmentListResults(SegmentPropagator)
Initializes a new instance.
Protected methodSegmentListResults(SegmentListResults, CopyContext)
Initializes a new instance as a copy of an existing instance.
Public methodSegmentListResults(SegmentPropagator, ITimeBasedState)
Initializes a new instance.
Public methodSegmentListResults(SegmentPropagator, SegmentListResults)
Initializes a new instance.
Top
Properties
  NameDescription
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 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.
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.
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.
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 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.)
Top
Methods
  NameDescription
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 methodClone
Clones this object using the specified context.
(Overrides SegmentResultsClone(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.
(Overrides SegmentResultsCropEphemerisForOverallTrajectory(IntegrationSense, TimeInterval).)
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 methodStatic memberGenerateOverallTrajectory
Clears the current ephemeris for this results and regenerates it based on the overall ephemeris of all of this result's child segments. This should be called right before this is returned to the parent segment or user, or when a segment had to change the results of previous segment's EphemerisForOverallTrajectory. This method will properly adapt all of the child SegmentResults to the proper defined in objects of the SegmentListPropagator that made these results.
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.
(Overrides SegmentResultsGetDateMotionCollectionOfOverallTrajectory(String, ReferenceFrame).)
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.
(Overrides SegmentResultsGetDateMotionCollectionOfOverallTrajectoryT(String).)
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.
(Overrides SegmentResultsGetElementDefinedIn(String).)
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.
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.
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.
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.
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.)
Top
Remarks
Note that if your custom segment can propagate multiple segments sequentially, it should return a SegmentListResults even if it ends up propagating a single segment.
See Also