Comment 2 for bug 1412595

Revision history for this message
Don Barry (don-4) wrote : Re: setFlagIsolateSelected constellation isolation broken by some star selections

Thanks for your quick reply. I think that it is dangerous for side-effects of selection to vary based on minor characteristics of the object selected, i.e. whether a star is in a proper name catalog vs having only a Bayer or a Flamsteed designation. In my case I was writing a script which would draw the boundaries of Orion, then identify the shoulders, knees, belt, and sword, and then turn on the artistic overlay -- imagine my surprise when it worked until it reached the three Flamsteed-selected stars of the sword, and suddenly the whole set of constellation boundaries on the sky appeared. This violates the "principle of least surprise".

Obviously "taste" in a matter of setting up such APIs is to some extent subjective. I would, however, entirely separate the idea of constellation isolation from star selection, and let *all* object (as opposed to constellation/region) selections made by core.selectObjectByName operate identically. For instance, if one is trying to show the sequence of stars which compose, say, Taurus, then one needs to refer to some "shared" stars, like the tip of one of the horns which is properly part of Auriga. The question then becomes more of how one should handle multiple constellation selections: sometimes you might want to leave several sets of constellation art or boundaries highlighted, e.g. for showing the constellation flotilla comprising the Summer Triangle. IsolateSelected might take a trinary rather than binary argument, with the options being non-isolated (default) behavior, fully-isolated behavior in which only one constellation is isolated at a time, or "incremental" in which additional selections toggle the state of the extra constellations, allowing one to add and subtract from the group of selected constellations.

Thanks for all your efforts with Stellarium. I owe you several beers for your recent work in restoring the spheric functionality!