Okay, we've stomped the bug. It's out on CVS but there's a new
function that you'll need to call from your setupPortrayals() (or
start() or load()) method: display.destroySceneGraph(). See any of
the 3D app example code to see where it goes. Also the tutorials.
Note that this will work fine with CylinderEdgePortrayal3D and
SimpleEdgePortrayal3D, but ConeEdgePortrayal3D and
ArrowEdgePortryal3D still need a tiny bit of work, which should be
out on CVS by end of tomorrow my guess is.
On Jun 4, 2008, at 6:44 PM, Sean Luke wrote:
> It's a bug in the 3D network code. The 2D network code ought to
> work fine.
> We've fixed the problem internally today -- as I thought, some code
> was missing -- but tickled an odd bug which is vexing us so we're
> not quite ready to do a CVS commit. I think we're closwe.
> On Jun 4, 2008, at 3:04 PM, ST Charles, Jesse Lee wrote:
>> Thanks so much for your quick reply!
>> A quick question regarding our options at this point:
>> My team needs to have a visualization of this system soon, is this
>> bug found in the 2d network or is it just in the 3d network?
>> If not, it shouldn't be too much effort to temporarily use a 2d
>> visualization instead of the 3d one.
>> Let me know if you make any progress with the 3d network bug or if
>> I can
>> help in tracking it down.
>> Thanks again for your help,
>> -----Original Message-----
>> From: MASON Multiagent Simulation Toolkit
>> [mailto:[log in to unmask]] On Behalf Of Sean Luke
>> Sent: Wednesday, June 04, 2008 2:10 PM
>> To: [log in to unmask]
>> Subject: Re: 3d Edge Portrayal Problem
>> On Jun 4, 2008, at 1:27 PM, Jesse St. Charles wrote:
>>> First -
>>> When the simulation is running, the network object is being updated
>>> correctly however the edges that are being visualized seem to
>>> only be
>>> edges which were present when the simulation began (some type of
>>> portrayal update problem?).
>> This is, I think, a bug -- or rather, some missing code -- in MASON's
>> NetworkPortrayal.java code. We'll get back on that.
>>> Second -
>>> After some time running the simulation for a given (not consistent)
>>> of generations I recieve this error
>>> Exception in thread "AWT-EventQueue-0"
>>> at sim.portrayal3d.network.SimpleEdgePortrayal3D.getModel
>> This is probably related to the above. My hypothesis:
>> 1. You created some edges.
>> 2. MASON displayed those edges.
>> 3. You deleted an edge.
>> 4. MASON isn't removing that edge. Rather, it's holding onto the old
>> displayed edge.
>> 5. You deleted one of the objects the phantom edge is pointing to
>> (say, the start object).
>> 6. When MASON needs to update the phantom edge, it goes in and asks
>> for its start and end objects.
>> 7. Then it requests the location of the start object.
>> 8. MASON politely says: "there's no such object any more!"
>> That's what I'm going on.