Esempio n. 1
0
  /** {@inheritDoc} */
  @Override
  protected StateMapper createMapper(
      final AbsoluteDate referenceDate,
      final double mu,
      final OrbitType orbitType,
      final PositionAngle positionAngleType,
      final AttitudeProvider attitudeProvider,
      final Frame frame) {

    // create a mapper with the common settings provided as arguments
    final MeanPlusShortPeriodicMapper newMapper =
        new MeanPlusShortPeriodicMapper(referenceDate, mu, attitudeProvider, frame);

    // copy the specific settings from the existing mapper
    if (mapper != null) {
      for (final DSSTForceModel forceModel : mapper.getForceModels()) {
        newMapper.addForceModel(forceModel);
      }
      newMapper.setSatelliteRevolution(mapper.getSatelliteRevolution());
      newMapper.setInitialIsOsculating(mapper.initialIsOsculating());
    }

    mapper = newMapper;
    return mapper;
  }
Esempio n. 2
0
 /**
  * Replace the deserialized data transfer object with a {@link MeanPlusShortPeriodicMapper}.
  *
  * @return replacement {@link MeanPlusShortPeriodicMapper}
  */
 private Object readResolve() {
   final MeanPlusShortPeriodicMapper mapper =
       new MeanPlusShortPeriodicMapper(referenceDate, mu, attitudeProvider, frame);
   for (final DSSTForceModel forceModel : forceModels) {
     mapper.addForceModel(forceModel);
   }
   mapper.setSatelliteRevolution(satelliteRevolution);
   mapper.setInitialIsOsculating(initialIsOsculating);
   return mapper;
 }
Esempio n. 3
0
 /**
  * Add a force model to the global perturbation model.
  *
  * <p>If this method is not called at all, the integrated orbit will follow a keplerian evolution
  * only.
  *
  * @param force perturbing {@link DSSTForceModel force} to add
  * @see #removeForceModels()
  */
 public void addForceModel(final DSSTForceModel force) {
   mapper.addForceModel(force);
   force.registerAttitudeProvider(getAttitudeProvider());
 }