Main differences between V1.2.1 and V1.3
Some corrections and new features mainly due to the update of the [PATRIUS] version (3.3) and use of GENOPUS by PSIMU.
Compatibility with PATRIUS V3.3
This GENOPUS version is compatible with [PATRIUS] V3.3 (especially with its new management of exceptions due to divisions by zero).
Copy&Paste
Some Copy&Paste (and Import/Export) functionnalities have been added to GENOPUS widgets as GPOrbit, GPVehicle, GPManeuverSequence, ...)
GPFramesConfiguration
It is now possible to initialize the GPFramesConfiguration widget with a specific configuration not necessarily issued from a Factory thanks to setFramesConfiguration(), setDefaultFramesConfiguration() and setSavedFramesConfiguration() as well as adpated constructors with a FramesConfiguration object as imput.
GPEventDetectors
- It is now possible to specify the list of available actions associated to the event and, when only one action is indicated, it does not appear on the GUI.
- for events which manage multiple occurrences, changes occurred to be more obvious for the user with now three entries:
- From nth occurrence
- Every n occurrence
- Until nth occurrence
- There is no more CodingEvents in the events definition
=> incompatibility in the code due to the possibility to specify the list of available actions and to the occurrence management
GPVehicle
The way to manage mass properties has been improved in order to allow to make mandatory the fact to display dry mass value. Moreover, when this value is equal to zero, it raises a warning and no more an error.
GPForceModels
- It is possible now to hide the choice of the "attraction models" (i.e. Balmino, Cunnigham, ...) as well as to define which models will be displayed.
- Maximum degrees are now displayed when variable potential is selected.
- By default values are proposed for SRP.
- Name of the model must be set as a new parameter of the constructor.
=> incompatibility in the code due to additional arguments for the full constructor
GPManeuvers
- If engines and/or tanks needed to define a maneuver is set to NONE, the maneuver (and the sequence) raised an error.
- by default, maneuvers components are set to "Angular" as event is a "Relative date".
- for sequences, it is possible not to display the delays between maneuvers.
GPAttitudeSequence
- It is now possible to define an attitude sequence more simply that using switches, using a single attitude law.
- the constructor has changed as it is also possible to define how the attitude laws list wil be displayed (one by one or all in a vertical lists allowed by the GENIUS GComponentList widget.
- If an attitude law is set to NONE, the sequence raised an error.
- only RESET_STATE or RESET_DERIVATIVE may be selected as actions for switch events.
- by default, attitude laws angular bias definition is set to "ZYX Cardan Angles".
=> incompatibility in the code due to the new boolean flag
GPGeodeticPoint
A new argument has been added to the constructor with a boolean that indicates if the name of the geodetic point will be displayed or not.
=> incompatibility in the code due to the new boolean flag
CustomUS76, CustomMSISE2000
The ellipsoid used as an entry is now necessarily a [PATRIUS] ExtendedOneAxisellipoid object and no more a BodyShape which is one of its interface.
=> may be some incompatibility in the code if the BodyShape interface was used
Variable names
Some names changed in the XML files in order to be more consistent (for example, capitals vs lowercas letters).
=> some incompatibility with old XML files
Anomaly corrections
- bad management of the clear function of the GPVehicle when it is noit yet initialized
- problem in the getLaw() method of the GPSunPointingAttitudeLaw class as the first argument when creating the CustomSunPointing object was the Sun. It implied that the second direction was normal to the satellite orbit rather than the poles axis as described.
- bad update of the units for the GPDateOffset widget.
- bug when the initial list of maneuvers was null.
- bug when a rotation was initialized