Hi,

I posted a question in the past regarding the refresh issue (see below)
for an **applet** not an application.  I get the Canvas3D to show
its contents only after I have it all visible and I refresh the
web page.  Even with super.paint(g); Toolkit.getDefaultToolkit().sync();
the problem persists.

Alejandro


> -----Original Message-----
> From: Discussion list for Java 3D API
> [mailto:[EMAIL PROTECTED]]On Behalf Of Alejandro Allievi
> Sent: Tuesday, November 12, 2002 12:07 PM
> To: [EMAIL PROTECTED]
> Subject: [JAVA3D] Repaint the Canvas3D
>
>
> Hi all,
>
> I am running and applet using J3D.  Upon loading the applet
> the Canvas3D is partially hidden.  When I scroll to see the
> whole canvas, the part that was hidden is not painted. It
> only paints when I refresh the page.
>
> Does anybody know how to solve this?  Thanks for any help.
>
> Alejandro
>
> ==================================================================
> =========
> 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".

> -----Original Message-----
> From: Discussion list for Java 3D API
> [mailto:[EMAIL PROTECTED]]On Behalf Of George Hedges
> Sent: Tuesday, November 19, 2002 10:36 AM
> To: [EMAIL PROTECTED]
> Subject: Re: [JAVA3D] extending Canvas3D
>
>
> Hi Mariusz,
>
> It may not be a problem with having multiple canvases.
> We had a similar issue with our canvas.  This code seems to have fixed the
> problem.  When you create your Canvas3D, over-ride your paint method like
> this:
>
> GraphicsConfiguration gc = getGraphicsConfig();
> canvas3d = new Canvas3D(gc) {
>    public void paint(Graphics g) {
>       super.paint(g);
>       Toolkit.getDefaultToolkit().sync();
>    } // paint()
> }; // Canvas3D
>
> Hopefully that will solve the problem for you.
>
> George
>
>
>
> ----- Original Message -----
> From: "ZACZEK, MARIUSZ P. (JSC-DM) (NASA)" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Tuesday, November 19, 2002 8:17 AM
> Subject: Re: [JAVA3D] extending Canvas3D
>
>
> > Sorry..I have to take it all back...I double checked my code and I must
> have
> > been thinking about something else or I was just too stupid to double
> check
> > correctly...you guess which it was  :)
> >
> > Anyway, I noticed that the definite reason for the "refresh"
> issue is that
> > fact that I have multiple Canvas3D windows (I have 4). Does anyone have
> any
> > example code of using a VirtualUniverse (not SimpleUniverse) too do at
> least
> > 2 Canvas3D windows together?  I think I'm doing it correctly but who
> > knows...I did notice that having just 2 windows caused a
> problem so having
> 4
> > causes an even bigger problem....and so example code would be
> great help.
> > This is what I do for making my Canvas3d objects:
> >
> > /////////////////////////////////////////////////////////////////////
> >
> >     // 1 - Create Canvas3D object.
> > Canvas3D canvas3D = new Canvas3D
> > SimpleUniverse.getPreferredConfiguration());
> > Canvas3D second_canvas3D = new
> > Canvas3D(SimpleUniverse.getPreferredConfiguration());
> > Canvas3D third_canvas3D  = new
> > Canvas3D(SimpleUniverse.getPreferredConfiguration());
> > Canvas3D fourth_canvas3D = new Canvas3D
> > SimpleUniverse.getPreferredConfiguration());
> >
> > canvas3D.setDoubleBufferEnable(true);
> > second_canvas3D.setDoubleBufferEnable(true);
> > third_canvas3D.setDoubleBufferEnable(true);
> > fourth_canvas3D.setDoubleBufferEnable(true);
> >
> >     // 2 - Create a VirtualUniverse object.
> >     VirtualUniverse universe = new VirtualUniverse();
> >
> >     // 3 - Create a Locale object, attaching it to the VirtualUniverse
> > object.
> >     Locale locale = new Locale(universe);
> >
> >     // 4 - Create a view branch graph.
> >       // a - create a View object.
> >       View view = new View();
> >       View view2 = new View();
> >       View view3 = new View();
> >       View view4 = new View();
> >
> >       // b - create a ViewPlatform object.
> >       viewplatform = new ViewPlatform();
> >       viewplatform2 = new ViewPlatform();
> >       viewplatform3 = new ViewPlatform();
> >       viewplatform4 = new ViewPlatform();
> >
> >       // c - Create a PhysicalBody object.
> >       PhysicalBody physicalbody = new PhysicalBody();
> >       PhysicalBody physicalbody2 = new PhysicalBody();
> >       PhysicalBody physicalbody3 = new PhysicalBody();
> >       PhysicalBody physicalbody4 = new PhysicalBody();
> >
> >       // d - create a PhysicalEnvironment object.
> >       PhysicalEnvironment physicalenvironment = new
> PhysicalEnvironment();
> >       PhysicalEnvironment physicalenvironment2 = new
> PhysicalEnvironment();
> >       PhysicalEnvironment physicalenvironment3 = new
> PhysicalEnvironment();
> >       PhysicalEnvironment physicalenvironment4 = new
> PhysicalEnvironment();
> >
> >
> >     // 5 - Contruct content branch graph(s)
> >     BranchGroup scene = new BranchGroup();
> >
> >       // Draw the stuff in the scene
> >       scene = createSceneGraph();
> >
> >       //  e - attach objects to View object.
> >       view.attachViewPlatform(viewplatform);
> >       view.setPhysicalBody(physicalbody);
> >       view.setPhysicalEnvironment(physicalenvironment);
> >       view.addCanvas3D(canvas3D);
> >
> >         view2.attachViewPlatform(viewplatform2);
> >         view2.setPhysicalBody(physicalbody2);
> >         view2.setPhysicalEnvironment(physicalenvironment2);
> >         view2.addCanvas3D(second_canvas3D);
> >
> >         view3.attachViewPlatform(viewplatform3);
> >         view3.setPhysicalBody(physicalbody3);
> >         view3.setPhysicalEnvironment(physicalenvironment3);
> >         view3.addCanvas3D(third_canvas3D);
> >
> >         view4.attachViewPlatform(viewplatform4);
> >         view4.setPhysicalBody(physicalbody4);
> >         view4.setPhysicalEnvironment(physicalenvironment4);
> >         view4.addCanvas3D(fourth_canvas3D);
> >
> >       // Set the viewplatform to the scene
> >       scene.addChild(viewplatform);
> >
> >       // Set the view clip planes
> >       view.setBackClipDistance( 3000.0 );
> >       view.setFrontClipDistance( 0.001 );
> >         view2.setBackClipDistance( 300000.0 );
> >         view2.setFrontClipDistance( 0.1 );
> >         view3.setBackClipDistance( 300000.0 );
> >         view3.setFrontClipDistance( 0.1 );
> >         view4.setBackClipDistance( 3000.0 );
> >         view4.setFrontClipDistance( 0.001 );
> >
> >     // 6 - Compile branch graph(s)
> >     // doing in scene..
> >
> >     // 7 - Insert subgraphs into the Locale
> >     locale.addBranchGraph(scene);
> >
> >
> >
> >     //
> >     // FINAL - add the canvases to the main panel so that the original
> >     //         canvas is in the biggest window, and the other three
> canvases
> >     //         are in 3 side windows.
> >     this.setLayout(new BorderLayout());
> >
> >     JPanel mainpanel = new JPanel(new BorderLayout());
> >     JPanel viewpanel2 = new JPanel(new BorderLayout());
> >
> >     mainpanel.add("Center", canvas3D);
> >     mainpanel.setBorder(BorderFactory.createEtchedBorder());
> >
> >       viewpanel2.setPreferredSize(new Dimension(300,400));
> >       viewpanel2.setLayout(new GridLayout(3,0));
> >       viewpanel2.add(second_canvas3D);
> >       viewpanel2.add(third_canvas3D);
> >        viewpanel2.add(fourth_canvas3D);
> >
> >     this.add(mainpanel, BorderLayout.CENTER);
> >
> >       this.add(viewpanel2,BorderLayout.EAST);
> >
> >
> >
> >
> > /////////////////////////////////////////////////////////////////////
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > Mario
> >
> >
> >
> >
> >
> > -----Original Message-----
> > From: ZACZEK, MARIUSZ P. (JSC-DM) (NASA)
> > To: [EMAIL PROTECTED]
> > Sent: 11/17/2002 5:57 PM
> > Subject: [JAVA3D] extending Canvas3D
> >
> > I'm having trouble with extending a Canvas3d...I've attached the code
> > where
> > I
> > extend the Canvas3D...I removed all my preRender() postSwap(), etc code
> > and
> > I
> > get the same effect as with having just the code below. Basically what
> > happens is that my Canvas3D and SWING seems to have problems ONLY if I
> > extend the
> > Canvas3D as I do below....I've attached a picture to show you the
> > effect.
> > This
> > effect is noticable if I move the window off screen and bring it back.
> > The
> > SWING
> > portion does not redraw for a few seconds (typically 5-10) ... on
> > another
> > computer
> > I had a "paint smudge effect" instead of a simple white space as I show
> > in
> > this picture.
> > Basically the same thing happens but instead of being white space the
> > swing
> > side looks
> > like someone smudged it up...(hope that makes sense).
> >
> > One thing though, if I simply use a Canvas3D (i.e. canvas3D = new
> > Canvas3D(Simple....)
> > I have absolutely NO problems....NONE. Refreshes right away without any
> > issue.
> > Only if I try to extend the Canvas3D do I have problems. Also, the
> > Canvas
> > actually is
> > also unusable for the 5-10 seconds because when I move the window around
> > I
> > can't
> > move anything in the canvas around.
> >
> > Does anyone have any suggestions??? Am I missing something when I
> > declare
> > the SpecialCanvas
> > and extend the Canvas3D???
> >
> > I'm trying to use this extended canvas so I can overwrite the preRender,
> > postSwap, etc
> > routines for doing Overlays....they work great if I don't move the
> > window
> > around
> > but If I move it then it gets screwed up...also, it does NOT get
> > affected if
> > I open
> > a window on top of my Java Program...you know, if I move Explorer or
> > Netscape over
> > on top of the window it still is ok...only has problems when I move the
> > window itself.
> >
> > Please give me all of your suggestions....
> >
> > I'm using the latest Java3d api, but I believe I'm using the Java 2D
> > 1.3...did not upgrade
> > to the new one because I had problems.
> >
> > Thanks,
> >
> > Mario
> >
> > ////////////////////////////////////////////////////////////////////////
> > ////
> > ////
> >   canvas3D  = new
> > SpecialCanvas3D(SimpleUniverse.getPreferredConfiguration());
> >
> > ////////////////////////////////////////////////////////////////////////
> > ////
> > ////
> > private class SpecialCanvas3D extends Canvas3D {
> >
> >     private J3DGraphics2D graphics2D;
> >
> >     public SpecialCanvas3D(GraphicsConfiguration graphicsConfiguration)
> > {
> >       super(graphicsConfiguration);
> >     }
> >
> >     public SpecialCanvas3D(GraphicsConfiguration graphicsConfiguration,
> >                            boolean offScreen) {
> >       super(graphicsConfiguration, offScreen);
> >     }
> >
> > }
> > ////////////////////////////////////////////////////////////////////////
> > ////
> > ////
> >
> >
> >    Mario
> >
> > Mariusz Zaczek
> > NASA - Johnson Space Center
> > Automated Vehicles and Orbit Analysis / DM35
> > Flight Design and Dynamics Division
> > Mission Operations Directorate
> > Bldg: 30A     Room: 3048B
> >
> > Disclaimer: "The opinions, observations and comments expressed in my
> > email
> >                    are strictly my own and do not necessarily reflect
> > those
> > of NASA."
> >
> >  <<test.jpg>>
> >
> >
> ==================================================================
> =========
> > 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