Opened 3 years ago
Closed 3 years ago
#8797 closed defect (fixed)
Scene bounds not update after rename command changes model hierarchy
Reported by: | Owned by: | Tom Goddard | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Surface | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: macOS-13.2.1-x86_64-i386-64bit ChimeraX Version: 1.6.dev202303272159 (2023-03-27 21:59:56 UTC) Description After using surface transform to scale a surface, "info bounds" reports the wrong scene bounds, and "view all" does not work correctly, apparently using old cached bounds. Log: Could not find tool "Tabbed Toolbar" UCSF ChimeraX version: 1.6.dev202303272159 (2023-03-27) © 2016-2023 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX > open /Users/goddard/ucsf/people/schmid/VR_Oculus/BL_inf_Q7.glb Opened glTF file containing 1 scenes, 3 nodes, 1 meshes > info bounds Scene bounds -3e+04,-2.16e+04,-2e+04 to 3e+04,1.83e+04,2e+04 > save /Users/goddard/ucsf/people/schmid/VR_Oculus/BL_inf_Q7_size1.glb size 1 > usage surface surface [atoms] [enclose an atoms specifier] [include an atoms specifier] [probeRadius a number] [gridSpacing a number] [resolution a number] [level a number] [color a color] [transparency a number] [visiblePatches an integer] [sharpBoundaries true or false] [nthread an integer] [replace true or false] [update true or false] — create molecular surface Subcommands are: * surface cap * surface check * surface close * surface dust * surface hidePatches * surface invertShown * surface showall * surface showPatches * surface smooth * surface splitbycolor * surface squaremesh * surface style * surface transform * surface undust * surface unzone * surface zone > usage surface transform surface transform surfaces [scale a number] [rotate a number] [axis an axis vector] [center center point] [move an axis vector] [coordinateSystem a coordinate-system] — scale, rotate or move surface > surface transform #1 scale 1e-5 Traceback (most recent call last): File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site- packages/chimerax/cmd_line/tool.py", line 319, in execute cmd.run(cmd_text) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site- packages/chimerax/core/commands/cli.py", line 2897, in run result = ci.function(session, **kw_args) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site- packages/chimerax/surface/sop.py", line 424, in surface_transform surf.set_geometry(stf.transform_points(surf.vertices), File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site- packages/chimerax/geometry/place.py", line 139, in transform_points cxyz = xyz.copy() AttributeError: 'NoneType' object has no attribute 'copy' AttributeError: 'NoneType' object has no attribute 'copy' File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site- packages/chimerax/geometry/place.py", line 139, in transform_points cxyz = xyz.copy() See log for complete Python traceback. > surface transform #1.1.1.1 scale 1e-5 > rename #1.1.1.1 id #2 > view #2 > info bounds #2 #2, surface, bounds -0.301,-1.61e+03,-0.201 to 0.301,-1.61e+03,0.199 > move #2 y 1610 Missing or invalid "axis" argument: Expected 3 floats or "x", or "y", or "z" or two atoms > move y 1610 models #2 > view > close #1 > usage surface transform surface transform surfaces [scale a number] [rotate a number] [axis an axis vector] [center center point] [move an axis vector] [coordinateSystem a coordinate-system] — scale, rotate or move surface > ui tool show Shell > move y -1610 models #2 > view > lighting soft > lighting simple > volume style mesh No volumes specified > surface style mesh > surface style dot > view initial > view > surface style solid > ui mousemode right "pick blobs" > select #2 1 model selected > select clear > close > open /Users/goddard/ucsf/people/schmid/VR_Oculus/BL_inf_Q7.glb format gltf Opened glTF file containing 1 scenes, 3 nodes, 1 meshes > graphics triangles 905332 total triangles in 1 models and 4 drawings #1 BL_inf_Q7.glb 905332 #1.1 centering 905332 #1.1.1 b01-racpcl400-Q3-s.6c.hdf 905332 #1.1.1.1 surface 905332 > rename #1.1.1.1 id #2 > close #1 > info bounds Scene bounds -3e+04,-2.16e+04,-2e+04 to 3e+04,1.83e+04,2e+04 > usage surface transform surface transform surfaces [scale a number] [rotate a number] [axis an axis vector] [center center point] [move an axis vector] [coordinateSystem a coordinate-system] — scale, rotate or move surface > surface transform #2 scale 1e-5 > view > info bounds Scene bounds -3.98e+04,-4.15e+04,-2.65e+04 to -3.98e+04,-4.15e+04,-2.65e+04 > close > open /Users/goddard/ucsf/people/schmid/VR_Oculus/BL_inf_Q7.glb format gltf Opened glTF file containing 1 scenes, 3 nodes, 1 meshes > rename #1.1.1.1 id #2 > close #1 > surface transform #2 scale 1e-5 center 0,0,0 > view > info bounds Scene bounds -3.98e+04,-3.98e+04,-2.65e+04 to -3.98e+04,-3.98e+04,-2.65e+04 > help surface transform > view all > view > info bounds #2 #2, surface, bounds -3.98e+04,-3.98e+04,-2.65e+04 to -3.98e+04,-3.98e+04,-2.65e+04 > surface style dot > surface style solid > hide #2 models > show #2 models > hide #2 models > show #2 models > view > info bounds Scene bounds 0.0981,0.183,0.0648 to 0.699,0.582,0.465 > ui tool show "Surface Color" > color height #2 palette #ff0000:#ffffff:#0000ff axis 0,1,0 > color height #2 palette #0000ff:#00ffff:#00ff00:#ffff00:#ff0000 axis 0,1,0 > color height #2 palette > 0.1828,#ff0000:0.2825,#ffff00:0.3823,#00ff00:0.482,#00ffff:0.5817,#0000ff > axis 0,1,0 > save /Users/goddard/ucsf/people/schmid/VR_Oculus/BL_inf_Q7_transform.glb OpenGL version: 4.1 ATI-4.9.51 OpenGL renderer: AMD Radeon Pro 580 OpenGL Engine OpenGL vendor: ATI Technologies Inc. Python: 3.9.11 Locale: UTF-8 Qt version: PyQt6 6.4.0, Qt 6.4.0 Qt runtime version: 6.4.1 Qt platform: cocoa Hardware: Hardware Overview: Model Name: iMac Model Identifier: iMac18,3 Processor Name: Quad-Core Intel Core i7 Processor Speed: 4.2 GHz Number of Processors: 1 Total Number of Cores: 4 L2 Cache (per Core): 256 KB L3 Cache: 8 MB Hyper-Threading Technology: Enabled Memory: 32 GB System Firmware Version: 499.40.2.0.0 OS Loader Version: 564.40.4~66 SMC Version (system): 2.41f2 Software: System Software Overview: System Version: macOS 13.2.1 (22D68) Kernel Version: Darwin 22.3.0 Time since boot: 28 days, 5 hours, 50 minutes Graphics/Displays: Radeon Pro 580: Chipset Model: Radeon Pro 580 Type: GPU Bus: PCIe PCIe Lane Width: x16 VRAM (Total): 8 GB Vendor: AMD (0x1002) Device ID: 0x67df Revision ID: 0x00c0 ROM Revision: 113-D000AA-931 VBIOS Version: 113-D0001A1X-025 EFI Driver Version: 01.00.931 Metal Support: Metal 2 Displays: iMac: Display Type: Built-In Retina LCD Resolution: Retina 5K (5120 x 2880) Framebuffer Depth: 30-Bit Color (ARGB2101010) Main Display: Yes Mirror: Off Online: Yes Automatically Adjust Brightness: Yes Connection Type: Internal Installed Packages: alabaster: 0.7.12 appdirs: 1.4.4 appnope: 0.1.3 asttokens: 2.2.1 Babel: 2.11.0 backcall: 0.2.0 blockdiag: 3.0.0 build: 0.8.0 certifi: 2021.10.8 cftime: 1.6.2 charset-normalizer: 2.1.1 ChimeraX-AddCharge: 1.5.8 ChimeraX-AddH: 2.2.3 ChimeraX-AlignmentAlgorithms: 2.0 ChimeraX-AlignmentHdrs: 3.3.1 ChimeraX-AlignmentMatrices: 2.1 ChimeraX-Alignments: 2.8 ChimeraX-AlphaFold: 1.0 ChimeraX-AltlocExplorer: 1.0.3 ChimeraX-AmberInfo: 1.0 ChimeraX-Arrays: 1.1 ChimeraX-Atomic: 1.43.10 ChimeraX-AtomicLibrary: 10.0.6 ChimeraX-AtomSearch: 2.0.1 ChimeraX-AxesPlanes: 2.3.2 ChimeraX-BasicActions: 1.1.2 ChimeraX-BILD: 1.0 ChimeraX-BlastProtein: 2.1.2 ChimeraX-BondRot: 2.0.1 ChimeraX-BugReporter: 1.0.1 ChimeraX-BuildStructure: 2.7.2 ChimeraX-Bumps: 1.0 ChimeraX-BundleBuilder: 1.2 ChimeraX-ButtonPanel: 1.0.1 ChimeraX-CageBuilder: 1.0.1 ChimeraX-CellPack: 1.0 ChimeraX-Centroids: 1.3.1 ChimeraX-ChangeChains: 1.0.2 ChimeraX-CheckWaters: 1.3.1 ChimeraX-ChemGroup: 2.0 ChimeraX-Clashes: 2.2.4 ChimeraX-Clipper: 0.20.0 ChimeraX-ColorActions: 1.0.3 ChimeraX-ColorGlobe: 1.0 ChimeraX-ColorKey: 1.5.3 ChimeraX-CommandLine: 1.2.5 ChimeraX-ConnectStructure: 2.0.1 ChimeraX-Contacts: 1.0.1 ChimeraX-Core: 1.6.dev202303272159 ChimeraX-CoreFormats: 1.1 ChimeraX-coulombic: 1.4.1 ChimeraX-Crosslinks: 1.0 ChimeraX-Crystal: 1.0 ChimeraX-CrystalContacts: 1.0.1 ChimeraX-DataFormats: 1.2.3 ChimeraX-Dicom: 1.1 ChimeraX-DistMonitor: 1.3.1 ChimeraX-DockPrep: 1.1 ChimeraX-Dssp: 2.0 ChimeraX-EMDB-SFF: 1.0 ChimeraX-ESMFold: 1.0 ChimeraX-ExperimentalCommands: 1.0 ChimeraX-FileHistory: 1.0.1 ChimeraX-FunctionKey: 1.0.1 ChimeraX-Geometry: 1.2 ChimeraX-gltf: 1.0 ChimeraX-Graphics: 1.1.1 ChimeraX-Hbonds: 2.4 ChimeraX-Help: 1.2.1 ChimeraX-HKCage: 1.3 ChimeraX-IHM: 1.1 ChimeraX-ImageFormats: 1.2 ChimeraX-IMOD: 1.0 ChimeraX-IO: 1.0.1 ChimeraX-ISOLDE: 1.6.dev0 ChimeraX-ItemsInspection: 1.0.1 ChimeraX-Label: 1.1.7 ChimeraX-ListInfo: 1.1.1 ChimeraX-Log: 1.1.5 ChimeraX-LookingGlass: 1.1 ChimeraX-Maestro: 1.8.2 ChimeraX-Map: 1.1.3 ChimeraX-MapData: 2.0 ChimeraX-MapEraser: 1.0.1 ChimeraX-MapFilter: 2.0.1 ChimeraX-MapFit: 2.0 ChimeraX-MapSeries: 2.1.1 ChimeraX-Markers: 1.0.1 ChimeraX-Mask: 1.0.1 ChimeraX-MatchMaker: 2.0.11 ChimeraX-MDcrds: 2.6 ChimeraX-MedicalToolbar: 1.0.2 ChimeraX-Meeting: 1.0.1 ChimeraX-MLP: 1.1.1 ChimeraX-mmCIF: 2.10 ChimeraX-MMTF: 2.2 ChimeraX-Modeller: 1.5.8 ChimeraX-ModelPanel: 1.3.6 ChimeraX-ModelSeries: 1.0.1 ChimeraX-Mol2: 2.0 ChimeraX-Mole: 1.0 ChimeraX-Morph: 1.0.1 ChimeraX-MouseModes: 1.2 ChimeraX-Movie: 1.0 ChimeraX-Neuron: 1.0 ChimeraX-Nucleotides: 2.0.3 ChimeraX-OpenCommand: 1.9.3 ChimeraX-PDB: 2.6.11 ChimeraX-PDBBio: 1.0 ChimeraX-PDBLibrary: 1.0.2 ChimeraX-PDBMatrices: 1.0 ChimeraX-PhenixUI: 1.1.7 ChimeraX-PickBlobs: 1.0.1 ChimeraX-Positions: 1.0 ChimeraX-PresetMgr: 1.1 ChimeraX-PubChem: 2.1 ChimeraX-QScore: 1.0 ChimeraX-ReadPbonds: 1.0.1 ChimeraX-Registration: 1.1.1 ChimeraX-RemoteControl: 1.0 ChimeraX-RenderByAttr: 1.0 ChimeraX-RenumberResidues: 1.1 ChimeraX-ResidueFit: 1.0.1 ChimeraX-RestServer: 1.1 ChimeraX-RMF: 0.12 ChimeraX-RNALayout: 1.0 ChimeraX-RotamerLibMgr: 3.0 ChimeraX-RotamerLibsDunbrack: 2.0 ChimeraX-RotamerLibsDynameomics: 2.0 ChimeraX-RotamerLibsRichardson: 2.0 ChimeraX-SaveCommand: 1.5.1 ChimeraX-SchemeMgr: 1.0 ChimeraX-SDF: 2.0.1 ChimeraX-Segger: 1.0 ChimeraX-Segment: 1.0 ChimeraX-SelInspector: 1.0 ChimeraX-SeqView: 2.8.1 ChimeraX-Shape: 1.0.1 ChimeraX-Shell: 1.0.1 ChimeraX-Shortcuts: 1.1.1 ChimeraX-ShowSequences: 1.0.1 ChimeraX-SideView: 1.0.1 ChimeraX-Smiles: 2.1 ChimeraX-SmoothLines: 1.0 ChimeraX-SpaceNavigator: 1.0 ChimeraX-StdCommands: 1.10.2 ChimeraX-STL: 1.0.1 ChimeraX-Storm: 1.0 ChimeraX-StructMeasure: 1.1.1 ChimeraX-Struts: 1.0.1 ChimeraX-Surface: 1.0.1 ChimeraX-SwapAA: 2.0.1 ChimeraX-SwapRes: 2.2 ChimeraX-TapeMeasure: 1.0 ChimeraX-Test: 1.0 ChimeraX-Toolbar: 1.1.2 ChimeraX-ToolshedUtils: 1.2.1 ChimeraX-Topography: 1.0 ChimeraX-ToQuest: 1.0 ChimeraX-Tug: 1.0.1 ChimeraX-TugLigands: 1.1 ChimeraX-UI: 1.28.4 ChimeraX-uniprot: 2.2.1 ChimeraX-UnitCell: 1.0.1 ChimeraX-ViewDockX: 1.1.6 ChimeraX-VIPERdb: 1.0 ChimeraX-Vive: 1.1 ChimeraX-VolumeMenu: 1.0.1 ChimeraX-VTK: 1.0 ChimeraX-WavefrontOBJ: 1.0 ChimeraX-WebCam: 1.0.1 ChimeraX-WebServices: 1.1.1 ChimeraX-Zone: 1.0.1 colorama: 0.4.5 comm: 0.1.2 contourpy: 1.0.6 cxservices: 1.2 cycler: 0.11.0 Cython: 0.29.32 debugpy: 1.6.5 decorator: 5.1.1 docutils: 0.19 entrypoints: 0.4 executing: 1.2.0 filelock: 3.7.1 fonttools: 4.38.0 funcparserlib: 1.0.1 grako: 3.16.5 h5py: 3.7.0 html2text: 2020.1.16 idna: 3.4 ihm: 0.35 imagecodecs: 2022.9.26 imagesize: 1.4.1 importlib-metadata: 6.0.0 ipykernel: 6.19.2 ipython: 8.7.0 ipython-genutils: 0.2.0 jedi: 0.18.2 Jinja2: 3.1.2 jupyter-client: 7.4.8 jupyter-core: 5.1.3 kiwisolver: 1.4.4 line-profiler: 3.5.1 lxml: 4.9.1 lz4: 4.0.2 MarkupSafe: 2.1.1 matplotlib: 3.6.2 matplotlib-inline: 0.1.6 msgpack: 1.0.4 nest-asyncio: 1.5.6 netCDF4: 1.6.0 networkx: 2.8.8 numexpr: 2.8.4 numpy: 1.23.5 openvr: 1.23.701 opt-einsum: 3.3.0 packaging: 21.3 ParmEd: 3.4.3 parso: 0.8.3 pep517: 0.13.0 pexpect: 4.8.0 pickleshare: 0.7.5 Pillow: 9.3.0 pip: 22.2.2 pkginfo: 1.8.3 platformdirs: 2.6.2 prompt-toolkit: 3.0.36 psutil: 5.9.4 ptyprocess: 0.7.0 pure-eval: 0.2.2 pycollada: 0.7.2 pydicom: 2.3.0 Pygments: 2.12.0 PyOpenGL: 3.1.5 PyOpenGL-accelerate: 3.1.5 pyparsing: 3.0.9 PyQt6: 6.4.0 PyQt6-Qt6: 6.4.1 PyQt6-sip: 13.4.0 PyQt6-WebEngine: 6.4.0 PyQt6-WebEngine-Qt6: 6.4.1 python-dateutil: 2.8.2 pytz: 2022.7 pyzmq: 24.0.1 qtconsole: 5.4.0 QtPy: 2.3.0 RandomWords: 0.4.0 requests: 2.28.1 scipy: 1.9.3 setuptools: 65.1.1 setuptools-scm: 7.0.5 sfftk-rw: 0.7.2 six: 1.16.0 snowballstemmer: 2.2.0 sortedcontainers: 2.4.0 Sphinx: 5.1.1 sphinx-autodoc-typehints: 1.19.1 sphinxcontrib-applehelp: 1.0.3 sphinxcontrib-blockdiag: 3.0.0 sphinxcontrib-devhelp: 1.0.2 sphinxcontrib-htmlhelp: 2.0.0 sphinxcontrib-jsmath: 1.0.1 sphinxcontrib-qthelp: 1.0.3 sphinxcontrib-serializinghtml: 1.1.5 stack-data: 0.6.2 tables: 3.7.0 tifffile: 2022.10.10 tinyarray: 1.2.4 tomli: 2.0.1 tornado: 6.2 traitlets: 5.8.0 typing-extensions: 4.4.0 urllib3: 1.26.13 wcwidth: 0.2.5 webcolors: 1.12 wheel: 0.37.1 wheel-filename: 1.4.1 zipp: 3.11.0
Change History (2)
comment:1 by , 3 years ago
Component: | Unassigned → Surface |
---|---|
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → Scene bounds not update after surface transform command |
comment:2 by , 3 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Summary: | Scene bounds not update after surface transform command → Scene bounds not update after rename command changes model hierarchy |
Note:
See TracTickets
for help on using tickets.
Fixed. Not in 1.6.
The rename command changed the model hierarchy. The rename command was used to move a leaf model #1.1.1.1 to be #2 but model #2 kept its cached scene bounds from when it was part of model #1. I made the change of model hierarchy clear the cached bounds of the moved model.