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