Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#737 closed defect (fixed)

cannot turn off sharp boundaries in pre-existing molecular surface

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

Users are unlikely to try this, so you may want to lower priority.

If I create an SES (sharp boundaries default true) and then try to remake it with sharp boundaries false, redraw halts. This problem does not occur if the SES is initially created with sharp boundaries false. If problem is hard to fix, could disallow sharp false for SES.

Example:
open 1zik
surf
surf sharp f

An error occurred in drawing the scene. Redrawing graphics is now stopped to avoid a continuous stream of error messages. To restart graphics use the command "graphics restart" after changing the settings that caused the error.

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 194, in draw
draw_opaque(r, 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 1250, in draw_opaque
_draw_multiple(drawings, renderer, identity(), 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 1265, 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 600, 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 631, 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 600, 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 631, 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 595, 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 619, 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 646, 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 735, in _update_buffers
dss.update_element_buffer(ta, style, tmsel, em)
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 1465, in update_element_buffer
self.elements = e = self.masked_elements(triangles, style, triangle_mask, edge_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 1484, in masked_elements
ta = ta[tmask, :]
IndexError: boolean index did not match indexed array along dimension 0; dimension is 27704 but corresponding boolean dimension is 44422

Change History (3)

comment:1 by Tom Goddard, 8 years ago

Resolution: fixed
Status: assignedclosed

Fixed.

in reply to:  2 ; comment:2 by Elaine Meng, 8 years ago

I’m still getting this error in the 6-25 daily build.  Maybe the fix wasn’t committed yet?

in reply to:  3 ; comment:3 by goddard@…, 8 years ago

Unfortunately I forgot to git push the fix Friday in my rush out of the office.  The fix will be in tonight’s builds.

Note: See TracTickets for help on using tickets.