Click or drag to resize

SegmentPropagatorPropagateSegment Method

The method that actually propagates the segment. This should never be called directly; instead call whatever Propagate method most appropriate to your problem.

Namespace:  AGI.Foundation.SegmentPropagation
Assembly:  AGI.Foundation.Models (in AGI.Foundation.Models.dll) Version: 20.2.404.0 (20.2.404.0)
protected abstract SegmentResults PropagateSegment(
	SegmentListResults cumulativeResults,
	SegmentConfiguration editedConfiguration,
	ITrackCalculationProgress progressTracker


Type: AGI.Foundation.SegmentPropagationSegmentListResults
The results of the SegmentListPropagator that contains this segment. This may be if this segment is being propagated independent of a SegmentListPropagator. In the simple case, this is only needed to provide the initial state that this SegmentPropagator should start propagating from. However, if the concrete SegmentPropagator will propagate multiple segments, then the StateForNextSegment must be set after each individual SegmentPropagator is propagated. You may also need to maintain the SegmentResults collection to avoid having the same SegmentResults included twice (the SegmentResults for each SegmentPropagator gets added automatically to the cumulativeResults when it is propagated). Also, if there is even the possibility of the SegmentPropagator needing to back up into a previous segment, the RegenerateEphemerisForOverallTrajectory method after each child SegmentPropagator is propagated.
Type: AGI.Foundation.SegmentPropagationSegmentConfiguration
The segment configuration that some other segment has determined that this segment should run. If it is then use the segments OriginalConfiguration.
Type: AGI.FoundationITrackCalculationProgress
An optional progress tracker. How long the segment will take to propagate generally is not known ahead of time, so the reported progress completed is set to -1. However you can cancel propagation with the tracker.

Return Value

Type: SegmentResults
This segments propagation results. This method must fill in all of the relevant properties in the returned results. See the documentation of the derived type to determine if these SegmentResults may be cast to a more specific type.
See Also