Print

Print


Both approaches work.


On Wed, Apr 10, 2013 at 3:34 PM, Sean Luke <[log in to unmask]> wrote:

> What I meant was: why use finish()?  Why not just re-create all the data
> structures in start() and let the previous ones, if they exist, naturally
> gc?
>
> Sean
>
> On Apr 10, 2013, at 3:30 PM, Mark Coletti wrote:
>
> > I believe that's what I was saying, though perhaps I wasn't clear
> enough.  A finish() method that's automatically invoked at the end of the
> run with appropriate GeomVectorField.clear() invocations will do exactly
> that.
> >
> >
> > On Wed, Apr 10, 2013 at 3:22 PM, Sean Luke <[log in to unmask]> wrote:
> > Why not just throw away all of the JTS objects and build from scratch at
> start() time?
> >
> > Sean
> >
> > On Apr 10, 2013, at 3:16 PM, Mark Coletti wrote:
> >
> > > 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]
> > >
> >
> >
> >
> > --
> > [log in to unmask]
> >
>



-- 
[log in to unmask]