SegmentPropagator Class |
Namespace: AGI.Foundation.SegmentPropagation
The SegmentPropagator type exposes the following members.
Name | Description | |
---|---|---|
SegmentPropagator(SegmentPropagator, CopyContext) | Initializes a new instance as a copy of an existing instance. | |
SegmentPropagator(SegmentDefinition, SegmentDefinition, EvaluatorGroup) |
Initializes a new instance.
|
Name | Description | |
---|---|---|
Adapters |
Gets a list of the StateElementAdapters that this
segment can use in its propagation.
| |
Identifier |
Gets the definition that created this propagator.
This is to only be used as an identifier.
| |
IsThreadSafe |
Gets a value indicating whether the methods on this instance are safe to call from
multiple threads simultaneously.
| |
Name |
Gets the name of this SegmentPropagator.
| |
OriginalConfiguration |
Gets or sets the original configuration for this segment. This must be set when
the propagator is constructed.
This should be ignored during propagation if a configuration is passed into the
PropagateSegment(SegmentListResults, SegmentConfiguration, ITrackCalculationProgress) method.
| |
PropagationDirection |
Gets the initial direction of propagation.
| |
StateForNextSegmentBehavior |
Gets which state should be passed to the next SegmentPropagator.
|
Name | Description | |
---|---|---|
ApplyResults |
This method sets propagator's state via the input results.
For SegmentPropagators that have
state, there may be times when that state should be manually set (sometimes
for performance considerations, when the propagator will be called multiple times and it should
start from where it left off).
| |
Clone |
Clones this object using the specified context.
| |
DefaultStateAdaptation |
Performs the default adaptation of the elements
in the initialState into the finalState. Note that
elements that do not exist in both states will not be adapted.
| |
Dispose |
Releases any resources associated with this instance.
| |
Dispose(Boolean) |
Releases any resources associated with this instance.
| |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetHashCode | Serves as the default hash function. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
Propagate |
Propagates the segment assuming no initial state is passed in. Some segments do not require an
initial state to be passed in. However other segments do; such types should override this method
and provide a detailed error message in a proper Exception in such a case.
| |
Propagate(ITimeBasedState) |
Propagates the segment starting from the initialState.
| |
Propagate(SegmentListResults) |
Propagates the segment.
| |
Propagate(ITimeBasedState, ITrackCalculationProgress) |
Propagates the segment starting from the initialState.
| |
Propagate(ITimeBasedState, SegmentListResults) |
Propagates the segment starting from the initialState.
| |
Propagate(SegmentConfiguration, ITrackCalculationProgress) |
Propagates the segment.
| |
Propagate(SegmentListResults, SegmentConfiguration, ITrackCalculationProgress) |
Propagates the segment with the given parameters.
| |
PropagateSegment |
The method that actually propagates the segment. This should never be called directly;
instead call whatever Propagate method most appropriate to your problem.
| |
PropagateTo | Propagates a segment to the time or independent variable specified in the dateToPropagateTo. This method is needed to assist the case when segments might overlap. If a later segment realizes that it needs to find a different final state from this SegmentPropagator, this method should be used to find that new final state. Consider calling PropagateToAssumingTimeBasedStates(JulianDate, SegmentResults, SegmentListResults) instead of this method directly. | |
ToString | Returns a string that represents the current object. (Overrides ObjectToString.) | |
UpdateProgressTrackerAndReturnIfCanceled |
A helper method to handle the progress tracker that
the various Propagate methods have. Because how long propagation will take
cannot be known ahead of time, the progress is reported as -1. You can however use the
progress tracker to cancel propagation.
|
Name | Description | |
---|---|---|
PropagationFinishedEvent |
An event that gets raised when propagation finishes.
This event gets raised in this base type; it should not be run in the PropagateSegment(SegmentListResults, SegmentConfiguration, ITrackCalculationProgress) method.
|
There are two types of propagation that need to be supported. There is the normal PropagateSegment(SegmentListResults, SegmentConfiguration, ITrackCalculationProgress) call that will start from where the previous segment stopped. There is also the PropagateTo(SegmentResults, JulianDate) method that is needed for when a segment propagated after this one needs to back up for some reason. Propagation forwards and backwards must be handled as well.
See the Segments topic for more details about using segments.