public final class AccessConstraintSampling extends Object
Modifier and Type  Field and Description 

static double 
StandardMaximumMotionPerSample
A common value for the maximum angular motion between two objects that is allowed when choosing
the next time at which to sample an Access constraint.

Modifier and Type  Method and Description 

static JulianDate 
getNextStepFromRelativeMotion(JulianDate epoch,
Motion1<Cartesian> relativeMotion,
double maximumAngularMotion)
Computes an appropriate next sample step based on the relative motion between the two
platforms involved in the Access computation and a maximum relative motion per step.

static Evaluator<JulianDate> 
getNextStepFromRelativeMotionEvaluator(ILinkConstraint constraint,
double maximumAngularMotion,
EvaluatorGroup group)
Gets an evaluator that determines the next time at which to sample a constraint function
based on the relative motion between two objects and a maximum relative motion per step.

static Evaluator<JulianDate> 
getNextStepFromRelativeMotionEvaluator(IServiceProvider observer,
IServiceProvider target,
double maximumAngularMotion,
EvaluatorGroup group)
Gets an evaluator that determines the next time at which to sample a constraint function
based on the relative motion between two objects and a maximum relative motion per step.

static Evaluator<JulianDate> 
getNextStepFromRelativeMotionEvaluator(ReferenceFrame observer,
Point target,
double maximumAngularMotion,
EvaluatorGroup group)
Gets an evaluator that determines the next time at which to sample a constraint function
based on the relative motion between two objects and a maximum relative motion per step.

public static final double StandardMaximumMotionPerSample
@Nonnull public static Evaluator<JulianDate> getNextStepFromRelativeMotionEvaluator(@Nonnull ILinkConstraint constraint, double maximumAngularMotion, @Nonnull EvaluatorGroup group)
In order to determine the next sample time, this evaluator requires that the angular velocity of the target relative to the observer be available. If it is not, the evaluator will return the input time as the next step, indicating that a default step should be taken.
constraint
 The constraint from which the two objects (the observer and target) should be determined.maximumAngularMotion
 The maximum angular motion allowed, in radians.group
 The group with which to associate the new evaluator. By grouping evaluators
that are often evaluated at the same Julian dates, common computations can be performed only once
for the entire group instead of multiple times for each evaluator.ServiceNotAvailableException
 Thrown when any of the following conditions are met:
ConstrainedLink
(get
/ set
) does not provide ILinkService
.IKinematicStateService
.ILocationPointService
.PropertyInvalidException
 Thrown when any of the following conditions are met:
ConstrainedLink
(get
/ set
) property is null
.Transmitter
(get
) property is null
.Receiver
(get
) property is null
.null
ReferenceFrame
(get
) property.null
LocationPoint
(get
) property.@Nonnull public static Evaluator<JulianDate> getNextStepFromRelativeMotionEvaluator(@Nonnull IServiceProvider observer, @Nonnull IServiceProvider target, double maximumAngularMotion, @Nonnull EvaluatorGroup group)
In order to determine the next sample time, this evaluator requires that the angular velocity of the
target
relative to the observer
be available. If it is not, the
evaluator will return the input time as the next step, indicating that a default step should be taken.
observer
 The object that is observing the motion of the target
.target
 The object whose motion is being observed.maximumAngularMotion
 The maximum angular motion allowed, in radians.group
 The group with which to associate the new evaluator. By grouping evaluators
that are often evaluated at the same Julian dates, common computations can be performed only once
for the entire group instead of multiple times for each evaluator.ServiceNotAvailableException
 The observer
does not provide IKinematicStateService
or the
target
does not provide ILocationPointService
.PropertyInvalidException
 The observer
object's IKinematicStateService
has a null
ReferenceFrame
(get
) property or the target
object's
ILocationPointService
has a null
LocationPoint
(get
)
property.@Nonnull public static Evaluator<JulianDate> getNextStepFromRelativeMotionEvaluator(@Nonnull ReferenceFrame observer, @Nonnull Point target, double maximumAngularMotion, @Nonnull EvaluatorGroup group)
In order to determine the next sample time, this evaluator requires that the angular velocity of the
target
relative to the observer
be available. If it is not, the
evaluator will return the input time as the next step, indicating that a default step should be taken.
observer
 The reference frame from which the motion of the target
is observed.target
 The point describing the motion of the object that is being observed.maximumAngularMotion
 The maximum angular motion allowed, in radians.group
 The group with which to associate the new evaluator. By grouping evaluators
that are often evaluated at the same Julian dates, common computations can be performed only once
for the entire group instead of multiple times for each evaluator.@Nonnull public static JulianDate getNextStepFromRelativeMotion(@Nonnull JulianDate epoch, @Nonnull Motion1<Cartesian> relativeMotion, double maximumAngularMotion)
epoch
 The epoch from which the next sample is to be determined.relativeMotion
 The relative motion between the platforms.maximumAngularMotion
 The maximum angular motion allowed, in radians.