001: /*
002: * $RCSfile: Browser.java,v $
003: *
004: * @(#)Browser.java 1.14 98/08/05 14:31:21
005: *
006: * Copyright (c) 1996-1998 Sun Microsystems, Inc. All Rights Reserved.
007: *
008: * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
009: * modify and redistribute this software in source and binary code form,
010: * provided that i) this copyright notice and license appear on all copies of
011: * the software; and ii) Licensee does not utilize the software in a manner
012: * which is disparaging to Sun.
013: *
014: * This software is provided "AS IS," without a warranty of any kind. ALL
015: * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
016: * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
017: * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
018: * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
019: * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
020: * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
021: * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
022: * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
023: * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
024: * POSSIBILITY OF SUCH DAMAGES.
025: *
026: * This software is not designed or intended for use in on-line control of
027: * aircraft, air traffic, aircraft navigation or aircraft communications; or in
028: * the design, construction, operation or maintenance of any nuclear
029: * facility. Licensee represents and warrants that it will not use or
030: * redistribute the Software for such purposes.
031: *
032: * $Revision: 1.2 $
033: * $Date: 2005/02/03 23:07:10 $
034: * $State: Exp $
035: */
036: /*
037: * @Author: Rick Goldberg
038: * @Author: Doug Gehringer
039: *
040: */
041: package vrml;
042:
043: import javax.media.j3d.Canvas3D;
044:
045: import vrml.node.Node;
046:
047: /** Description of the Class */
048: public class Browser {
049:
050: org.jdesktop.j3d.loaders.vrml97.impl.Browser impl;
051:
052: /**
053: *Constructor for the Browser object
054: *
055: *@param b Description of the Parameter
056: */
057: public Browser(org.jdesktop.j3d.loaders.vrml97.impl.Browser b) {
058: impl = b;
059: }
060:
061: /**Constructor for the Browser object */
062: public Browser() {
063: impl = new org.jdesktop.j3d.loaders.vrml97.impl.Browser();
064: }
065:
066: /**
067: *Constructor for the Browser object
068: *
069: *@param canvas Description of the Parameter
070: */
071: public Browser(Canvas3D canvas) {
072: impl = new org.jdesktop.j3d.loaders.vrml97.impl.Browser(canvas);
073: }
074:
075: /**
076: * Gets the description attribute of the Browser object
077: *
078: *@return The description value
079: */
080: public String getDescription() {
081: return impl.getDescription();
082: }
083:
084: /**
085: * Gets the name attribute of the Browser object
086: *
087: *@return The name value
088: */
089: public String getName() {
090: return impl.getName();
091: }
092:
093: /**
094: * Gets the version attribute of the Browser object
095: *
096: *@return The version value
097: */
098: public String getVersion() {
099: return impl.getVersion();
100: }
101:
102: /**
103: * Gets the currentSpeed attribute of the Browser object
104: *
105: *@return The currentSpeed value
106: */
107: public float getCurrentSpeed() {
108: return impl.getCurrentSpeed();
109: }
110:
111: /**
112: * Gets the currentFrameRate attribute of the Browser object
113: *
114: *@return The currentFrameRate value
115: */
116: public float getCurrentFrameRate() {
117: return impl.getCurrentFrameRate();
118: }
119:
120: /**
121: * Gets the worldURL attribute of the Browser object
122: *
123: *@return The worldURL value
124: */
125: public String getWorldURL() {
126: return impl.getWorldURL();
127: }
128:
129: /**
130: * Gets the uRL attribute of the Browser object
131: *
132: *@return The uRL value
133: */
134: public java.net.URL getURL() {
135: return impl.getURL();
136: }
137:
138: /**
139: * Description of the Method
140: *
141: *@param nodes Description of the Parameter
142: */
143: public void replaceWorld(BaseNode[] nodes) {
144: org.jdesktop.j3d.loaders.vrml97.impl.BaseNode[] implNodes = new org.jdesktop.j3d.loaders.vrml97.impl.BaseNode[nodes.length];
145: for (int i = 0; i < nodes.length; i++) {
146: implNodes[i] = nodes[i].getImpl();
147: }
148: impl.replaceWorld(implNodes);
149: }
150:
151: /**
152: * Description of the Method
153: *
154: *@param vrmlSyntax Description of the Parameter
155: *@return Description of the Return Value
156: *@exception InvalidVRMLSyntaxException Description of the Exception
157: */
158: public BaseNode[] createVrmlFromString(String vrmlSyntax)
159: throws InvalidVRMLSyntaxException {
160: org.jdesktop.j3d.loaders.vrml97.impl.BaseNode[] implNodes = impl
161: .createVrmlFromString(vrmlSyntax);
162: BaseNode[] nodes = new BaseNode[implNodes.length];
163: for (int i = 0; i < nodes.length; i++) {
164: nodes[i] = implNodes[i].wrap();
165: }
166: return nodes;
167: }
168:
169: /**
170: * Description of the Method
171: *
172: *@param url Description of the Parameter
173: *@param node Description of the Parameter
174: *@param event Description of the Parameter
175: *@exception InvalidVRMLSyntaxException Description of the Exception
176: */
177: public void createVrmlFromURL(String[] url, BaseNode node,
178: String event) throws InvalidVRMLSyntaxException {
179: impl.createVrmlFromURL(url, node.getImpl(), event);
180: }
181:
182: /**
183: * Adds a feature to the Route attribute of the Browser object
184: *
185: *@param fromNode The feature to be added to the Route attribute
186: *@param fromEventOut The feature to be added to the Route attribute
187: *@param toNode The feature to be added to the Route attribute
188: *@param toEventIn The feature to be added to the Route attribute
189: */
190: public void addRoute(BaseNode fromNode, String fromEventOut,
191: BaseNode toNode, String toEventIn) {
192: impl.addRoute(fromNode.getImpl(), fromEventOut, toNode
193: .getImpl(), toEventIn);
194: }
195:
196: /**
197: * Description of the Method
198: *
199: *@param fromNode Description of the Parameter
200: *@param fromEventOut Description of the Parameter
201: *@param toNode Description of the Parameter
202: *@param toEventIn Description of the Parameter
203: */
204: public void deleteRoute(BaseNode fromNode, String fromEventOut,
205: BaseNode toNode, String toEventIn) {
206: impl.deleteRoute(fromNode.getImpl(), fromEventOut, toNode
207: .getImpl(), toEventIn);
208: }
209:
210: /**
211: * Description of the Method
212: *
213: *@param url Description of the Parameter
214: *@param parameter Description of the Parameter
215: *@exception InvalidVRMLSyntaxException Description of the Exception
216: *@exception java.net.MalformedURLException Description of the Exception
217: *@exception java.io.IOException Description of the Exception
218: */
219: public void loadURL(String[] url, String[] parameter)
220: throws InvalidVRMLSyntaxException,
221: java.net.MalformedURLException, java.io.IOException {
222: impl.loadURL(url, parameter);
223: }
224:
225: /**
226: * Description of the Method
227: *
228: *@param sourceVrml Description of the Parameter
229: */
230: public void loadStringAsVrml(String sourceVrml) {
231: impl.loadStringAsVrml(sourceVrml);
232: }
233:
234: /**
235: * Sets the description attribute of the Browser object
236: *
237: *@param description The new description value
238: */
239: public void setDescription(String description) {
240: impl.setDescription(description);
241: }
242:
243: /**
244: * Sets the viewpoint attribute of the Browser object
245: *
246: *@param vi The new viewpoint value
247: */
248: public void setViewpoint(int vi) {
249: impl.setViewpoint(vi);
250: }
251:
252: /** Description of the Method */
253: public void resetViewpoint() {
254: impl.resetViewpoint();
255: }
256:
257: /**
258: * Gets the viewpointDescriptions attribute of the Browser object
259: *
260: *@return The viewpointDescriptions value
261: */
262: public String[] getViewpointDescriptions() {
263: return impl.getViewpointDescriptions();
264: }
265:
266: /** Description of the Method */
267: public void outputTiming() {
268: impl.outputTiming();
269: }
270:
271: /** Description of the Method */
272: public void shutDown() {
273: impl.shutDown();
274: }
275:
276: /** Description of the Method */
277: public void startRender() {
278: impl.startRender();
279: }
280:
281: /** Description of the Method */
282: public void stopRender() {
283: impl.stopRender();
284: }
285:
286: /**
287: * Gets the canvas3D attribute of the Browser object
288: *
289: *@return The canvas3D value
290: */
291: public Canvas3D getCanvas3D() {
292: return impl.getCanvas3D();
293: }
294:
295: /**
296: * Sets the aWTContainer attribute of the Browser object
297: *
298: *@param container The new aWTContainer value
299: */
300: public void setAWTContainer(java.awt.Container container) {
301: impl.setAWTContainer(container);
302: }
303:
304: // annoying "feature" of default creaseAngle == 0.0
305: /**
306: * Sets the autoSmooth attribute of the Browser object
307: *
308: *@param s The new autoSmooth value
309: */
310: public void setAutoSmooth(boolean s) {
311: impl.setAutoSmooth(s);
312: }
313:
314: }
|