The problem here is that you are trying to change the Geometry of a Primitive. Primitives by default have a shared geometry and thus shared appearance. Here is the blurb from the Javadoc, it suggests changing the shared geometry flag to get around this.
"Base class for all Java 3D primitives. By default all primitives with the same parameters share their geometry (e.g., you can have 50 shperes in your scene, but the geometry is stored only once). A change to one primitive will effect all shared nodes. Another implication of this implementation is that the capabilities of the geometry are shared, and once one of the shared nodes is live, the capabilities cannot be set. Use the GEOMETRY_NOT_SHARED flag if you do not wish to share geometry among primitives with the same parameters." Cheers Dave -----Original Message----- From: Michael Schnieders [mailto:[EMAIL PROTECTED] Sent: 13 August 2003 06:50 To: [EMAIL PROTECTED] Subject: [JAVA3D] Changing the Appearance of a Live Shape3d oops. I create a specific Appearance node for each of my Shape3D nodes and save references to each. Many of the appearences are identical initially, although they may each eventually have unique colors as a result of user input. While the scene is live, I call the Appearance node "setMaterial" method to change the color of Shape3D objects. It seems as though Java3D might have tried to "merge" Appearance nodes together, because a small percentage of changes are mapped to Shape3D objects that reference some other Appearance object. For example does this code appear correct (assuming I create lots of "foo" instances) : class foo { Appearance ap; foo(){ ap = new Appearance; ap.setCapability(Appearance.ALLOW_MATERIAL_WRITE); Shape3D shape = new Shape3D(); shape.setAppearance(ap); //... the shape gets added to a the Scenegraph, etc. } // This gets called to change the Shape's color in response to user input void changeMaterial(Material mat){ ap.setMaterial(mat); } _________________________________________________________________ Add photos to your e-mail with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail ======================================================================== === 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". =========================================================================== 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".