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".