The platform is supposed to be a right-handed coordinate system. Therefore, the start and stop angles on the whisk mount should be such that a negative angle would steer an attached camera to look "to the right" and a negative angle would be "to the left" of the platform. This makes more sense when we think about biasing a scan window to account for an off-nadir area. If I want to have a scan window that is "off to the left" of my platform rather than nadir, then I should add a POSITIVE angle bias to my +/- start/stop angles. However, when we recently tried this, we found we needed to add a NEGATIVE bias.
Upon further inspection, we found that the mount rotation angle computed in the whisk mount was negated before creating the rotation transform. This explains the observations made by RIT and other users.
The ultimate goal here is to have these angles be consistent with the right-hand rule convention. If we simply remove the angle negation of the computed angle, then existing .platform files will behave different. Therefore, we need to implement a change that fixes the problem if the user does an open/save cycle in the GUI. The following is proposed.
* The angle negation will be removed in the transform calculation.
* A new attribute will be added to the whisk mount XML called "anglemethod" that will be assigned either "righthanded" (for right-hand rule) or "lefthanded" (for left-hand rule)
* If the attribute is missing or is set to "lefthanded", the sign of the angles will be flipped.
* When a file is written, it will always be written "righthanded"
This approach allows the code to be switched from a left-handed convention and assures that the current left-handed angles will be converted to right-handed during an open/save cycle.
Verified a fix in the trunk (4.6 dev) and 4.5.4 release tag.