-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Look-at point is not being saved in the vZome file after "Use Copied View" has been invoked. #438
Comments
In case it matters, I didn't directly use look-at-this to reposition the camera. I had previously used look-at-this on a panel far from the origin then copy-this-view then look-at-origin then drag out a strut and ball from the origin then delete the new ball and strut then use-copied-view then save-file. LookAtPoint is 0,0,0 in the file or with the show.vZome-xml command in my custom menu. |
Another related possibility that I have not investigated would be if the camera angle is being saved correctly when the last action to move the camera is to activate "snap". This wouldn't affect the look-at-point, but it could change the camera angle. In short, in would expect the XML to read the current camera data whenever the XML is generated, not just when edits occur or the symmetry changes or something sets the "dirty" flag. that way, moving the camera doesn't set the dirty flag, but it does get saved to the XML on demand. |
I finally found a way to reliably reproduce this problem so I've changed the title of this issue here on github.
I did a little digging and found the underlying reason, but for now I'm going to leave it for Scott to address. DocumentModel.serialize() uses "this.defaultCamera" instead of serializing the actual Camera object used by the DocumentController via its CameraController. When a document is initially created, the Document's defaultCamera and the CameraController (normally) reference the same Camera object so they are in sync, but after "Use Copied View" has been invoked, the Camera Controller uses a new Camera object and DocumentModel.defaultCamera is no longer updated by the CameraController so it's basically meaningless. I think that the DocumentModel.defaultCamera variable should be completely eliminated and replaced with calls to the CameraContoller which should be the official keeper of any and all Camera objects including any that are to be saved and restored on command or when switching to and from Article mode. |
This was noticed in version 7.0.61. I'm not sure how long this problem has been present.
The text was updated successfully, but these errors were encountered: