summaryrefslogtreecommitdiffstats
path: root/src/VirtualInputDevice/VirtualInputDevice.java
diff options
context:
space:
mode:
authorkcr <kcr@28c7f869-5b4e-e670-f602-82bfaf57f300>2006-02-08 22:48:24 +0000
committerkcr <kcr@28c7f869-5b4e-e670-f602-82bfaf57f300>2006-02-08 22:48:24 +0000
commit80fd150d309bd13424be73392a4bde2c742a185f (patch)
tree21a60a7075bd93cf9fc7f12276becb7d2dd46c07 /src/VirtualInputDevice/VirtualInputDevice.java
parent1f9cc0db52f9a8e5ccb839930bff07145b2cf745 (diff)
Merged changes between 1.4.0-beta3 and 1.4.0-beta4 into dev-1_5
Diffstat (limited to 'src/VirtualInputDevice/VirtualInputDevice.java')
-rw-r--r--src/VirtualInputDevice/VirtualInputDevice.java258
1 files changed, 0 insertions, 258 deletions
diff --git a/src/VirtualInputDevice/VirtualInputDevice.java b/src/VirtualInputDevice/VirtualInputDevice.java
deleted file mode 100644
index 934c8f8..0000000
--- a/src/VirtualInputDevice/VirtualInputDevice.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 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$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.awt.*;
-import java.awt.event.*;
-
-public class VirtualInputDevice implements InputDevice {
-
- private Vector3f position = new Vector3f();
- private Transform3D newTransform = new Transform3D();
- Sensor sensors[] = new Sensor[1];
-
- // The wheel controls control the view platform orientation
- private RotationControls rotControls;
-
- // The button position controls control the view platform position
- private PositionControls positionControls;
-
- private Transform3D rotTransX = new Transform3D();
- private Transform3D rotTransY = new Transform3D();
- private Transform3D rotTransZ = new Transform3D();
-
- private Vector3f initPos = new Vector3f();
-
- private int processingMode;
- private SensorRead sensorRead = new SensorRead();
-
- // These are the settable parameters.
- private boolean printvalues;
- private int xscreeninitloc;
- private int yscreeninitloc;
- private int xscreensize;
- private int yscreensize;
- private float xobjinitloc;
- private float yobjinitloc;
- private float zobjinitloc;
- private float xaxisrotinit;
- private float yaxisrotinit;
- private float zaxisrotinit;
-
- /*
- * Create a device, and use the string arguments in args to construct
- * the device with user preferences.
- */
- public VirtualInputDevice( String[] args ) {
-
- // default user-definable values
- printvalues = false;
- xscreeninitloc = 400;
- yscreeninitloc = 0;
- xscreensize = 400;
- yscreensize = 200;
- xobjinitloc = 0.0f;
- yobjinitloc = 0.0f;
- zobjinitloc = 2.2f;
- xaxisrotinit = 0.0f;
- yaxisrotinit = 0.0f;
- zaxisrotinit = 0.0f;
-
-
- for(int i=0 ; i<args.length ; i+=2) {
- if(args[i] == null)
- break;
- else if(args[i] == "printvalues")
- printvalues = (Boolean.valueOf(args[i+1])).booleanValue();
- else if(args[i] == "xscreeninitloc")
- xscreeninitloc = (Integer.valueOf(args[i+1])).intValue();
- else if(args[i] == "yscreeninitloc")
- yscreeninitloc = (Integer.valueOf(args[i+1])).intValue();
- else if(args[i] == "xscreensize")
- xscreensize = (Integer.valueOf(args[i+1])).intValue();
- else if(args[i] == "yscreensize")
- yscreensize = (Integer.valueOf(args[i+1])).intValue();
- else if(args[i] == "xobjinitloc")
- xobjinitloc = (Float.valueOf(args[i+1])).floatValue();
- else if(args[i] == "yobjinitloc")
- yobjinitloc = (Float.valueOf(args[i+1])).floatValue();
- else if(args[i] == "zobjinitloc")
- zobjinitloc = (Integer.valueOf(args[i+1])).floatValue();
- }
-
- if(printvalues == true) {
- System.out.println("Initial values for VirtualInputDevice:");
- System.out.println("xscreeninitloc = " + xscreeninitloc);
- System.out.println("yscreeninitloc = " + yscreeninitloc);
- System.out.println("xscreeninitsize = " + xscreensize);
- System.out.println("yscreeninitsize = " + yscreensize);
- System.out.println("xobjinitloc = " + xobjinitloc);
- System.out.println("yobjinitloc = " + yobjinitloc);
- System.out.println("zobjinitloc = " + zobjinitloc);
- System.out.println("xaxisrotinit = " + xaxisrotinit);
- System.out.println("yaxisrotinit = " + yaxisrotinit);
- System.out.println("zaxisrotinit = " + zaxisrotinit);
- }
-
-
- // initialize the InputDevice GUI
- Frame deviceFrame = new Frame();
- deviceFrame.setSize(xscreensize,yscreensize);
- deviceFrame.setLocation(xscreeninitloc, yscreeninitloc);
- deviceFrame.setTitle("Virtual Input Device");
- ButtonPositionControls positionControls;
- // initialize position with initial x, y, and z position
- positionControls = new ButtonPositionControls( xobjinitloc,
- yobjinitloc, zobjinitloc);
- WheelControls rotControls;
- // initialize rotations with initial angles in radians)
- rotControls = new WheelControls(xaxisrotinit, yaxisrotinit,
- zaxisrotinit);
- positionControls.setDevice (this);
- Panel devicePanel = new Panel();
- devicePanel.setLayout( new BorderLayout() );
- devicePanel.add("East", positionControls );
- devicePanel.add("West", rotControls );
- deviceFrame.add( devicePanel );
- deviceFrame.pack();
- deviceFrame.setVisible(true);
-
- initPos.set(xobjinitloc, yobjinitloc, zobjinitloc);
-
- this.positionControls = positionControls;
- this.rotControls = rotControls;
-
- // default processing mode
- processingMode = InputDevice.DEMAND_DRIVEN;
-
- sensors[0] = new Sensor(this);
- }
-
- public void close() {
- }
-
- public int getProcessingMode() {
- return processingMode;
- }
-
- public int getSensorCount() {
- return sensors.length;
- }
-
- public Sensor getSensor( int sensorIndex ) {
- return sensors[sensorIndex];
- }
-
- public boolean initialize() {
- return true;
- }
-
- public void pollAndProcessInput() {
-
- sensorRead.setTime( System.currentTimeMillis() );
-
- rotTransX.rotX(-rotControls.getXAngle());
- rotTransY.rotY(-rotControls.getYAngle());
- rotTransZ.rotZ(-rotControls.getZAngle());
-
- positionControls.getPosition(position);
- newTransform.set(position);
- newTransform.mul( rotTransX );
-
- newTransform.mul(rotTransY);
- newTransform.mul(rotTransZ);
-
- sensorRead.set( newTransform );
- sensors[0].setNextSensorRead( sensorRead );
- }
-
-
- public void processStreamInput() {
- }
-
-
- public void setNominalPositionAndOrientation() {
-
- sensorRead.setTime( System.currentTimeMillis() );
-
- rotTransX.rotX(xaxisrotinit);
- rotTransY.rotY(yaxisrotinit);
- rotTransZ.rotZ(zaxisrotinit);
-
- position.set(initPos);
-
- newTransform.set( position );
-
- newTransform.mul(rotTransX);
- newTransform.mul(rotTransY);
- newTransform.mul(rotTransZ);
-
- sensorRead.set( newTransform );
- sensors[0].setNextSensorRead( sensorRead );
- rotControls.reset();
- positionControls.setPosition(initPos);
- }
-
-
-
- public void setProcessingMode( int mode ) {
-
- // A typical driver might implement only one of these modes, and
- // throw an exception when there is an attempt to switch modes.
- // However, this example allows one to use any processing mode.
-
- switch(mode) {
- case InputDevice.DEMAND_DRIVEN:
- case InputDevice.NON_BLOCKING:
- case InputDevice.BLOCKING:
- processingMode = mode;
- break;
- default:
- throw new IllegalArgumentException("Processing mode must " +
- "be one of DEMAND_DRIVEN, NON_BLOCKING, or BLOCKING");
- }
- }
-
-}