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).
Note:
See TracTickets
for help on using tickets.
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().