Click or drag to resize

SinglePointStoppablePropagator Class

Samples a Point at a specified time step until a StoppingCondition is satisfied, returning the ephemeris computed and all events found by the StoppingConditions.
Inheritance Hierarchy
SystemObject
  AGI.Foundation.PropagatorsStoppablePropagator
    AGI.Foundation.PropagatorsSinglePointStoppablePropagator

Namespace:  AGI.Foundation.Propagators
Assembly:  AGI.Foundation.Models (in AGI.Foundation.Models.dll) Version: 24.3.420.0 (24.3.420.0)
Syntax
public abstract class SinglePointStoppablePropagator : StoppablePropagator

The SinglePointStoppablePropagator type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyAdapters
Gets the list of StateElementAdapters that must be applied to the passed in initial state. Note these should not be applied to the stored initial state if no initial state was passed in.
(Inherited from StoppablePropagator.)
Public propertyCurrentDate
Gets the date of the current state. This will get updated automatically after TakeStep(Duration, Boolean) and Restep(Duration) is called.
(Inherited from StoppablePropagator.)
Public propertyCurrentState
Gets or sets the most recently computed state from the propagator. Assume that this state is mutable and that the instance will be updated at every step and restep. For performance considerations, make the derived state type mutable and update a single instance if possible.
(Inherited from StoppablePropagator.)
Public propertyGroup
Gets the group that contains this evaluator.
(Inherited from StoppablePropagator.)
Protected propertyInitialPropagationDirection (Inherited from StoppablePropagator.)
Public propertyIsThreadSafe
Gets a value indicating whether the methods on this instance are safe to call from multiple threads simultaneously.
(Inherited from StoppablePropagator.)
Public propertyPreviousDate
Gets or sets the date of the previously propagated state. This will get updated automatically right after TakeStep(Duration, Boolean) is called.
(Inherited from StoppablePropagator.)
Protected propertyPropagationFrame
Gets the ReferenceFrame to propagate the point in.
Public propertyStoppingConditionEvaluators
Gets a read only collection of the stopping conditions that will be used by this propagator.
(Inherited from StoppablePropagator.)
Top
Methods
  NameDescription
Protected methodAddEndOfAvailabilityStoppingConditions
Gets a pair of StoppingConditions based on the availability of this propagator. If the availability of this propagator is Infinite then no conditions will be returned. It is intended that this will be called when the concrete propagator is constructed if needed these conditions will be added to the propagator at that time. It is up types to decide if this needs to be called or not.
(Inherited from StoppablePropagator.)
Public methodClone
Clones this object using the specified context.
(Inherited from StoppablePropagator.)
Protected methodCreateStoppedPropagatorResult
Creates the results of the overall propagation after the stopping event has been found. This should be overridden when your propagator stores additional data during propagation that should be returned. When overriding this method, do not call the base implementation.
(Overrides StoppablePropagatorCreateStoppedPropagatorResult(StoppingConditionEvent, IListStoppingConditionEvent, IListITimeBasedState, Boolean).)
Public methodDispose
Releases any resources associated with this instance.
(Inherited from StoppablePropagator.)
Protected methodDispose(Boolean)
Releases any resources associated with this instance.
(Overrides StoppablePropagatorDispose(Boolean).)
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 methodGetAvailabilityIntervals
Gets the intervals over which data is available.
(Inherited from StoppablePropagator.)
Public methodGetCachingWrapper
Gets a version of this evaluator that caches the previously computed value so that if it is evaluated twice at the same date the computation is done only once.
(Inherited from StoppablePropagator.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetInitialState
Creates the initial state from the wrapped propagator. Normal use cases will have the initial state passed into the PropagateUntilStop(ITimeBasedState, IEnumerableStoppingConditionEvaluator, IntegrationSense, Boolean, Int32, ITrackCalculationProgress) method. However should the propagator be configured to have an initial state it should be returned here.
(Overrides StoppablePropagatorGetInitialState(IntegrationSense).)
Protected methodGetPropagatorsRecommendedStep
Gets the step size that the underlying propagator recommends to step. Note that StoppingConditions can know how to sample themselves and if their step size will be used if it is smaller than the propagators recommended value. Also when this StoppablePropagator is restepping to find the exact event, this value will be ignored.
(Overrides StoppablePropagatorGetPropagatorsRecommendedStep.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodInitializePropagationPoint

Creates the PointEvaluator that will be sampled for propagation. Note that it is possible, and sometimes required, to make this PointEvaluator with a different EvaluatorGroup than the one that made this propagator. Do not cache the group that made this propagator, and design your derived propagator to have no undesired side effects or dependencies on the PointEvaluator returned from this method.

Public methodInitializePropagator
Initializes the wrapped propagator with the initial state. If the initialState is null, then it is the responsibility of the calling code for the initial state passed into the PropagateUntilStop(ITimeBasedState, IEnumerableStoppingConditionEvaluator, IntegrationSense, Boolean, Int32, ITrackCalculationProgress) method to already be in the correct ReferenceFrame or Axes.
(Overrides StoppablePropagatorInitializePropagator(ITimeBasedState).)
Public methodIsAvailable
Determines if valid data is available for the given JulianDate.
(Inherited from StoppablePropagator.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodPropagateUntilStop(ITimeBasedState, ITrackCalculationProgress)
Propagates forward until one of the saved StoppingConditionEvaluators are tripped. This will propagate forward in time.
(Inherited from StoppablePropagator.)
Public methodPropagateUntilStop(ITimeBasedState, IntegrationSense, ITrackCalculationProgress)
Propagates until one of the saved StoppingConditionEvaluators are tripped.
(Inherited from StoppablePropagator.)
Public methodPropagateUntilStop(JulianDate, MotionCartesian, IntegrationSense, ITrackCalculationProgress)
Propagates a Point forward in time from the initial conditions.
Public methodPropagateUntilStop(ITimeBasedState, IEnumerableStoppingConditionEvaluator, IntegrationSense, Int32, ITrackCalculationProgress)
Propagates until one of the conditions are tripped.
(Inherited from StoppablePropagator.)
Public methodPropagateUntilStop(ITimeBasedState, IEnumerableStoppingConditionEvaluator, IntegrationSense, Boolean, Int32, ITrackCalculationProgress)
Propagates until one of the conditions are tripped.
(Inherited from StoppablePropagator.)
Public methodPropagateUntilStop(JulianDate, MotionCartesian, IEnumerableStoppingConditionEvaluator, IntegrationSense, Int32, ITrackCalculationProgress)
Propagates a Point forward in time from the initial conditions.
Protected methodRestep
Resteps the underlying propagator from the PreviousDate. This only needs to be overridden if the wrapped propagator keeps state and cares about taking a step vs. restepping. Do not call the base method if you override this method. A new instance of a state should always be returned by this method. Like the TakeStep(Duration, Boolean) method, no properties on this base type needs to be updated in this method. Note that the sign of the step matters, if is it negative then the step should be taken backwards.
(Inherited from StoppablePropagator.)
Public methodTakeStep
Makes the propagator take a step. You do not need to update any other properties on the base type in the overridden method. Note that the sign of the step matters, if is it negative then the step should be taken backwards.
(Overrides StoppablePropagatorTakeStep(Duration, Boolean).)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodCode exampleUpdateEvaluatorReferences
Updates the evaluator references held by this object using the reference-to-reference mapping in the specified CopyContext.
(Overrides StoppablePropagatorUpdateEvaluatorReferences(CopyContext).)
Top
Events
  NameDescription
Public eventStepTaken
Gets the instance of the event handler which will be triggered after every time this StoppablePropagator takes an integration step.
(Inherited from StoppablePropagator.)
Top
See Also