Opened 3 years ago

Closed 3 years ago

#8797 closed defect (fixed)

Scene bounds not update after rename command changes model hierarchy

Reported by: goddard@… 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 Tom Goddard, 3 years ago

Component: UnassignedSurface
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionScene bounds not update after surface transform command

comment:2 by Tom Goddard, 3 years ago

Resolution: fixed
Status: assignedclosed
Summary: Scene bounds not update after surface transform commandScene bounds not update after rename command changes model hierarchy

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.

Note: See TracTickets for help on using tickets.