No, you don't have
to detach/reattach if you are using by-copying geometry and just want to change
the GeometryArray coordinates. You have to set the ALLOW_COORDINATE_WRITE
capability and you can update the GeometryArray coordinates using
the
setCoordinates() methods.
Using by-copying
geometry means that the GeometryArray maintains a copy of the coordinate
information you pass it. So, the performance hit is from the GeometryArray
making a copy of the coordinates on every update. Changing the scene graph
structure (detaching/attaching branches) is not necessary in this cased, but
incurs a large performance hit when used.
Sean
-----Original Message-----
From: Smith, David [mailto:[EMAIL PROTECTED]
Sent: Tuesday, February 25, 2003 7:42 AM
To: [EMAIL PROTECTED]
Subject: Re: [JAVA3D] GeometryUpdaterSo by not using the GeometryUpdater and following the detach/reattachapproach, am I forced to recreate all GeometryArrays on a Shape node.Or, if I have a reference to the Shape, can I just detach, modify the individualgeometry arrays that I care about( add/remove/modify ) and then reattach.And this will all have to be done in a thread-safe manner by me.Also, if I understand, this approach basically just means that I will takea performance hit when I reattach because j3d will copy all dataagain to the graphics device. Is this correct?BTW, Thanks for all the replies.-DaveS
