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.