Click or drag to resize

SegmentResults Class

The results computed by a SegmentPropagator. Most Segment Propagators return a results type derived from this class, see the documentation for more information. When a SegmentPropagator propagates, it must fill in all of the relevant values in this type before it returns its results.
Inheritance Hierarchy

Namespace:  AGI.Foundation.SegmentPropagation
Assembly:  AGI.Foundation.Models (in AGI.Foundation.Models.dll) Version: 19.5.402.0 (19.5.402.0)
Syntax
public class SegmentResults : IThreadAware, 
	ICloneWithContext

The SegmentResults type exposes the following members.

Constructors
  NameDescription
Public methodSegmentResults(SegmentPropagator)
Initializes a new instance. This constructor will add all of state element adapters included with the propagator.
Public methodSegmentResults(SegmentPropagator, ITimeBasedState)
Initializes a new instance. This constructor will add all of state element adapters included with the propagator.
Public methodSegmentResults(SegmentPropagator, SegmentResults)
Initializes a new instance. This constructor will add all of state element adapters included with the propagator.
Protected methodSegmentResults(SegmentResults, CopyContext)
Initializes a new instance as a copy of an existing instance.
Top
Properties
  NameDescription
Public propertyAdapters
Gets the list of adapters needed to transform the states of this results to the next.
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.
Public propertyCanceled
Gets or sets a value indicating whether the propagation run was canceled.
Public propertyConfiguration
Gets or sets the segment configuration that was used to propagate the segment that made these results.
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.

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.
Public propertyFinalPropagatedState
Gets the final state that was propagated by the SegmentPropagator in time from the overall trajectory.
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.
Public propertyIdentifiers
Gets the identifiers of all of the elements propagated by the segment.
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.
Public propertyIsThreadSafe
Gets a value indicating whether the methods on this instance are safe to call from multiple threads simultaneously.
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 .
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.
Public propertyPropagationDirection
Gets what direction propagation initially occurred. For a SegmentList, this should be the direction of the first SegmentPropagator it is propagating.
Public propertyPropagator
Gets the SegmentPropagator that was used to make this set of results.
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.
Public propertySegmentIdentifier
Gets the SegmentDefinition that made the SegmentPropagator that created these results.
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.
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.
Public propertyStateForNextSegmentBehavior
Gets which state the SegmentPropagator will pass to the next segment.
Public propertyStopAllPropagation
Gets or sets a value indicating whether all propagation must stop and whatever results have been computed should be returned.
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.
Public propertyTimeIntervalOfEntireComputedEphemeris
Public propertyTimeIntervalOfEphemerisForOverallTrajectory
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.
Public methodClone
Clones this object using the specified context.
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.
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.
Public methodStatic memberGetDateMotionCollectionT
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.
Public methodGetDateMotionCollectionOfOverallTrajectoryT(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.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetMotionCollectionT(String)
Public methodStatic memberGetMotionCollectionT(String, IListITimeBasedState)
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.
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.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodSetElementDefinedIn
Sets the defined-in object (ReferenceFrame, Axes...), for the specified element.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
See Also