But if you want to
update the coordinates after setting the TriangleStripArray's reference, you
must go through the GeometryUpdater interface.
Using the
GeometryUpdater, you can update the geometry coordinates directly (through
updateData()) without having to modify the structure of the Java3D scene graph
(detaching and reattaching BranchGroups).
Sean
-----Original Message-----
From: Michael Saunders [mailto:[EMAIL PROTECTED]
Sent: Monday, February 24, 2003 12:29 PM
To: [EMAIL PROTECTED]
Subject: Re: [JAVA3D] GeometryUpdater
From: Michael Saunders [mailto:[EMAIL PROTECTED]
Sent: Monday, February 24, 2003 12:29 PM
To: [EMAIL PROTECTED]
Subject: Re: [JAVA3D] GeometryUpdater
Mark,
Is this really true? I have created TriangleStripArray's using COORDINATES | BY_REFERENCE | USE_NIO_BUFFER as my mask and I simply delivered the strip coordinates via a call to the setCoordRefBuffer(J3DBuffer coords). I didn't have to implement the GeometryUpdater interface at all. It all seems to work fine. What am I missing.
Michael
Mark Hood wrote:
=========================================================================== 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".Date: Mon, 24 Feb 2003 13:17:45 -0500 From: Hong <[EMAIL PROTECTED]> GeometryUpdaterHi, =20 IMHO, GeometryUpdater provide a way to allow user to update the geometry dynamically and efficiently by the following reasons: 1. Thread safe. (Java3D is rendering on its own thread). 2. Efficiency. I believe that attach/detach a live scene on the = BranchGroup is relatively slow. If the Geometry object you are trying to = update is=20 under a big BranchGroup, the overhead would be even bigger! 3. ... There might be other reasons that people can provide in this group. There is a sample program in Java3DTutorial/animation that = demonstrates how to use GeometryUpdater. You might want to check it out.The only reason to use GeometryUpdater is that it is required for by-reference usage of GeometryArray. In by-copy mode, Java 3D copies the vertex data that you provide and can thus synchronize the update with its internal data structures. In by-reference mode you are directly modifying the arrays to which your references point -- this has to be synchronized with the other threads contending for access to the data. The GeometryUpdater interface is what you implement to allow Java 3D to perform this synchronization. -- Mark Hood =========================================================================== 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".
