org.orekit.attitudes.kinematics
Class AbstractVector3DFunction

java.lang.Object
  extended by org.orekit.attitudes.kinematics.AbstractVector3DFunction
All Implemented Interfaces:
UnivariateVectorFunction, Vector3DFunction

public abstract class AbstractVector3DFunction
extends Object
implements Vector3DFunction

This abstract class is a time-dependent function representing a vector 3D.

Since:
1.3
Version:
$Id: AbstractVector3DFunction.java 16633 2016-09-19 13:19:55Z bignon $
Author:
Tiziana Sabatini
Concurrency :
conditionally thread-safe
Concurrency comment :
thread-safe if the attributes differentiator and integrator are thread-safe and if the implementation of this abstract class is thread-safe too.

Field Summary
static double DEFAULT_STEP
          Default finite difference step.
 
Constructor Summary
AbstractVector3DFunction(AbsoluteDate zeroDate)
          Constructor setting a default finite differences differentiator and a default trapezoid integrator.
AbstractVector3DFunction(AbsoluteDate zeroDate, UnivariateVectorFunctionDifferentiator inDifferentiator)
          Constructor setting a default trapezoid integrator.
AbstractVector3DFunction(AbsoluteDate zeroDate, UnivariateVectorFunctionDifferentiator inDifferentiator, UnivariateIntegrator inIntegrator)
          Constructor.
 
Method Summary
 UnivariateVectorFunctionDifferentiator getDifferentiator()
          Get the differentiator.
 UnivariateIntegrator getIntegrator()
          Get the integrator.
abstract  Vector3D getVector3D(AbsoluteDate date)
          Get the vector at a given date.
 AbsoluteDate getZeroDate()
          Get the date at x = 0.
 Vector3D integral(double x0, double xf)
          Returns the integral of the vector function in the given interval.
 Vector3DFunction nthDerivative(int order)
          Compute the Vector3DFunction representing the n-th derivative of the current vector function.
The differentiation is performed using a numerical differentiation method.
 double[] value(double x)
          Compute the components of the vector at the (zero + x) date.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_STEP

public static final double DEFAULT_STEP
Default finite difference step.

See Also:
Constant Field Values
Constructor Detail

AbstractVector3DFunction

public AbstractVector3DFunction(AbsoluteDate zeroDate)
Constructor setting a default finite differences differentiator and a default trapezoid integrator.

Parameters:
zeroDate - the date at x = 0.

AbstractVector3DFunction

public AbstractVector3DFunction(AbsoluteDate zeroDate,
                                UnivariateVectorFunctionDifferentiator inDifferentiator)
Constructor setting a default trapezoid integrator.

Parameters:
zeroDate - the date at x = 0.
inDifferentiator - the differentiation method used to compute the first derivative of the current vector function components.

AbstractVector3DFunction

public AbstractVector3DFunction(AbsoluteDate zeroDate,
                                UnivariateVectorFunctionDifferentiator inDifferentiator,
                                UnivariateIntegrator inIntegrator)
Constructor.

Parameters:
zeroDate - the date at x = 0.
inDifferentiator - the differentiation method used to compute the first derivative of the current vector function components.
inIntegrator - the integration method used to compute the integral of the current vector function components.
Method Detail

getVector3D

public abstract Vector3D getVector3D(AbsoluteDate date)
                              throws OrekitException
Get the vector at a given date. This method must be implemented in the inherited classes.

Specified by:
getVector3D in interface Vector3DFunction
Parameters:
date - the date
Returns:
the vector at a given date; the vector is an instance of the Vector3D class.
Throws:
OrekitException - if vector3D cannot be computed

getZeroDate

public final AbsoluteDate getZeroDate()
Get the date at x = 0.

Returns:
the date at x = 0.

getDifferentiator

public final UnivariateVectorFunctionDifferentiator getDifferentiator()
Get the differentiator.

Returns:
the differentiator.

getIntegrator

public final UnivariateIntegrator getIntegrator()
Get the integrator.

Returns:
the integrator.

value

public final double[] value(double x)
Compute the components of the vector at the (zero + x) date.

Specified by:
value in interface UnivariateVectorFunction
Parameters:
x - the time from the date zero for which the function value should be computed
Returns:
the three components of the vector at the given date.
Throws:
OrekitExceptionWrapper - if problems to compute value (frame transformation, or other)

nthDerivative

public Vector3DFunction nthDerivative(int order)
Compute the Vector3DFunction representing the n-th derivative of the current vector function.
The differentiation is performed using a numerical differentiation method. This method can be overridden if an analytical differentiation should be performed instead.

Specified by:
nthDerivative in interface Vector3DFunction
Parameters:
order - the order n
Returns:
the n-th derivative of the current vector function.

integral

public Vector3D integral(double x0,
                         double xf)
Returns the integral of the vector function in the given interval. The integration is performed using a numerical integration method. This method can be overridden if an analytical integration should be performed instead.

Specified by:
integral in interface Vector3DFunction
Parameters:
x0 - the lower bound of the interval.
xf - the upper bound of the interval.
Returns:
the value of the integral


Copyright © 2016 CNES. All Rights Reserved.