public abstract class Covariance3By3Evaluator extends MotionEvaluator2<Covariance3By3SizeAndOrientation,Covariance3By3Derivative>
Evaluates the position covariance of an object over time.
This evaluator will attempt to provide derivatives of the covariance up to the requested order.
If there is a discrepancy between the available order of the standard deviation and orientation
of the covariance, then results of the higher order will be returned,
and Undefined
(get
) will be used as the unknown results of the lower order data.
Modifier | Constructor and Description |
---|---|
protected |
Covariance3By3Evaluator(Covariance3By3Evaluator existingInstance,
CopyContext context)
Initializes a new instance as a copy of an existing instance.
|
protected |
Covariance3By3Evaluator(EvaluatorGroup group)
Initializes a new instance.
|
Modifier and Type | Method and Description |
---|---|
IEvaluator |
getCachingWrapper()
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.
|
abstract Axes |
getDefinedIn()
Gets the
Axes that the covariance information is defined in. |
evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, getAvailabilityIntervals, getAvailabilityIntervals, getGroup, getIsTimeVarying, isAvailable, updateEvaluatorReferences
clone, dispose, dispose, getIsThreadSafe, getNextSampleSuggestion
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getIsThreadSafe
clone
close, dispose
protected Covariance3By3Evaluator(@Nonnull EvaluatorGroup group)
group
- The group that contains this evaluator.ArgumentNullException
- Thrown when group
is null
.protected Covariance3By3Evaluator(@Nonnull Covariance3By3Evaluator 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
.public IEvaluator getCachingWrapper()
This method is called by EvaluatorGroup
to create a caching version of an evaluator
that is shared between multiple computations.
To implement this method in your own evaluator, construct and return a caching version of the evaluator's base class.
For example, if your evaluator implements IEvaluator1
directly, return an instance of
CachingEvaluator
. In many cases, such as when implementing a PointEvaluator
this method does not need to be overridden because the default implementation returns an appropriate
caching wrapper already. If you do not want the last value computed by your evaluator to ever be cached, or
if your evaluator does its own caching internally, this method can return this
.
Shows an example implementation in an evaluator that implements IEvaluator1
directly, where T is double.
@Override
public IEvaluator getCachingWrapper() {
return new CachingEvaluator<Double>(this);
}
getCachingWrapper
in interface IEvaluator
getCachingWrapper
in class MotionEvaluator2<Covariance3By3SizeAndOrientation,Covariance3By3Derivative>
this
should be returned by this method.public abstract Axes getDefinedIn()
Axes
that the covariance information is defined in. The
Rotation
(get
) property of the resulting Covariance3By3SizeAndOrientation
is the transformation from the covariance ellipsoid body axes to these DefinedIn
(get
) axes.