Sadat, this is an interesting request. I think the right thing to do would be to instruct MASON never to redraw (it'll still probably redraw when paused), and then have a Steppable registered in the GUIState's minischedule which pauses the simulation when some fact is true about the model. I might be able to whip up some code for you to test.
On Nov 6, 2013, at 11:56 AM, Sadat Chowdhury wrote:
> Hi all,
> Perhaps this is something I have to figure out myself, as it is very specific to my application, but I'm still asking this to the MASON community at large -- maybe someone has had a similar situation before.
> I am simulating an evolutionary system that has a long run-time. If I run the simulation without the GUI, it runs very fast, and I encounter "interesting" events fairly quickly. If I run the simulation with a GUI, I can visualize the process, but the execution is slowed down significantly -- and I would have to let the GUI simulator run for a very long time to get to those events that I am interested in observing.
> I have a way of detecting when I hit certain milestones. What I would like to do is, "freeze" the GUI part (viewer part in the MVC framework) until I hit those milestones, let the viewer act on the model at that point, for certain number of steps, and then disconnect the viewer until I hit the next milestone. The purpose is to only wake up the viewer when it is signaled -- otherwise run the main simulation in a detached mode.
> Are there any particular API calls, examples, patterns I should follow?