Is there a Sun Bug number is for this problem ?
Can I vote for the importance of this problem ?
It will be wonderful when OrderedGroup works properly.

_________________________________________________________________
This transmission is for the intended addressee only and is confidential
information. If you have received this transmission in error, please delete
it and notify the sender. The contents of this E-mail are the opinion of the
writer only and are not endorsed by Mincom Limited unless expressly stated
otherwise.

> -----Original Message-----
> From: Discussion list for Java 3D API
> [mailto:[EMAIL PROTECTED]]On Behalf Of Kasparian, Raffi J.
> Sent: Friday, 22 September 2000 2:13
> To: [EMAIL PROTECTED]
> Subject: Re: [JAVA3D] ArrayIndexOutOfBoundsException after detach
>
>
> Yes, OrderedGroup is broken. I submitted hte following program to the
> discussion group once earlier and didn't get a response so I'm sending it
> again and I also have sent it directly to the 'Java 3D beta program'. I
> think that the bug was initially reported much earlier by someone else and
> that the Java3D team said that it will be fixed in the upcoming v. 1.2.1.
>
> I apologize if this bug has already been reported. Just in case it hasn't,
> I'm providing a test program to illustrate it. In this program an
> OrderedGroup generates an IndexOutOfBoundsException when a grandchild is
> detached and then replaced. The exception doesn't seem to occur in the case
> of a child -- at least not in my tests.
>
> /*******OrderedGroupBug.java********/
> import java.applet.*;
> import java.awt.*;
> import java.awt.event.*;
> import com.sun.j3d.utils.applet.*;
> import com.sun.j3d.utils.geometry.*;
> import com.sun.j3d.utils.universe.*;
> import javax.media.j3d.*;
>
> public class OrderedGroupBug extends Applet{
>         public OrderedGroupBug(){
>                 setLayout(new BorderLayout());
>                 Canvas3D c = new Canvas3D(
> SimpleUniverse.getPreferredConfiguration() );
>                 add( "Center", c );
>                 final Scene scene = new Scene();
>
>                 SimpleUniverse u = new SimpleUniverse( c );
>                 u.getViewingPlatform().setNominalViewingTransform();
>                 u.addBranchGraph( scene );
>                 Button b1 = new Button( "Toggle Child" );
>                 b1.addActionListener( new ActionListener(){
>                         public void actionPerformed( ActionEvent e ){
>                                 scene.toggleChild();
>                         }
>                 });
>                 add( "North", b1 );
>                 Button b2 = new Button( "Toggle Grandchild" );
>                 b2.addActionListener( new ActionListener(){
>                         public void actionPerformed( ActionEvent e ){
>                                 scene.toggleGrandchild();
>                         }
>                 });
>                 add( "South", b2 );
>         }
>         public static void main( String[] args ){
>                 new MainFrame( new OrderedGroupBug(), 256, 256 );
>         }
>         class Scene extends BranchGroup{
>                 OrderedGroup OG = new OrderedGroup();{
>                         OG.setCapability( Group.ALLOW_CHILDREN_WRITE );
>                         OG.setCapability( Group.ALLOW_CHILDREN_EXTEND );
>                 }
>                 BranchGroup BG1 = new BranchGroup();{
>                         BG1.setCapability( BranchGroup.ALLOW_DETACH );
>                         BG1.setCapability( Group.ALLOW_CHILDREN_WRITE );
>                         BG1.setCapability( Group.ALLOW_CHILDREN_EXTEND );
>                 }
>                 BranchGroup BG2 = new BranchGroup();{
>                         BG2.setCapability( BranchGroup.ALLOW_DETACH );
>                 }
>                 public Scene(){
>                         super();
>                         addChild( OG );
>                         OG.addChild( BG1 );
>                         BG1.addChild( BG2 );
>                         BG2.addChild( new ColorCube( 0.2f ));
>                 }
>                 public void toggleChild(){
>                         if( BG1.isLive() ){
>                                 BG1.detach();
>                         }else{
>                                 OG.addChild( BG1 );
>                         }
>                 }
>                 public void toggleGrandchild(){
>                         if( BG2.isLive() ){
>                                 BG2.detach();
>                         }else{
>                                 BG1.addChild( BG2 );
>                         }
>                 }
>         }
> }
>
> ===========================================================================
> 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".
>

===========================================================================
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