public abstract class SinglePointStoppablePropagatorDefinition extends StoppablePropagatorDefinition
Point
as a basis for propagating a
trajectory that can be stopped with StoppingConditions
.
Note that this only propagates a single point; no other items will be propagated.Modifier | Constructor and Description |
---|---|
protected |
SinglePointStoppablePropagatorDefinition()
Initializes a new instance.
|
protected |
SinglePointStoppablePropagatorDefinition(SinglePointStoppablePropagatorDefinition existingInstance,
CopyContext context)
Initializes a new instance as a copy of an existing instance.
|
Modifier and Type | Method and Description |
---|---|
protected boolean |
checkForSameDefinition(SinglePointStoppablePropagatorDefinition other)
Checks to determine if another instance has the same definition as this instance and
returns
true if it does. |
protected boolean |
checkForSameDefinition(StoppablePropagatorDefinition other)
Checks to determine if another instance has the same definition as this instance and
returns
true if it does. |
protected int |
computeCurrentDefinitionHashCode()
Computes a hash code based on the current properties of this object.
|
protected abstract SinglePointStoppablePropagator |
createPropagator(EvaluatorGroup group,
List<StateElementAdapterDefinition> previousAdapters)
Creates and initialize the actual
SinglePointStoppablePropagator . |
void |
enumerateDependencies(DependencyEnumerator enumerator)
Enumerates the dependencies of this object by calling
DependencyEnumerator#enumerate(T) for each object that this object directly depends upon. |
boolean |
getAutomaticallyAddEndOfAvailabilityStoppingConditions()
Gets a value indicating whether the propagator should automatically have a pair of
StoppingConditions that will stop
propagation at the start or end times of this propagators availability. |
JulianDate |
getInitialDate()
Gets the optional initial date for this propagator.
|
Motion1<Cartesian> |
getInitialMotion()
Gets the optional initial position and velocity for this propagator.
|
int |
getOrder()
Gets the desired order of the propagated
Motion1 . |
ReferenceFrame |
getPropagationFrame()
Gets the
ReferenceFrame to propagate in. |
Point |
getPropagationPoint()
Gets the
Point to use in other geometry types that depend on the
propagation of this propagator, such as in StoppingConditions
that depend on geometry types. |
String |
getPropagationPointIdentification()
Gets a name to identify the
Points ephemeris with. |
SinglePointStoppablePropagator |
getSinglePointPropagator()
Creates and returns the
SinglePointStoppablePropagator
as defined by this instance. |
SinglePointStoppablePropagator |
getSinglePointPropagator(EvaluatorGroup group)
Creates and returns the
SinglePointStoppablePropagator
as defined by this instance. |
Duration |
getStep()
Gets the step size for this propagator.
|
StoppablePropagator |
getStoppablePropagator(EvaluatorGroup group,
List<StateElementAdapterDefinition> previousAdapters)
Creates and initialize the actual
StoppablePropagator . |
void |
setAutomaticallyAddEndOfAvailabilityStoppingConditions(boolean value)
Sets a value indicating whether the propagator should automatically have a pair of
StoppingConditions that will stop
propagation at the start or end times of this propagators availability. |
void |
setInitialDate(JulianDate value)
Sets the optional initial date for this propagator.
|
void |
setInitialMotion(Motion1<Cartesian> value)
Sets the optional initial position and velocity for this propagator.
|
void |
setOrder(int value)
Sets the desired order of the propagated
Motion1 . |
void |
setPropagationFrame(ReferenceFrame value)
Sets the
ReferenceFrame to propagate in. |
void |
setPropagationPointIdentification(String value)
Sets a name to identify the
Points ephemeris with. |
void |
setStep(Duration value)
Sets the step size for this propagator.
|
addAnyConditionSatisfied, checkForSameDefinition, containsAdapter, freezeAggregatedObjects, getAdapter, getAllAdapters, getDirection, getStoppablePropagator, getStoppablePropagator, getStoppingConditions, getTimeTolerance, onAnyConditionSatisfied, removeAdapter, removeAnyConditionSatisfied, setAdapter, setTimeTolerance
areSameDefinition, areSameDefinition, areSameDefinition, areSameDefinition, areSameDefinition, clone, collectionItemsAreSameDefinition, collectionItemsAreSameDefinition, collectionItemsAreSameDefinition, dictionaryItemsAreSameDefinition, freeze, getCollectionHashCode, getCollectionHashCode, getCollectionHashCode, getDefinitionHashCode, getDefinitionHashCode, getDefinitionHashCode, getDefinitionHashCode, getDefinitionHashCode, getDefinitionHashCode, getDictionaryHashCode, getIsFrozen, isSameDefinition, throwIfFrozen
protected SinglePointStoppablePropagatorDefinition()
protected SinglePointStoppablePropagatorDefinition(@Nonnull SinglePointStoppablePropagatorDefinition existingInstance, @Nonnull CopyContext context)
See ICloneWithContext.clone(CopyContext)
for more information about how to implement this constructor
in a derived class.
existingInstance
- The existing instance to copy.context
- A CopyContext
that controls the depth of the copy.ArgumentNullException
- Thrown when existingInstance
or context
is null
.protected final boolean checkForSameDefinition(StoppablePropagatorDefinition other)
true
if it does. Derived classes MUST override this method and check
all new fields introduced by the derived class for definitional equivalence. It is NOT necessary
to check base class fields because the base class will already have done that. When overriding this method,
you should NOT call the base implementation because it will return false
for all derived-class instances.
Derived classes should check the type of other
to preserve the symmetric nature of IEquatableDefinition.isSameDefinition(java.lang.Object)
.checkForSameDefinition
in class StoppablePropagatorDefinition
other
- The other instance to compare to this one.true
if the two objects are defined equivalently; otherwise false
.protected boolean checkForSameDefinition(SinglePointStoppablePropagatorDefinition other)
true
if it does. Derived classes MUST override this method and check
all new fields introduced by the derived class for definitional equivalence. It is NOT necessary
to check base class fields because the base class will already have done that. When overriding this method,
you should NOT call the base implementation because it will return false
for all derived-class instances.
Derived classes should check the type of other
to preserve the symmetric nature of IEquatableDefinition.isSameDefinition(java.lang.Object)
.other
- The other instance to compare to this one.true
if the two objects are defined equivalently; otherwise false
.protected int computeCurrentDefinitionHashCode()
SinglePointStoppablePropagatorDefinition.checkForSameDefinition(agi.foundation.propagators.StoppablePropagatorDefinition)
method.computeCurrentDefinitionHashCode
in class StoppablePropagatorDefinition
public void enumerateDependencies(DependencyEnumerator enumerator)
DependencyEnumerator#enumerate(T)
for each object that this object directly depends upon.
Derived classes which contain additional dependencies MUST override this method, call the base
implementation, and enumerate dependencies introduced by the derived class.enumerateDependencies
in interface IEnumerateDependencies
enumerateDependencies
in class StoppablePropagatorDefinition
enumerator
- The enumerator that is informed of the dependencies of this object.public final ReferenceFrame getPropagationFrame()
ReferenceFrame
to propagate in. This should
be an inertial reference frame.public final void setPropagationFrame(ReferenceFrame value)
ReferenceFrame
to propagate in. This should
be an inertial reference frame.public final String getPropagationPointIdentification()
Points
ephemeris with.public final void setPropagationPointIdentification(String value)
Points
ephemeris with.public final int getOrder()
Motion1
. This is
1 by default to propagate position and velocity.public final void setOrder(int value)
Motion1
. This is
1 by default to propagate position and velocity.public final Point getPropagationPoint()
Point
to use in other geometry types that depend on the
propagation of this propagator, such as in StoppingConditions
that depend on geometry types.@Nonnull public final JulianDate getInitialDate()
public final void setInitialDate(@Nonnull JulianDate value)
@Nonnull public final Motion1<Cartesian> getInitialMotion()
public final void setInitialMotion(@Nonnull Motion1<Cartesian> value)
public final boolean getAutomaticallyAddEndOfAvailabilityStoppingConditions()
StoppingConditions
that will stop
propagation at the start or end times of this propagators availability.
By default this is true
and should only be set to
false
if calling code is sure that propagation will
never go beyond the availability.public final void setAutomaticallyAddEndOfAvailabilityStoppingConditions(boolean value)
StoppingConditions
that will stop
propagation at the start or end times of this propagators availability.
By default this is true
and should only be set to
false
if calling code is sure that propagation will
never go beyond the availability.@Nonnull public final SinglePointStoppablePropagator getSinglePointPropagator()
SinglePointStoppablePropagator
as defined by this instance.SinglePointStoppablePropagator
.@Nonnull public final SinglePointStoppablePropagator getSinglePointPropagator(@Nonnull EvaluatorGroup group)
SinglePointStoppablePropagator
as defined by this instance. It is assumed that the Adapters
(get
)
are either not needed or are fully configured with any current and previous
objects set.group
- The EvaluatorGroup
to use to create all
evaluators needed for propagation.SinglePointStoppablePropagator
.public StoppablePropagator getStoppablePropagator(EvaluatorGroup group, List<StateElementAdapterDefinition> previousAdapters)
StoppablePropagator
.getStoppablePropagator
in class StoppablePropagatorDefinition
group
- The group
to use to initialize any
evaluators
that will be used.previousAdapters
- The previous adapters to use to configure this propagators adapters.propagator
for this
StoppablePropagatorDefinition
.@Nonnull protected abstract SinglePointStoppablePropagator createPropagator(@Nonnull EvaluatorGroup group, @Nonnull List<StateElementAdapterDefinition> previousAdapters)
SinglePointStoppablePropagator
.group
- The group
to use to initialize any
evaluators
that will be used.previousAdapters
- The previous adapters
to use to configure this propagators adapters.propagator
for this
SinglePointStoppablePropagatorDefinition
.