diff options
author | Curtis Rueden <[email protected]> | 2015-11-30 11:24:46 -0600 |
---|---|---|
committer | Curtis Rueden <[email protected]> | 2015-11-30 11:24:46 -0600 |
commit | dd7176ee23e4b0da9a3084302f02744368a5e508 (patch) | |
tree | 453643e0c571743ae35c5aa699cb238588e7f7f4 /src/main/java | |
parent | 3ed6f9d7075a5a23385786b21cabb01ef7df488d (diff) |
Move javadoc files to standard Maven location
Diffstat (limited to 'src/main/java')
41 files changed, 0 insertions, 4093 deletions
diff --git a/src/main/java/org/jogamp/java3d/audioengines/javasound/package.html b/src/main/java/org/jogamp/java3d/audioengines/javasound/package.html deleted file mode 100644 index 05122f4..0000000 --- a/src/main/java/org/jogamp/java3d/audioengines/javasound/package.html +++ /dev/null @@ -1,11 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.audioengines.javasound</title> -</head> -<body> -<p>Provides a JavaSound-based implementation of a Java 3D audio device.</p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/audioengines/package.html b/src/main/java/org/jogamp/java3d/audioengines/package.html deleted file mode 100644 index 4ad0001..0000000 --- a/src/main/java/org/jogamp/java3d/audioengines/package.html +++ /dev/null @@ -1,11 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.audioengines</title> -</head> -<body> -<p>Provides abstract classes for creating Java 3D audio devices.</p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/exp/swing/package.html b/src/main/java/org/jogamp/java3d/exp/swing/package.html deleted file mode 100644 index 8b1db83..0000000 --- a/src/main/java/org/jogamp/java3d/exp/swing/package.html +++ /dev/null @@ -1,13 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.exp.swing</title> -</head> -<body> -<p><i>EXPERIMENTAL</i>: Provides a lightweight JCanvas3D class. -Note that the API in this package is highly experimental and -subject to change at any time.</p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/loaders/lw3d/package.html b/src/main/java/org/jogamp/java3d/loaders/lw3d/package.html deleted file mode 100644 index 241bf5b..0000000 --- a/src/main/java/org/jogamp/java3d/loaders/lw3d/package.html +++ /dev/null @@ -1,11 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.loaders.lw3d</title> -</head> -<body> -<p>Provides a Java 3D loader for Lightwave 3D scene files.</p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/loaders/objectfile/package.html b/src/main/java/org/jogamp/java3d/loaders/objectfile/package.html deleted file mode 100644 index 9930bb7..0000000 --- a/src/main/java/org/jogamp/java3d/loaders/objectfile/package.html +++ /dev/null @@ -1,11 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.loaders.objectfile</title> -</head> -<body> -<p>Provides a Java 3D loader for Wavefront .obj files.</p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/loaders/package.html b/src/main/java/org/jogamp/java3d/loaders/package.html deleted file mode 100644 index c7a9f12..0000000 --- a/src/main/java/org/jogamp/java3d/loaders/package.html +++ /dev/null @@ -1,11 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.loaders</title> -</head> -<body> -<p>Provides interfaces and abstract classes for writing Java 3D loaders.</p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/applet/package.html b/src/main/java/org/jogamp/java3d/utils/applet/package.html deleted file mode 100644 index 17fd1b1..0000000 --- a/src/main/java/org/jogamp/java3d/utils/applet/package.html +++ /dev/null @@ -1,12 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.utils.applet</title> -</head> -<body> -<p>Provides utility classes for running applets as stand-alone -applications.</p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/audio/package.html b/src/main/java/org/jogamp/java3d/utils/audio/package.html deleted file mode 100644 index ecb71e8..0000000 --- a/src/main/java/org/jogamp/java3d/utils/audio/package.html +++ /dev/null @@ -1,11 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.utils.audio</title> -</head> -<body> -<p>Provides audio utility classes.</p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/behaviors/interpolators/package.html b/src/main/java/org/jogamp/java3d/utils/behaviors/interpolators/package.html deleted file mode 100644 index 19ef214..0000000 --- a/src/main/java/org/jogamp/java3d/utils/behaviors/interpolators/package.html +++ /dev/null @@ -1,11 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.utils.behaviors.interpolators</title> -</head> -<body> -<p>Provides spline-based interpolation behaviors.</p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/behaviors/keyboard/package.html b/src/main/java/org/jogamp/java3d/utils/behaviors/keyboard/package.html deleted file mode 100644 index efe76d5..0000000 --- a/src/main/java/org/jogamp/java3d/utils/behaviors/keyboard/package.html +++ /dev/null @@ -1,11 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.utils.behaviors.keyboard</title> -</head> -<body> -<p>Provides keyboard navigation utility classes.</p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/behaviors/mouse/package.html b/src/main/java/org/jogamp/java3d/utils/behaviors/mouse/package.html deleted file mode 100644 index 6eb2142..0000000 --- a/src/main/java/org/jogamp/java3d/utils/behaviors/mouse/package.html +++ /dev/null @@ -1,11 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.utils.behaviors.mouse</title> -</head> -<body> -<p>Provides mouse navigation utility classes.</p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/behaviors/picking/package.html b/src/main/java/org/jogamp/java3d/utils/behaviors/picking/package.html deleted file mode 100644 index 66a7fd0..0000000 --- a/src/main/java/org/jogamp/java3d/utils/behaviors/picking/package.html +++ /dev/null @@ -1,13 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.utils.behaviors.picking</title> -</head> -<body> -<p><i><b>Deprecated</b>: Use <code><a - href="../../pickfast/behaviors/package-summary.html">org.jogamp.java3d.utils.pickfast.behaviors</a></code> -instead.</i></p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/behaviors/sensor/package.html b/src/main/java/org/jogamp/java3d/utils/behaviors/sensor/package.html deleted file mode 100644 index 754890d..0000000 --- a/src/main/java/org/jogamp/java3d/utils/behaviors/sensor/package.html +++ /dev/null @@ -1,11 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.utils.behaviors.sensor</title> -</head> -<body> -<p>Provides 6DOF sensor behavior classes.</p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/behaviors/vp/package.html b/src/main/java/org/jogamp/java3d/utils/behaviors/vp/package.html deleted file mode 100644 index 81534d3..0000000 --- a/src/main/java/org/jogamp/java3d/utils/behaviors/vp/package.html +++ /dev/null @@ -1,11 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.utils.behaviors.vp</title> -</head> -<body> -<p>Provides ViewPlatform navigation utility classes.</p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/compression/package.html b/src/main/java/org/jogamp/java3d/utils/compression/package.html deleted file mode 100644 index 639ad1a..0000000 --- a/src/main/java/org/jogamp/java3d/utils/compression/package.html +++ /dev/null @@ -1,13 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.utils.compression</title> -</head> -<body> -<p><i><b>Deprecated</b>: Use <code><a - href="../geometry/compression/package-summary.html">org.jogamp.java3d.utils.geometry.compression</a></code> -instead.</i></p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/geometry/compression/package.html b/src/main/java/org/jogamp/java3d/utils/geometry/compression/package.html deleted file mode 100644 index 948d235..0000000 --- a/src/main/java/org/jogamp/java3d/utils/geometry/compression/package.html +++ /dev/null @@ -1,13 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.utils.geometry.compression</title> -</head> -<body> -<p>Provides compressed geometry utility classes. - This package supersedes the org.jogamp.java3d.CompressedGeometry class and - the org.jogamp.java3d.utils.compression package.</p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/geometry/package.html b/src/main/java/org/jogamp/java3d/utils/geometry/package.html deleted file mode 100644 index 271424e..0000000 --- a/src/main/java/org/jogamp/java3d/utils/geometry/package.html +++ /dev/null @@ -1,12 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.utils.geometry</title> -</head> -<body> -<p>Provides geometry construction, triangulation, and optimization -utility classes.</p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/image/package.html b/src/main/java/org/jogamp/java3d/utils/image/package.html deleted file mode 100644 index 27b3560..0000000 --- a/src/main/java/org/jogamp/java3d/utils/image/package.html +++ /dev/null @@ -1,11 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.utils.image</title> -</head> -<body> -<p>Provides texture image utility classes.</p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/pickfast/behaviors/package.html b/src/main/java/org/jogamp/java3d/utils/pickfast/behaviors/package.html deleted file mode 100644 index e814f82..0000000 --- a/src/main/java/org/jogamp/java3d/utils/pickfast/behaviors/package.html +++ /dev/null @@ -1,11 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.utils.pickfast.behaviors</title> -</head> -<body> -<p>Provides picking behaviors for the new core picking methods.</p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/pickfast/package.html b/src/main/java/org/jogamp/java3d/utils/pickfast/package.html deleted file mode 100644 index 044927f..0000000 --- a/src/main/java/org/jogamp/java3d/utils/pickfast/package.html +++ /dev/null @@ -1,11 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.utils.pickfast</title> -</head> -<body> -<p>Provides picking utility classes for the new core picking methods.</p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/picking/behaviors/package.html b/src/main/java/org/jogamp/java3d/utils/picking/behaviors/package.html deleted file mode 100644 index 32ba40f..0000000 --- a/src/main/java/org/jogamp/java3d/utils/picking/behaviors/package.html +++ /dev/null @@ -1,12 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.utils.picking.behaviors</title> -</head> -<body> -<p><i>OBSOLETE</i>: provides picking behaviors for the old picking -methods.</p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/picking/package.html b/src/main/java/org/jogamp/java3d/utils/picking/package.html deleted file mode 100644 index 1571e03..0000000 --- a/src/main/java/org/jogamp/java3d/utils/picking/package.html +++ /dev/null @@ -1,12 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.utils.picking</title> -</head> -<body> -<p><i>OBSOLETE</i>: provides picking utility classes for the old -picking methods.</p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/scenegraph/io/doc-files/extensibility.html b/src/main/java/org/jogamp/java3d/utils/scenegraph/io/doc-files/extensibility.html deleted file mode 100644 index d77e9bd..0000000 --- a/src/main/java/org/jogamp/java3d/utils/scenegraph/io/doc-files/extensibility.html +++ /dev/null @@ -1,189 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> - -<!-- -/* - * $RCSfile$ - * - * Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistribution of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * - Redistribution in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * Neither the name of Sun Microsystems, Inc. or the names of - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * This software is provided "AS IS," without a warranty of any - * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY - * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL - * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS - * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR - * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, - * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND - * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR - * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGES. - * - * You acknowledge that this software is not designed, licensed or - * intended for use in the design, construction, operation or - * maintenance of any nuclear facility. - * - * $Revision$ - * $Date$ - * $State$ - */ - --> - -<HTML> -<HEAD> - <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1"> - <TITLE>Java 3D scenegraph.io Extensibility</TITLE> -</HEAD> -<BODY BGCOLOR="#ffffff"> -<h1> -Using your own Classes with scenegraph.io -</h1> -<P>The scenegraph.io APIs will handle the IO for all the core Java3D -SceneGraphObjects. However, if you create a subclass of one of these -objects and add it to your Scene Graph, the IO system, by default, -will not store any state information specific to your class.</P> -<P>The default behavior when an unrecognized SceneGraphObject class -is encountered is to traverse up the superclasses of the object until -a recognized Java3D class is located. The data structures for this -class are then used for IO. The system does store the class name of -the original object. -<P>For example: -<pre><font size=-1> -public class MyBranchGroup extends org.jogamp.java3d.BranchGroup { - private int myData; - .... -} -</font></pre> -<P>When the Scene Graph is written to a file and this node is -encountered, the superclass org.jogamp.java3d.BranchGroup will be used -to store all the state for the object so any children of -MyBranchGroup, the capabilities, etc. will be stored, but myData will -be lost. When the scene graph is loaded, MyBranchGroup will be -instantiated and will be populated with all the state from -BranchGroup but myData will have been lost.</P> -<P>To overcome this, the scenegraph.io API provides an interface for -you to implement in your own classes that provides the opportunity -for you to save the state of your classes during the IO processes. -This is the SceneGraphIO interface.</P> -<P>When the scenegraph is saved, the methods of SceneGraphIO are -called in this order -</P> -<OL> - <LI><P>createSceneGraphObjectReferences</P> - <LI><P>saveChildren</P> - <LI><P>writeSceneGraphObject</P> -</OL> -<P>During the load cycle the method call order is</P> -<OL> - <LI><P>Instantiate Object using default constructor</P> - <LI><P>Populate object with state from superclasses</P> - <LI><P>readSceneGraphObject</P> - <LI><P>restoreSceneGraphObjectReferences</P> -</OL> -<P>Within each method you need to perform the following actions: -<UL> - <LI><P><b>createSceneGraphObjectReferences</b> If your object has - references to other SceneGraphObjects then you need to obtain an - object reference (int) for each reference using the - SceneGraphReferenceControl object passed as a parameter to this - method. If you don't have references to other SceneGraphObjects then - no action is required.</P> - <LI><P><b>saveChildren</b> If your object is a subclass of Group and you - want the scenegraph.io package to save the children then this must - return true. If it returns false, the object will be saved but not - its children.</P> - <LI><P><b>writeSceneGraphObject</b> In this method you must write all the - state information for your class, including the object references - obtained in createSceneGraphObjectReferences, to the DataOutput - stream passed into this method.</P> - <LI><P><b>readSceneGraphObject</b> By the time this method is called your - class has been instantiated and the state information in the Java3D - superclass will have been loaded. You should load all the state - information you saved for your class.</P> - <LI><P><b>restoreSceneGraphObjectReferences</b> is called once all the - SceneGraph objects have been loaded and allows you to restore the - references to the other SceneGraph objects.</P> -</UL> -<P>Here are some examples. Only the parts of the source pertaining to -IO are show....</P> -<h2>Behavior Example</h2> -<pre><blockquote><font size=-1> -public class BehaviorIO extends org.jogamp.java3d.Behavior implements SceneGraphIO - private TransformGroup target; // The TG on which this behavior acts - private int targetRef; // Object Reference for target - - public void createSceneGraphObjectReferences( SceneGraphObjectReferenceControl ref ) { - targetRef = ref.addReference( target ); - } - - public void restoreSceneGraphObjectReferences( SceneGraphObjectReferenceControl ref ) { - target = (TransformGroup)ref.resolveReference( targetRef ); - } - - public void writeSceneGraphObject( java.io.DataOutput out ) throws IOException { - out.writeInt( targetRef ); - } - - public void readSceneGraphObject( java.io.DataInput in ) throws IOException { - targetRef = in.readInt(); - } - - // This has no effect as this is not a subclass of Group - public boolean saveChildren() { - return true; - } -</font></blockquote></pre> -<h2> -`BlackBox' Group Example -</h2> -This example is a Group node that creates its subgraph during -its instantiation. An example where you might use this is to -represent some geometry that is loaded from an external file format -such a OpenFLT. -<blockquote><pre><font size=-1> -public class House extends Group implements SceneGraphIO { - public House() { - super(); - this.addChild( OpenFlightLoader.load( "/dir/house.flt" ); - } - - public void createSceneGraphObjectReferences( SceneGraphObjectReferenceControl ref ) { - // No references - } - - public void restoreSceneGraphObjectReferences( SceneGraphObjectReferenceControl ref ) { - // No references - } - - public void writeSceneGraphObject( java.io.DataOutput out ) throws IOException { - // No local state - } - - public void readSceneGraphObject( java.io.DataInput in ) throws IOException { - // No local state - } - - public boolean saveChildren() { - // Don't save the children as they will be restored by the openflightloader - return false; - } -</font></blockquote></pre> -</BODY> -</HTML> diff --git a/src/main/java/org/jogamp/java3d/utils/scenegraph/io/package.html b/src/main/java/org/jogamp/java3d/utils/scenegraph/io/package.html deleted file mode 100644 index 73e795c..0000000 --- a/src/main/java/org/jogamp/java3d/utils/scenegraph/io/package.html +++ /dev/null @@ -1,105 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> - -<!-- -/* - * $RCSfile$ - * - * Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistribution of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * - Redistribution in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * Neither the name of Sun Microsystems, Inc. or the names of - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * This software is provided "AS IS," without a warranty of any - * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY - * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL - * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS - * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR - * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, - * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND - * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR - * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGES. - * - * You acknowledge that this software is not designed, licensed or - * intended for use in the design, construction, operation or - * maintenance of any nuclear facility. - * - * $Revision$ - * $Date$ - * $State$ - */ - --> - -<HTML> -<HEAD> - <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1"> - <TITLE></TITLE> -</HEAD> -<BODY> -<P>This package provides a Java3D SceneGraph IO capability. -The API supports IO of a scenegraph to and from a Java Stream and/or -RandomAccessFile. The features offered for these two io systems are -somewhat different.</P> -<P>The SceneGraphFileReader and SceneGraphFileWriter classes provide -IO to and from a RandomAccessFile. They allow a universe and/or -multiple BranchGraphs to be written to the file with Node's and -NodeComponent's shared between the separate graphs. The graphs can be -read in any order.</P> -<P>SceneGraphStreamReader and SceneGraphStreamWriter classes provide -IO to and from a Stream. These classes allow a universe and/or -multiple BranchGraphs to be passed over stream. In contrast to the -FileReader/Writer sharing of Node's is NOT supported between graphs -by the API. Sharing of node components is supported. If your -application requires references to Nodes in other graphs (such as -SharedGroups) the application must handle the references using the -namedObjects constructs.</P> -<P>Note : If you use SceneGraphStreamWriter class to write to a -FileOutputStream the resulting file cannot be read using the -SceneGraphFileReader, the converse is also true, you can not use a -FileInputStream to load a file written by SceneGraphFileWriter. -<P> -The package supports the IO of all the Java3D 1.3 core classes -and many of the utilities. It also includes interfaces which can be -implemented to allow user defined subclasses of SceneGraphObjects to -be stored. Information on the extensibility can be found -<A HREF="doc-files/extensibility.html">here</A> -<P> -The package has a number of properties which can be used to control the IO -behavior<p> - -<blockquote> -<b>j3d.io.UseSuperClassIfNoChildClass</b> when this property is present the load -operation will attempt to avoid failure if Scene Graph nodes are not present -in the classpath. For example if a developer has subclassed BranchGroup with a -class called MyBG but has not -implemented the SceneGraphIO interface when the API saves the graph the -superclass (ie BranchGroup) data will be stored. When the scene is loaded -normally MyBG must be in the classpath otherwise the load will fail. If this -property is set then the superclass node (ie BranchGroup) will be instantiated -when MyBG is missing. Obviously, if MyBG contained any state information -then this will be lost.<p> - -<b>j3d.io.ImageCompression</b> this can be set to None, GZIP, JPEG and tells the -IO system to compress images in the .j3f file using the prescribed technique. In -the future this will be extended to support all the formats available in -javax.imageio in JDK 1.4. -</blockquote> -</P> -</BODY> -</HTML> diff --git a/src/main/java/org/jogamp/java3d/utils/scenegraph/transparency/package.html b/src/main/java/org/jogamp/java3d/utils/scenegraph/transparency/package.html deleted file mode 100644 index c7669ec..0000000 --- a/src/main/java/org/jogamp/java3d/utils/scenegraph/transparency/package.html +++ /dev/null @@ -1,11 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.utils.scenegraph.transparency</title> -</head> -<body> -<p>Provides transparency sorting utility classes.</p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/shader/package.html b/src/main/java/org/jogamp/java3d/utils/shader/package.html deleted file mode 100644 index fe01b81..0000000 --- a/src/main/java/org/jogamp/java3d/utils/shader/package.html +++ /dev/null @@ -1,11 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.utils.shader</title> -</head> -<body> -<p>Provides shader utility classes.</p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/timer/package.html b/src/main/java/org/jogamp/java3d/utils/timer/package.html deleted file mode 100644 index a3af6aa..0000000 --- a/src/main/java/org/jogamp/java3d/utils/timer/package.html +++ /dev/null @@ -1,11 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.utils.timer</title> -</head> -<body> -<p><i><b>Deprecated</b>: Use java.lang.System.nanoTime() instead.</i></p> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/config-examples.html b/src/main/java/org/jogamp/java3d/utils/universe/doc-files/config-examples.html deleted file mode 100644 index bab913b..0000000 --- a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/config-examples.html +++ /dev/null @@ -1,85 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> - -<!-- -/* - * $RCSfile$ - * - * Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistribution of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * - Redistribution in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * Neither the name of Sun Microsystems, Inc. or the names of - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * This software is provided "AS IS," without a warranty of any - * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY - * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL - * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS - * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR - * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, - * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND - * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR - * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGES. - * - * You acknowledge that this software is not designed, licensed or - * intended for use in the design, construction, operation or - * maintenance of any nuclear facility. - * - * $Revision$ - * $Date$ - * $State$ - */ - --> - -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <meta name="GENERATOR" content="Mozilla/4.76C-CCK-MCD Netscape [en] (X11; U; SunOS 5.8 sun4u) [Netscape]"> -</head> -<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000"> - -<h1> -Example Configuration Files</h1> - -<p><br><a href="j3d1x1.html">j3d1x1</a> A single fullscreen -desktop configuration. -<p><a href="j3d1x1-behavior.html">j3d1x1-behavior</a> A single -fullscreen desktop configuration with a configurable view platform behavior. -<p><a href="j3d1x1-stereo.html">j3d1x1-stereo</a> A single -fullscreen desktop configuration with stereo viewing. -<p><a href="j3d1x1-vr.html">j3d1x1-vr</a> A single fullscreen -desktop configuration with head tracker, stereo viewing, and 6 degree of -freedom mouse. -<p><a href="j3d1x1-window.html">j3d1x1-window</a> A single screen -desktop configuration with a conventional window. -<p><a href="j3d1x2-flat.html">j3d1x2-flat</a> A dual-screen planar -desktop configuration. -<p><a href="j3d1x2-rot30.html">j3d1x2-rot30</a> A dual-screen -desktop configuration with each screen rotated toward the other by 30 degrees. -<p><a href="j3d1x3-cave.html">j3d1x3-cave</a> A three-projector cave -configuration. -<p><a href="j3d1x3-cave-vr.html">j3d1x3-cave-vr</a> A -three-projector cave configuration with head tracking and stereo viewing. -<p><a href="j3d1x3-rot45.html">j3d1x3-rot45</a> A three-screen -desktop configuration with left and right screens rotated 45 degrees from the -center screen. -<p><a href="j3d2x2-flat.html">j3d2x2-flat</a> A four-projector -configuration arranged in a 2x2 array. -<br> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/config-syntax.html b/src/main/java/org/jogamp/java3d/utils/universe/doc-files/config-syntax.html deleted file mode 100644 index e725146..0000000 --- a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/config-syntax.html +++ /dev/null @@ -1,1973 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> - -<!-- -/* - * $RCSfile$ - * - * Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistribution of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * - Redistribution in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * Neither the name of Sun Microsystems, Inc. or the names of - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * This software is provided "AS IS," without a warranty of any - * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY - * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL - * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS - * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR - * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, - * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND - * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR - * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGES. - * - * You acknowledge that this software is not designed, licensed or - * intended for use in the design, construction, operation or - * maintenance of any nuclear facility. - * - * $Revision$ - * $Date$ - * $State$ - */ - --> - -<html> -<head> - <title>The Java 3D Configuration File</title> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <meta name="Author" content="Mark Hood"> -</head> - -<body bgcolor="#FFFFFF"> - -<table border="1" cellpadding="3" cellspacing="0" width="100%"> -<tr bgcolor="#ccccff"> -<td><font size="+2"> -<b>The Java 3D Configuration File</b></font></td> -</tr> -</table> -<br> - -<a href="#SyntaxDescription">Syntax Description</a><br> -<a href="#CommandOverview">Command Overview</a><br> -<a href="#OverviewOfRelevantViewModelParameters"> - Overview of Relevant View Model Parameters</a><br> -<a href="#TopLevelCommandDetails">Top-Level Command Details</a><br> -<a href="#BuiltInCommandDetails">Built-In Command Details</a><br> -<a href="#Command_Index">Command Index</a><br> -<a href="#Property Index">Property Index</a><br> - -<p> -This document is an informal description of the syntax of the Java 3D -configuration file and a tutorial of the semantics of its various commands. -Such a file is written by a user or site administrator to describe the physical -configuration of a local interactive viewing environment. Configuration -properties that can be described in the file include the sizes, positions, and -orientations of displays in either fixed screen environments or head mounted -displays (<i>HMD</i> devices), as well as the input devices and sensors -available for user interaction apart from the keyboard and mouse abstractions -provided by the AWT.</p> -<p> -A configuration file is used by passing its URL to either a ConfigContainer or -a ConfiguredUniverse constructor. The method by which a user specifies the -file is up to the application, but the universe utilities do provide a few -means to easily enable an application to perform this task. These depend upon -a Java 3D property, <i>j3d.configURL</i>, that the user can set on the java -command line with the <i>-D</i> option. Its value should be a URL string -indicating the location of the desired file. The application can then either -call the static ConfigContainer methods -<a href="../ConfigContainer.html#getConfigURL()">getConfigURL</a> -to retrieve the value of the property, or -<a href="../ConfigContainer.html#getConfigURL(java.lang.String)"> -getConfigURL(String)</a> to specify a default file to be used in case the -property is not set. Applications are encouraged to devise their own -user-friendly mechanisms to retrieve the configuration file, although the -setting of the <i>j3d.configURL</i> property should be honored if at all -possible.</p> -<p> -If the attempt to open the resource indicated by the URL is successful, then a -parser will be invoked to read and evaluate the commands it contains and -deposit the results in the ConfigContainer. The parser will detect syntax -errors, invalid commands, and bad references, printing descriptive messages to -System.out, including the line number and text of the offending command. In -general the parser attempts to continue processing as much of the file as it -can when encountering an error. Some errors can only be detected after the -entire file has been evaluated; in those cases an exception will be thrown.</p> -<p> -An application may choose to override the settings of the configuration file by -accessing view-side scenegraph components directly from the ConfigContainer -once the file is evaluated. Applications should avoid this in general, as most -settings are physical calibration constants specific to the local interactive -viewing environment. Nonetheless, application overrides are still sometimes -appropriate; for example, the application may have knowledge of the contents of -the scenegraph that enables it to make a better judgement of where the view's -clipping planes should be.</p> -<br> - -<a name="SyntaxDescription"></a> -<table border="1" cellpadding="3" cellspacing="0" width="100%"> -<tr bgcolor="#ccccff"> -<td><font size="+2"> -<b>Syntax Description</b></font></td> -</tr> -</table> -<p> -The configuration file syntax is very simple; scanning any of the -<a href="config-examples.html">sample configuration files</a> should provide -the general idea. At the broadest level there are two main types of -constructs: <i>comments</i> and <i>commands.</i></p> -<p> -Comments can be either <i>C </i>or <i>C++ style. </i>In a C-style -comment all text between successive occurances of /* and */ is ignored. -A C++ comment begins with // and continues to the end of the line.</p> -<p> -A command begins with an opening parenthesis and ends with a closing -parenthesis. The elements between the parentheses can be of four types: -alphanumeric strings, numbers, quoted strings, or other commands. During the -evaluation of a command, any nested command encountered is itself evaluated, -and the result of that evaluation replaces the nested command within the -original outer command.</p> -<p> -Strings that contain embedded white space, forward slashes, or invalid -tokens must be enclosed in quotes (either single or double). Common cases are -URL strings and Unix path names. Numbers are any non-quoted strings that can -be parsed as double-precision floating point numbers. The strings <i>true, -True, false,</i> and <i>False</i> are converted to their corresponding boolean -values. Strings, quoted strings, and numbers are delimited from each other by -white space.</p> -<p> -Commands in the configuration file have four special forms: <i>point, -matrix, top-level</i>, and <i>built-in</i> commands.</p> - -<blockquote> -<h4> -Points</h4> - -A command that consists entirely of two, three, or four numbers is a 2D point, -a 3D point, or a 4D point respectively. Any other command that starts with a -number is a syntax error. -<p> -Don't pass 2D, 3D, or 4D points to commands that expect two, three, or four -numbers instead. This will generate a syntax error indicating an invalid -number of arguments.</p> - -<h4> -Matrices</h4> - -A 3D matrix is a command that consists entirely of three 3D points. A 4D -matrix consists entirely of either three or four 4D points; if there are only -three 4D points then the fourth is implicitly considered to be (0.0 0.0 0.0 -1.0). The points define the row elements of each type of matrix. Any other -command that starts with a point is a syntax error. - -<h4> -Top-level and built-in commands</h4> - -All other commands start with an alphanumeric string, the <i>command name</i> -which identifies it. The remaining elements of the command are its arguments. -<p> -Command names can either specify top-level or built-in commands. Top-level -commands generally configure Java 3D core and utility classes and can only -appear at the outermost level of parentheses. Built-in commands are provided -by the parser itself to help construct the arguments to top-level commands. -Points, matrices, and built-in commands can only be nested within other -commands.</p> -<p> -An error will result if points, matrices, or built-in commands are invoked at -the outermost level of nesting. Sometimes this error is caused by prematurely -closing the opening parenthesis of the current top-level command. Such an -error is usually preceded by an error from the command indicating an invalid -number of arguments.</p> -<p> -Similarly, errors will be generated if top-level commands are nested. Errors -to this effect are sometimes caused by failing to close all the open -parentheses of the preceding top-level command.</p> -</blockquote> - -<h4> -Java property substitution syntax</h4> - -All strings are additionally scanned for text enclosed by a starting ${ and a -matching }. Such text is looked up as a Java system property name and the -result is substituted back into the string after eliding the starting and -ending delimiters. For example, the command: -<p> -(Include "file:${user.home}/myBody.cfg")</p> -<p> -would evaluate the contents of the file "myBody.cfg" in the user's home -directory on Unix systems. An error is issued if no Java property exists with -the specified name.</p> -<p> -Java property substitution happens early, after tokenization but before command -evaluation. Substitution can occur any number of times anywhere within any -quoted or non-quoted string, including command names, property names, and -property values, as long as the property substitution syntax is not nested.</p> -<br> - -<a name="CommandOverview"></a> -<table border="1" cellpadding="3" cellspacing="0" width="100%"> -<tr bgcolor="#ccccff"> -<td><font size="+2"> -<b>Command Overview</b></font></td> -</tr> -</table> -<p> -Most top-level commands configure concrete Java 3D core and utility classes. -These include PhysicalBody, PhysicalEnvironment, Screen, Sensor, View, and -ViewPlatform. The Screen, View, and ViewPlatform commands also implicitly -configure the Canvas3D core class and the Viewer and ViewingPlatform utility -classes respectively.</p> -<p> -These commands come in two forms: the <i>New<class name></i> and -<i><class name>Property</i> commands. All <i>New</i> commands except -<a href="#NewSensor">NewSensor</a> create new class instances and bind names to -them, while the <i>Property</i> commands refer to these names and configure -their corresponding class instances with the parameters specified by the -command arguments. All references must be to objects previously instantiated -in the file; forward referencing is not supported. Names must be unique within -each class.</p> -<p> -Implementations of the Java 3D InputDevice interface and concrete subclasses of -the abstract ViewPlatformBehavior utility class can also be instantiated and -configured with the same command forms. The <i>New</i> commands for these -objects accept class names as command arguments and instantiate the objects -through introspection. Since the details of the implementations are not known, -configuration parameters are passed through methods which are invoked through -introspection of the method names specified in the <i>Property</i> command -arguments.</p> -<p> -A method invoked through introspection with a <i>Property</i> command gets its -arguments as a single array of Objects. Boolean strings get wrapped into -Boolean objects, and number strings get wrapped into Double. 2D, 3D, and 4D -points get wrapped into Point2d, Point3d, and Point4d objects respectively, -while 3D and 4D matrices get wrapped into Matrix3d and Matrix4d -respectively.</p> -<br> - -<a name="OverviewOfRelevantViewModelParameters"></a> -<table border="1" cellpadding="3" cellspacing="0" width="100%"> -<tr bgcolor="#ccccff"> -<td><font size="+2"> -<b>Overview of Relevant View Model Parameters</b></font></td> -</tr> -</table> -<p> -The sample configuration files are annotated to assist users in modifying them -to suit their particular viewing environments, but it can be helpful to know -some of the basics of the Java 3D view model that are relevant to writing a -configuration file. This overview should only be considered an informal -adjunct to the detailed description in the Java 3D Specification. Reading the -source code to the <a href="../ViewInfo.html">ViewInfo</a> utility (a public -implementation of the Java 3D view model) may also be helpful in understanding -the details of the view model.</p> - -<table border="1" cellpadding="3" cellspacing="0" width="100%"> -<tr bgcolor="#eeeeff"> -<td> -<b>The Camera View Model</b></font></td> -</tr> -</table> -<p> -In the traditional camera model the camera or eyepoint is positioned and -oriented with respect to the virtual world via a view transform. Objects -contained within the field of view are projected onto an image plane, which is -then mapped onto a display surface, usually a window on a desktop display -system. While the view direction and camera position can be freely oriented -and placed anywhere in the virtual world, the projection is accomplished using -a static frustum defined by the field of view and a flat image plane centered -about and normal to the view direction.</p> -<p> -This model emulates a typical physical camera quite well, but there are many -viewing configurations that cannot be implemented using image planes that are -fixed with respect to the view direction. In a multiple screen environment the -projection frustum for each screen is skewed with respect to the image plane, -based on the user's nominal viewing position. Realistic stereo views on fixed -displays use skewed projection frustums derived from the offsets of the two -eyes from the center of the image plane, while head tracking with fixed -displays involves dynamically adjusting projection frustums in response to -varying eye positions relative to the image plane.</p> -<p> -In a low-level API such as OpenGL these situations are handled by concatenating -all defined model and viewing transforms into a single <i>modelview matrix</i>, -and for a fixed-screen environment explicitly computing the <i>projection -matrix</i> for each eye, each display surface, and each new head -position. Every application handling such viewing configurations typically -reimplements the framework for computing those matrices itself. In these cases -it would be useful to be able to separate the projection components out of the -view transform in some representation based on display and eye locations.</p> - -<table border="1" cellpadding="3" cellspacing="0" width="100%"> -<tr bgcolor="#eeeeff"> -<td> -<b>The Java 3D View Model</b></font></td> -</tr> -</table> -<p> -Based on these requirements, a high-level view model should provide standard -mechanisms to 1) define a screen's position and orientation in relation to -other screens in the viewing environment; 2) specify the position of the user's -eyes or an HMD relative to the physical space in which the screens or nominal -user position are defined, and to have them updated automatically if tracking -hardware exists; and 3) describe where the whole physical space is placed and -oriented in the virtual world. In such a model the appropriate images could -then be rendered without further computation in application code.</p> -<p> -In the Java 3D view model, screen <i>(image plate)</i> positions and -orientations are defined relative to a fixed frame of reference in the physical -world, the <i>tracker base</i>, through the -<a href="#TrackerBaseToImagePlate">TrackerBaseToImagePlate</a> property. The -tracker base is somewhat abstract in that it is always used to define that -fixed frame of reference, even if no physical tracking hardware is being -used. If the <a href="#ViewPolicy">ViewPolicy</a> is HMD_VIEW, then the left -and right image plates for head mounted displays are defined relative to the -head tracking sensor, which reports head orientation and position relative to -the tracker base.</p> -<p> -<i>Coexistence coordinates</i> are defined with the -<a href="#CoexistenceToTrackerBase">CoexistenceToTrackerBase</a> property. It -provides a frame of reference in the physical world which can be set up by the -user or application in whatever way is most convenient for positioning and -orienting screens, physical body attributes, and sensing devices in the virtual -world. If tracking is enabled, then the eye positions in coexistence are -computed from the position and orientation of the head tracking sensor and the -<a href="#HeadToHeadTracker">HeadToHeadTracker</a> matrix; otherwise the eye -positions in coexistence are set according to the -<a href="#CenterEyeInCoexistence">CenterEyeInCoexistence</a> property. In HMD -mode the eye positions are fixed with respect to the image plates.</p> -<p> -The mapping of coexistence coordinates into the virtual world is accomplished -through the <a href="#ViewAttachPolicy">ViewAttachPolicy</a>, which specifies -the point in coexistence coordinates to which the origin of the <i>view -platform</i> should be mapped. The view platform is positioned in the virtual -world by manipulating its <i>view transform</i>, the composite of all the -transforms from the view platform up to its Locale. The basis vectors (X, Y, -and Z directions) of the view platform are always aligned with coexistence -coordinates, and the scaling between view platform coordinates and physical -coordinates is specified by the -<a href="#ScreenScalePolicy">ScreenScalePolicy</a>, so this -establishes the complete mapping of the physical world into the virtual world. -The projection of the virtual world onto the physical display surfaces is then -performed automatically by the Java 3D renderer.</p> -<p> -By default Java 3D tries to emulate the familiar camera model as much as -possible to make it easy to run in a conventional windowed desktop display -environment. It accomplishes this through the following default settings:</p> -<ul> -<li> -<a href="#WindowEyepointPolicy">WindowEyepointPolicy</a> is set to -<code>RELATIVE_TO_FIELD_OF_VIEW</code>.</li> -<li> -<a href="#WindowMovementPolicy">WindowMovementPolicy</a> is set to -<code>PHYSICAL_WORLD</code>.</li> -<li> -<a href="#WindowResizePolicy">WindowResizePolicy</a> is set to -<code>PHYSICAL_WORLD</code>.</li> -<li> -<a href="#ViewAttachPolicy">ViewAttachPolicy</a> is set to -<code>NOMINAL_HEAD</code>.</li> -<li> -<a href="#CoexistenceCenteringEnable">CoexistenceCenteringEnable</a> is set to -true.</li> -</ul> - -When a configuration file is being used the defaults are oriented towards -making the setup of multiple screen environments as easy as possible. If the -coexistence centering enable has not been explicitly set, and either the -CoexistenceToTrackerBase transform for the view has been set or -TrackerBaseToImagePlate has been set for any screen, then the following -defaults are used instead:</p> -<ul> -<li> -<a href="#WindowEyepointPolicy">WindowEyepointPolicy</a> is set to -<code>RELATIVE_TO_COEXISTENCE</code>.</li> -<li> -<a href="#WindowMovementPolicy">WindowMovementPolicy</a> is set to -<code>VIRTUAL_WORLD</code>.</li> -<li> -<a href="#WindowResizePolicy">WindowResizePolicy</a> is set to -<code>VIRTUAL_WORLD</code>.</li> -<li> -<a href="#ViewAttachPolicy">ViewAttachPolicy</a> is set to -<code>NOMINAL_SCREEN</code>.</li> -<li> -<a href="#CoexistenceCenteringEnable">CoexistenceCenteringEnable</a> is set to -false.</li> -</ul> - -The avove defaults are also used if coexistence centering enable has been -explictly set false. -<br><br><br> - -<a name="TopLevelCommandDetails"></a> -<table border="1" cellpadding="3" cellspacing="0" width="100%"> -<tr bgcolor="#ccccff"> -<td><font size="+2"> -<b>Top-Level Command Details</b></font></td> -</tr> -</table> -<p> -Top-level commands can only appear at the outermost command nesting level.</p> -<hr> - -<h2> -<a NAME="NewDevice"></a>NewDevice</h2> -<b>Syntax:</b> -<br>(NewDevice <i><instance name> <class name></i> -[Alias <i><alias name></i>]) -<p> -This command instantiates the InputDevice implementation specified by the fully -qualified <i>class name</i> and binds it to <i>instance name</i>. The -InputDevice is instantiated through introspection of the class name. The -implementation must provide a parameterless constructor; this can usually be -done by extending or wrapping available InputDevice implementations.</p> -<p> -The last two arguments are optional and define an alias for <i>instance -name</i>. This is useful in providing a longer descriptive name for the -application to recognize, or conversely, to provide a shorter alias for a -longer instance name. Either name may be used to identify the instance.</p> -<p> -At the conclusion of configuration file processing all InputDevice -implementations so defined will be initialized and registered with any -PhysicalEnvironments that reference them.<p> -<hr> - -<h2> -<a NAME="DeviceProperty"></a>DeviceProperty</h2> -<b>Syntax:</b> -<br>(DeviceProperty <i><instance name> <method name> <arg0> -... <argn></i>) -<p> -The details of the InputDevice implementation specified by <i>instance name</i> -are not known to ConfigContainer, so any parameters to be set through the -configuration file are passed to the InputDevice instance by invoking <i>method -name</i> through introspection. The arguments following the method name are -evaluated and the results passed to the method as an array of Objects.</p> -<p> -The required methods can usually be provided by extending or wrapping existing -InputDevice implementations.</p> -<hr> - -<h2> -<a NAME="NewSensor"></a>NewSensor</h2> -<b>Syntax:</b> -<br>(NewSensor <i><instance name> <device name> -<sensor index></i> [Alias <i><alias name></i>]) -<p> -Retrieves the Sensor at index <i>sensor index</i> in the InputDevice <i>device -name</i> and binds it to the name specified by <i>instance name</i>. The -sensor index is a number truncated to its integer value. The InputDevice -implementation is responsible for creating its own Sensor objects, so this -command does not create any new instances.</p> -<p> -<i>Instance name</i> is used by other commands to reference the indicated -Sensor. In addition, the name and its associated Sensor instance is made -available to applications through a Map returned by the ConfigContainer -method -<a href="../ConfigContainer.html#getNamedSensors()">getNamedSensors</a>. -</p> -<p> -The last two arguments are optional and define an alias for <i>instance -name</i>. This is useful in providing a longer descriptive name for the -application to recognize, or conversely, to provide a shorter alias for a -longer instance name. Either name may be used to identify the instance.</p> -<p> -If the Sensor is to be used for head tracking, or tracking the position and -orientation of other objects in the physical world, then it must generate 6 -degree of freedom data relative to the tracker base.</p> -<hr> - -<h2> -<a NAME="SensorProperty"></a>SensorProperty</h2> -<b>Syntax:</b> -<br>(SensorProperty <i><instance name> <property name> -<property value></i>) -<p> -Sets a Sensor property. The sensor instance is specified by <i>instance -name</i>, the property to be set by <i>property name</i>, and the value to be -set by <i>property value</i>. The following sole property may be -configured:</p> - -<blockquote> -<h4> -<a NAME="Hotspot"></a>Hotspot</h4> -A 3D point in the sensor's local coordinate system. The hotspot specifies the -"active" point which should interact with the virtual world, such as a point -used for picking or grabbing an object. Its actual interpretation is up to the -sensor behavior which uses it. Its value is ignored for head tracking sensors. -</blockquote> -<hr> - -<h2> -<a NAME="NewScreen"></a>NewScreen<br> -<a NAME="NewWindow"></a>NewWindow</h2> -<b>Syntax:</b> -<br>(NewScreen <i><instance name> <device index></i> -[Alias <i><alias name></i>]) -<br>(NewWindow <i><instance name> <device index></i> -[Alias <i><alias name></i>]) -<p> -The above two commands are equivalent. Both create new window resources and -associate them with the name specified by <i>instance name</i>. The <i>device -index</i> is a number truncated to its integer value. This integer is the -index at which the desired AWT GraphicsDevice appears in the array returned by -the static getScreenDevices() method of GraphicsEnvironment, and specifies the -physical screen upon which the window should be created. The GraphicsDevice -order in the array is specific to the local viewing site and display -system.</p> -<p> -The last two arguments are optional and define an alias for <i>instance -name</i>. This is useful in providing a longer descriptive name for the -application to recognize, or conversely, to provide a shorter alias for a -longer instance name. Either name may be used to identify the instance.</p> -<hr> - -<h2> -<a NAME="ScreenProperty"></a>ScreenProperty<br> -<a NAME="WindowProperty"></a>WindowProperty</h2> -<b>Syntax:</b> -<br>(ScreenProperty <i><instance name> <property name> -<property value></i>) -<br>(WindowProperty <i><instance name> <property name> -<property value></i>) -<p> -The above two commands are equivalent. The screen or window instance is -specified by <i>instance name</i>, the property to be set by <i>property -name</i>, and the value to be set by <i>property value</i>. The following -properties are configurable:</p> - -<blockquote> -<h4> -<a NAME="PhysicalScreenWidth"></a>PhysicalScreenWidth</h4> -A number specifying the screen's image area width in meters. When using a -configuration file the default is 0.365. For head mounted displays this should -be the <i>apparent</i> width of the display at the focal plane. - -<h4> -<a NAME="PhysicalScreenHeight"></a>PhysicalScreenHeight</h4> -A number specifying the screen's image area height in meters. When using a -configuration file the default is 0.292. For head mounted displays this should -be the <i>apparent</i> height of the display at the focal plane. - -<h4> -<a NAME="WindowSize"></a>WindowSize</h4> -This property's value can be a 2D point to create a window with the specified -X width and Y height in pixels, or it can be either of the strings FullScreen -or NoBorderFullScreen to specify a full screen canvas with visible frame -borders or one with no frame borders. A NoBorderFullScreen canvas uses the -entire physical display surface for its image. The default value is 512 x 512 -pixels. For multiple screen virtual reality installations or head mounted -displays NoBorderFullScreen should be used. - -<h4> -<a NAME="WindowPosition"></a>WindowPosition</h4> -This property's value is a 2D point used to create a window with the specified -X and Y position. These are offsets of the window's upper left corner from the -screen's upper left corner. - -<h4> -<a NAME="TrackerBaseToImagePlate"></a>TrackerBaseToImagePlate</h4> -A 4D matrix which transforms points from tracker base coordinates to the image -plate coordinates for the specified screen. This is only used when a -ViewPolicy of <code>SCREEN_VIEW</code> is in effect. The matrix value is -identity by default. -<p> -Image plate dimensions are expressed in meters. The origin of the image plate -is the lower left corner of the screen's image area, with X increasing to the -right, Y increasing to the top, and Z increasing away from the screen.</p> -<p> -The tracker base is somewhat abstract. It is used as a local fixed frame of -reference for specifying the orientation and position of a screen <i>even when -tracking hardware is not being used</i>. It is also the frame of reference for -defining coexistence coordinates with the -<a href="#CoexistenceToTrackerBase">CoexistenceToTrackerBase</a> matrix.</p> -<p> -The <a href="#BuiltInCommandDetails">built-in commands</a> Translate, -Rotate, RotateTranslate, and TranslateRotate are available to make it easier -to create transforms of this type. - -<h4> -<a NAME="HeadTrackerToLeftImagePlate"></a>HeadTrackerToLeftImagePlate<br> -<a NAME="HeadTrackerToRightImagePlate"></a>HeadTrackerToRightImagePlate</h4> -4D matrices which transform points in the head tracking sensor's local -coordinate system to a head mounted display's left and right image plates -respectively. The default value for each is the identity matrix.</p> -<p> -These are only used when a ViewPolicy of <code>HMD_VIEW</code> is in effect. -As with physical screen dimensions, these matrices should indicate the -<i>apparent</i> location and orientation of the screen images as viewed through -the head mounted display's optics.</p> -<p> -The HMD manufacturer's specifications in terms of angle of view, distance to -the focal plane, aspect ratio, and percentage of image overlap between the left -and right views can be used to derive the apparent screen positions with -respect to the head, and from there the positions with respect to the head -tracker mounted on the head. In most cases there is 100% overlap between the -two stereo images, so the matrices for both the left and right screens should -be identical.</p> -<p> -Some HMD devices support field-sequential stereo and are driven as if they were -a single screen. In that case, only a single screen should be defined, but -<i>both</i> the left and right head tracker to image plate transforms need to -be specified for that same screen.</p> - -<h4> -<a NAME="MonoscopicViewPolicy"></a>MonoscopicViewPolicy</h4> -This property may have the following string values: <code>CYCLOPEAN_EYE_VIEW, -LEFT_EYE_VIEW</code>, or <code>RIGHT_EYE_VIEW</code>. The default value is -<code>CYCLOPEAN_EYE_VIEW</code>. This default works for non-stereo displays -and field-sequential stereo displays where the two stereo images are generated -on the same canvas.</p> -<p> -Some HMD devices can be driven as a single screen if the HMD supports -field-sequential stereo, so the default policy will work for them as well if a -stereo view is enabled. If stereo is not enabled, an IllegalStateException will -be thrown when the ViewPolicy is set to <code>HMD_VIEW</code> with the default -<code>CYCLOPEAN_EYE_VIEW</code> policy in effect.</p> -<p> -The <code>LEFT_EYE_VIEW</code> and <code>RIGHT_EYE_VIEW</code> monoscopic view -policies are used for generating stereo pairs on separate monoscopic canvases, -including the left and right canvases needed by HMD devices that are driven by -two video channels. When using these policies, stereo should <i>not</i> be -enabled.</p> -</blockquote> -<hr> - -<h2> -<a NAME="NewPhysicalEnvironment"></a>NewPhysicalEnvironment</h2> -<b>Syntax:</b> -<br>(NewPhysicalEnvironment <i><instance name></i> -[Alias <i><alias name></i>]) -<p> -Creates a new PhysicalEnvironment and binds it to the name given by <i>instance -name.</i> This specifies the available input devices, which Sensor to use as -the head tracker, and defines the coexistence coordinate system. Note that -aside from the head tracker, the configuration file does not provide a way to -place Sensors into the array maintained by the PhysicalEnvironment. See the -<a href="../ConfigContainer.html#getNamedSensors()">getNamedSensors</a> -method of ConfigContainer.</p> -<p> -The last two arguments are optional and define an alias for <i>instance -name</i>. This is useful in providing a longer descriptive name for the -application to recognize, or conversely, to provide a shorter alias for a -longer instance name. Either name may be used to identify the instance.</p> -<hr> - -<h2> -<a NAME="PhysicalEnvironmentProperty"></a>PhysicalEnvironmentProperty</h2> -<b>Syntax:</b> -<br>(PhysicalEnvironmentProperty <i><instance name> -<property name> <property value></i>) -<p> -Sets a PhysicalEnvironment property. The instance is specified by <i>instance -name</i>, the property to be set by <i>property name</i>, and the value to be -set by <i>property value</i>. The following properties are configurable:</p> - -<blockquote> -<h4> -<a NAME="InputDevice"></a>InputDevice</h4> -Register an InputDevice implementation instantiated by -<a href="#NewDevice">NewDevice.</a> The InputDevice instance name is specified -by the <i>property value</i> string. If an InputDevice is not registered then -it will not be scheduled to run. - -<h4> -<a NAME="HeadTracker"></a>HeadTracker</h4> -Register the Sensor which will be used for head tracking. It must provide 6 -degree of freedom position and orientation reads relative to the tracker base. -The Sensor instance name is specified by the <i>property value</i> string. -Its corresponding input device must be registered with the InputDevice -property. -<p> -There is no actual method in the core PhysicalEnvironment class to set the head -tracker. This property is a simplified interface for setting the -PhysicalEnvironment head index and assigning the head tracking sensor to that -index. Direct access to the PhysicalEnvironment Sensor array is not supported -by the configuration file.</p> - -<h4> -<a NAME="CoexistenceToTrackerBase"></a>CoexistenceToTrackerBase</h4> -A 4D matrix which transforms points in coexistence coordinates to tracker base -coordinates. This defines the position and orientation of coexistence -coordinates relative to the tracker base. Its default value is the identity -matrix, so if it is not set then coexistence coordinates will be the same as -tracker base coordinates. See -<a href="#TrackerBaseToImagePlate">TrackerBaseToImagePlate.</a> -<p> -The coexistence origin (<i>center of coexistence</i>) positions the physical -world with respect to the origin of the ViewPlatform in the virtual world. -This is established through the -<a href="#ViewAttachPolicy">ViewAttachPolicy</a>, which attaches the view -platform to either the center of coexistence, the nominal head, or the nominal -feet. Coexistence coordinates can essentially be thought of as physical -coordinates, but the real purpose is to define the space in which coordinates -systems in the physical world - such as tracker base, image plate, and physical -body - coexist and interact with the virtual world coordinate systems.</p> -<p> -The basis vectors (X, Y, and Z directions) of coexistence coordinates are -always aligned with the basis vectors of the ViewPlatform in the virtual world, -and the scale factor going from ViewPlatform coordinates to coexistence -coordinates is set by the <a href="#ScreenScalePolicy">ScreenScalePolicy</a>. -Together with the ViewPlatform's view attach policy and view transform this -establishes the complete mapping of the physical world into the virtual -world.</p> -<p> -The positioning and orientation of coexistence coordinates with respect to the -physical environment is up to the user or application. In a fixed screen -environment it usually makes most sense to define it in a convenient -relationship to the primary screen or some intersection of the available -screens, such that the coexistence origin is in front of and aligned with the -user's nominal forward gaze direction. This is because the -Z axis of -coexistence coordinates always points along the view direction defined by the -view platform's -Z axis.</p> -<p> -For example, when using a single screen, the most common mapping puts the -center of coexistence in the middle of the screen with its basis vectors -aligned with the screen's image plate coordinate system. With a dual-screen -system it is usually most convenient to place the center of coexistence in the -middle of the edge shared by both screens, with its Z axis extending -perpendicular to the shared edge and maintaining an equal angle to both -screens. For a 2x2 array of four screens putting the center of coexistence at -the center of the array is usually a good choice. In a cave configuration -having the center of coexistence in the middle of the viewing environment can -facilitate the sense of immersion.</p> -<p> -In HMD mode the view attach policy is ignored and is always effectively -<code>NOMINAL_SCREEN</code>. Coexistence coordinates and view platform -coordinates are then equivalent except for scale. For HMD configurations -placing the coexistence coordinate system aligned with some nominal -front-facing user position works well.</p> -<p> -<b>Note:</b> the normal Java 3D default is to place the center of coexistence -in the middle of the screen or canvas by setting -<a href="#CoexistenceCenteringEnable">CoexistenceCenteringEnable</a> true by -default. This only works for a single screen and if both the -TrackerBaseToImagePlate and CoexistenceToTrackerBase matrices are identity. If -either of these matrices are set from their default identity values in the -configuration file, and CoexistenceCenteringEnable has not been set, then the -centering property will be set false by default.<p> -</blockquote> -<hr> - -<h2> -<a NAME="NewPhysicalBody"></a>NewPhysicalBody</h2> -<b>Syntax:</b> -<br>(NewPhysicalBody <i><instance name></i> -[Alias <i><alias name></i>]) -<p> -Creates a new PhysicalBody and binds it to the name given by <i>instance -name</i>. The PhysicalBody is essentiallly the users's head, with the origin -halfway between the eyes in the plane of the face. Positive X extends to the -right eye, positive Y up, and positive Z extends into the skull opposite to the -forward gaze direction. Dimensions are expressed in meters.</p> -<p> -The last two arguments are optional and define an alias for <i>instance -name</i>. This is useful in providing a longer descriptive name for the -application to recognize, or conversely, to provide a shorter alias for a -longer instance name. Either name may be used to identify the instance.</p> -<hr> - -<h2> -<a NAME="PhysicalBodyProperty"></a>PhysicalBodyProperty</h2> -<b>Syntax:</b> -<br>(PhysicalBodyProperty <i><instance name> <property name> -<property value></i>) -<p> -Sets a PhysicalBody property. The instance is specified by <i>instance -name</i>, the property to be set by <i>property name</i>, and the value to be -set by <i>property value</i>. The following properties are configurable:</p> - -<blockquote> -<h4> -<a NAME="StereoEyeSeparation"></a>StereoEyeSeparation</h4> -A number indicating the interpupilary distance in meters. This will set the -left and right eye positions to offsets of half this distance from the head -origin along its X axis. The default is 0.066 meters. -<p> -This property is a simplified interface to setting the PhysicalBody's separate -left and right eye positions; there is no actual method in PhysicalBody to set -stereo eye separation, but the results are exactly equivalent.</p> - -<h4> -<a NAME="LeftEarPosition"></a>LeftEarPosition</h4> -A 3D point which sets the left ear position relative to head coordinates. -The default is (-0.08, -0.03, 0.09). - -<h4> -<a NAME="RightEarPosition"></a>RightEarPosition</h4> -A 3D point which sets the right ear position relative to head coordinates. -The default is (0.08, -0.03, 0.09). - -<h4> -<a NAME="HeadToHeadTracker"></a><b>HeadToHeadTracker</b></h4> -A 4D matrix which transforms points from head coordinates to the local -coordinate system of the head tracking sensor. This allows the positions -of the eyes and ears to be determined from the position and orientation -of the head tracker. The default is the identity matrix. - -<h4> -<a NAME="NominalEyeOffsetFromNominalScreen"></a> -NominalEyeOffsetFromNominalScreen</h4> -A distance in meters used as a calibration parameter for -<a href="#ViewAttachPolicy">ViewAttachPolicy</a>. <i>It does not actually set -the position of the eyes</i>. The property is ignored if ViewAttachPolicy is -NOMINAL_SCREEN. The default value is 0.4572 meters. - -<h4> -<a NAME="NominalEyeHeightFromGround"></a>NominalEyeHeightFromGround</h4> -A distance in meters used as a calibration parameter for -<a href="#ViewAttachPolicy">ViewAttachPolicy</a>. -<i>It does not actually set the position of the eyes</i>. This property is -ignored if ViewAttachPolicy is not NOMINAL_FEET. The default value is 1.68 -meters. -</blockquote> -<hr> - -<h2> -<a NAME="NewView"></a>NewView</h2> -<b>Syntax:</b> -<br>(NewView <i><instance name></i> -[Alias <i><alias name></i>]) -<p> -Creates a new view and binds it to the name given by <i>instance name.</i> -In the configuration file the term <i>view</i> refers to an instance of the -<a href="../Viewer.html">Viewer</a> utility class, which contains both an -instance of a core Java 3D View class and an array of Canvas3D instances into -which to render.</p> -<p> -The last two arguments are optional and define an alias for <i>instance -name</i>. This is useful in providing a longer descriptive name for the -application to recognize, or conversely, to provide a shorter alias for a -longer instance name. Either name may be used to identify the instance.</p> -<p> -ConfiguredUniverse requires that at least one view be defined. If a view -platform is not provided, then ConfiguredUniverse will create a default one and -attach the view to that. If multiple views are defined, then at least one view -platform must be explicitly provided by the configuration, and the -ViewPlatform property must be used to attach each view to a view platform.</p> -<hr> - -<h2> -<a NAME="ViewProperty"></a>ViewProperty</h2> -Syntax: <br> -(NewView <i><instance name> <property name> -<property value></i>) -<p> -Sets a View property. The view instance is specified by <i>instance name</i>, -the property to be set by <i>property name</i>, and the value to be set by -<i>property value</i>. The following properties are configurable:</p> - -<blockquote> -<h4> -<a NAME="Screen"></a>Screen<br> -<a NAME="Window"></a>Window</h4> -These two properties are equivalent. They include a screen created by -<a href="#NewScreen">NewScreen</a> or a window created by -<a href="#NewWindow">NewWindow</a> into -this view. The screen or window name is specified by the <i>property value</i> -string. Multiple-screen or multiple-window views are created by calling this -command with each window or screen to be used. If no windows or screens are -defined for this view then an IllegalArgumentException will be thrown after the -configuration file has been processed. - -<h4> -<a NAME="PhysicalEnvironment"></a>PhysicalEnvironment</h4> -Sets the PhysicalEnvironment to be used for this view. The <i>property -value</i> string specifies the name of a PhysicalEnvironment instance created -by the <a href="#NewPhysicalEnvironment">NewPhysicalEnvironment</a> command. -If no PhysicalEnvironment is specified for this view then one with default -values will be created. - -<h4> -<a NAME="PhysicalBody"></a>PhysicalBody</h4> -Sets the PhysicalBody to be used for this view. The <i>property -value</i> string specifies the name of a PhysicalBody instance created -by the <a href="#NewPhysicalBody">NewPhysicalBody</a> command. If -no PhysicalBody is specified for this view then one with default values -will be created. - -<h4> -<a NAME="ViewPlatform"></a>ViewPlatform</h4> -The <i>property value</i> string is the name of a view platform defined by a -previous <a href="#NewViewPlatform">NewViewPlatform</a> command. This -specifies that the view should be attached to the given view platform. -ConfiguredUniverse requires that a view platform be specified for every defined -view unless only a single view without a view platform is provided; in that -case a view platform is created by default and the view is attached to that. -If one or more view platforms are defined then the view attachments must be -made explicitly. - -<h4> -<a NAME="ViewPolicy"></a>ViewPolicy</h4> -The <i>property value</i> string may be either <code>SCREEN_VIEW</code> or -<code>HMD_VIEW</code> to indicate whether fixed room-mounted screens are being -used or a head mounted display. The default value is <code>SCREEN_VIEW</code>. - -<h4> -<a NAME="CoexistenceCenteringEnable"></a>CoexistenceCenteringEnable</h4> -The <i>property value</i> is a boolean string. If true, then the origin of the -coexistence coordinate system is set to either the middle of the canvas or the -middle of the screen depending upon whether the WindowMovementPolicy is -<code>PHYSICAL_WORLD</code> or <code>VIRTUAL_WORLD</code> respectively. The X, -Y, and Z directions of coexistence coordinates will point in the same -directions as those of the screen's image plate. -<p> -This only works if a single screen is being used and if both the -<a href="#TrackerBaseToImagePlate">TrackerBaseToImagePlate</a> and -<a href="#CoexistenceToTrackerBase">CoexistenceToTrackerBase</a> matrices are -identity. If CoexistenceCenteringEnable is not explicitly set, and either the -CoexistenceToTrackerBase transform for the view has been set or -TrackerBaseToImagePlate has been set for any screen, then the centering enable -will be set to false by default; otherwise, the normal default is true. This -property is also effectively false whenever the ViewPolicy is set to -<code>HMD_VIEW</code>.</p> - -<h4> -<a NAME="WindowEyepointPolicy"></a>WindowEyepointPolicy</h4> -The string value for this property may be either <code>RELATIVE_TO_SCREEN, -RELATIVE_TO_COEXISTENCE, RELATIVE_TO_WINDOW</code>, or -<code>RELATIVE_TO_FIELD_OF_VIEW</code>. The normal Java 3D default is -<code>RELATIVE_TO_FIELD_OF_VIEW</code>. When using a configuration file the -default is <code>RELATIVE_TO_COEXISTENCE</code> if -<a href="#CoexistenceCenteringEnable">CoexistenceCenteringEnable</a> is false, -otherwise the normal default applies. See the -<a href="../../../../../../javax/media/j3d/View.html#setWindowEyepointPolicy(int)">setWindowEyepointPolicy</a> View method. -<p> -For the <code>RELATIVE_TO_SCREEN</code> and <code>RELATIVE_TO_WINDOW</code> -policies, the eyepoint is set by using the setLeftManualEyeInImagePlate() and -setRightManualEyeInImagePlate() methods of Canvas3D. The configuration file -currently does not provide any mechanism for altering these properties from -their default values. These default values are (0.142, 0.135, 0.4572) for the -left eye and (0.208, 0.135, 0.4572) for the right eye.</p> -<p> -These polices are ignored if head tracking is enabled.</p> - -<h4> -<a NAME="WindowMovementPolicy"></a>WindowMovementPolicy<br> -<a NAME="WindowResizePolicy"></a>WindowResizePolicy</h4> - -The string values for these properties may be either <code>VIRTUAL_WORLD</code> -or <code>PHYSICAL_WORLD</code>. The normal Java 3D default value for both is -<code>PHYSICAL_WORLD</code>. When using a configuration file the default -values are <code>VIRTUAL_WORLD</code> if -<a href="#CoexistenceCenteringEnable">CoexistenceCenteringEnable</a> is false, -otherwise the normal defaults apply. See the -<a href="../../../../../../javax/media/j3d/View.html#setWindowMovementPolicy(int)">setWindowMovementPolicy</a> and -<a href="../../../../../../javax/media/j3d/View.html#setWindowResizePolicy(int)">setWindowResizePolicy</a> View methods.</p> - -<h4> -<a NAME="CenterEyeInCoexistence"></a>CenterEyeInCoexistence</h4> -A 3D point which specifies the location of the center eye relative to -coexistence coordinates. See -<a href="#CoexistenceToTrackerBase">CoexistenceToTrackerBase</a>. If stereo -viewing is enabled, then the left and right eye positions are set to offsets -from this position using the values specified by the PhysicalBody. This -property is ignored if head tracking is enabled or if WindowEyepointPolicy is -not <code>RELATIVE_TO_COEXISTENCE</code>. The default value is (0.0, 0.0, -0.4572). -<p> -This property is a simplified interface to setting the View's left -and right manual eyes in coexistence; there is no actual method in View -to set a center eye position.</p> - -<h4> -<a NAME="ScreenScalePolicy"></a>ScreenScalePolicy</h4> -The <i>property value</i> string may be either <code>SCALE_SCREEN_SIZE</code> -or <code>SCALE_EXPLICIT</code> and determines the source of the <i>screen -scale</i>, a factor in the scaling of view platform coordinates to physical -world coordinates. -<p> -If the value is <code>SCALE_SCREEN_SIZE</code>, then the screen scale is half -the physical screen width in meters. If WindowResizePolicy is -<code>PHYSICAL_WORLD</code>, then this scale is further multiplied by the ratio -of the window width to the width of the screen (the <i>window scale</i>) to -produce the scale from view platform coordinates to physical coordinates. This -allows a virtual world which spans a normalized width of [-1.0 .. 1.0] in view -platform coordinates to map directly to the physical width of the window or -screen, depending upon the resize policy.</p> -<p> -<code>SCALE_EXPLICIT</code> uses the value of the ScreenScale property as the -screen scale. It is also further multiplied by the window scale when using the -<code>PHYSICAL_WORLD</code> window resize policy to produce the scale from view -platform coordinates to physical coordinates. Viewing configurations -incorporating multiple screens should generally set the policy to -<code>SCALE_EXPLICIT</code> and choose a screen scale based on the aggregate -display size, but the default value of <code>SCALE_SCREEN_SIZE</code> will -usually work if all the screens are the same size and arranged in a linear -array.</p> -<p> -The view platform is positioned in the virtual world through a chain of -transforms to the root of the scene graph; this composite transform is its -localToVWorld transform and must be congruent. If we take the the inverse of -the scale factor in this transform and call it the <i>view platform scale</i>, -then the scale from virtual world units to physical world units can be computed -as the product of this view platform scale, the screen scale, and, when using a -resize policy of <code>PHYSICAL_WORLD</code>, the window scale. In the usual -case the view platform scale is 1.0.</p> - -<h4> -<a NAME="ScreenScale"></a>ScreenScale</h4> -The <i>property value </i>is a number specifying the explicit screen scale -factor. It is only used if ScreenScalePolicy is <code>SCALE_EXPLICIT</code>; -otherwise, the screen scale is half the physical width of the screen in meters. -The default value for this property is 1.0. - -<h4> -<a NAME="BackClipPolicy"></a>BackClipPolicy<br> -<a NAME="FrontClipPolicy"></a>FrontClipPolicy</h4> -The string values of these properties may be either <code>PHYSICAL_EYE, -PHYSICAL_SCREEN, VIRTUAL_EYE</code>, or <code>VIRTUAL_SCREEN</code>. The -default policies are <code>PHYSICAL_EYE</code>. See the -<a href="../../../../../../javax/media/j3d/View.html#setFrontClipPolicy(int)">setFrontClipPolicy</a> and -<a href="../../../../../../javax/media/j3d/View.html#setBackClipPolicy(int)">setBackClipPolicy</a> View methods. - -<h4> -<a NAME="FrontClipDistance"></a>FrontClipDistance<br> -<a NAME="BackClipDistance"></a>BackClipDistance</h4> -These property values are numbers. The defaults are 0.1 and 10.0 -respectively. See the -<a href="../../../../../../javax/media/j3d/View.html#setFrontClipDistance(double)">setFrontClipDistance</a> and -<a href="../../../../../../javax/media/j3d/View.html#setBackClipDistance(double)">setBackClipDistance</a> View methods.</p> -<p> -With the default clip policies of <code>PHYSICAL_EYE</code> the clip distances -are measured relative to the eye in physical units, so the clip distances -specified must be scaled to virtual world units in order to determine the -distances in the virtual world where they would effectively be applied. As -described in the discussion of -<a href="#ScreenScalePolicy">ScreenScalePolicy</a> above, the scale from -virtual units to physical units is the product of the view platform scale -(usually 1.0), the screen scale, and the window scale (if the window resize -policy is <code>PHYSICAL_WORLD</code>), so normally the scale from physical -units to virtual units would be the inverse of that product.</p> -<p> -There is a quirk, however, with physical clip plane scaling when the -<code>PHYSICAL_EYE</code> or <code>PHYSICAL_SCREEN</code> clip policies are -used with the <code>PHYSICAL_WORLD</code> window resize policy. The locations -of the clip planes in physical units are not actually set to the physical -distances as specified, but are in fact <i>scaled by the window scale</i>. -This means that when determining where the specified physical clip distances -are in virtual units the scaling to be used is the inverse of the product of -the screen scale and view platform scale only.</p> -<p> -This quirk applies only to scaling physical clip plane distances, and only with -the <code>PHYSICAL_WORLD</code> resize policy. It was implemented in this -manner to prevent objects in the virtual world from getting clipped -unexpectedly when the virtual world scaling changed as the result of a window -resize. The quirk can be avoided by using the <code>VIRTUAL_EYE</code> or -<code>VIRTUAL_SCREEN</code> clip policies or by using the -<code>VIRTUAL_WORLD</code> resize policy, but in most cases the effect is -benign and doesn't lead to unexpected results.</p> - -<h4> -<a NAME="FieldOfView"></a>FieldOfView</h4> -This number is the view's horizontal field of view in radians. The default -value is PI/4. This value is ignored if WindowEyepointPolicy is not -<code>RELATIVE_TO_FIELD_OF_VIEW</code> or if head tracking is enabled. The -eyepoint for each canvas associated with the view is set such that it is -centered in X and Y, with the Z value at the appropriate distance to match the -specified field of view across the width of the canvas. - -<h4> -<a NAME="StereoEnable"></a>StereoEnable</h4> -Enable or disable stereo viewing for this view according to the boolean value -specified by the <i>property value</i> string. The default value is false. -<p> -There is no actual method in the core Java 3D View or utility Viewer class to -enable stereo. A true value for this property causes ConfigContainer to -attempt to create stereo-capable canvases for all the screens associated with -this view. Stereo will then be enabled for each canvas successfully created -with stereo capability.</p> - -<h4> -<a NAME="TrackingEnable"></a>TrackingEnable</h4> -Enable or disable head tracking for this view according to the boolean value -specified by the <i>property value</i> string. The default value is false. -<p> -Setting this property true causes WindowEyepointPolicy to be ignored; it will -effectively be <code>RELATIVE_TO_COEXISTENCE</code> with the eyepoint in -coexistence coordinates computed from reading the head tracking sensor. -Tracking must be made available by registering an input device and a head -tracking sensor in PhysicalEnvironment.</p> - -<h4> -<a NAME="AntialiasingEnable"></a>AntialiasingEnable</h4> -Enable or disable scene antialiasing for this view according to the boolean -value specified by the <i>property value</i> string. The default value is -false. -<p> -A true value for this property causes ConfigContainer to attempt to create -a canvas capable of scene antialiasing on each screen associated with this -view. The scene will then be antialiased on each canvas successfully created -with that capability.</p> -<p> -Line and point antialiasing are independent of scene antialiasing and are -controlled by the LineAttribute and PointAttribute components of an Appearance. -If line and point antialiasing is enabled, then they will be antialiased prior -to scene antialiasing; if scene antialiasing is turned off, then antialiased -lines and points will still be antialiased.</p> -</blockquote> -<hr> - -<h2> -<a NAME="NewViewPlatform"></a>NewViewPlatform</h2> -<b>Syntax:</b> -<br>(NewViewPlatform <i><instance name></i> -[Alias <i><alias name></i>]) -<p> -Creates a new view platform and binds it to the name given by <i>instance -name</i>. In the configuration file the term <i>view platform</i> refers to an -instance of the <a href="../ViewingPlatform.html">ViewingPlatform</a> utility -class, which is an extension of BranchGroup containing an instance of a core -Java 3D ViewPlatform class.</p> -<p> -The last two arguments are optional and define an alias for <i>instance -name</i>. This is useful in providing a longer descriptive name for the -application to recognize, or conversely, to provide a shorter alias for a -longer instance name. Either name may be used to identify the instance.</p> -<hr> - -<h2> -<a NAME="ViewPlatformProperty"></a>ViewPlatformProperty</h2> -<b>Syntax:</b> -<br>(ViewPlatformProperty <i><instance name> <property name> -<property value></i>) -<p> -Sets a ViewPlatform property. The instance is specified by <i>instance -name</i>, the property to be set by <i>property name</i>, and the value to be -set by <i>property value</i>. The following properties are configurable:</p> - -<blockquote> -<h4> -<a NAME="NominalViewingTransform"></a>NominalViewingTransform</h4> -The <i>property value</i> is a boolean string indicating whether or not -the view platform should be backed up in Z to allow objects at the origin to be -viewed. This only has effect if the ViewAttachPolicy is -<code>NOMINAL_HEAD</code>. The default value is false. See the -<a href="../ViewingPlatform.html#setNominalViewingTransform()">setNominalViewingTransform</a> -method of ViewingPlatform. - -<h4> -<a NAME="InitialViewingTransform"></a>InitialViewingTransform</h4> -Sets the initial transform of the view platform to the 4D matrix -specified by <i>property value</i>. The default value is identity. - -<h4> -<a NAME="AllowPolicyRead"></a>AllowPolicyRead</h4> -The <i>property value</i> is a boolean string indicating whether or not reading -the ViewAttachPolicy is allowed. The default value is false. - -<h4> -<a NAME="AllowLocalToVworldRead"></a>AllowLocalToVworldRead</h4> -The <i>property value</i> is a boolean string indicating whether or not reading -the view platform's localToVworld transform is allowed. The default value is -false. - -<h4> -<a NAME="ViewPlatformBehavior"></a>ViewPlatformBehavior</h4> -Attaches a ViewPlatformBehavior instantiated by -<a href="#NewViewPlatformBehavior">NewViewPlatformBehavior</a>. -The <i>property value</i> string is the name bound to that instance. - -<h4> -<a NAME="ViewAttachPolicy"></a>ViewAttachPolicy</h4> -The <i>property value</i> string can be one of <code>NOMINAL_SCREEN, -NOMINAL_HEAD,</code> or <code>NOMINAL_FEET</code>. This establishes the point -in coexistence coordinates where the origin of view platform coordinates is -attached. The basis vectors of view platform coordinates are always aligned -with those of coexistence coordinates. -<p> -For a ViewAttachPolicy of <code>NOMINAL_SCREEN</code>, the ViewPlatform origin -is set directly to the origin of coexistence, so that ViewPlatform coordinates -and coexistence coordinates are identical except for scale.</p> -<p> -For a ViewAttachPolicy of <code>NOMINAL_HEAD</code>, the ViewPlatform origin is -set to the origin of the nominal head, the center eye halfway between the left -and right eyes. The nominal head origin is on the Z axis of coexistence -coordinates at some offset from the coexistence origin. If the -WindowEyepointPolicy is <code>RELATIVE_TO_FIELD_OF_VIEW</code>, then this is -the positive Z offset producing the required field of view relative to the -width of the canvas at the coexistence origin, tracking the Z offset of the -eyepoint defined by that policy; otherwise, the Z offset is the -NominalEyeOffsetFromNominalScreen property of PhysicalBody and is decoupled -from the actual eyepoint offset.</p> -<p> -For a ViewAttachPolicy of <code>NOMINAL_FEET</code>, the ViewPlatform origin is -at the ground plane, which is NominalEyeHeightFromGround meters along -Y from -the origin of the nominal head. NominalEyeHeightFromGround is a property of -PhysicalBody.</p> -<p> -<b>Note:</b> The normal Java 3D default is <code>NOMINAL_HEAD</code>. When -using a configuration file, the default is <code>NOMINAL_HEAD</code> only if -every view attached to the view platform has a WindowEyepointPolicy of -<code>RELATIVE_TO_FIELD_OF_VIEW</code>; otherwise, the default is -<code>NOMINAL_SCREEN</code>. If the view policy is <code>HMD_VIEW</code>, then -the ViewAttachPolicy is ignored and is always effectively -<code>NOMINAL_SCREEN</code>.</p> -</blockquote> -<hr> - -<h2> -<a NAME="NewViewPlatformBehavior"></a>NewViewPlatformBehavior</h2> -<b>Syntax:</b> -<br>(NewViewPlatformBehavior <i><instance name> <class name></i> -[Alias <i><alias name></i>]) -<p> -This command instantiates the concrete subclass of ViewPlatformBehavior -specified by the fully qualified <i>class name</i> and binds it to <i>instance -name</i>. The ViewPlatformBehavior is instantiated through introspection of -the class name. The subclass must provide a parameterless constructor. If no -such constructor is available, then the behavior must be extended or wrapped to -provide one and the derived class used instead.</p> -<p> -The last two arguments are optional and define an alias for <i>instance -name</i>. This is useful in providing a longer descriptive name for the -application to recognize, or conversely, to provide a shorter alias for a -longer instance name. Either name may be used to identify the instance.</p> -<p> -View platform behaviors often need sensors or canvases as event sources to -drive the behavior action. A subclass of ViewPlatformBehavior always gets the -current ViewingPlatform through its -<a href="../../behaviors/vp/ViewPlatformBehavior.html#setViewingPlatform(org.jogamp.java3d.utils.universe.ViewingPlatform)">setViewingPlatform</a> -method. When the behavior is initialized, the canvases used by the -ViewingPlatform can be retrieved by calling its -<a href="../ViewingPlatform.html#getViewers()">getViewers</a> method and -then calling each Viewer's -<a href="../Viewer.html#getCanvas3Ds()">getCanvas3Ds</a> method. Sensors -can be retrieved by calling the ViewingPlatform method -<a href="../ViewingPlatform.html#getUniverse()">getUniverse</a>, checking -to see if the returned SimpleUniverse is a ConfiguredUniverse, and then calling -its -<a href="../ConfiguredUniverse.html#getNamedSensors()">getNamedSensors</a> -method.</p> -<p> -Alternatively, the behavior implementation can define its own properties -and receive canvas and sensor instances directly through the -<a href="#Canvas3D">Canvas3D</a> and <a href="#Sensor">Sensor</a> built-in -commands.</p> -<hr> - -<h2> -<a NAME="ViewPlatformBehaviorProperty"></a>ViewPlatformBehaviorProperty</h2> -<b>Syntax:</b> -<br>(ViewPlatformBehaviorProperty <i><instance name> -<property name> <property value></i>) -<p> -Sets a property of a ViewPlatformBehavior. The instance is specified by -<i>instance name</i>, the property to be set by <i>property name</i>, and the -value to be set by <i>property value</i>. The following properties are -pre-defined by the abstract ViewPlatformBehavior superclass and may be -configured directly:<p> - -<blockquote> -<h4> -<a NAME="SchedulingBounds"></a>SchedulingBounds</h4> -The scheduling bounds for this behavior. Use the -<a href="#BoundingSphere">BoundingSphere</a> built-in command to set this -property. The default is whatever the application or the concrete subclass -sets. - -<h4> -<a NAME="SchedulingInterval"></a>SchedulingInterval</h4> -A number indicating the scheduling interval for this behavior. See the -<a href="../../../../../../javax/media/j3d/Behavior.html#setSchedulingInterval(int)">setSchedulingInterval</a> -method of Behavior. - -<h4> -<a NAME="HomeTransform"></a>HomeTransform</h4> -See the ViewPlatformBehavior method -<a href="../../behaviors/vp/ViewPlatformBehavior.html#setHomeTransform(org.jogamp.java3d.Transform3D)">setHomeTransform</a>. -The property value must be a 4D matrix. -</blockquote> -<p> -The details of a concrete subclass of ViewPlatformBehavior are not known to -ConfigContainer, so any properties specific to the subclass are set by -using introspection to invoke <i>property name</i> as a method accepting an -array of Objects as its single parameter. The arguments following the property -name are evaluated and the results passed to the method through that array of -Objects. Such methods can usually be provided by extending or wrapping -existing ViewPlatformBehavior implementations.</p> -<hr> - -<h2> -<a NAME="NewObject"></a>NewObject</h2> -<b>Syntax:</b> -<br>(NewObject <i><instance name> <class name></i> -[Alias <i><alias name></i>]) -<p> -This command instantiates a generic object specified by <i>class -name</i> and binds it to <i>instance name</i>. The object is instantiated -through introspection of the class name. The object must provide a -parameterless constructor; this can usually be done by extending or -wrapping existing objects.</p> -<p> -The last two arguments are optional and define an alias for <i>instance -name</i>. This is useful in providing a longer descriptive name for the -application to recognize, or conversely, to provide a shorter alias for a -longer instance name. Either name may be used to identify the instance.</p> -<p> -Objects so defined may be accessed from ConfigContainer through the -<a href="../ConfigContainer.html#getNamedGenericObjects()">getNamedGenericObjects</a> method.</p> -<hr> - -<h2> -<a NAME="ObjectProperty"></a>ObjectProperty</h2> -<b>Syntax:</b> -<br>(ObjectProperty <i><instance name> <method name> <arg0> -... <argn></i>) -<p> -Sets a property of a generic object. The details of the object specified by -<i>instance name</i> are not known to ConfigContainer, so any parameters to be -set through the configuration file are passed to the object instance by -invoking <i>method name</i> through introspection. The arguments following the -method name are evaluated and the results passed to the method as an array of -Objects. The required methods can usually be provided by extending or wrapping -existing objects.</p> -<hr> - -<h2> -<a NAME="JavaProperty"></a>JavaProperty</h2> -<b>Syntax:</b> -<br>(JavaProperty <i><propertyName></i> [Default] -<i><propertyValue></i>) -<p> -Sets the Java system property <i>propertyName</i> to the string -<i>propertyValue</i>. If the optional Default keyword is supplied, then the -property is set only if it doesn't currently have a value.</p> -<p> -Java system properties which affect Java 3D are evaluated at the first -reference to a VirtualUniverse. Setting such properties in the configuration -file is therefore ineffective if a ConfiguredUniverse constructor which accepts -a URL directly is used; ConfigContainer must be used instead. Even then, care -must be taken to avoid static references to VirtualUniverse from objects such -as Transform3D.</p> -<p> -The special Java property substitution syntax ${<i><propertyName></i>} -may be used to access the value of a Java system property anywhere within a -configuration file.</p> -<hr> - -<h2> -<a NAME="Include"></a>Include</h2> -<b>Syntax:</b> -<br>(Include <i><URL string></i>) -<p> -Retrieves the configuration file specified by <i>URL string</i> and includes it -into the current configuration file at the current line. The content of the -included file is evaluated exactly as if it were pasted into the current file -at that line. Included files may be arbitrarily nested.</p> -<p> -URL strings must be quoted.<p> -<hr> - -<h2> -<a NAME="Alias"></a>Alias</h2> -<b>Syntax:</b> -<br>(<i><baseName></i>Alias <i><aliasName> -<originalName></i>) -<p> -Creates an alias for the object specified by <i>originalName</i> (which itself -may be an alias). <i>baseName</i> may be Device, Object, PhysicalBody, -PhysicalEnvironment, Screen, Window, Sensor, View, ViewPlatform, or -ViewPlatformBehavior; it specifies the type of the object being aliased. -Original names and aliases must be unique within a type. Note that there is no -white space between <i>baseName</i> and Alias.</p> -<p> -Aliases are useful for providing shorter or longer descriptive names for an -original name. This function is also provided by the optional Alias keyword -available for all <i>New</i> top-level commands. This separate command can be -used to substitute new names for objects created by generic include files in -order to conform to the names expected by specific applications.</p> -<br> - -<a name="BuiltInCommandDetails"></a> -<table border="1" cellpadding="3" cellspacing="0" width="100%"> -<tr bgcolor="#ccccff"> -<td><font size="+2"> -<b>Built-In Command Details</b></font></td> -</tr> -</table> -<p> -Built-in commands are provided by the parser itself to help construct the -arguments to top-level commands. They cannot appear at the top level of -command nesting.</p> -<p> -Translate, Rotate, TranslateRotate, and RotateTranslate are useful for -computing simple affine transforms of the form <i>Source</i>To<i>Target</i> -(e.g., <i>TrackerBase</i>To<i>ImagePlate</i>). These transform points from the -<i>Source</i> coordinate system to the <i>Target</i> coordinate system by -concatenating translation and rotation matrices. Here is a general rule for -creating such transforms:</p> - -<blockquote> -Subtract (translate) the target origin first if it can be conveniently measured -or computed relative to the source origin along the source X, Y, and Z basis -vectors. Then rotate with Euler angles that move the target basis vectors to -their corresponding source basis vectors. -<p> -If instead it is easier to measure or compute the source origin relative to the -target origin along the target basis vectors, rotate first with Euler angles -that move the target basis vectors to their corresponding source basis vectors, -and then add (translate) the source origin.</p> -</blockquote> -<p> -The Canvas3D, Sensor, Device, PhysicalBody, PhysicalEnvironment, View, -ViewPlatform, ViewPlatformBehavior, and Object built-in commands return -references to the objects named by their arguments. These are mostly useful -for InputDevice and ViewPlatformBehavior implementations that define their own -properties. The return values of these built-in commands should not be passed -to commands that expect strings.</p> -<hr> - -<h2> -<a NAME="Translate"></a>Translate</h2> -<b>Syntax:</b> -<br>(Translate <i><x offset> <y offset> <z offset></i>) -<p> -Returns a 4D matrix that translates by the given X, Y, and Z values.</p> -<hr> - -<h2> -<a NAME="Rotate"></a>Rotate</h2> -<b>Syntax:</b> -<br>(Rotate <i><x degrees> <y degrees> <z degrees></i>) -<p> -Returns a 4D matrix that rotates by the given Euler angles around static X, Y, -and Z basis vectors: first about X, then Y, and then Z. See the -<a href="../../../../../../javax/media/j3d/Transform3D.html#setEuler(org.jogamp.vecmath.Vector3d)">setEuler</a> -method of Transform3D.</p> -<hr> - -<h2> -<a NAME="Concatenate"></a>Concatenate</h2> -<b>Syntax:</b> -<br>(Concatenate <i><m1> <m2></i>) -<p> -Returns a 4D matrix that concatenates 4D matrices <i>m1</i> and <i>m2</i> in -that order. If a point is transformed by the resulting matrix, then in effect -the points are first transformed by <i>m1</i> and then <i>m2</i>.</p> -<hr> - -<h2> -<a NAME="RotateTranslate"></a>RotateTranslate</h2> -<b>Syntax:</b> -<br>(RotateTranslate <i><m1> <m2></i>) -<p> -An alias for the Concatenate command. This is useful to make the -result of the concatenation explicit.</p> -<hr> - -<h2> -<a NAME="TranslateRotate"></a>TranslateRotate</h2> -<b>Syntax:</b> -<br>(TranslateRotate <i><m1> <m2></i>) -<p> -An alias for the Concatenate command. This is useful to make the -result of the concatenation explicit.</p> -<hr> - -<h2> -<a NAME="BoundingSphere"></a>BoundingSphere</h2> -<b>Syntax:</b> -<br>(BoundingSphere <i><center> <radius></i>) -<p> -Returns a BoundingSphere object using the 3D point <i>center</i> and the given -<i>radius</i> in meters. <i>radius</i> may be either a number or the string -Infinite.</p> -<hr> - -<h2> -<a NAME="Canvas3D"></a>Canvas3D</h2> -<b>Syntax:</b> -<br>(Canvas3D <i><screen or window name></i>) -<p> -Returns the Canvas3D instance specified by the given name. A named Canvas3D is -created whenever any of the following configuration commands are used: - -<blockquote> -(ViewProperty <i><view></i> Screen <i><screenName></i>)<br> -(ViewProperty <i><view></i> Window <i><windowName></i>) -</blockquote> - -<i>view</i> is the name of a view created with the NewView command. The -argument to the Canvas3D built-in must be a <i>screenName</i> or -<i>windowName</i> parameter from one of the above commands.</p> -<p> -<b>Note:</b> the NewScreen and NewWindow commands do <i>not</i> create Canvas3D -instances themselves; they are created only by the above configuration -commands.</p> -<hr> - -<h2> -<a NAME="Sensor">Sensor</h2> -<b>Syntax:</b> -<br>(Sensor <i><sensor name></i>) -<p> -Returns the Sensor instance specified by the given name.</p> -<hr> - -<h2> -<a NAME="Device">Device</h2> -<b>Syntax:</b> -<br>(Device <i><device name></i>) -<p> -Returns the InputDevice instance specified by the given name.</p> -<hr> - -<h2> -<a NAME="PhysicalBody">PhysicalBody</h2> -<b>Syntax:</b> -<br>(PhysicalBody <i><body name></i>) -<p> -Returns the PhysicalBody instance specified by the given name.</p> -<hr> - -<h2> -<a NAME="PhysicalEnvironment">PhysicalEnvironment</h2> -<b>Syntax:</b> -<br>(PhysicalEnvironment <i><environment name></i>) -<p> -Returns the PhysicalEnvironment instance specified by the given name.</p> -<hr> - -<h2> -<a NAME="View">View</h2> -<b>Syntax:</b> -<br>(View <i><view name></i>) -<p> -Returns the Viewer instance specified by the given name.</p> -<hr> - -<h2> -<a NAME="ViewPlatform">ViewPlatform</h2> -<b>Syntax:</b> -<br>(ViewPlatform <i><view platform name></i>) -<p> -Returns the ViewingPlatform instance specified by the given name.</p> -<hr> - -<h2> -<a NAME="ViewPlatformBehavior">ViewPlatformBehavior</h2> -<b>Syntax:</b> -<br>(ViewPlatformBehavior <i><behavior name></i>) -<p> -Returns the ViewPlatformBehavior instance specified by the given name.</p> -<hr> - -<h2> -<a NAME="Object">Object</h2> -<b>Syntax:</b> -<br>(Object <i><generic object name></i>) -<p> -Returns the generic object instance specified by the given name. A generic -named object is created by the following configuration command: - -<blockquote> -(NewObject <i><instance name> <class name></i> -[Alias <i><alias name></i>]) -</blockquote> -<hr> - -<h2> -<a NAME="ConfigContainer">ConfigContainer</h2> -<b>Syntax:</b> -<br>(ConfigContainer) -<p> -Returns a reference to the current ConfigContainer.</p> -<br> - -<a name="Command_Index"></a> -<table border="1" cellpadding="3" cellspacing="0" width="100%"> -<tr bgcolor="#ccccff"> -<td><font size="+2"> -<b>Command Index</b></font></td> -</tr> -</table> -<br> - -<table border="1" cellpadding="3" cellspacing="0"> -<tr bgcolor="#eeeeff"> -<th>Command</th> -<th>Type</th> -</tr> -<tr> -<td><a href="#Alias">Alias</a></td> -<td>top-level</td> -</tr> -<tr> -<td><a href="#BoundingSphere">BoundingSphere</a></td> -<td>built-in</td> -</tr> -<tr> -<td><a href="#Canvas3D">Canvas3D</a></td> -<td>built-in</td> -</tr> -<tr> -<td><a href="#Concatenate">Concatenate</a></td> -<td>built-in</td> -</tr> -<tr> -<td><a href="#ConfigContainer">ConfigContainer</a></td> -<td>built-in</td> -</tr> -<tr> -<td><a href="#Device">Device</a></td> -<td>built-in</td> -</tr> -<tr> -<td><a href="#DeviceProperty">DeviceProperty</a></td> -<td>top-level</td> -</tr> -<tr> -<td><a href="#Include">Include</a></td> -<td>top-level</td> -</tr> -<tr> -<td><a href="#JavaProperty">JavaProperty</a></td> -<td>top-level</td> -</tr> -<tr> -<td><a href="#NewDevice">NewDevice</a></td> -<td>top-level</td> -</tr> -<tr> -<td><a href="#NewObject">NewObject</a></td> -<td>top-level</td> -</tr> -<tr> -<td><a href="#NewPhysicalBody">NewPhysicalBody</a></td> -<td>top-level</td> -</tr> -<tr> -<td><a href="#NewPhysicalEnvironment">NewPhysicalEnvironment</a></td> -<td>top-level</td> -</tr> -<tr> -<td><a href="#NewScreen">NewScreen</a></td> -<td>top-level</td> -</tr> -<tr> -<td><a href="#NewSensor">NewSensor</a></td> -<td>top-level</td> -</tr> -<tr> -<td><a href="#NewView">NewView</a></td> -<td>top-level</td> -</tr> -<tr> -<td><a href="#NewViewPlatform">NewViewPlatform</a></td> -<td>top-level</td> -</tr> -<tr> -<td><a href="#NewViewPlatformBehavior">NewViewPlatformBehavior</a></td> -<td>top-level</td> -</tr> -<tr> -<td><a href="#NewWindow">NewWindow</a></td> -<td>top-level</td> -</tr> -<tr> -<td><a href="#Object">Object</a></td> -<td>built-in</td> -</tr> -<tr> -<td><a href="#ObjectProperty">ObjectProperty</a></td> -<td>top-level</td> -</tr> -<tr> -<td><a href="#PhysicalBody">PhysicalBody</a></td> -<td>built-in</td> -</tr> -<tr> -<td><a href="#PhysicalBodyProperty">PhysicalBodyProperty</a></td> -<td>top-level</td> -</tr> -<tr> -<td><a href="#PhysicalEnvironment">PhysicalEnvironment</a></td> -<td>built-in</td> -</tr> -<tr> -<td><a href="#PhysicalEnvironmentProperty">PhysicalEnvironmentProperty</a></td> -<td>top-level</td> -</tr> -<tr> -<td><a href="#Rotate">Rotate</a></td> -<td>built-in</td> -</tr> -<tr> -<td><a href="#RotateTranslate">RotateTranslate</a></td> -<td>built-in</td> -</tr> -<tr> -<td><a href="#ScreenProperty">ScreenProperty</a></td> -<td>top-level</td> -</tr> -<tr> -<td><a href="#Sensor">Sensor</a></td> -<td>built-in</td> -</tr> -<tr> -<td><a href="#SensorProperty">SensorProperty</a></td> -<td>top-level</td> -</tr> -<tr> -<td><a href="#Translate">Translate</a></td> -<td>built-in</td> -</tr> -<tr> -<td><a href="#TranslateRotate">TranslateRotate</a></td> -<td>built-in</td> -</tr> -<tr> -<td><a href="#View">View</a></td> -<td>built-in</td> -</tr> -<tr> -<td><a href="#ViewPlatform">ViewPlatform</a></td> -<td>built-in</td> -</tr> -<tr> -<td><a href="#ViewPlatformBehavior">ViewPlatformBehavior</a></td> -<td>built-in</td> -</tr> -<tr> -<td><a href="#ViewProperty">ViewProperty</a></td> -<td>top-level</td> -</tr> -<tr> -<td><a href="#ViewPlatformProperty">ViewPlatformProperty</a></td> -<td>top-level</td> -</tr> -<tr> -<td><a href="#ViewPlatformBehaviorProperty">ViewPlatformBehaviorProperty</a></td> -<td>top-level</td> -</tr> -<tr> -<td><a href="#WindowProperty">WindowProperty</a></td> -<td>top-level</td> -</tr> -</table> -<br><br> - -<a name="Property Index"></a> -<table border="1" cellpadding="3" cellspacing="0" width="100%"> -<tr bgcolor="#ccccff"> -<td><font size="+2"> -<b>Property Index</b></font></td> -</tr> -</table> -<br> - -<table border="1" cellpadding="3" cellspacing="0"> -<tr bgcolor="#eeeeff"> -<th>Property</th> -<th>Command</th> -</tr> -<tr> -<td><a href="#AllowLocalToVworldRead">AllowLocalToVworldRead</a></td> -<td><a href="#ViewPlatformProperty">ViewPlatformProperty</a></td> -</tr> -<tr> -<td><a href="#AllowPolicyRead">AllowPolicyRead</a></td> -<td><a href="#ViewPlatformProperty">ViewPlatformProperty</a></td> -</tr> -<tr> -<td><a href="#AntialiasingEnable">AntialiasingEnable</a></td> -<td><a href="#ViewProperty">ViewProperty</a></td> -</tr> -<tr> -<td><a href="#BackClipDistance">BackClipDistance</a></td> -<td><a href="#ViewProperty">ViewProperty</a></td> -</tr> -<tr> -<td><a href="#BackClipPolicy">BackClipPolicy</a></td> -<td><a href="#ViewProperty">ViewProperty</a></td> -</tr> -<tr> -<td><a href="#CenterEyeInCoexistence">CenterEyeInCoexistence</a></td> -<td><a href="#ViewProperty">ViewProperty</a></td> -</tr> -<tr> -<td><a href="#CoexistenceCenteringEnable">CoexistenceCenteringEnable</a></td> -<td><a href="#ViewProperty">ViewProperty</a></td> -</tr> -<tr> -<td><a href="#CoexistenceToTrackerBase">CoexistenceToTrackerBase</a></td> -<td><a href="#PhysicalEnvironmentProperty">PhysicalEnvironmentProperty</a></td> -</tr> -<tr> -<td><a href="#FieldOfView">FieldOfView</a></td> -<td><a href="#ViewProperty">ViewProperty</a></td> -</tr> -<tr> -<td><a href="#FrontClipDistance">FrontClipDistance</a></td> -<td><a href="#ViewProperty">ViewProperty</a></td> -</tr> -<tr> -<td><a href="#FrontClipPolicy">FrontClipPolicy</a></td> -<td><a href="#ViewProperty">ViewProperty</a></td> -</tr> -<tr> -<td><a href="#HeadToHeadTracker">HeadToHeadTracker</a></td> -<td><a href="#PhysicalBodyProperty">PhysicalBodyProperty</a></td> -</tr> -<tr> -<td><a href="#HeadTracker">HeadTracker</a></td> -<td><a href="#PhysicalEnvironmentProperty">PhysicalEnvironmentProperty</a></td> -</tr> -<tr> -<td><a href="#HeadTrackerToLeftImagePlate">HeadTrackerToLeftImagePlate</a></td> -<td><a href="#ScreenProperty">ScreenProperty</a></td> -</tr> -<tr> -<td><a href="#HeadTrackerToRightImagePlate">HeadTrackerToRightImagePlate</a></td> -<td><a href="#ScreenProperty">ScreenProperty</a></td> -</tr> -<tr> -<td><a href="#HomeTransform">HomeTransform</a></td> -<td><a href="#ViewPlatformBehaviorProperty">ViewPlatformBehaviorProperty</a></td> -</tr> -<tr> -<td><a href="#Hotspot">Hotspot</a></td> -<td><a href="#SensorProperty">SensorProperty</a></td> -</tr> -<tr> -<td><a href="#InitialViewingTransform">InitialViewingTransform</a></td> -<td><a href="#ViewPlatformProperty">ViewPlatformProperty</a></td> -</tr> -<tr> -<td><a href="#InputDevice">InputDevice</a></td> -<td><a href="#PhysicalEnvironmentProperty">PhysicalEnvironmentProperty</a></td> -</tr> -<tr> -<td><a href="#LeftEarPosition">LeftEarPosition</a></td> -<td><a href="#PhysicalBodyProperty">PhysicalBodyProperty</a></td> -</tr> -<tr> -<td><a href="#MonoscopicViewPolicy">MonoscopicViewPolicy</a></td> -<td><a href="#ScreenProperty">ScreenProperty</a></td> -</tr> -<tr> -<td><a href="#NominalEyeHeightFromGround">NominalEyeHeightFromGround</a></td> -<td><a href="#PhysicalBodyProperty">PhysicalBodyProperty</a></td> -</tr> -<tr> -<td><a href="#NominalEyeOffsetFromNominalScreen">NominalEyeOffsetFromNominalScreen</a></td> -<td><a href="#PhysicalBodyProperty">PhysicalBodyProperty</a></td> -</tr> -<tr> -<td><a href="#NominalViewingTransform">NominalViewingTransform</a></td> -<td><a href="#ViewPlatformProperty">ViewPlatformProperty</a></td> -</tr> -<tr> -<td><a href="#PhysicalBody">PhysicalBody</a></td> -<td><a href="#ViewProperty">ViewProperty</a></td> -</tr> -<tr> -<td><a href="#PhysicalEnvironment">PhysicalEnvironment</a></td> -<td><a href="#ViewProperty">ViewProperty</a></td> -</tr> -<tr> -<td><a href="#PhysicalScreenHeight">PhysicalScreenHeight</a></td> -<td><a href="#ScreenProperty">ScreenProperty</a></td> -</tr> -<tr> -<td><a href="#PhysicalScreenWidth">PhysicalScreenWidth</a></td> -<td><a href="#ScreenProperty">ScreenProperty</a></td> -</tr> -<tr> -<td><a href="#RightEarPosition">RightEarPosition</a></td> -<td><a href="#PhysicalBodyProperty">PhysicalBodyProperty</a></td> -</tr> -<tr> -<td><a href="#SchedulingBounds">SchedulingBounds</a></td> -<td><a href="#ViewPlatformBehaviorProperty">ViewPlatformBehaviorProperty</a></td> -</tr> -<tr> -<td><a href="#SchedulingInterval">SchedulingInterval</a></td> -<td><a href="#ViewPlatformBehaviorProperty">ViewPlatformBehaviorProperty</a></td> -</tr> -<tr> -<td><a href="#Screen">Screen</a></td> -<td><a href="#ViewProperty">ViewProperty</a></td> -</tr> -<tr> -<td><a href="#ScreenScale">ScreenScale</a></td> -<td><a href="#ViewProperty">ViewProperty</a></td> -</tr> -<tr> -<td><a href="#ScreenScalePolicy">ScreenScalePolicy</a></td> -<td><a href="#ViewProperty">ViewProperty</a></td> -</tr> -<tr> -<td><a href="#StereoEnable">StereoEnable</a></td> -<td><a href="#ViewProperty">ViewProperty</a></td> -</tr> -<tr> -<td><a href="#StereoEyeSeparation">StereoEyeSeparation</a></td> -<td><a href="#PhysicalBodyProperty">PhysicalBodyProperty</a></td> -</tr> -<tr> -<td><a href="#TrackerBaseToImagePlate">TrackerBaseToImagePlate</a></td> -<td><a href="#ScreenProperty">ScreenProperty</a></td> -</tr> -<tr> -<td><a href="#TrackingEnable">TrackingEnable</a></td> -<td><a href="#ViewProperty">ViewProperty</a></td> -</tr> -<tr> -<td><a href="#ViewAttachPolicy">ViewAttachPolicy</a></td> -<td><a href="#ViewPlatformProperty">ViewPlatformProperty</a></td> -</tr> -<tr> -<td><a href="#ViewPlatform">ViewPlatform</a></td> -<td><a href="#ViewProperty">ViewProperty</a></td> -</tr> -<tr> -<td><a href="#ViewPlatformBehavior">ViewPlatformBehavior</a></td> -<td><a href="#ViewPlatformProperty">ViewPlatformProperty</a></td> -</tr> -<tr> -<td><a href="#ViewPolicy">ViewPolicy</a></td> -<td><a href="#ViewProperty">ViewProperty</a></td> -</tr> -<tr> -<td><a href="#Window">Window</a></td> -<td><a href="#ViewProperty">ViewProperty</a></td> -</tr> -<tr> -<td><a href="#WindowEyepointPolicy">WindowEyepointPolicy</a></td> -<td><a href="#ViewProperty">ViewProperty</a></td> -</tr> -<tr> -<td><a href="#WindowMovementPolicy">WindowMovementPolicy</a></td> -<td><a href="#ViewProperty">ViewProperty</a></td> -</tr> -<tr> -<td><a href="#WindowPosition">WindowPosition</a></td> -<td><a href="#WindowProperty">WindowProperty</a></td> -</tr> -<tr> -<td><a href="#WindowResizePolicy">WindowResizePolicy</a></td> -<td><a href="#ViewProperty">ViewProperty</a></td> -</tr> -<tr> -<td><a href="#WindowSize">WindowSize</a></td> -<td><a href="#WindowProperty">WindowProperty</a></td> -</tr> -</table> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x1-behavior.html b/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x1-behavior.html deleted file mode 100644 index 1c6598d..0000000 --- a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x1-behavior.html +++ /dev/null @@ -1,109 +0,0 @@ -<!-- -/* - * $RCSfile$ - * - * Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistribution of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * - Redistribution in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * Neither the name of Sun Microsystems, Inc. or the names of - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * This software is provided "AS IS," without a warranty of any - * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY - * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL - * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS - * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR - * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, - * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND - * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR - * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGES. - * - * You acknowledge that this software is not designed, licensed or - * intended for use in the design, construction, operation or - * maintenance of any nuclear facility. - * - * $Revision$ - * $Date$ - * $State$ - */ - --> - -<html> -<head> - <title>j3d1x1-behavior config file</title> -</head> - -<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000"> -<pre> -/* - ************************************************************************ - * - * Java 3D configuration file for single fullscreen desktop configuration. - * A view platform behavior is created and configured here as well. - * - ************************************************************************ - */ - -(NewScreen center 0) -(ScreenProperty center WindowSize NoBorderFullScreen) - -(NewView view0) -(ViewProperty view0 Screen center) - -// Create a view platform behavior. Here we use OrbitBehavior, although any -// concrete subclass of the abstract ViewPlatformBehavior with a parameterless -// constructor could be used. The logical name to assign to this behavior is -// specified by the 2nd argument to the NewViewPlatformBehavior command, while -// the 3rd argument is the name of the ViewPlatformBehavior subclass. It is -// instantiated through introspection. -// -(NewViewPlatformBehavior vpb org.jogamp.java3d.utils.behaviors.vp.OrbitBehavior) - -// Set the scheduling bounds to be a BoundingSphere with its center at -// (0.0 0.0 0.0) and an infinite radius. -// -(ViewPlatformBehaviorProperty vpb SchedulingBounds - (BoundingSphere (0.0 0.0 0.0) infinite)) - -// Set properties specific to OrbitBehavior. All arguments following the -// method name are wrapped and passed to the specified method as an array of -// Objects. Strings "true" and "false" get turned into Boolean, and number -// strings get turned into Double. Constructs such as (0.0 1.0 2.0) and -// ((0.0 1.0 2.0 0.5) (3.0 4.0 5.0 1.0) (6.0 7.0 8.0 0.0)) get converted to -// Point3d and Matrix4d respectively. Note that last row of a Matrix4d doesn't -// need to be specified; it is implicitly (0.0 0.0 0.0 1.0). -// -// The REVERSE_ALL flags are usually passed to the OrbitBehavior constructor. -// Since it is being instantiated with its parameterless constructor the -// reverse flags are set here explicitly. -// -(ViewPlatformBehaviorProperty vpb ReverseTranslate true) -(ViewPlatformBehaviorProperty vpb ReverseRotate true) -(ViewPlatformBehaviorProperty vpb ReverseZoom true) - -// Create a new view platform and set the view platform behavior. -// -(NewViewPlatform vp) -(ViewPlatformProperty vp ViewPlatformBehavior vpb) - -// Attach the view to the view platform. -(ViewProperty view0 ViewPlatform vp) -</pre> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x1-stereo.html b/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x1-stereo.html deleted file mode 100644 index 0a91eed..0000000 --- a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x1-stereo.html +++ /dev/null @@ -1,90 +0,0 @@ -<!-- -/* - * $RCSfile$ - * - * Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistribution of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * - Redistribution in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * Neither the name of Sun Microsystems, Inc. or the names of - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * This software is provided "AS IS," without a warranty of any - * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY - * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL - * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS - * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR - * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, - * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND - * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR - * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGES. - * - * You acknowledge that this software is not designed, licensed or - * intended for use in the design, construction, operation or - * maintenance of any nuclear facility. - * - * $Revision$ - * $Date$ - * $State$ - */ - --> - -<html> -<head> - <title>j3d1x1-stereo config file</title> -</head> - -<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000"> -<pre> -/* - ************************************************************************ - * - * Java 3D configuration file for single fullscreen stereo desktop - * configuration with no head tracking. - * - ************************************************************************ - */ - -(NewScreen center 0) -(ScreenProperty center WindowSize NoBorderFullScreen) - -// Define the physical body. -// -// The head origin is halfway between the eyes, with X extending to the right, -// Y up, and positive Z extending into the skull. -// -(NewPhysicalBody SiteUser) - -// Set the interpupilary distance. This sets the LeftEyePosition and -// RightEyePosition to offsets of half this distance along both directions of -// the X axis. -// -(PhysicalBodyProperty SiteUser StereoEyeSeparation 0.066) - -// Create a view using the defined screen and physical body. -// -(NewView view0) -(ViewProperty view0 Screen center) -(ViewProperty view0 PhysicalBody SiteUser) - -// Enable stereo viewing. -// -(ViewProperty view0 StereoEnable true) -</pre> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x1-vr.html b/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x1-vr.html deleted file mode 100644 index a2e07ac..0000000 --- a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x1-vr.html +++ /dev/null @@ -1,173 +0,0 @@ -<!-- -/* - * $RCSfile$ - * - * Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistribution of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * - Redistribution in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * Neither the name of Sun Microsystems, Inc. or the names of - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * This software is provided "AS IS," without a warranty of any - * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY - * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL - * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS - * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR - * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, - * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND - * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR - * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGES. - * - * You acknowledge that this software is not designed, licensed or - * intended for use in the design, construction, operation or - * maintenance of any nuclear facility. - * - * $Revision$ - * $Date$ - * $State$ - */ - --> - -<html> -<head> - <title>j3d1x1-vr config file</title> -</head> - -<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000"> -<pre> -/* - ************************************************************************ - * - * Java 3D configuration file for a single screen stereo desktop display - * using a head tracker and 6DOF mouse. - * - ************************************************************************ - */ - -// Create a screen object and give it a logical name. -(NewScreen center 0) - -// Set the actual available image area. -(ScreenProperty center PhysicalScreenWidth 0.398) -(ScreenProperty center PhysicalScreenHeight 0.282) -(ScreenProperty center WindowSize NoBorderFullScreen) - -// Set the TrackerBaseToImagePlate transform for this screen. -(ScreenProperty center TrackerBaseToImagePlate - (RotateTranslate (Rotate 50.000 0.000 0.000) - (Translate 0.199 0.376 0.000))) - -// Configure the head tracker. -(NewDevice tracker1 org.jogamp.java3d.input.LogitechTracker) -(DeviceProperty tracker1 SerialPort "/dev/ttya") -(DeviceProperty tracker1 ReceiverBaseline 0.1450) -(DeviceProperty tracker1 ReceiverLeftLeg 0.0875) -(DeviceProperty tracker1 ReceiverHeight 0.0470) -(DeviceProperty tracker1 ReceiverTopOffset 0.0000) -(DeviceProperty tracker1 RealtimeSerialBuffer true) - -// Configure the 6DOF wand. -(NewDevice tracker2 org.jogamp.java3d.input.LogitechTracker) -(DeviceProperty tracker2 SerialPort "/dev/ttyb") -(DeviceProperty tracker2 ReceiverBaseline 0.0700) -(DeviceProperty tracker2 ReceiverLeftLeg 0.0625) -(DeviceProperty tracker2 ReceiverHeight 0.0510) -(DeviceProperty tracker2 ReceiverTopOffset 0.0000) -(DeviceProperty tracker2 RealtimeSerialBuffer true) - -// Make the tracker2 device a slave of the tracker1 device. -(DeviceProperty tracker1 Slave (Device tracker2)) - -// Create a 2D mouse valuator. -(NewDevice mouse org.jogamp.java3d.input.Mouse2DValuator) -(DeviceProperty mouse Components (Canvas3D center)) - -// Create logical names for the available sensors. -(NewSensor head tracker1 0) -(NewSensor mouse6d tracker2 0) -(NewSensor mouse2d mouse 0) - -// Set the 6DOF mouse sensor hotspot in the local sensor coordinate system. -(SensorProperty mouse6d Hotspot (0.00 0.00 -0.10)) - -// Create a physical environment. -(NewPhysicalEnvironment SampleSite) - -// Register the input devices and head tracker sensor. -(PhysicalEnvironmentProperty SampleSite InputDevice tracker1) -(PhysicalEnvironmentProperty SampleSite InputDevice tracker2) -(PhysicalEnvironmentProperty SampleSite InputDevice mouse) -(PhysicalEnvironmentProperty SampleSite HeadTracker head) - -// Define coexistence coordinates. -(PhysicalEnvironmentProperty SampleSite CoexistenceToTrackerBase - (TranslateRotate (Translate 0.0 -0.235 0.0) - (Rotate -50.0 0.0 0.0))) - -// Define the physical body. -(NewPhysicalBody SiteUser) - -// Set the interpupilary distance. -(PhysicalBodyProperty SiteUser StereoEyeSeparation 0.066) - -// Define the head location relative to the tracker mounted on the head. -(PhysicalBodyProperty SiteUser HeadToHeadTracker ((1.0 0.0 0.0 0.000) - (0.0 1.0 0.0 0.020) - (0.0 0.0 1.0 0.018))) - -// Create a view platform behavior. -// -(NewViewPlatformBehavior vpb org.jogamp.java3d.utils.behaviors.vp.WandViewBehavior) - -(ViewPlatformBehaviorProperty vpb Sensor6D (Sensor mouse6d)) -(ViewPlatformBehaviorProperty vpb Sensor2D (Sensor mouse2d)) - -(ViewPlatformBehaviorProperty vpb ButtonAction6D 1 GrabView) -(ViewPlatformBehaviorProperty vpb ButtonAction6D 2 TranslateForward) -(ViewPlatformBehaviorProperty vpb ButtonAction6D 0 TranslateBackward) - -(ViewPlatformBehaviorProperty vpb RotationCoords ViewPlatform) -(ViewPlatformBehaviorProperty vpb ButtonAction2D 1 Translation) -(ViewPlatformBehaviorProperty vpb ButtonAction2D 2 Scale) - -(ViewPlatformBehaviorProperty vpb EchoType Beam) -(ViewPlatformBehaviorProperty vpb EchoSize 0.004) - -(ViewPlatformBehaviorProperty vpb EchoColor 1.0 0.7 0.0) -(ViewPlatformBehaviorProperty vpb EchoTransparency 0.4) - -// Create a new view platform and set the view platform behavior. -// -(NewViewPlatform vp) -(ViewPlatformProperty vp ViewPlatformBehavior vpb) - -// Create a view. -// -(NewView view0) -(ViewProperty view0 Screen center) -(ViewProperty view0 PhysicalEnvironment SampleSite) -(ViewProperty view0 PhysicalBody SiteUser) -(ViewProperty view0 ViewPlatform vp) - -// Enable stereo viewing and head tracking. -(ViewProperty view0 StereoEnable true) -(ViewProperty view0 TrackingEnable True) -</pre> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x1-window.html b/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x1-window.html deleted file mode 100644 index 3ff401f..0000000 --- a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x1-window.html +++ /dev/null @@ -1,70 +0,0 @@ -<!-- -/* - * $RCSfile$ - * - * Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistribution of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * - Redistribution in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * Neither the name of Sun Microsystems, Inc. or the names of - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * This software is provided "AS IS," without a warranty of any - * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY - * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL - * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS - * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR - * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, - * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND - * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR - * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGES. - * - * You acknowledge that this software is not designed, licensed or - * intended for use in the design, construction, operation or - * maintenance of any nuclear facility. - * - * $Revision$ - * $Date$ - * $State$ - */ - --> - -<html> -<head> - <title>j3d1x1-window config file</title> -</head> - -<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000"> -<pre> -/* - ************************************************************************ - * - * Java 3D configuration file for a conventional single screen, windowed - * desktop configuration. - * - ************************************************************************ - */ - -(NewWindow window1 0) -(WindowProperty window1 WindowSize (700.0 700.0)) - -(NewView view1) -(ViewProperty view1 Window window1) -</pre> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x1.html b/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x1.html deleted file mode 100644 index 1f7f17b..0000000 --- a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x1.html +++ /dev/null @@ -1,69 +0,0 @@ -<!-- -/* - * $RCSfile$ - * - * Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistribution of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * - Redistribution in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * Neither the name of Sun Microsystems, Inc. or the names of - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * This software is provided "AS IS," without a warranty of any - * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY - * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL - * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS - * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR - * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, - * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND - * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR - * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGES. - * - * You acknowledge that this software is not designed, licensed or - * intended for use in the design, construction, operation or - * maintenance of any nuclear facility. - * - * $Revision$ - * $Date$ - * $State$ - */ - --> - -<html> -<head> - <title>j3d1x1 config file</title> -</head> - -<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000"> -<pre> -/* - ************************************************************************ - * - * Java 3D configuration file for a single fullscreen desktop configuration. - * - ************************************************************************ - */ - -(NewWindow big 0) -(WindowProperty big WindowSize NoBorderFullScreen) - -(NewView view0) -(ViewProperty view0 Window big) -</pre> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x2-flat.html b/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x2-flat.html deleted file mode 100644 index 9391af2..0000000 --- a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x2-flat.html +++ /dev/null @@ -1,152 +0,0 @@ -<!-- -/* - * $RCSfile$ - * - * Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistribution of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * - Redistribution in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * Neither the name of Sun Microsystems, Inc. or the names of - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * This software is provided "AS IS," without a warranty of any - * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY - * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL - * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS - * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR - * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, - * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND - * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR - * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGES. - * - * You acknowledge that this software is not designed, licensed or - * intended for use in the design, construction, operation or - * maintenance of any nuclear facility. - * - * $Revision$ - * $Date$ - * $State$ - */ - --> - -<html> -<head> - <title>j3d1x2-flat config file</title> -</head> - -<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000"> -<pre> -/* - ************************************************************************ - * - * Java 3D configuration file for dual-screen (flat) desktop configuration - * with no head tracking. - * - ************************************************************************ - */ - -// Create new screen objects and associate them with logical names and numbers. -// These numbers are used as indices to retrieve the AWT GraphicsDevice from -// the array that GraphicsEnvironment.getScreenDevices() returns. -// -// NOTE: The GraphicsDevice order in the array is specific to the local -// site and display system. -// -(NewScreen left 0) -(NewScreen right 1) - -// Set the screen dimensions. -// -(ScreenProperty left PhysicalScreenWidth 0.360) -(ScreenProperty left PhysicalScreenHeight 0.288) - -(ScreenProperty right PhysicalScreenWidth 0.360) -(ScreenProperty right PhysicalScreenHeight 0.288) - -// Specify full screen windows. -// -(ScreenProperty left WindowSize NoBorderFullScreen) -(ScreenProperty right WindowSize NoBorderFullScreen) - -// Set the TrackerBaseToImagePlate transforms for these screens. This -// transforms points in tracker base coordinates to each screen's image plate -// coordinates, where the origin of the image plate is defined to be the lower -// left corner of the screen with X increasing to the right, Y increasing to -// the top, and Z increasing away from the screen. -// -// Without head or sensor tracking the tracker base is still needed as a fixed -// frame of reference for describing the orientation and position of each -// screen to the others. The coexistence to tracker base transform is set to -// identity by default, so the tracker base origin and orientation will also -// set the origin and orientation of coexistence coordinates in the physical -// world. -// -// The tracker base and center of coexistence is set here to the middle of the -// edge shared by the two screens. -// -(ScreenProperty left TrackerBaseToImagePlate - (Translate 0.360 0.144 0.0)) -(ScreenProperty right TrackerBaseToImagePlate - (Translate 0.000 0.144 0.0)) - -// Sometimes it is desirable to include the bevels in between the monitors in -// the TrackerBaseToImagePlate transforms, so that the abutting bevels obscure -// the view of the virtual world instead of stretching it out between the -// monitors. For a bevel width of 4.5 cm on each monitor, the above commands -// would become the following: -// -// (ScreenProperty left TrackerBaseToImagePlate -// (Translate 0.405 0.144 0.0)) -// (ScreenProperty right TrackerBaseToImagePlate -// (Translate -0.045 0.144 0.0)) -// -// Conversely, a similar technique may be used to include overlap between the -// screens. This is useful for projection systems which use edge blending -// to provide seamless integration between screens. - - -// Create a view using the defined screens. -// -(NewView view0) -(ViewProperty view0 Screen left) -(ViewProperty view0 Screen right) - -// Set the eyepoint relative to coexistence coordinates. Here it is set 45cm -// toward the user along Z, extending out from the midpoint of the edge shared -// by the two screens. This will create the appropriate skewed projection -// frustums for each image plate. -// -// If a planar display surface is all that is required, the same effect could -// be achieved in a virtual screen enviroment such as Xinerama by simply -// creating a canvas that spans both screens. In some display environments the -// use of a canvas that spans multiple physical screens may cause significant -// performance degradation, however. -// -// See j3d1x2-rot30 for an example of a non-planar configuration that cannot be -// achieved through a single canvas spanning both screens. -// -(ViewProperty view0 CenterEyeInCoexistence (0.0 0.0 0.45)) - -(NewViewPlatform vp) -(ViewPlatformProperty vp AllowPolicyRead true) -(ViewPlatformProperty vp AllowLocalToVworldRead true) - -(ViewProperty view0 ViewPlatform vp) -</pre> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x2-rot30.html b/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x2-rot30.html deleted file mode 100644 index ca5fdd6..0000000 --- a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x2-rot30.html +++ /dev/null @@ -1,111 +0,0 @@ -<!-- -/* - * $RCSfile$ - * - * Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistribution of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * - Redistribution in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * Neither the name of Sun Microsystems, Inc. or the names of - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * This software is provided "AS IS," without a warranty of any - * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY - * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL - * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS - * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR - * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, - * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND - * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR - * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGES. - * - * You acknowledge that this software is not designed, licensed or - * intended for use in the design, construction, operation or - * maintenance of any nuclear facility. - * - * $Revision$ - * $Date$ - * $State$ - */ - --> - -<html> -<head> - <title>j3d1x2-rot30 config file</title> -</head> - -<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000"> -<pre> -/* - ************************************************************************ - * - * Java 3D configuration file for a dual-screen desktop configuration - * with each screen rotated toward the other by 30 degrees about Y from - * planar. The inside angle between them is 120 degrees. - * - ************************************************************************ - */ - -// Create new screen objects and associate them with logical names and numbers. -// These numbers are used as indices to retrieve the AWT GraphicsDevice from -// the array that GraphicsEnvironment.getScreenDevices() returns. -// -// NOTE: The GraphicsDevice order in the array is specific to the local -// site and display system. -// -(NewScreen left 0) -(NewScreen right 1) - -// Set the available image areas for full screens. -// -(ScreenProperty left PhysicalScreenWidth 0.360) -(ScreenProperty left PhysicalScreenHeight 0.288) - -(ScreenProperty right PhysicalScreenWidth 0.360) -(ScreenProperty right PhysicalScreenHeight 0.288) - -// Specify full screen windows. -// -(ScreenProperty left WindowSize NoBorderFullScreen) -(ScreenProperty right WindowSize NoBorderFullScreen) - -// Set the TrackerBaseToImagePlate transforms for these screens. -// -// The tracker base is set here to the middle of the edge shared by the two -// screens. Each screen is rotated 30 degrees toward the other about the -// tracker base +Y axis, so that the tracker base +Z is centered between the -// two screens. -// -(ScreenProperty left TrackerBaseToImagePlate - (RotateTranslate (Rotate 0.000 -30.000 0.0) - (Translate 0.360 0.144 0.0))) - -(ScreenProperty right TrackerBaseToImagePlate - (RotateTranslate (Rotate 0.000 30.000 0.0) - (Translate 0.000 0.144 0.0))) - - -// Create a view using the defined screens. -// -(NewView view0) -(ViewProperty view0 Screen left) -(ViewProperty view0 Screen right) -(ViewProperty view0 CenterEyeInCoexistence (0.0 0.0 0.45)) -</pre> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x3-cave-vr.html b/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x3-cave-vr.html deleted file mode 100644 index 7ad30c4..0000000 --- a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x3-cave-vr.html +++ /dev/null @@ -1,243 +0,0 @@ -<!-- -/* - * $RCSfile$ - * - * Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistribution of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * - Redistribution in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * Neither the name of Sun Microsystems, Inc. or the names of - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * This software is provided "AS IS," without a warranty of any - * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY - * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL - * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS - * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR - * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, - * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND - * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR - * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGES. - * - * You acknowledge that this software is not designed, licensed or - * intended for use in the design, construction, operation or - * maintenance of any nuclear facility. - * - * $Revision$ - * $Date$ - * $State$ - */ - --> - -<html> -<head> - <title>j3d1x3-cave-vr config file</title> -</head> - -<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000"> -<pre> -/* - ************************************************************************ - * - * Java 3D configuration file for a cave environment with head tracking and - * stereo viewing. This cave consists of 3 projectors with 3 screens to the - * left, front, and right of the user, all at 90 degrees to each other. - * - * The projectors in Sun's VirtualPortal sample site are actually turned - * on their sides to get more height. Screen 0 is rotated 90 degrees - * counter-clockwise, while screens 1 and 2 are rotated 90 degrees - * clockwise. - * - ************************************************************************ - */ - -// Configure the head tracker. -// -(NewDevice tracker1 org.jogamp.java3d.input.LogitechTracker) -(DeviceProperty tracker1 SerialPort "/dev/ttya") // Unix paths need quoting. -(DeviceProperty tracker1 TransmitterBaseline 0.4600) -(DeviceProperty tracker1 TransmitterLeftLeg 0.4400) -(DeviceProperty tracker1 TransmitterCalibrationDistance 0.4120) - -// Configure an InputDevice to use for a 6 degree of freedom wand. -// -(NewDevice tracker2 org.jogamp.java3d.input.LogitechTracker) -(DeviceProperty tracker2 SerialPort "/dev/ttyb") -(DeviceProperty tracker2 ReceiverBaseline 0.0700) -(DeviceProperty tracker2 ReceiverLeftLeg 0.0625) -(DeviceProperty tracker2 ReceiverHeight 0.0510) -(DeviceProperty tracker2 ReceiverTopOffset 0.0000) - -// Make the tracker2 device a slave of the tracker1 device. -(DeviceProperty tracker1 Slave (Device tracker2)) - -// Create logical names for the head tracker and wand sensors. The last -// argument is the sensor's index in the input device. -// -(NewSensor head tracker1 0) -(NewSensor sensor6d tracker2 0) - -// Create new screen objects and associate them with logical names and numbers. -// These numbers are used as indices to retrieve the AWT GraphicsDevice from -// the array that GraphicsEnvironment.getScreenDevices() returns. -// -// NOTE: The GraphicsDevice order in the array is specific to the local -// site and display system. -// -(NewScreen left 0) -(NewScreen center 1) -(NewScreen right 2) - - -// Set the available image areas as well as their positition and orientation -// relative to the tracker base. From the orientation of a user standing -// within this VirtualPortal site and facing the center screen, the tracker -// base is along the vertical midline of the screen, 0.248 meters down from -// the top edge, and 1.340 meters in front of it. The tracker base is -// oriented so that its +X axis points to the left, its +Y axis points toward -// the screen, and its +Z axis points toward the floor. -// -(ScreenProperty left PhysicalScreenWidth 2.480) -(ScreenProperty left PhysicalScreenHeight 1.705) -(ScreenProperty left WindowSize NoBorderFullScreen) -(ScreenProperty left TrackerBaseToImagePlate - (( 0.0 0.0 -1.0 2.230) - ( 0.0 -1.0 0.0 1.340) - (-1.0 0.0 0.0 0.885))) - -(ScreenProperty center PhysicalScreenWidth 2.485) -(ScreenProperty center PhysicalScreenHeight 1.745) -(ScreenProperty center WindowSize NoBorderFullScreen) -(ScreenProperty center TrackerBaseToImagePlate - (( 0.0 0.0 1.0 0.248) - (-1.0 0.0 0.0 0.885) - ( 0.0 -1.0 0.0 1.340))) - -(ScreenProperty right PhysicalScreenWidth 2.480) -(ScreenProperty right PhysicalScreenHeight 1.775) -(ScreenProperty right WindowSize NoBorderFullScreen) -(ScreenProperty right TrackerBaseToImagePlate - (( 0.0 0.0 1.0 0.2488) - ( 0.0 -1.0 0.0 1.340) - ( 1.0 0.0 0.0 0.860))) - -// Create a physical environment. This contains the available input devices, -// audio devices, and sensors, and defines the coexistence coordinate system -// for mapping between the virtual and physical worlds. -// -(NewPhysicalEnvironment VirtualPortal) - -// Register the input device defined in this file and the sensor which will -// drive head tracking. -// -(PhysicalEnvironmentProperty VirtualPortal InputDevice tracker1) -(PhysicalEnvironmentProperty VirtualPortal InputDevice tracker2) -(PhysicalEnvironmentProperty VirtualPortal HeadTracker head) - -// Set the location of the center of coexistence relative to the tracker base. -// Here it set to the center of the center screen. The default view attach -// policy of NOMINAL_SCREEN used by ConfiguredUniverse will place the origin of -// the view platform in coexistence coordinates at the center of coexistence. -// -(PhysicalEnvironmentProperty VirtualPortal - CoexistenceToTrackerBase - ((-1.0 0.0 0.0 0.000) - ( 0.0 0.0 -1.0 1.340) - ( 0.0 -1.0 0.0 0.994))) - -// Define the physical body. The head origin is halfway between the eyes, with -// X extending to the right, Y up, and positive Z extending into the skull. -// -(NewPhysicalBody LabRat) -(PhysicalBodyProperty LabRat StereoEyeSeparation .07) - -// Define the position and orientation of the head relative to the tracker -// mounted on the head. -// -(PhysicalBodyProperty LabRat HeadToHeadTracker - ((-1.0 0.0 0.0 0.00) - ( 0.0 0.0 -1.0 0.05) - ( 0.0 -1.0 0.0 0.11))) - -// Create a view platform behavior for the 6DOF sensor. -// -(NewViewPlatformBehavior vpb org.jogamp.java3d.utils.behaviors.vp.WandViewBehavior) - -(ViewPlatformBehaviorProperty vpb Sensor6D sensor6d) -(ViewPlatformBehaviorProperty vpb ButtonAction6D 2 GrabView) -(ViewPlatformBehaviorProperty vpb ButtonAction6D 1 TranslateForward) -(ViewPlatformBehaviorProperty vpb ButtonAction6D 0 TranslateBackward) - -// Default normal translation speed is 0.1 physical meters per second. -(ViewPlatformBehaviorProperty vpb TranslationSpeed - 1.0 PhysicalMeters PerSecond) - -// Default rotation coordinates are Sensor. -(ViewPlatformBehaviorProperty vpb RotationCoords Head) - -// Nominal sensor transform for modified joystick RedBarron -(SensorProperty sensor6d Hotspot (0.00 0.6 0.00)) -(ViewPlatformBehaviorProperty vpb NominalSensorRotation - ((-1.0 0.0 0.0) - ( 0.0 0.0 -1.0) - ( 0.0 -1.0 0.0))) - -// Default 6DOF sensor echo is Gnomon -(ViewPlatformBehaviorProperty vpb EchoSize 0.015) -(ViewPlatformBehaviorProperty vpb EchoType Beam) - -// Default 6DOF sensor echo color is white -(ViewPlatformBehaviorProperty vpb EchoColor 1.0 0.7 0.0) - -// Default 6DOF sensor transparency is 0.0 (opaque) -(ViewPlatformBehaviorProperty vpb EchoTransparency 0.4) - -// Create a new view platform and set the view platform behavior. -// -(NewViewPlatform vp) -(ViewPlatformProperty vp ViewPlatformBehavior vpb) - -// Now define the view. -// -(NewView view0) -(ViewProperty view0 Screen left) -(ViewProperty view0 Screen center) -(ViewProperty view0 Screen right) -(ViewProperty view0 PhysicalBody LabRat) -(ViewProperty view0 PhysicalEnvironment VirtualPortal) -(ViewProperty view0 ViewPlatform vp) - -// Set the screen scale. This is scale factor from virtual to physical -// coordinates. -// -(ViewProperty view0 ScreenScalePolicy SCALE_SCREEN_SIZE) - -// Alternative for explict scaling. -// -//(ViewProperty view0 ScreenScalePolicy SCALE_EXPLICIT) -//(ViewProperty view0 ScreenScale 5.00) - -// Enable stereo viewing. Enable head tracking to get the position of the eyes -// with respect to coexistence. Boolean values may be specified as either -// true, True, false, or False. -// -(ViewProperty view0 StereoEnable true) -(ViewProperty view0 TrackingEnable True) -</pre> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x3-cave.html b/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x3-cave.html deleted file mode 100644 index 9b0298b..0000000 --- a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x3-cave.html +++ /dev/null @@ -1,156 +0,0 @@ -<!-- -/* - * $RCSfile$ - * - * Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistribution of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * - Redistribution in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * Neither the name of Sun Microsystems, Inc. or the names of - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * This software is provided "AS IS," without a warranty of any - * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY - * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL - * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS - * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR - * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, - * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND - * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR - * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGES. - * - * You acknowledge that this software is not designed, licensed or - * intended for use in the design, construction, operation or - * maintenance of any nuclear facility. - * - * $Revision$ - * $Date$ - * $State$ - */ - --> - -<html> -<head> - <title>j3d1x3-cave config file</title> -</head> - -<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000"> -<pre> -/* - ************************************************************************ - * - * Java 3D configuration file for a cave environment. This cave - * consists of 3 projectors with 3 screens to the left, front, and right - * of the user, all at 90 degrees to each other. - * - * The projectors in the VirtualPortal sample site are actually turned - * on their sides to get more height. Screen 0 is rotated 90 degrees - * counter-clockwise, while screens 1 and 2 are rotated 90 degrees - * clockwise. - * - ************************************************************************ - */ - -// Create new screen objects and associate them with logical names and numbers. -// These numbers are used as indices to retrieve the AWT GraphicsDevice from -// the array that GraphicsEnvironment.getScreenDevices() returns. -// -// NOTE: The GraphicsDevice order in the array is specific to the local -// site and display system. -// -(NewScreen left 0) -(NewScreen center 1) -(NewScreen right 2) - - -// Set the available image areas as well as their positition and orientation -// relative to the tracker base. Although this config file doesn't enable -// head tracking, the tracker base is still needed as a point of reference to -// describe the position and orientation of the screens relative to the -// environment. -// -// From the orientation of a user standing within this VirtualPortal site and -// facing the center screen, the tracker base is along the vertical midline of -// the screen, 0.248 meters down from the top edge, and 1.340 meters in front -// of it. The tracker base is oriented so that its +X axis points to the left, -// its +Y axis points toward the screen, and its +Z axis points toward the -// floor. -// -(ScreenProperty left PhysicalScreenWidth 2.480) -(ScreenProperty left PhysicalScreenHeight 1.705) -(ScreenProperty left WindowSize NoBorderFullScreen) -(ScreenProperty left TrackerBaseToImagePlate - (( 0.0 0.0 -1.0 2.230) - ( 0.0 -1.0 0.0 1.340) - (-1.0 0.0 0.0 0.885))) - -(ScreenProperty center PhysicalScreenWidth 2.485) -(ScreenProperty center PhysicalScreenHeight 1.745) -(ScreenProperty center WindowSize NoBorderFullScreen) -(ScreenProperty center TrackerBaseToImagePlate - (( 0.0 0.0 1.0 0.248) - (-1.0 0.0 0.0 0.885) - ( 0.0 -1.0 0.0 1.340))) - -(ScreenProperty right PhysicalScreenWidth 2.480) -(ScreenProperty right PhysicalScreenHeight 1.775) -(ScreenProperty right WindowSize NoBorderFullScreen) -(ScreenProperty right TrackerBaseToImagePlate - (( 0.0 0.0 1.0 0.2488) - ( 0.0 -1.0 0.0 1.340) - ( 1.0 0.0 0.0 0.860))) - -// Set the location of the center of coexistence relative to the tracker base. -// Here it set to the center of the center screen. This config file will set -// the location of the user's eyes relative to this point. The default view -// attach policy of NOMINAL_SCREEN used by ConfiguredUniverse will place the -// origin of the view platform in coexistence coordinates at the center of -// coexistence. -// -(NewPhysicalEnvironment VirtualPortal) -(PhysicalEnvironmentProperty VirtualPortal - CoexistenceToTrackerBase - ((-1.0 0.0 0.0 0.000) - ( 0.0 0.0 -1.0 1.340) - ( 0.0 -1.0 0.0 0.994))) - -// Now define the view. -// -(NewView view0) -(ViewProperty view0 Screen left) -(ViewProperty view0 Screen center) -(ViewProperty view0 Screen right) -(ViewProperty view0 PhysicalEnvironment VirtualPortal) - -// Set the user eye position in the display environment. It is set here to -// 1.340 meters back from the center screen (directly under the tracker), and -// 1.737 meters from the floor (about 5 ft 8.4 inches). -// -(ViewProperty view0 CenterEyeInCoexistence (0.0 0.494 1.340)) - -// Explict scaling. -// -(ViewProperty view0 ScreenScalePolicy SCALE_EXPLICIT) -(ViewProperty view0 ScreenScale 0.30) - -// No stereo viewing for this configuration. -// -(ViewProperty view0 StereoEnable False) -</pre> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x3-rot45.html b/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x3-rot45.html deleted file mode 100644 index 927dbd8..0000000 --- a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d1x3-rot45.html +++ /dev/null @@ -1,122 +0,0 @@ -<!-- -/* - * $RCSfile$ - * - * Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistribution of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * - Redistribution in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * Neither the name of Sun Microsystems, Inc. or the names of - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * This software is provided "AS IS," without a warranty of any - * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY - * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL - * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS - * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR - * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, - * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND - * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR - * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGES. - * - * You acknowledge that this software is not designed, licensed or - * intended for use in the design, construction, operation or - * maintenance of any nuclear facility. - * - * $Revision$ - * $Date$ - * $State$ - */ - --> - -<html> -<head> - <title>j3d1x3-rot45 config file</title> -</head> - -<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000"> -<pre> -/* - ************************************************************************ - * - * Java 3D configuration file for 3 screens. Left and right screens are - * rotated 45 degrees from the center screen. - * - ************************************************************************ - */ - -// Create new screen objects and associate them with logical names and numbers. -// These numbers are used as indices to retrieve the AWT GraphicsDevice from -// the array that GraphicsEnvironment.getScreenDevices() returns. -// -// NOTE: The GraphicsDevice order in the array is specific to the local -// site and display system. -// -(NewScreen left 0) -(NewScreen center 1) -(NewScreen right 2) - -// Set the available image areas for full screens. -// -(ScreenProperty left PhysicalScreenWidth 0.360) -(ScreenProperty left PhysicalScreenHeight 0.288) - -(ScreenProperty center PhysicalScreenWidth 0.360) -(ScreenProperty center PhysicalScreenHeight 0.288) - -(ScreenProperty right PhysicalScreenWidth 0.360) -(ScreenProperty right PhysicalScreenHeight 0.288) - -// Specify full screen windows. -// -(ScreenProperty left WindowSize NoBorderFullScreen) -(ScreenProperty center WindowSize NoBorderFullScreen) -(ScreenProperty right WindowSize NoBorderFullScreen) - -// Set the TrackerBaseToImagePlate transforms for these screens. -// -// The tracker base and center of coexistence are set here to the middle of the -// center screen. The basis vectors are aligned with the center screen image -// plate. The left and right screens are rotated 45 degrees toward each other -// about their shared edges with the center screen. -// -(ScreenProperty center TrackerBaseToImagePlate - (Translate 0.180000 0.144000 0.000000)) - -// cos(45) * 0.360 * 0.5 = 0.127279; 0.360 + 0.127279 = 0.487279 -(ScreenProperty left TrackerBaseToImagePlate - (RotateTranslate - (Rotate 0.000000 -45.000000 0.000000) - (Translate 0.487279 0.144000 0.127279))) - -// cos(45) * 0.360 * 0.5 = 0.127279 -(ScreenProperty right TrackerBaseToImagePlate - (RotateTranslate - (Rotate 0.000000 45.000000 0.000000) - (Translate -0.127279 0.144000 0.127279))) - -// Create a view using the defined screens. -// -(NewView view0) -(ViewProperty view0 Screen left) -(ViewProperty view0 Screen center) -(ViewProperty view0 Screen right) -(ViewProperty view0 CenterEyeInCoexistence (0.0 0.0 0.5)) -</pre> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d2x2-flat.html b/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d2x2-flat.html deleted file mode 100644 index af6f62f..0000000 --- a/src/main/java/org/jogamp/java3d/utils/universe/doc-files/j3d2x2-flat.html +++ /dev/null @@ -1,147 +0,0 @@ -<!-- -/* - * $RCSfile$ - * - * Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistribution of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * - Redistribution in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * Neither the name of Sun Microsystems, Inc. or the names of - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * This software is provided "AS IS," without a warranty of any - * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY - * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL - * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS - * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR - * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, - * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND - * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR - * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGES. - * - * You acknowledge that this software is not designed, licensed or - * intended for use in the design, construction, operation or - * maintenance of any nuclear facility. - * - * $Revision$ - * $Date$ - * $State$ - */ - --> - -<html> -<head> - <title>j3d2x2-flat config file</title> -</head> - -<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000"> -<pre> -/* - ************************************************************************ - * - * Java 3D configuration file for 4 screen projection configuration - * arranged in a 2x2 power wall. - * - ************************************************************************ - */ - -// Create new screen objects and associate them with logical names and numbers. -// These numbers are used as indices to retrieve the AWT GraphicsDevice from -// the array that GraphicsEnvironment.getScreenDevices() returns. -// -// NOTE: The GraphicsDevice order in the array is specific to the local -// site and display system. -// -(NewScreen topleft 0) -(NewScreen topright 1) -(NewScreen bottomleft 3) -(NewScreen bottomright 2) - -// Set the available image areas for full screens. This is important when -// precise scaling between objects in the virtual world and their projections -// into the physical world is desired through use of explicit ScreenScale view -// attributes. The defaults are 0.365 meters for width and 0.292 meters for -// height. -// -(ScreenProperty topleft PhysicalScreenWidth 0.912) -(ScreenProperty topleft PhysicalScreenHeight 0.680) - -(ScreenProperty topright PhysicalScreenWidth 0.912) -(ScreenProperty topright PhysicalScreenHeight 0.680) - -(ScreenProperty bottomleft PhysicalScreenWidth 0.912) -(ScreenProperty bottomleft PhysicalScreenHeight 0.685) - -(ScreenProperty bottomright PhysicalScreenWidth 0.912) -(ScreenProperty bottomright PhysicalScreenHeight 0.685) - - -// Specify full screen windows. -// -(ScreenProperty topleft WindowSize NoBorderFullScreen) -(ScreenProperty topright WindowSize NoBorderFullScreen) -(ScreenProperty bottomleft WindowSize NoBorderFullScreen) -(ScreenProperty bottomright WindowSize NoBorderFullScreen) - -// Set the TrackerBaseToImagePlate transforms for these screens. This -// transforms points in tracker base coordinates to each screen's image plate -// coordinates, where the origin of the image plate is defined to be the lower -// left corner of the screen with X increasing to the right, Y increasing to -// the top, and Z increasing away from the screen. -// -// Without head or sensor tracking the tracker base is still needed as a point -// of reference for describing the orientation and position of each screen to -// the others. The coexistence to tracker base transform is set to identity by -// default, so the tracker base origin and orientation will also set the origin -// and orientation of coexistence coordinates in the physical world. -// -// The tracker base and center of coexistence are set here to the center of the -// 2x2 array with its basis vectors aligned to image plate coordinates. -// -(ScreenProperty topleft TrackerBaseToImagePlate - (Translate 0.912 0.000 0.0)) -(ScreenProperty topright TrackerBaseToImagePlate - (Translate 0.000 0.000 0.0)) -(ScreenProperty bottomleft TrackerBaseToImagePlate - (Translate 0.912 0.685 0.0)) -(ScreenProperty bottomright TrackerBaseToImagePlate - (Translate 0.000 0.685 0.0)) - -// Create a view using the defined screens. -// -(NewView view0) -(ViewProperty view0 Screen topleft) -(ViewProperty view0 Screen topright) -(ViewProperty view0 Screen bottomleft) -(ViewProperty view0 Screen bottomright) - -// Set the screen scale. This is scale factor from virtual to physical -// coordinates. The default policy of SCALE_SCREEN_SIZE doesn't work well here -// since in the 2x2 arrangement the individual screens are too small. The -// explicit scale factor below assumes a normalized range of object coordinates -// of [-1.0 .. +1.0]. -// -(ViewProperty view0 ScreenScalePolicy SCALE_EXPLICIT) -(ViewProperty view0 ScreenScale 0.912) - -// Set the user eye position in the display environment. -// -(ViewProperty view0 CenterEyeInCoexistence (0.0 0.0 1.0)) -</pre> -</body> -</html> diff --git a/src/main/java/org/jogamp/java3d/utils/universe/package.html b/src/main/java/org/jogamp/java3d/utils/universe/package.html deleted file mode 100644 index 06c31db..0000000 --- a/src/main/java/org/jogamp/java3d/utils/universe/package.html +++ /dev/null @@ -1,12 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> - <title>org.jogamp.java3d.utils.universe</title> -</head> -<body> -<p>Provides utility classes for setting up the Java 3D universe, -including the viewing configuration.</p> -</body> -</html> |