Files
jlibwiiuse/java/src/main/java/wiiusej/wiiusejevents/physicalevents/JoystickEvent.java
2014-10-29 23:25:34 +00:00

136 lines
3.1 KiB
Java

/**
* This file is part of WiiuseJ.
*
* WiiuseJ is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* WiiuseJ is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WiiuseJ. If not, see <http://www.gnu.org/licenses/>.
*/
package wiiusej.wiiusejevents.physicalevents;
import wiiusej.wiiusejevents.GenericEvent;
/**
* Class that stores values on a joystick Event.
*
* @author guiguito
*/
public class JoystickEvent extends GenericEvent {
private float angle;
private float magnitude;
private short[] max;
private short[] min;
private short[] center;
/**
* Constructor of a JoystickEvent.
*
* @param id
* id of the wiimote connected.
* @param angle
* angle the joystick is being held.
* @param magnitude
* magnitude of the joystick (range 0-1).
* @param max1
* maximum joystick value 1.
* @param max2
* maximum joystick value 2.
* @param min1
* minimum joystick value 1.
* @param min2
* minimum joystick value 2.
* @param center1
* center joystick value 1.
* @param center2
* center joystick value 2.
*/
public JoystickEvent(int id, float angle, float magnitude, short max1,
short max2, short min1, short min2, short center1, short center2) {
super(id);
this.angle = angle;
this.magnitude = magnitude;
max = new short[2];
max[0] = max1;
max[1] = max2;
min = new short[2];
min[0] = min1;
min[1] = min2;
center = new short[2];
center[0] = center1;
center[1] = center2;
}
/**
* Get angle the joystick is being held.
*
* @return the angle angle the joystick.
*/
public float getAngle() {
return angle;
}
/**
* Get magnitude of the joystick (range 0-1).
*
* @return the magnitude magnitude of the joystick.
*/
public float getMagnitude() {
return magnitude;
}
/**
* Maximum joystick values.
*
* @return the max
*/
public short[] getMax() {
return max;
}
/**
* Minimum joystick values.
*
* @return the min
*/
public short[] getMin() {
return min;
}
/**
* Center joystick values.
*
* @return the center
*/
public short[] getCenter() {
return center;
}
/*
* (non-Javadoc)
*
* @see wiiusej.wiiusejevents.GenericEvent#toString()
*/
@Override
public String toString() {
String out = "";
/* Display IR Tracking */
out += "/******** Joystick ********/\n";
out += "--- angle : " + angle + "\n";
out += "--- magnitude : " + magnitude + "\n";
out += "--- maximum values : " + max[0] + "," + max[1] + "\n";
out += "--- minimum values : " + min[0] + "," + min[1] + "\n";
out += "--- center values : " + center[0] + "," + center[1] + "\n";
return out;
}
}