Opened 8 years ago

Closed 8 years ago

#661 closed defect (fixed)

traceback changing surf probe radius after hiding a patch

Reported by: Elaine Meng Owned by: Tom Goddard
Priority: major Milestone:
Component: Surface Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

open 2gbp
sel zone ligand 6 protein
surf sel vis 1
[... ctrl-click to select one patch in surface]
hide sel targ s
surf probe 1.45

I get a traceback and redraw halted, even if I show the whole surface again after hiding the patch (surf; surf probe 1.45). However, if I skip the patch-hiding step I don't get the traceback.

Error in drawing scene. Redraw is now stopped.

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/core/updateloop.py", line 43, in draw_new_frame
view.draw(check_for_changes = False)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/graphics/view.py", line 193, in draw
draw_drawings(r, cpinv, mdraw)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/graphics/drawing.py", line 1232, in draw_drawings
_draw_multiple(drawings, r, p, Drawing.OPAQUE_DRAW_PASS)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/graphics/drawing.py", line 1242, in _draw_multiple
d.draw(renderer, place, draw_pass, selected_only)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/graphics/drawing.py", line 590, in draw
self._draw_children(renderer, pp, draw_pass, selected_only)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/graphics/drawing.py", line 621, in _draw_children
d.draw(renderer, place, draw_pass, selected_only)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/graphics/drawing.py", line 590, in draw
self._draw_children(renderer, pp, draw_pass, selected_only)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/graphics/drawing.py", line 621, in _draw_children
d.draw(renderer, place, draw_pass, selected_only)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/graphics/drawing.py", line 585, in draw
self.draw_self(renderer, place, draw_pass, selected_only)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/graphics/drawing.py", line 609, in draw_self
self._draw_geometry(renderer, selected_only, opaque_only = any_transp)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/graphics/drawing.py", line 636, in _draw_geometry
self._update_buffers()
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/graphics/drawing.py", line 723, in _update_buffers
tmsel = self.selected_displayed_triangles_mask
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/graphics/drawing.py", line 1051, in selected_displayed_triangles_mask
tmsel = logical_and(tmsel, tm)
ValueError: operands could not be broadcast together with shapes (230168,) (226858,)

Change History (1)

comment:1 by Tom Goddard, 8 years ago

Resolution: fixed
Status: assignedclosed

Fixed.

When surface was recalculated it didn't update which triangles were supposed to be selected.

After the "surface probeRadius 1.45" the whole surface gets shown, not just the previously shown patch. This is because no atoms were specified in the command so all atom are implied and that shows surfaces for chains for all atoms, replacing the previous patch. Not sure if this is the expected behavior. The surface command is too complex and too smart, so it is often not clear what it is supposed to do.

Note: See TracTickets for help on using tickets.