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: 24.3.420.0 (24.3.420.0)
Syntax protected abstract SegmentResults PropagateSegment(
SegmentListResults cumulativeResults,
SegmentConfiguration editedConfiguration,
ITrackCalculationProgress progressTracker
)
Protected MustOverride Function PropagateSegment (
cumulativeResults As SegmentListResults,
editedConfiguration As SegmentConfiguration,
progressTracker As ITrackCalculationProgress
) As SegmentResults
protected:
virtual SegmentResults^ PropagateSegment(
SegmentListResults^ cumulativeResults,
SegmentConfiguration^ editedConfiguration,
ITrackCalculationProgress^ progressTracker
) abstract
abstract PropagateSegment :
cumulativeResults : SegmentListResults *
editedConfiguration : SegmentConfiguration *
progressTracker : ITrackCalculationProgress -> SegmentResults
Parameters
- cumulativeResults
- 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. - editedConfiguration
- 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. - progressTracker
- 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:
SegmentResultsThis
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