/***************************************************************************** * Web3d.org Copyright (c) 2004-2007 * Java Source * * This source is licensed under the GNU LGPL v2.1 * Please read http://www.gnu.org/copyleft/lgpl.html for more information * * This software comes with the standard NO WARRANTY disclaimer for any * purpose. Use it at your own risk. If there's a problem you get to fix it. * ****************************************************************************/ import java.awt.*; import java.util.HashMap; import javax.swing.*; import org.web3d.x3d.sai.*; import org.xj3d.sai.Xj3DBrowser; /** * An example of how to use Xj3D Specific SAI routines. * * @author Alan Hudson * @version */ public class Xj3DSpecificDemo extends JFrame { /** * Constructor for the demo. */ public Xj3DSpecificDemo() { setDefaultCloseOperation(EXIT_ON_CLOSE); Container contentPane = getContentPane(); // Setup browser parameters HashMap requestedParameters=new HashMap(); requestedParameters.put("Xj3D_ShowConsole",Boolean.FALSE); requestedParameters.put("Xj3D_FPSShown", Boolean.TRUE); // Create an SAI component X3DComponent x3dComp = BrowserFactory.createX3DComponent(requestedParameters); // Add the component to the UI JComponent x3dPanel = (JComponent)x3dComp.getImplementation(); contentPane.add(x3dPanel, BorderLayout.CENTER); // Get an external browser ExternalBrowser x3dBrowser = x3dComp.getBrowser(); boolean useXj3D = true; if (x3dBrowser.getName().indexOf("Xj3D") < 0) { System.out.println("Not running on Xj3D, extended functions disabled"); useXj3D = false; } setSize(500,500); setVisible(true); // Create an X3D scene by loading a file X3DScene mainScene = x3dBrowser.createX3DFromURL(new String[] { "moving_box.x3dv" }); // Replace the current world with the new one x3dBrowser.replaceWorld(mainScene); if (!useXj3D) return; Xj3DBrowser xj3dBrowser = (Xj3DBrowser) x3dBrowser; xj3dBrowser.setMinimumFrameInterval(1000 / 15); boolean lines = true; while(true) { if (lines) { xj3dBrowser.setRenderingStyle(Xj3DBrowser.RENDER_LINES); lines = false; } else { xj3dBrowser.setRenderingStyle(Xj3DBrowser.RENDER_SHADED); lines = true; } try { Thread.sleep(250); } catch(Exception e) {} } } /** * Main method. * * @param args None handled */ public static void main(String[] args) { Xj3DSpecificDemo demo = new Xj3DSpecificDemo(); } }