| Version 2 (modified by , 10 years ago) ( diff ) |
|---|
Notifications Architecture Proposal
Overview
In broad strokes, the notification system from C++ to Python will be similar to what exists in Chimera 1. There will be two main systems of notifications, one for communicating whether the graphics need updating, and one for communicating data changes to interested code. Neither is synchronous; the Python layer is in charge of when the notifications are acted on.
Graphics Updates
Whereas Chimera 1 has Model::setMajorChange() and Model::setMinorChange(), I'm thinking Chimera 2 will have just have Graph::set_graphics_change() with a default arg of Graph::GC_REBUILD. Other arguments would be added as needed, but I'm no graphics guru so am not going to propose a complete set, though I'm imagining that Graph::GC_REDRAW might be useful(?). At any rate, the Python layer would be in charge of querying and clearing the change flags at the appropriate time.