I'm opening this mr to close the following issues:
Of course this mr is mainly about the collision package that it is going to add and a thread about this has been opened for quite some time now.
Summary of the additions
- Field version of
- Generalization of
LOFTypeenum which now extend the new
LOFinterface. Methods that were in
LOFTypeare now in
LOF. In addition, the
StateCovarianceclass use the
LOFinterface instead of
- Addition of the
EncounterLOFinterface as well as two classes implementing it (DefaultEncounterFrame and ValsecchiEncounterFrame). It extends
LOFand implements new methods to project matrices and vectors onto the collision plane. Hence, it can be used with the
- Addition "shorttermencounter" subpackage which regroups methods assuming a short term encounter. It introduced the following 2D probability of collision computing methods:
- Patera2005 (recommended)
- Laas2015 (highly recommended)
All of these methods can handle Field (yes i'm looking at you @Serrof
Also, it offers a
ShortTermEncounterDefinition class that gives quick access to commonly used values such as:
- The diagonalized covariance projected onto the collision plane
- Mahalanobis distance (squared or not)
- The position of the other object on the collision plane (before and after rotation due to the diagonalization of the covariance matrix)
- Finally, the
ShortTermEncounterPOCMethodTypeenum allows for conversion (when it is possible) with the already existing
There are more than 200 new tests with a basic code coverage of 99%.
I think that only some name and javadoc refactoring is needed to be as user-friendly as possible, but I would like to hear your thoughts first :) !
NOTE: This mr will be implementable as soon as this Hipparchus issue is closed.