chris wrote:The coordinate system names accepted by setframe map to Celestia's modes as follows:
equatorial - follow
geographic - synchronous (Sync Orbit)
lock - lock
chase - chase
universal - no mode selected (e.g. you just pressed ESC)
That's a total of five values.
However, the setframe command syntax (first documented by Selden) lists six possible values:
Code: Select all
setframe {ref <string>
target <string>
coordsys <string> (default = "universal") }
coordsys must be one of the following:
"observer"
"geographic"
"ecliptical"
"universal"
"lock"
"chase"
PROBLEM: When Celestia is set to "Lock Earth-Sol", and you save a Bookmark, it sets the coordsys to a seventh value, "phaselock", which is not listed in the setframe syntax, but is obviously supposed to be just plain "lock", yes?
PROBLEM: The saved Bookmark data for this "Lock" does not include "Earth" as part of the two-object selection...
Code: Select all
"Lock Earth-Sol" {
isFolder false
parentFolder ""
base [ 0.003274855561013672 7.384594706946544e-011 9.049913490585093e-006 ]
offset [ 6.784763723066689e-014 0 6.310056643865636e-017 ]
axis [ 2.48852e-007 1 6.82564e-007 ]
angle 1.57356
time 2452870.462814566
selection "#0"
coordsys "phaselock"
}
Then, when selecting the Bookmark in the Celestia UI, it displays "Lock Sol - ", with an error in the Abs display line for Sol, but no Earth or Sol on-screen.
PROBLEM: When Celestia's coordsys value is set to "any invalid value" via the setframe command in a script, and then a Bookmark is saved via the UI, the coordsys value saved in the bookmark is "local", which is an eighth coordsys value. However, it seems that this value should be "universal", which is supposed to be the default value according to Selden's original document -and- what the code seems to be doing. No?
CORRECTION: When Celestia is set to "Follow" and you save a Bookmark, it is recorded as "ecliptical", not as "equatorial" as your previous message stated (quoted above). Which means Follow=Ecliptical, not Follow=Equatorial.
This all leaves me in a state of confusion, that I hope you can clear up Chris, so that I can properly document Celestia's Coordinate Systems in the Scripting Guide.
You defined five Mode-to-coordsys matches (above), and Follow has been corrected to Ecliptical. However, that leaves us with three undefined Mode-to-coordsys matches (equatorial, observer, and local)...
Code: Select all
Related Coordinate
Celestia Mode System (setframe) Comments
------------- ------------------ --------------------------------------------------
Chase chase Okay
Sync Orbit geographic Okay, but you mentioned xing to "planetographic"
None set universal Also called "free", also called "absolute"
Lock lock Also called "phaselock" in Bookmarks/favorites
Follow ecliptical This is what the code says: Bookmarks/celestiacore
??? equatorial What Celestia Mode does this represent?
??? observer What Celestia Mode does this represent?
??? local What Celestia Mode does this represent?
ADDITIONAL QUESTIONS:
Have you decided to change "geographic" to "planetographic", or leave it as-is? Why not just call it what the UI calls it: "syncorbit"?
Should all occurrences of "phaselock" be changed to "lock" in the source code, or the other way around? Referring to one mode by two different variable names will get real messy.
What about universal, free, and absolute? Can y'all just call this coordsys one name, instead of three or more <smile>?
I really appreciate your help Chris and Developers.
-Don G.