Main differences between V4.13 and V4.12

De Wiki
Aller à : navigation, rechercher

PATRIUS V4.13 is a major release adding some new features and correcting some bugs.

New functionalities

  • Celestial bodies and barycenters are now differentiated: celestial bodies are representated by the interface CelestialBody and barycenters are representated by the interface CelestialPoint. CelestialBody describes, besides the attributes of CelestialPoint, a GravityModel, an IAUPole and a BodyShape. The EMB and SSB objects are now built as CelestialPoint.
  • Add the Ecliptic_J2000 frame, accessible from FramesFactory.getEclipticJ2000(). Every CelestialPoint objects has a Ecliptic_J2000 frame defined in its center.
  • Add the G50 frame, accessible from FramesFactory.getG50().
  • A celestial body orientation can now be defined with quaternions. This evolution adds the interfaces CelestialBodyOrientation and CelestialBodyIAUOrientation (IAUPole renamed) and the class CelestialBodyTabulatedOrientation.
  • Add a generic filter method in the interface EventDetector (already applied for LocalTimeAngleDetector)
  • Merge the eclipse and lightning ratio computation between EclipseDetector and SolarRadiationPressure.
  • The obliquity and precession model of the Earth (used for the MOD reference frame) has been made configurable through the configuration of reference frames:
    • Add the interface MODPrecessionModel and one implementation IAUMODPrecessionModel
    • Add getters/setters in the frames configuration
  • Add the SurfaceDistanceDetector detector allowing to detect the distance at the surface of a celestial body (ellipsoid, facet body, etc).
  • Add the class ThreeAxisEllipsoid allowing to represent a 3-axis ellipsoid. This class extends EllipsoidBodyShape.
  • Add the DatePolynomialFunctionInterface#copy(AbsoluteDate newOriginDate) method, allowing to instanciate a new equivalent polynomial function at a different T0 date.
  • PotentialCoefficientsReader can now read gravity model sigmas
  • New SignalPropagationWrapperDetector allowing to wrap extisting compatible detectors and extract signal emitter and/or receiver dates associated to an event.
  • Add new methods in RealMatrix : double getMin(boolean absValue), double getMax(boolean absValue) and RealMatrix getAbs()
  • Add new matrix NUMPY_FORMAT format in MatrixUtils + new features
  • AngularCorrection extends IParameterizable
  • Standard parameters in MeteorologicalConditions are public + a STANDARD pre-build instance is accessible
  • FiniteDistanceAngularCorrection : new interface allows characterizing an angular correction when the distance between the observer and the target is finite (to account for parallax correction, for example).
  • AstronomicalRefractionModel : new class to represent a troposhere refraction model. The new AstronomicalRefractionModelFactory class facilitate its usage.
  • VacuumSignalPropagation : new getEmitterPV & getReceiverPV methods + define the internal enumerate SignalPropagationRole to dissociate the role of transmitter or receiver.
  • IntervalMapSearcher : new class allowing to associate objects to date intervals with an optimized cache managment.
  • CardanCalculator : new class similar to AzimuthElevationCalculator, describing static computational methods for the Cardan angles.
  • ZernikePolynomial  : new class to represent a Zernike polynomial
  • LightAberrationCorrection : new class replacing StellarAberrationCorrection


Bugs fixes

  • LongitudeDetector : the 2pi->0 jump is fixed
  • Existing informatic formats for matrix representation in MatrixUtils (JAVA, OCTAVE, SCILAB, NUMPY) now display all the digits
  • The use of BSP files for celestial bodies has been made more robust.
  • The PyramidalField union calculation is more robust in certain configurations.
  • "FieldDescriptor: The printFunction parameter becomes serializable.