David,

I run into a similar problem.  Seems to happen when you have more than
one thread updating the Java3D structure at the same time.

I added an additional object with synchronized methods, let's call it
X.  Whenever a thread needs to write into the Java3D structure it
invokes a method in X, which in turns invokes a method in the thread
that needs to do the update.  Since the corresponding methods in X are
synchronized, only one thread will update the Java3D scene at any given
time.

Would other people need Java3D to be thread-safe?  If many other people
had this need, we could request SUN to consider it.  I imagine it should
not affect performance considerably.

Helmuth Trefftz
Rutgers University

David Charles Hirschfield wrote:
>
> I haven't been able to find much in the way of documentation on this
> subject, so any help will be greatly appreciated.
>
> I have a physics simulation running which simulates the gravitational
> interaction of a bunch of masses in 3d space. That simulation code is
> entirely mathematical and runs in its own thread, producing a set of 3d
> positions every time it runs.
>
> Those 3d positions are then used to set the positions of some objects in
> a java3d scene. Basically I take the x,y,z position that the math thread
> calculated and shove it into the transform of the java3d object.
>
> Everything works OK for a little while, but then the java3d thread comes
> to a screeching halt, while the simulation thread continues to run.
>
> Is this a thread locking issue? Is it not good to modify the transforms
> of java3d objects without some sophisticated thread synching? If I don't
> run the simulation thread, the java3d thread will run without problems,
> so I know it is the interaction between the two that is the problem.
>
> Has anyone had a similar problem?
> Please help, I've been banging my head against this one for a while, but
> I have had no luck.
>
> Pointers to documentation or examples would be great.
> -David
>
> ===========================================================================
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
> of the message "signoff JAVA3D-INTEREST".  For general help, send email to
> [EMAIL PROTECTED] and include in the body of the message "help".

--

        -------------------------------------------------------
        Helmuth Trefftz
        Rutgers University
        e-mail: [EMAIL PROTECTED]
        tel:    (732) 445 0542          fax:    (732) 445 4775
                                        fax:    (435) 604 9354
        -------------------------------------------------------

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to