fr.cnes.genopus.nonWidget.vehicle
Class CustomVehicleSurfaceModel

java.lang.Object
  extended by fr.cnes.genopus.nonWidget.vehicle.CustomVehicleSurfaceModel
All Implemented Interfaces:
Serializable, org.orekit.parameter.IParamDiffFunction, org.orekit.parameter.IParameterizable, org.orekit.parameter.IParameterizableFunction

public class CustomVehicleSurfaceModel
extends Object
implements org.orekit.parameter.IParamDiffFunction

Vehicle surface model class. It defines a derivative function parameterizable where the variable is the spacecraft state and the function is the cross section surface (including solar panels) as seen from the velocity vector direction. It includes a multiplicative factor as a parameter.

Author:
sumelzi
See Also:
Serialized Form

Field Summary
static String MULTIPLICATIVE_FACTOR
          Multiplicative factor parameter name.
 
Constructor Summary
CustomVehicleSurfaceModel(org.apache.commons.math3.geometry.euclidean.threed.CrossSectionProvider vehicleShape)
          Creates a new instance without solar panels.
CustomVehicleSurfaceModel(org.apache.commons.math3.geometry.euclidean.threed.CrossSectionProvider vehicleShape, CustomParallelepiped solarPanels)
          Creates a new instance with solar panels.
CustomVehicleSurfaceModel(org.apache.commons.math3.geometry.euclidean.threed.CrossSectionProvider vehicleShape, CustomParallelepiped solarPanels, double multiplicativeFactor)
          Creates a new instance with solar panels.
 
Method Summary
 double derivativeValue(org.orekit.parameter.Parameter p, org.orekit.propagation.SpacecraftState s)
           Derivatives with respect to the sole supported parameter, the reference surface multiplicative factor, are not supported by this class (it returns always zero).
 boolean equals(Object other)
          
 org.apache.commons.math3.geometry.euclidean.threed.CrossSectionProvider getMainPartShape()
          Get the main part vehicle shape.
 org.orekit.parameter.Parameter getMultiplicativeFactor()
          Get the multiplicative factor applied to the reference surface as a parameter.
 ArrayList<org.orekit.parameter.Parameter> getParameters()
           The sole supported parameter is the reference surface multiplicative factor.
 CustomParallelepiped getSolarPanelsShape()
          Get solar panels.
 int hashCode()
          
 boolean isDifferentiableBy(org.orekit.parameter.Parameter p)
           Differences with respect to the sole supported parameter, the reference surface multiplicative factor, are not supported by this class (it returns always false).
 void setMultiplicativeFactor(double multiplicativeFactor)
          Set the multiplicative factor applied to the reference surface as a parameter.
 boolean supportsParameter(org.orekit.parameter.Parameter param)
           The sole supported parameter is the reference surface multiplicative factor.
 String toString()
          
 double value(org.orekit.propagation.SpacecraftState state)
           The function is the transversal surface, including solar panels, as seen from the velocity vector direction.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

MULTIPLICATIVE_FACTOR

public static final String MULTIPLICATIVE_FACTOR
Multiplicative factor parameter name.

See Also:
Constant Field Values
Constructor Detail

CustomVehicleSurfaceModel

public CustomVehicleSurfaceModel(org.apache.commons.math3.geometry.euclidean.threed.CrossSectionProvider vehicleShape)
Creates a new instance without solar panels. It throws a runtime exception if the vehicle shape is null. It assumes a multiplicative factor of 1.0.

Parameters:
vehicleShape - vehicule's shape.

CustomVehicleSurfaceModel

public CustomVehicleSurfaceModel(org.apache.commons.math3.geometry.euclidean.threed.CrossSectionProvider vehicleShape,
                                 CustomParallelepiped solarPanels)
Creates a new instance with solar panels. It throws a runtime exception if the vehicle shape is null. It assumes a multiplicative factor of 1.0.

Parameters:
vehicleShape - vehicule's shape
solarPanels - solar panels shape (it may be null)

CustomVehicleSurfaceModel

public CustomVehicleSurfaceModel(org.apache.commons.math3.geometry.euclidean.threed.CrossSectionProvider vehicleShape,
                                 CustomParallelepiped solarPanels,
                                 double multiplicativeFactor)
Creates a new instance with solar panels. It throws a runtime exception if the vehicle shape is null.

Parameters:
vehicleShape - vehicule's shape
solarPanels - solar panels shape (it may be null)
multiplicativeFactor - multiplicative factor for the total vehicle surface
Method Detail

value

public double value(org.orekit.propagation.SpacecraftState state)
The function is the transversal surface, including solar panels, as seen from the velocity vector direction.

Specified by:
value in interface org.orekit.parameter.IParameterizableFunction

getMultiplicativeFactor

public org.orekit.parameter.Parameter getMultiplicativeFactor()
Get the multiplicative factor applied to the reference surface as a parameter.

Returns:
the the multiplicative factor parameter

setMultiplicativeFactor

public void setMultiplicativeFactor(double multiplicativeFactor)
Set the multiplicative factor applied to the reference surface as a parameter.

Parameters:
multiplicativeFactor - the the multiplicative factor parameter

getParameters

public ArrayList<org.orekit.parameter.Parameter> getParameters()
The sole supported parameter is the reference surface multiplicative factor.

Specified by:
getParameters in interface org.orekit.parameter.IParameterizable

supportsParameter

public boolean supportsParameter(org.orekit.parameter.Parameter param)
The sole supported parameter is the reference surface multiplicative factor.

Specified by:
supportsParameter in interface org.orekit.parameter.IParameterizable

derivativeValue

public double derivativeValue(org.orekit.parameter.Parameter p,
                              org.orekit.propagation.SpacecraftState s)
Derivatives with respect to the sole supported parameter, the reference surface multiplicative factor, are not supported by this class (it returns always zero).

Specified by:
derivativeValue in interface org.orekit.parameter.IParamDiffFunction

isDifferentiableBy

public boolean isDifferentiableBy(org.orekit.parameter.Parameter p)
Differences with respect to the sole supported parameter, the reference surface multiplicative factor, are not supported by this class (it returns always false).

Specified by:
isDifferentiableBy in interface org.orekit.parameter.IParamDiffFunction

getMainPartShape

public org.apache.commons.math3.geometry.euclidean.threed.CrossSectionProvider getMainPartShape()
Get the main part vehicle shape.

Returns:
the shape

getSolarPanelsShape

public CustomParallelepiped getSolarPanelsShape()
Get solar panels. If no solar panels are defined, null is returned.

Returns:
the solar panels

equals

public boolean equals(Object other)

Overrides:
equals in class Object

hashCode

public int hashCode()

Overrides:
hashCode in class Object

toString

public String toString()

Overrides:
toString in class Object


Copyright © 2017. All rights reserved.