diff options
author | kcr <kcr@28c7f869-5b4e-e670-f602-82bfaf57f300> | 2006-02-01 01:33:24 +0000 |
---|---|---|
committer | kcr <kcr@28c7f869-5b4e-e670-f602-82bfaf57f300> | 2006-02-01 01:33:24 +0000 |
commit | 39283191507259cb4dccba3441cdf16025179829 (patch) | |
tree | 29ad229325ab151a056d06fbe4c6f1fcd7b292d7 /src/VirtualInputDevice/ButtonPositionControls.java | |
parent | 3d596b24b72677fbf264a22f3c0ff44aa9bb2baf (diff) |
Issue 206 : Example program cleanup
Item 4) Reorganized directory structure to make the examples a single project rather than a collection of independent apps.
. All example programs moved under src/classes, and all are now in a subpackage of org.jdesktop.j3d.examples.
. All resource files (geometry, images, audio) moved under src/resources
. ant script now exists only at top level
. Created netbeans project file for NetBeans IDE
Diffstat (limited to 'src/VirtualInputDevice/ButtonPositionControls.java')
-rw-r--r-- | src/VirtualInputDevice/ButtonPositionControls.java | 207 |
1 files changed, 0 insertions, 207 deletions
diff --git a/src/VirtualInputDevice/ButtonPositionControls.java b/src/VirtualInputDevice/ButtonPositionControls.java deleted file mode 100644 index 73fccbe..0000000 --- a/src/VirtualInputDevice/ButtonPositionControls.java +++ /dev/null @@ -1,207 +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 java.awt.*; -import java.awt.event.*; -import javax.vecmath.*; -import javax.media.j3d.*; - -public class ButtonPositionControls extends Panel implements PositionControls, MouseListener { - private final static int STILL=0; - private final static int MOVING_UP=1; - private final static int MOVING_DOWN=2; - private final static int MOVING_LEFT=3; - private final static int MOVING_RIGHT=4; - private final static int MOVING_FORWARD=5; - private final static int MOVING_BACK=6; - - // initial mode - private int mode = STILL; - - Vector3f position = new Vector3f(); - Vector3f orig_position = new Vector3f(); - - private Button leftB = new Button("Move Left"); - private Button rightB = new Button("Move Right"); - private Button upB = new Button("Move Up"); - private Button downB = new Button("Move Down"); - - private Button forwardB = new Button("Move Forward"); - private Button backwardB = new Button("Move Back"); - - private Button reset = new Button("Reset"); - private InputDevice device; - - private float step_rate = 0.0023f; // movement rate per millisecond - private long time_last_state_change = System.currentTimeMillis(); - - // the constructor arguments are the intitial X, Y, and Z positions - public ButtonPositionControls( float x, float y, float z ) { - - // up, down, right, and left movement buttons - Panel panPanel = new Panel(); - panPanel.setLayout( new BorderLayout() ); - panPanel.add("North", upB); - panPanel.add("East", rightB); - panPanel.add("South", downB); - panPanel.add("West", leftB); - - // forward, backward, and reset buttons - Panel p = new Panel(); - p.setLayout( new GridLayout(0,1,0,0) ); - p.add(forwardB); - p.add(backwardB); - p.add(reset); - - // set the initial position - position.x = x; - position.y = y; - position.z = z; - orig_position.set(position); - - // add a mouse listener to each button - upB.addMouseListener(this); - downB.addMouseListener(this); - leftB.addMouseListener(this); - rightB.addMouseListener(this); - forwardB.addMouseListener(this); - backwardB.addMouseListener(this); - reset.addMouseListener(this); - - this.setLayout( new BorderLayout() ); - add("East", p ); - add("West", panPanel ); - } - - public void setDevice ( InputDevice device) { - this.device = device; - } - - public void getPosition(Vector3f pos ) { - calculateMotion(); - pos.set(position); - } - - public void setPosition(Vector3f pos ) { - position.set(pos); - } - - public void setStepRate( float stepRate ) { - step_rate = stepRate; - } - - private void calculateMotion() { - - long current_time = System.currentTimeMillis(); - long elapsed_time = current_time - time_last_state_change; - - switch(mode) { - case STILL: - break; - case MOVING_LEFT: - position.x = orig_position.x - step_rate*elapsed_time; - break; - case MOVING_RIGHT: - position.x = orig_position.x + step_rate*elapsed_time; - break; - case MOVING_UP: - position.y = orig_position.y + step_rate*elapsed_time; - break; - case MOVING_DOWN: - position.y = orig_position.y - step_rate*elapsed_time; - break; - case MOVING_FORWARD: - position.z = orig_position.z - step_rate*elapsed_time; - break; - case MOVING_BACK: - position.z = orig_position.z + step_rate*elapsed_time; - break; - default: - throw( new RuntimeException("Unknown motion")); - } - } - - public void mouseClicked( MouseEvent e ) { - } - - public void mouseEntered( MouseEvent e ) { - } - - public void mouseExited( MouseEvent e ) { - } - - public void mousePressed( MouseEvent e ) { - if (e.getSource()==leftB && mode != MOVING_LEFT) { - time_last_state_change = System.currentTimeMillis(); - mode = MOVING_LEFT; - orig_position.set(position); - } else if (e.getSource()==rightB && mode != MOVING_RIGHT) { - time_last_state_change = System.currentTimeMillis(); - mode = MOVING_RIGHT; - orig_position.set(position); - } else if (e.getSource()==upB && mode != MOVING_UP) { - time_last_state_change = System.currentTimeMillis(); - mode = MOVING_UP; - orig_position.set(position); - } else if (e.getSource()==downB && mode != MOVING_DOWN) { - time_last_state_change = System.currentTimeMillis(); - mode = MOVING_DOWN; - orig_position.set(position); - } else if (e.getSource()==forwardB && mode != MOVING_FORWARD) { - time_last_state_change = System.currentTimeMillis(); - mode = MOVING_FORWARD; - orig_position.set(position); - } else if (e.getSource()==backwardB && mode != MOVING_BACK) { - time_last_state_change = System.currentTimeMillis(); - mode = MOVING_BACK; - orig_position.set(position); - } else if (e.getSource()==reset) { - device.setNominalPositionAndOrientation(); - } - } - - public void mouseReleased( MouseEvent e ) { - mode = STILL; - } -} |