Opened 4 years ago

Closed 4 years ago

#6641 closed defect (fixed)

differences in .cxc execution between 1.1 and 1.4

Reported by: pett Owned by: Tom Goddard
Priority: moderate Milestone:
Component: Scenes/Animation Version:
Keywords: Cc: Elaine Meng, pett
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

I've attached a script based on the one from ticket #6624 -- the only difference being omitting "showAli true" in the matchmaker command in the attached script. There are at least three salient differences between execution in 1.1 and 1.4:

1) Rapid Access hides at the start of the script in 1.1

2) Even with Rapid Access hidden, the "wait" commands in the script don't cause anything to be drawn in the graphics window in 1.4

3) The final structure colors are noticeably different, possibly due to changes in transparency handling? Images attached.

The whole rearchitecture of how files get opened changed between 1.1 and 1.2, but I'm not sure how that could affect #2 and #3.

Attachments (3)

5_DAAP1.cxc (1.4 KB ) - added by pett 4 years ago.
script
cx1.1.png (390.2 KB ) - added by pett 4 years ago.
image from 1.1
cx1.4.png (395.3 KB ) - added by pett 4 years ago.
image from 1.4

Download all attachments as: .zip

Change History (7)

by pett, 4 years ago

Attachment: 5_DAAP1.cxc added

script

by pett, 4 years ago

Attachment: cx1.1.png added

image from 1.1

by pett, 4 years ago

Attachment: cx1.4.png added

image from 1.4

comment:1 by pett, 4 years ago

I should mention that a simple script like:

open 1gcn
turn y 3 60
wait 60
color red

works (well, if you hide Rapid Access), so something in the longer script causes the wait commands to not draw.

comment:2 by Tom Goddard, 4 years ago

Cc: Tom Goddard added
Owner: changed from Tom Goddard to pett

I suspect the open command. You can investigate. If you comment out the first to lines of the script (close all, and open 5uh6), and open 5uh6 by hand, then open the script the wait commands work as expected.

I'm not going to investigate the color differences compared to 1.1 unless the current colors are wrong.

comment:3 by pett, 4 years ago

Cc: pett added; Tom Goddard removed
Owner: changed from pett to Tom Goddard

Drawing is blocked by the graphics window until isExposed() is true for its widget. Rapid Access doesn't actually change state until the end of the script. I added some event processing to the Rapid Access change code to force the change to happen immediately. Now the wait redraws can be seen. But until those wait redraws occur, the graphics window looks pretty weird. Reassigning to T.G. in case he wants to do something about that.

comment:4 by Tom Goddard, 4 years ago

Resolution: fixed
Status: assignedclosed

I hid rapid access before testing the script and the waits did not work. I see now that is because the first line of the script "close all" caused rapid access to reshow even though no models were open before the close all was done.

I guess when the graphics window gets exposed it will have undefined contents until opengl drawing is done.

Scripts don't draw graphics without a wait, so the user may be surprised if they don't know that when all the commands are showing status messages and the graphics is not changing. They will be surprised if it is a static molecule display or some weird stuff. I don't see the weird stuff being particularly worse, maybe it is even slightly better because it is even clearer to the user that the graphics is not being updated. So I'm going to leave it as is unless a convincing reason to change it arises. It is hazardous to insert extra draws at unpredictable times (e.g. during an expose event).

Note: See TracTickets for help on using tickets.