Print

Print


Try adding a finish() method that clears out everything at the end of a run.


On Wed, Apr 10, 2013 at 3:02 PM, Luís de Sousa <[log in to unmask]>wrote:

> Mark and Sean, thanks for the replies.
>
> This solves things at run time, but agents left over from previous runs
> are still portrayed in subsequent runs (in the little example I sent you
> can try hitting the stop button before it gets to setp 20 and then
> restart).
>
> I imagine the updateSpatialIndex() method or something else that
> permanently destroys the Stoppable objects must be invoked when the run
> ends. I tried to do it in the GUIState class but without success. There
> doesn't seem to exist any way in the Scheduler class to set something to
> run at simulation end either. How else can I do it?
>
> Thank you,
>
> Luís
>
>
>
>
> On 9 April 2013 04:19, Sean Luke <[log in to unmask]> wrote:
>
>> On Apr 8, 2013, at 10:05 PM, Mark Coletti wrote:
>>
>> > In other words, I think I resolved your problem by adding the following
>> to your Sim.start():
>> >
>> >         schedule.scheduleRepeating(new Steppable()
>> >         {
>> >             public void step(SimState state)
>> >             {
>> >                 trailSpace.updateSpatialIndex();
>> >             }
>> >
>> >         });
>>
>> Quick suggested improvement:
>>
>>
>> >         schedule.scheduleRepeating(new Steppable()
>> >         {
>> >             public void step(SimState state)
>> >             {
>> >                 trailSpace.updateSpatialIndex();
>> >             }
>> >
>> >         }, -1, 1);
>>
>> This will cause updateSpatialIndex() to happen before anything else each
>> timestep.
>>
>> Sean
>>
>
>


-- 
[log in to unmask]