Customize output variables : Différence entre versions

De Wiki
Aller à : navigation, rechercher
(Creating a class implementing the INewVarsFunction interface)
(Creating a class implementing the INewVarsFunction interface)
Ligne 31 : Ligne 31 :
  
 
}
 
}
 +
</syntaxhighlight>
 +
 +
As we will need information on the equatorial radius, we will add a constructor allowing to store a <font color=#4169E1>ExtendedOneAxisEllipsoid</font> object:
 +
 +
<syntaxhighlight lang="java">
 +
public class MyNewMeanVars implements INewVarsFunction {
 +
   
 +
    private final ExtendedOneAxisEllipsoid earth;
 +
 +
    public MyNewMeanVars ( final ExtendedOneAxisEllipsoid earth ) {
 +
       
 +
      this.earth = earth;
 +
 +
    }
 +
 +
    ...
 
</syntaxhighlight>
 
</syntaxhighlight>

Version du 23 septembre 2019 à 14:16

TBW (for V11.4 version) …

Warning: this section is only relevant for PSIMU version 11.4 (and or more recent ones).

Create new specific variables in the output list is relatively simple. As an example, we are goinf to show how to add twoo additional variables HPM and HAM, corresponding respectively the the perigee and apogee mean altitudes considering the mean semi-major axis and eccentricity already computed by PSIMU.

Creating a class implementing the INewVarsFunction interface

As explained in the title of this paragraph, we have to create a new class implementing the INewVarsFunction interface where we will be able to compute the new variables. On the code below, we see that this interface forces us to have the addNewVars(), computeNewVars() and getNames() methods:

public class MyNewMeanVars implements INewVarsFunction {
 
    @Override
    public void addNewVars(ResultWriter resultWriter) throws SqliteException {
        // TODO Auto-generated method stub
    }
 
    @Override
    public void computeNewVars(ResultWriter resultWriter, String tableName,
            SpacecraftState currentState,
            HashMap<String, Object> currentVarsList) throws SqliteException {
        // TODO Auto-generated method stub
    }
 
    @Override
    public List<String> getNames() {
        // TODO Auto-generated method stub
        return null;
    }
 
}

As we will need information on the equatorial radius, we will add a constructor allowing to store a ExtendedOneAxisEllipsoid object:

public class MyNewMeanVars implements INewVarsFunction {
 
    private final ExtendedOneAxisEllipsoid earth;
 
    public MyNewMeanVars ( final ExtendedOneAxisEllipsoid earth ) {
 
       this.earth = earth;
 
    }
 
    ...