S-C-A-N/SCANsat — pull request #59 by Mihara (2014-06-27 15:25:37+00:00)
Title: Experiment at integrating SCANsatRPM directly into SCANsat.

This isn't it yet, it needs some more work, but it should serve as a talking point and while I didn't test it, it should work, at least I think it compiles. :) You put the JSISCANsatRPM class directly into the main assembly and keep it there, and it will work identically.

There are several unsolved problems with this yet, two of which require fixing before this can be used:

* Quite a bit of code in SCANsatRPM actually duplicates existing SCANsat functionality even if it was rewritten from scratch, and this will need a lot more work to optimize correctly.
* The classes OrbitExtensions and CelestialBodyExtensions originate in MechJeb, and they're necessary to draw orbits. As such, I am not sure if their GPLv3 license is compatible with SCANsat, and it might need some negotiation, unless existing SCANsat functions can be adopted instead.
* SCANsatRPM needs to store several persistent variables, but cannot use the RPM's builtin mechanism to do it and not being a PartModule, can't do it the easy system way. Either you need to create your own method to do it, or I need to extend RPM API to somehow permit handlers to make use of it.