Opened 7 years ago

Closed 7 years ago

#1153 closed defect (fixed)

surface_zone() before first drawing has no effect

Reported by: Tristan Croll Owned by: Tom Goddard
Priority: minor Milestone:
Component: Graphics Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

Previously it was possible to mask a volume using surface_zone() before its first drawing. After the API update this no longer works. Minor in the grand scheme of things (running surface_zone() once on the 'frame drawn' trigger after loading the Volume(s) does the trick).

Change History (1)

comment:1 by Tom Goddard, 7 years ago

Resolution: fixed
Status: assignedclosed

Fixed.

Surface zone initially done on an empty surface was not doing auto updating.

This bug was introduced by changes to the Volume class where it does not compute new contour surfaces until they are drawn. This makes it behave like atomic structures in that the graphics is updated only when drawing is done, not every time a parameter change is made. Surface zone can still fail to do anything on a volume if the contour surface submodel is not created at the time the surface zone command is done -- the zone will only apply to models that actually exist. If you need a Volume to compute the surfaces from Python before a redraw occurs, use v.update_drawings().

Note: See TracTickets for help on using tickets.