If I try to save a session after "camera ortho" I get no file saved and a traceback:
Traceback (most recent call last):
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/cmd_line/tool.py", line 158, in execute
cmd.run(cmd_text)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/commands/cli.py", line 2327, in run
result = ci.function(session, kw_args)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/commands/save.py", line 112, in save
save_func(session, filename, kw)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/session.py", line 549, in save
session.save(output)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/session.py", line 431, in save
mgr.discovery(self._state_containers)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/session.py", line 207, in discovery
self.processed[key] = self.process(obj)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/session.py", line 230, in process
return copy_state(data, convert=self._add_obj)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/state.py", line 162, in copy_state
return _copy(data)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/state.py", line 149, in _copy
items = [(_copy(k), _copy(v)) for k, v in data.items()]
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/state.py", line 149, in <listcomp>
items = [(_copy(k), _copy(v)) for k, v in data.items()]
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/state.py", line 160, in _copy
return convert(data)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/session.py", line 213, in _add_obj
uid = _UniqueName.from_obj(self.session.toolshed, obj)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/session.py", line 106, in from_obj
raise RuntimeError('Will not be able to restore objects of %s class' % class_name)
RuntimeError: Will not be able to restore objects of OrthographicCamera class
Fixed.
Doesn't give an error now. But session code does not know how to restore cameras other than a mono perspective camera. So session will restore with a mono perspective camera no matter what camera was being used. I made a another ticket #593 to add camera support to session saving.