large renaming

git-svn-id: http://wiiusej.googlecode.com/svn/trunk@133 ae48ae66-6a45-0410-b38e-211266189506
This commit is contained in:
guilhem.duche
2008-05-07 22:46:35 +00:00
parent 1f0c3eec05
commit 754556ff3f
15 changed files with 0 additions and 2112 deletions

View File

@@ -1,119 +0,0 @@
/**
* 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.wiiuseapievents;
/**
* Class which represents a buttons event.
* @author guiguito
*/
public abstract class ButtonsEvent extends GenericEvent{
/* Buttons */
private short buttonsJustPressed = 0;
private short buttonsJustReleased = 0;
private short buttonsHeld = 0;
/**
* Constructor of the button Event.
* @param id id of the wiimote concerned.
* @param buttonsJustPressed buttons just pressed.
* @param buttonsJustReleased buttons just released.
* @param buttonsHeld buttons just held.
*/
public ButtonsEvent(int id, short buttonsJustPressed,
short buttonsJustReleased, short buttonsHeld){
super(id);
setAllButtons(buttonsJustPressed, buttonsJustReleased, buttonsHeld);
}
/**
* Set all buttons in one method.
*
* @param buttonsJustPressed
* @param buttonsJustReleased
* @param buttonsHeld
*/
private void setAllButtons(short buttonsJustPressed,
short buttonsJustReleased, short buttonsHeld) {
this.buttonsJustPressed = buttonsJustPressed;
this.buttonsJustReleased = buttonsJustReleased;
this.buttonsHeld = buttonsHeld;
}
/**
* Get the short storing the buttons just pressed
*
* @return the short storing the buttons just pressed
*/
public short getButtonsJustPressed() {
return buttonsJustPressed;
}
/**
* Get the short storing the buttons just released
*
* @return the short storing the buttons just released
*/
public short getButtonsJustReleased() {
return buttonsJustReleased;
}
/**
* get the short storing the buttons held
*
* @return the short storing the buttons held
*/
public short getButtonsHeld() {
return buttonsHeld;
}
/** **************** BUTTONS Methods ***************** */
/* generic button functions */
protected boolean buttonTest(short buttonBitsDefinition, short buttons) {
return (buttons & buttonBitsDefinition) == buttonBitsDefinition;
}
protected boolean isButtonJustPressed(short buttonBitsDefinition) {
return buttonTest(buttonBitsDefinition, buttonsJustPressed)
&& !isButtonHeld(buttonBitsDefinition);
}
protected boolean isButtonJustReleased(short buttonBitsDefinition) {
return buttonTest(buttonBitsDefinition, buttonsJustReleased);
}
protected boolean isButtonHeld(short buttonBitsDefinition) {
return buttonTest(buttonBitsDefinition, buttonsHeld);
}
protected boolean isButtonPressed(short buttonBitsDefinition) {
return isButtonHeld(buttonBitsDefinition)||isButtonJustPressed(buttonBitsDefinition);
}
@Override
public String toString() {
String out = "";
/* Display buttons */
out += "/******** Buttons ********/\n";
out += "--- Buttons just pressed : " + buttonsJustPressed + "\n";
out += "--- Buttons just released : " + buttonsJustReleased + "\n";
out += "--- Buttons held : " + buttonsHeld + "\n";
return out;
}
}

View File

@@ -1,43 +0,0 @@
/**
* 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.wiiuseapievents;
/**
* Class representing a disconnection event.
* @author guiguito
*/
public class DisconnectionEvent extends WiiUseApiEvent {
/**
* Construct the DisconnectionEvent setting up the id.
*
* @param id
* the Wiimote id
*/
public DisconnectionEvent(int id) {
super(id,WiiUseApiEvent.DISCONNECTION_EVENT);
}
@Override
public String toString() {
String out = "";
/* Status */
out += "/*********** DISCONNECTION EVENT : WIIMOTE ID :" + super.getWiimoteId() + " ********/\n";
return out;
}
}

View File

@@ -1,272 +0,0 @@
/**
* 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.wiiuseapievents;
/**
* This class is used to gather events during a call to the Wiiuse API.
*
* @author guiguito
*/
public class EventsGatherer {
private WiiUseApiEvent[] events;
private int index = 0;
private WiimoteEvent genericEvent = null;
/**
* Create EventsGatherer.
*
* @param nbWiimotes
* nb wiimotes (nb a of events possible in a call to Wiiuse API)
*/
public EventsGatherer(int nbWiimotes) {
events = new WiiUseApiEvent[nbWiimotes];
}
/**
* Add an event to the array.
*
* @param e
* the event to add.
*/
private void addEvent(WiiUseApiEvent e) {
events[index] = e;
index++;
}
/**
* Prepare a wiimote event to add.
*
* @param id
* id of the wiimote.
* @param buttonsJustPressed
* buttons just pressed
* @param buttonsJustReleased
* buttons just released
* @param buttonsHeld
* buttons held
*/
public void prepareWiiMoteEvent(int id, short buttonsJustPressed,
short buttonsJustReleased, short buttonsHeld) {
genericEvent = new WiimoteEvent(id, buttonsJustPressed,
buttonsJustReleased, buttonsHeld);
}
/**
* Prepare an IR event to populate.
*
* @param x
* calculated X coordinate.
* @param y
* calculated Y coordinate.
* @param z
* calculated distance.
* @param ax
* absolute X coordinate.
* @param ay
* absolute Y coordinate
* @param xVRes
* IR virtual screen x resolution.
* @param yVRes
* IR virtual screen y resolution.
* @param xOffset
* IR X correction offset.
* @param yOffset
* IR Y correction offset.
* @param sensorBarPostion
* aspect ratio of the screen.
* @param screenAsPectRatio
* IR sensor bar position.
* @param irSensitivity
* Sensitivity of the infrared camera.
* @param distance
* Pixel Distance between first two dots
*/
public void prepareIRevent(int x, int y, int z, int ax, int ay, int xVRes,
int yVRes, int xOffset, int yOffset, short sensorBarPostion,
short screenAsPectRatio, short irSensitivity, float distance) {
genericEvent.prepareIRevent(x, y, z, ax, ay, xVRes, yVRes, xOffset,
yOffset, sensorBarPostion, screenAsPectRatio, irSensitivity,
distance);
}
/**
* Add an IR point to the WiiMoteEvent prepared
*
* @param x
* x coordinates
* @param y
* y coordinates
* @param rx
* raw X coordinate (0-1023).
* @param ry
* raw Y coordinate (0-1023).
* @param size
* size of the IR dot (0-15).
*/
public void addIRPointToPreparedWiiMoteEvent(int x, int y, short rx,
short ry, short size) {
if (genericEvent != null) {
genericEvent.addIRpoint(x, y, rx, ry, size);
}
}
/**
* Set orientation and gravity force of the prepared event.
*
* @param orientationThreshold
* value of the minimum angle between two events with the
* accelerometer
* @param accelerationThreshold
* value of the value variation between two events with the
* accelerometer
* @param smoothingState
* true if smoothing flag is activated
* @param alphaSmooth
* value of the alpha smoothing parameter
* @param r
* roll
* @param p
* pitch
* @param ya
* yaw
* @param ar
* absolute roll
* @param ap
* absolute pitch
* @param x
* gravity force on x axis
* @param y
* gravity force on y axis
* @param z
* gravity force on z axis
* @param xx
* raw acceleration on x axis
* @param yy
* raw acceleration on y axis
* @param zz
* raw acceleration on z axis
*/
public void addMotionSensingValues(float orientationThreshold,
int accelerationThreshold, boolean smoothingState,
float alphaSmooth, float r, float p, float ya, float ar, float ap,
float x, float y, float z, short xx, short yy, short zz) {
if (genericEvent != null) {
genericEvent.setMotionSensingEvent(orientationThreshold,
accelerationThreshold, smoothingState, alphaSmooth, r, p,
ya, ar, ap, x, y, z, xx, yy, zz);
}
}
/**
* Add the prepared WiimoteEvent to the gatherer.
*/
public void addWiimoteEvent() {
if (genericEvent != null) {
addEvent(genericEvent);
genericEvent = null;
}
}
/**
* Add a StatusEvent to the gatherer.
*
* @param id
* id of the wiimote
* @param connect
* true if the wiimote is connected
* @param batt
* battery level
* @param led
* status of leds
* @param speak
* speakers status
* @param attach
* attachment status
* @param rumbleState
* true if rumble is active
* @param continuousState
* true if continuous flag is activated
* @param irState
* true if ir is active
* @param motionSensingState
* true if accelerometer is active
*/
public void addStatusEvent(int id, boolean connect, float batt, short led,
boolean speak, int attach, boolean rumbleState,
boolean continuousState, boolean irState, boolean motionSensingState) {
StatusEvent evt = new StatusEvent(id, connect, batt, led, speak,
attach, rumbleState, continuousState, irState,
motionSensingState);
addEvent(evt);
}
/**
* Add a DisconnectionEvent to the gatherer.
*
* @param id
* id of the wiimote
*/
public void addDisconnectionEvent(int id) {
DisconnectionEvent evt = new DisconnectionEvent(id);
addEvent(evt);
}
/**
* Add a NunchukInsertedEvent to the gatherer.
*
* @param id
* id of the wiimote
*/
public void addNunchukInsertedEvent(int id) {
NunchukInsertedEvent evt = new NunchukInsertedEvent(id);
addEvent(evt);
}
/**
* Add a NunchukRemovedEvent to the gatherer.
*
* @param id
* id of the wiimote
*/
public void addNunchukRemovedEvent(int id) {
NunchukRemovedEvent evt = new NunchukRemovedEvent(id);
addEvent(evt);
}
/**
* Return an array containing the events.
*
* @return events received
*/
public WiiUseApiEvent[] getEvents() {
return java.util.Arrays.copyOfRange(events, 0, index);
}
/**
* Clear the gatherer and remove objects.
*/
public void clearEvents() {
for (int i = 0; i < events.length; i++) {
events[i] = null;
}
genericEvent = null;
index = 0;
}
}

View File

@@ -1,59 +0,0 @@
/**
* 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.wiiuseapievents;
/**
* Abstract mother class representing an event with a wiimote id.
*
* @author guiguito
*/
public abstract class GenericEvent {
/* ID */
private int wiimoteId = -1;
/**
* Construct the WiiUseApiEvent setting up the id.
*
* @param id
* the Wiimote id
*/
public GenericEvent(int id) {
wiimoteId = id;
}
/**
* Get Wiimote ID
*
* @return the wiimote id.
*/
public int getWiimoteId() {
return wiimoteId;
}
/**
* Set Wiimote ID
*
* @param wiimoteId
* id of the wiimote
*/
void setWiimoteId(int wiimoteId) {
this.wiimoteId = wiimoteId;
}
public abstract String toString();
}

View File

@@ -1,316 +0,0 @@
/**
* 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.wiiuseapievents;
import wiiusej.values.IRSource;
/**
* Class which represents an IR event.
*
* @author guiguito
*/
public class IREvent extends GenericEvent {
/* IR Tracking */
private IRSource[] IRPoints;
private short indexPoints = 0;
private int x;
private int y;
private int z;// distance from the sensor bar
private int ax;
private int ay;
private int xVRes;
private int yVRes;
private int xOffset;
private int yOffset;
private short sensorBarPostion;
private short screenAsPectRatio;
private short irSensitivity;
private float distance;
static private short WIIUSE_IR_ABOVE = 0;
static private short WIIUSE_IR_BELOW = 1;
static private short WIIUSE_SCREEN_RATIO_4_3 = 0;
static private short WIIUSE_SCREEN_RATIO_16_9 = 1;
private static short NB_POINTS = 4;// number of points IR can track
/**
* Constructor of IREvent with full infos.
*
* @param id
* d of the wiimote concerned.
* @param x
* calculated X coordinate.
* @param y
* calculated Y coordinate.
* @param z
* calculated distance.
* @param ax
* absolute X coordinate.
* @param ay
* absolute Y coordinate
* @param xVRes
* IR virtual screen x resolution.
* @param yVRes
* IR virtual screen y resolution.
* @param xOffset
* IR X correction offset.
* @param yOffset
* IR Y correction offset.
* @param sensorBarPostion
* aspect ratio of the screen.
* @param screenAsPectRatio
* IR sensor bar position.
* @param irSensitivity
* Sensitivity of the infrared camera.
* @param distance
* Pixel Distance between first two dots
*/
public IREvent(int id, int x, int y, int z, int ax, int ay, int xVRes,
int yVRes, int xOffset, int yOffset, short sensorBarPostion,
short screenAsPectRatio, short irSensitivity, float distance) {
super(id);
this.x = x;
this.y = y;
this.z = z;
this.ax = ax;
this.ay = ay;
this.xVRes = xVRes;
this.yVRes = yVRes;
this.xOffset = xOffset;
this.yOffset = yOffset;
this.sensorBarPostion = sensorBarPostion;
this.screenAsPectRatio = screenAsPectRatio;
this.irSensitivity = irSensitivity;
this.distance = distance;
IRPoints = new IRSource[NB_POINTS];
}
/**
* Get list of IR points.
*
* @return the list of 2D points
*/
public IRSource[] getIRPoints() {
return java.util.Arrays.copyOfRange(IRPoints, 0, indexPoints);
}
/**
* Add IR Point in the list (Max 4 points)
*
* @param x
* x value
* @param y
* y value
* @param rx
* raw X coordinate (0-1023).
* @param ry
* raw Y coordinate (0-1023).
* @param size
* size of the IR dot (0-15).
*/
public void addIRpoint(int x, int y, short rx, short ry, short size) {
IRPoints[indexPoints] = new IRSource(x, y, rx, ry, size);
indexPoints++;
return;
}
/**
* Return calculated X coordinate.
*
* @return the x
*/
public int getX() {
return x;
}
/**
* Return calculated Y coordinate.
*
* @return the y
*/
public int getY() {
return y;
}
/**
* Return calculated distance.
*
* @return the z
*/
public int getZ() {
return z;
}
/**
* Return absolute X coordinate.
*
* @return the ax
*/
public int getAx() {
return ax;
}
/**
* Return absolute Y coordinate.
*
* @return the ay
*/
public int getAy() {
return ay;
}
/**
* Return IR virtual screen x resolution.
*
* @return the xVRes
*/
public int getXVRes() {
return xVRes;
}
/**
* Return IR virtual screen y resolution.
*
* @return the yVRes
*/
public int getYVRes() {
return yVRes;
}
/**
* Return IR X correction offset.
*
* @return the xOffset
*/
public int getXOffset() {
return xOffset;
}
/**
* Return IR Y correction offset.
*
* @return the yOffset
*/
public int getYOffset() {
return yOffset;
}
/**
* Return true if the sensor bar is above.
*
* @return true if the sensor bar is above.
*/
public boolean isSensorBarAbove() {
return sensorBarPostion == WIIUSE_IR_ABOVE;
}
/**
* Return true if the sensor bar is below.
*
* @return true if the sensor bar is below.
*/
public boolean isSensorBarBelow() {
return sensorBarPostion == WIIUSE_IR_BELOW;
}
/**
* Return true if screen aspect ratio set is 4/3.
*
* @return true if screen aspect ratio set is 4/3.
*/
public boolean isScreenAspectRatio43() {
return screenAsPectRatio == WIIUSE_SCREEN_RATIO_4_3;
}
/**
* Return true if screen aspect ratio set is 16/9.
*
* @return true if screen aspect ratio set is 16/9.
*/
public boolean isScreenAspectRatio169() {
return screenAsPectRatio == WIIUSE_SCREEN_RATIO_16_9;
}
/**
* Return aspect ratio of the screen.
*
* @return the screenAsPectRatio
*/
public short getScreenAsPectRatio() {
return screenAsPectRatio;
}
/**
* The sensitivity of the IR camera can be turned up or down depending on
* your needs. Like the Wii, wiiusej and wiiuse can set the camera
* sensitivity to a degree between 1 (lowest) and 5 (highest). The default
* is 3.
*
* @return the irSensitivity
*/
public short getIrSensitivity() {
return irSensitivity;
}
/**
* Pixel distance between first 2 dots.
*
* @return the distance between first 2 dots.
*/
public float getDistance() {
return distance;
}
@Override
public String toString() {
String out = "";
/* Display IR Tracking */
out += "/******** IR Tracking ********/\n";
out += "--- Active : true\n";
out += "--- calculated X coordinate : " + x + "\n";
out += "--- calculated Y coordinate : " + y + "\n";
out += "--- calculated Z coordinate : " + z + "\n";
out += "--- calculated distance : " + distance + "\n";
out += "--- absolute X coordinate : " + ax + "\n";
out += "--- absolute Y coordinate : " + ay + "\n";
out += "--- IR virtual screen x resolution : " + xVRes + "\n";
out += "--- IR virtual screen y resolution : " + yVRes + "\n";
out += "--- IR X correction offset : " + xOffset + "\n";
out += "--- IR Y correction offset : " + yOffset + "\n";
out += "--- IR Sensitivity (between 1-5) : " + irSensitivity + "\n";
if (isScreenAspectRatio43()) {
out += "--- aspect ratio of the screen : 4/3\n";
} else if (isScreenAspectRatio169()) {
out += "--- aspect ratio of the screen : 16/9\n";
}
if (isSensorBarAbove()) {
out += "--- IR sensor bar position. : Above\n";
} else if (isSensorBarBelow()) {
out += "--- IR sensor bar position. : Below\n";
}
out += "--- Seen points\n";
for (int i = 0; i < IRPoints.length; i++) {
if (IRPoints[i] != null) {
out += IRPoints[i].toString();
}
}
out += "\n";
return out;
}
}

View File

@@ -1,202 +0,0 @@
/**
* 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.wiiuseapievents;
import wiiusej.values.GForce;
import wiiusej.values.Orientation;
import wiiusej.values.RawAcceleration;
/**
* Class which represents a motion sensing event.
*
* @author guiguito
*/
public class MotionSensingEvent extends GenericEvent {
/* Motion Sensing */
private Orientation orientation;
private GForce gforce;
private RawAcceleration acceleration;
private float orientationThreshold = 0;
private int accelerationThreshold = 0;
private float alphaSmoothing = 0;
private boolean isSmoothingActive = false;
/**
* Constructor for a Motion Sensing Event.
*
* @param id
* id of the wiimote concerned.
* @param orientationThreshold
* value of the minimum angle between two events with the
* accelerometer
* @param accelerationThreshold
* value of the value variation between two events with the
* accelerometer
* @param smoothingState
* true if smoothing flag is activated
* @param alphaSmooth
* value of the alpha smoothing parameter
* @param r
* roll
* @param p
* pitch
* @param ya
* yaw
* @param ar
* absolute roll
* @param ap
* absolute pitch
* @param x
* gravity force on x axis
* @param y
* gravity force on y axis
* @param z
* gravity force on z axis
* @param xx
* raw acceleration on x axis
* @param yy
* raw acceleration on y axis
* @param zz
* raw acceleration on z axis
*/
public MotionSensingEvent(int id, float orientationThreshold,
int accelerationThreshold, boolean smoothingState,
float alphaSmooth, float r, float p, float ya, float ar, float ap,
float x, float y, float z, short xx, short yy, short zz) {
super(id);
this.orientationThreshold = orientationThreshold;
this.accelerationThreshold = accelerationThreshold;
this.isSmoothingActive = smoothingState;
this.alphaSmoothing = alphaSmooth;
setOrientationAndGforce(r, p, ya, ar, ap, x, y, z, xx, yy, zz);
}
/**
* Set orientation, gravity force and raw acceleration.
*
* @param r
* roll
* @param p
* pitch
* @param ya
* yaw
* @param ar
* absolute roll
* @param ap
* absolute pitch
* @param x
* gravity force on x axis
* @param y
* gravity force on y axis
* @param z
* gravity force on z axis
* @param xx
* raw acceleration on x axis
* @param yy
* raw acceleration on y axis
* @param zz
* raw acceleration on z axis
*/
private void setOrientationAndGforce(float r, float p, float ya, float ar,
float ap, float x, float y, float z, short xx, short yy, short zz) {
this.orientation = new Orientation(r, p, ya, ar, ap);
this.gforce = new GForce(x, y, z);
this.acceleration = new RawAcceleration(xx, yy, zz);
}
/**
* @return the orientation
*/
public Orientation getOrientation() {
return orientation;
}
/**
* Get the gravity force.
*
* @return the gforce
*/
public GForce getGforce() {
return gforce;
}
/**
* Get the raw acceleration.
*
* @return the raw acceleration
*/
public RawAcceleration getRawAcceleration() {
return acceleration;
}
/**
* Get orientation threshold.
*
* @return the orientationThreshold
*/
public float getOrientationThreshold() {
return orientationThreshold;
}
/**
* Get acceleration threshold.
*
* @return the accelerationThreshold
*/
public int getAccelerationThreshold() {
return accelerationThreshold;
}
/**
* Get alpha smoothing.
*
* @return the alphaSmoothing
*/
public float getAlphaSmoothing() {
return alphaSmoothing;
}
/**
* Tell if the option SMOOTHING is activated.
*
* @return the isSmoothingActive
*/
public boolean isSmoothingActive() {
return isSmoothingActive;
}
@Override
public String toString() {
String out = "";
/* Motion sensing */
out += "/******** Motion sensing ********/\n";
out += "--- Motion sensing : true \n";
out += "--- Orientation threshold value ? : " + orientationThreshold
+ "\n";
out += "--- Acceleration threshold value ? : " + accelerationThreshold
+ "\n";
out += "--- Alpha smoothing threshold value ? : " + alphaSmoothing
+ "\n";
out += "--- Smoothing ? : " + isSmoothingActive + "\n";
out += "--- " + orientation + "\n";
out += "--- " + gforce + "\n";
out += "--- " + acceleration + "\n";
return out;
}
}

View File

@@ -1,86 +0,0 @@
/**
* 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.wiiuseapievents;
/**
* Class which represents a buttons event for a generic event. It means buttons
* from a wiimote.
*
* @author guiguito
*/
public class NunchukButtonsEvent extends ButtonsEvent {
private static short NUNCHUK_BUTTON_Z = 0x01;
private static short NUNCHUK_BUTTON_C = 0x02;
private static short NUNCHUK_BUTTON_ALL = 0x03;
/**
* Constructor of the nunchuk button Event.
* @param id id of the wiimote.
* @param buttonsJustPressed buttons just pressed.
* @param buttonsJustReleased buttons just released.
* @param buttonsHeld buttons just pressed.
*/
public NunchukButtonsEvent(int id, short buttonsJustPressed,
short buttonsJustReleased, short buttonsHeld) {
super(id, buttonsJustPressed, buttonsJustReleased, buttonsHeld);
}
/* Button Z */
public boolean isButtonZJustPressed() {
return isButtonJustPressed(NUNCHUK_BUTTON_Z);
}
public boolean isButtonZJustReleased() {
return isButtonJustReleased(NUNCHUK_BUTTON_Z);
}
public boolean isButtonZeHeld() {
return isButtonHeld(NUNCHUK_BUTTON_Z);
}
public boolean isButtonZPressed() {
return isButtonPressed(NUNCHUK_BUTTON_Z);
}
/* Button Z */
public boolean isButtonCJustPressed() {
return isButtonJustPressed(NUNCHUK_BUTTON_C);
}
public boolean isButtonCJustReleased() {
return isButtonJustReleased(NUNCHUK_BUTTON_C);
}
public boolean isButtonCHeld() {
return isButtonHeld(NUNCHUK_BUTTON_C);
}
public boolean isButtonCPressed() {
return isButtonPressed(NUNCHUK_BUTTON_C);
}
@Override
public String toString() {
return "/******** Buttons for Nunchhuk Event ********/\n"
+ super.toString();
}
}

View File

@@ -1,45 +0,0 @@
/**
* 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.wiiuseapievents;
/**
* Event that represents the connection of a nunchuk to a wiimote.
* @author guiguito
*
*/
public class NunchukInsertedEvent extends WiiUseApiEvent {
/**
* Construct the NunchukInsertedEvent setting up the id.
* @param id id of the wiimote.
*/
public NunchukInsertedEvent(int id) {
super(id, WIIUSE_NUNCHUK_INSERTED);
}
/* (non-Javadoc)
* @see wiiusej.wiiuseapievents.WiiUseApiEvent#toString()
*/
@Override
public String toString() {
String out = "";
/* Status */
out += "/*********** NUNCHUK INSERTED EVENT : WIIMOTE ID :" + super.getWiimoteId() + " ********/\n";
return out;
}
}

View File

@@ -1,44 +0,0 @@
/**
* 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.wiiuseapievents;
/**
* Event that represents the connection of a nunchuk to a wiimote.
* @author guiguito
*/
public class NunchukRemovedEvent extends WiiUseApiEvent {
/**
* Construct the NunchukInsertedEvent setting up the id.
* @param id id of the wiimote.
*/
public NunchukRemovedEvent(int id) {
super(id, WIIUSE_NUNCHUK_REMOVED);
}
/* (non-Javadoc)
* @see wiiusej.wiiuseapievents.WiiUseApiEvent#toString()
*/
@Override
public String toString() {
String out = "";
/* Status */
out += "/*********** NUNCHUK REMOVED EVENT : WIIMOTE ID :" + super.getWiimoteId() + " ********/\n";
return out;
}
}

View File

@@ -1,255 +0,0 @@
/**
* 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.wiiuseapievents;
/**
* Class used to represent a status event. This class is used to know what are
* the settings of the wiimote.
*
* @author guiguito
*/
public class StatusEvent extends WiiUseApiEvent {
protected static short WIIMOTE_LED_1 = 1;
protected static short WIIMOTE_LED_2 = 2;
protected static short WIIMOTE_LED_3 = 4;
protected static short WIIMOTE_LED_4 = 8;
/* ATTACHMENT CONSTANTS */
private static short EXP_NONE = 0;
private static short EXP_NUNCHUK = 1;
private static short EXP_CLASSIC = 2;
private static short EXP_GUITAR_HERO_3 = 3;
/* Status variables */
private boolean connected = false;
private float batteryLevel = -1;
private short leds = 0;
private boolean isSpeakerEnabled = false;
private int attachment = 0;
private boolean isRumbleActive = false;
private boolean isContinuousActive = false;
private boolean isIrActive = false;
private boolean isMotionSensingActive = false;
/**
* Construct the StatusEvent setting up the id.
*
* @param id
* the Wiimote id
*/
public StatusEvent(int id) {
super(id, WiiUseApiEvent.STATUS_EVENT);
}
/**
* Build a StatusEvent with all fields set.
*
* @param id
* id of the wiimote
* @param connect
* true if the wiimote is connected
* @param batt
* battery level
* @param led
* status of leds
* @param speak
* speakers status
* @param attach
* attachment status
* @param rumbleState
* true if rumble is active
* @param continuousState
* true if continuous flag is activated
* @param irState
* true if ir is active
* @param motionSensingState
* true if accelerometer is active
*/
public StatusEvent(int id, boolean connect, float batt, short led,
boolean speak, int attach, boolean rumbleState,
boolean continuousState, boolean irState, boolean motionSensingState) {
super(id, WiiUseApiEvent.STATUS_EVENT);
connected = connect;
this.batteryLevel = batt;
this.leds = led;
this.isSpeakerEnabled = speak;
this.attachment = attach;
isRumbleActive = rumbleState;
isContinuousActive = continuousState;
isIrActive = irState;
isMotionSensingActive = motionSensingState;
}
/**
* True if the wiimote is connected false otherwise.
*
* @return return the connected status.
*/
public boolean isConnected() {
return connected;
}
/**
* Get battery level.
*
* @return battery level. 1 = 100%
*/
public float getBatteryLevel() {
return batteryLevel;
}
/**
* Get status of the leds .
*
* @return a short representing LEDS turned on.
*/
public short getLeds() {
return leds;
}
/**
* Tells if the given led is turned on according to the leds status int.
* @param led the int encoding a led.
* @return true if the led is turned on false otherwise.
*/
private boolean ledStatusCheck(short led) {
if ((leds & led) > 0) {
return true;
} else {
return false;
}
}
/**
* Get led1 status.
*
* @return true if the led is set.
*/
public boolean isLed1Set() {
return ledStatusCheck(WIIMOTE_LED_1);
}
/**
* Get led2 status.
*
* @return true if the led is set.
*/
public boolean isLed2Set() {
return ledStatusCheck(WIIMOTE_LED_2);
}
/**
* Get led3 status.
*
* @return true if the led is set.
*/
public boolean isLed3Set() {
return ledStatusCheck(WIIMOTE_LED_3);
}
/**
* Get led4 status.
*
* @return true if the led is set.
*/
public boolean isLed4Set() {
return ledStatusCheck(WIIMOTE_LED_4);
}
/**
* Tell if the speaker is enable for this wiimote
*
* @return TRUE if it enabled false otherwise
*/
public boolean isSpeakerEnabled() {
return isSpeakerEnabled;
}
/**
* Get the int representing the attachment type.
*
* @return value of the Attachment Type
*/
public int getAttachment() {
return attachment;
}
/**
* Get the status of rumble.
*
* @return true if the rumble is active false otherwise
*/
public boolean isRumbleActive() {
return isRumbleActive;
}
/**
* Tell if the CONTINUOUS option is activated.
*
* @return the isContinuousActive
*/
public boolean isContinuousActive() {
return isContinuousActive;
}
/**
* Tell if the IR Tracking is active.
*
* @return TRUE if it is active or false otherwise.
*/
public boolean isIrActive() {
return isIrActive;
}
/**
* Get the flag indicating if the motion sensing is active.
*
* @return true if the motion sensing is active false otherwise
*/
public boolean isMotionSensingActive() {
return isMotionSensingActive;
}
@Override
public String toString() {
String out = "";
/* Status */
out += "/*********** STATUS EVENT : WIIMOTE ID :"
+ super.getWiimoteId() + " ********/\n";
out += "--- connected : " + connected + "\n";
out += "--- Battery level : " + batteryLevel + "\n";
out += "--- Leds : " + leds + "\n";
out += "--- Speaker enabled : " + isSpeakerEnabled + "\n";
out += "--- Attachment ? : " + attachment + "\n";
out += "--- Rumble ? : " + isRumbleActive + "\n";
out += "--- Continuous ? : " + isContinuousActive + "\n";
out += "--- IR active ? : " + isIrActive + "\n";
out += "--- Motion sensing active ? : " + isMotionSensingActive + "\n";
return out;
}
}

View File

@@ -1,62 +0,0 @@
/**
* 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.wiiuseapievents;
/**
* This class describes the structure of an event from the WiiUse API event.
*
* @author guiguito
*/
public abstract class WiiUseApiEvent extends GenericEvent{
public static int GENERIC_EVENT = 1;
public static int STATUS_EVENT = 2;
public static int DISCONNECTION_EVENT = 3;
public static int WIIUSE_NUNCHUK_INSERTED = 4;
public static int WIIUSE_NUNCHUK_REMOVED = 5;
public static int WIIUSE_CLASSIC_CTRL_INSERTED = 6;
public static int WIIUSE_CLASSIC_CTRL_REMOVED = 7;
public static int WIIUSE_GUITAR_HERO_3_CTRL_INSERTED = 8;
public static int WIIUSE_GUITAR_HERO_3_CTRL_REMOVED = 9;
/* Event Type */
private int eventType;
/**
* Construct the WiiUseApiEvent setting up the id.
*
* @param id
* the Wiimote id
* @param type
* type of the event
*/
public WiiUseApiEvent(int id, int type) {
super(id);
eventType = type;
}
/**
* Get the event type.
* @return the eventType
*/
public int getEventType() {
return eventType;
}
public abstract String toString();
}

View File

@@ -1,39 +0,0 @@
/**
* 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.wiiuseapievents;
/**
* This is the interface to implement to listen to events from the wiiuse API.
*
* @author guiguito
*/
public interface WiiUseApiListener extends java.util.EventListener {
/**
* Method called when a WiiUseApiEvent occurs.
* A WiiUseApiEvent can be :
* - WiimoteEvent (Storing ButtonsEvent and
* eventually IREvent and MotionSensingEvent)
* - StatusEvent
* - DisconnectionEvent
* @param e
*/
void onWiiUseApiEvent(WiiUseApiEvent e);
}

View File

@@ -1,262 +0,0 @@
/**
* 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.wiiuseapievents;
/**
* Class which represents a buttons event for a generic event. It means buttons
* from a wiimote.
*
* @author guiguito
*/
public class WiimoteButtonsEvent extends ButtonsEvent {
/* Buttons MACRO */
private static short WIIMOTE_BUTTON_TWO = 0x0001;
private static short WIIMOTE_BUTTON_ONE = 0x0002;
private static short WIIMOTE_BUTTON_B = 0x0004;
private static short WIIMOTE_BUTTON_A = 0x0008;
private static short WIIMOTE_BUTTON_MINUS = 0x0010;
private static short WIIMOTE_BUTTON_ZACCEL_BIT6 = 0x0020;
private static short WIIMOTE_BUTTON_ZACCEL_BIT7 = 0x0040;
private static short WIIMOTE_BUTTON_HOME = 0x0080;
private static short WIIMOTE_BUTTON_LEFT = 0x0100;
private static short WIIMOTE_BUTTON_RIGHT = 0x0200;
private static short WIIMOTE_BUTTON_DOWN = 0x0400;
private static short WIIMOTE_BUTTON_UP = 0x0800;
private static short WIIMOTE_BUTTON_PLUS = 0x1000;
private static short WIIMOTE_BUTTON_ZACCEL_BIT4 = 0x2000;
private static short WIIMOTE_BUTTON_ZACCEL_BIT5 = 0x4000;
private static int WIIMOTE_BUTTON_UNKNOWN = 0x8000;
private static short WIIMOTE_BUTTON_ALL = 0x1F9F;
/**
* Constructor of the wiimote button Event.
* @param id id of the wiimote.
* @param buttonsJustPressed buttons just pressed.
* @param buttonsJustReleased buttons just released.
* @param buttonsHeld buttons held.
*/
public WiimoteButtonsEvent(int id, short buttonsJustPressed,
short buttonsJustReleased, short buttonsHeld) {
super(id, buttonsJustPressed, buttonsJustReleased, buttonsHeld);
}
/* Button ONE */
public boolean isButtonOneJustPressed() {
return isButtonJustPressed(WIIMOTE_BUTTON_ONE);
}
public boolean isButtonOneJustReleased() {
return isButtonJustReleased(WIIMOTE_BUTTON_ONE);
}
public boolean isButtonOneHeld() {
return isButtonHeld(WIIMOTE_BUTTON_ONE);
}
public boolean isButtonOnePressed() {
return isButtonPressed(WIIMOTE_BUTTON_ONE);
}
/* Button TWO */
public boolean isButtonTwoJustPressed() {
return isButtonJustPressed(WIIMOTE_BUTTON_TWO);
}
public boolean isButtonTwoJustReleased() {
return isButtonJustReleased(WIIMOTE_BUTTON_TWO);
}
public boolean isButtonTwoHeld() {
return isButtonHeld(WIIMOTE_BUTTON_TWO);
}
public boolean isButtonTwoPressed() {
return isButtonPressed(WIIMOTE_BUTTON_TWO);
}
/* Button A */
public boolean isButtonAJustPressed() {
return isButtonJustPressed(WIIMOTE_BUTTON_A);
}
public boolean isButtonAJustReleased() {
return isButtonJustReleased(WIIMOTE_BUTTON_A);
}
public boolean isButtonAHeld() {
return isButtonHeld(WIIMOTE_BUTTON_A);
}
public boolean isButtonAPressed() {
return isButtonPressed(WIIMOTE_BUTTON_A);
}
/* Button B */
public boolean isButtonBJustPressed() {
return isButtonJustPressed(WIIMOTE_BUTTON_B);
}
public boolean isButtonBJustReleased() {
return isButtonJustReleased(WIIMOTE_BUTTON_B);
}
public boolean isButtonBHeld() {
return isButtonHeld(WIIMOTE_BUTTON_B);
}
public boolean isButtonBPressed() {
return isButtonPressed(WIIMOTE_BUTTON_B);
}
/* Button LEFT */
public boolean isButtonLeftJustPressed() {
return isButtonJustPressed(WIIMOTE_BUTTON_LEFT);
}
public boolean isButtonLeftJustReleased() {
return isButtonJustReleased(WIIMOTE_BUTTON_LEFT);
}
public boolean isButtonLeftHeld() {
return isButtonHeld(WIIMOTE_BUTTON_LEFT);
}
public boolean isButtonLeftPressed() {
return isButtonPressed(WIIMOTE_BUTTON_LEFT);
}
/* Button RIGHT */
public boolean isButtonRightJustPressed() {
return isButtonJustPressed(WIIMOTE_BUTTON_RIGHT);
}
public boolean isButtonRightJustReleased() {
return isButtonJustReleased(WIIMOTE_BUTTON_RIGHT);
}
public boolean isButtonRightHeld() {
return isButtonHeld(WIIMOTE_BUTTON_RIGHT);
}
public boolean isButtonRightPressed() {
return isButtonPressed(WIIMOTE_BUTTON_RIGHT);
}
/* Button UP */
public boolean isButtonUpJustPressed() {
return isButtonJustPressed(WIIMOTE_BUTTON_UP);
}
public boolean isButtonUpJustReleased() {
return isButtonJustReleased(WIIMOTE_BUTTON_UP);
}
public boolean isButtonUpHeld() {
return isButtonHeld(WIIMOTE_BUTTON_UP);
}
public boolean isButtonUpPressed() {
return isButtonPressed(WIIMOTE_BUTTON_UP);
}
/* Button DOWN */
public boolean isButtonDownJustPressed() {
return isButtonJustPressed(WIIMOTE_BUTTON_DOWN);
}
public boolean isButtonDownJustReleased() {
return isButtonJustReleased(WIIMOTE_BUTTON_DOWN);
}
public boolean isButtonDownHeld() {
return isButtonHeld(WIIMOTE_BUTTON_DOWN);
}
public boolean isButtonDownPressed() {
return isButtonPressed(WIIMOTE_BUTTON_DOWN);
}
/* Button - */
public boolean isButtonMinusJustPressed() {
return isButtonJustPressed(WIIMOTE_BUTTON_MINUS);
}
public boolean isButtonMinusJustReleased() {
return isButtonJustReleased(WIIMOTE_BUTTON_MINUS);
}
public boolean isButtonMinusHeld() {
return isButtonHeld(WIIMOTE_BUTTON_MINUS);
}
public boolean isButtonMinusPressed() {
return isButtonPressed(WIIMOTE_BUTTON_MINUS);
}
/* Button + */
public boolean isButtonPlusJustPressed() {
return isButtonJustPressed(WIIMOTE_BUTTON_PLUS);
}
public boolean isButtonPlusJustReleased() {
return isButtonJustReleased(WIIMOTE_BUTTON_PLUS);
}
public boolean isButtonPlusHeld() {
return isButtonHeld(WIIMOTE_BUTTON_PLUS);
}
public boolean isButtonPlusPressed() {
return isButtonPressed(WIIMOTE_BUTTON_PLUS);
}
/* Button HOME */
public boolean isButtonHomeJustPressed() {
return isButtonJustPressed(WIIMOTE_BUTTON_HOME);
}
public boolean isButtonHomeJustReleased() {
return isButtonJustReleased(WIIMOTE_BUTTON_HOME);
}
public boolean isButtonHomeHeld() {
return isButtonHeld(WIIMOTE_BUTTON_HOME);
}
public boolean isButtonHomePressed() {
return isButtonPressed(WIIMOTE_BUTTON_HOME);
}
@Override
public String toString() {
return "/******** Buttons for Wiimote generic Event ********/\n"
+ super.toString();
}
}

View File

@@ -1,239 +0,0 @@
/**
* 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.wiiuseapievents;
import wiiusej.values.Expansion;
/**
* Class that is a bean to be filled by the wiiuse API on an event that occurs
* on a wiimote.
*
* @author guiguito
*/
public class WiimoteEvent extends WiiUseApiEvent {
WiimoteButtonsEvent buttonsEvent = null;
IREvent infraredEvent = null;
MotionSensingEvent motionSensingEvent = null;
Expansion expansion = null;
/**
* Construct the Wiimote setting up the id.
*
* @param id
* the Wiimote id
*/
public WiimoteEvent(int id) {
super(id, WiiUseApiEvent.GENERIC_EVENT);
}
/**
* Construct the Wiimote setting up the id and the buttons.
*
* @param id
* the Wiimote id
* @param buttonsJustPressed
* buttons just pressed
* @param buttonsJustReleased
* buttons just released
* @param buttonsHeld
* buttons held
*/
public WiimoteEvent(int id, short buttonsJustPressed,
short buttonsJustReleased, short buttonsHeld) {
super(id, WiiUseApiEvent.GENERIC_EVENT);
buttonsEvent = new WiimoteButtonsEvent(id, buttonsJustPressed,
buttonsJustReleased, buttonsHeld);
}
/**
* Tell if there is an IR Event.
*
* @return TRUE if there is an IR event.
*/
public boolean isThereIrEvent() {
return infraredEvent != null;
}
/**
* Tell if there is a motion sensing Event.
*
* @return TRUE if there is a motion sensing event.
*/
public boolean isThereMotionSensingEvent() {
return motionSensingEvent != null;
}
/**
* Get buttons event.
*
* @return the buttons event.
*/
public WiimoteButtonsEvent getButtonsEvent() {
return buttonsEvent;
}
/**
* Get IR event.
*
* @return the IR event if there is one or null.
*/
public IREvent getIREvent() {
return infraredEvent;
}
/**
* Get motion sensing event.
*
* @return the motion sensing event if there is one or null.
*/
public MotionSensingEvent getMotionSensingEvent() {
return motionSensingEvent;
}
/**
* Prepare an IR event to populate.
*
* @param x
* calculated X coordinate.
* @param y
* calculated Y coordinate.
* @param z
* calculated distance.
* @param ax
* absolute X coordinate.
* @param ay
* absolute Y coordinate
* @param xVRes
* IR virtual screen x resolution.
* @param yVRes
* IR virtual screen y resolution.
* @param xOffset
* IR X correction offset.
* @param yOffset
* IR Y correction offset.
* @param sensorBarPostion
* aspect ratio of the screen.
* @param screenAsPectRatio
* IR sensor bar position.
* @param irSensitivity
* Sensitivity of the infrared camera.
* @param distance
* Pixel Distance between first two dots
*/
public void prepareIRevent(int x, int y, int z, int ax, int ay, int xVRes,
int yVRes, int xOffset, int yOffset, short sensorBarPostion,
short screenAsPectRatio, short irSensitivity, float distance) {
if (infraredEvent == null) {
infraredEvent = new IREvent(getWiimoteId(), x, y, z, ax, ay, xVRes,
yVRes, xOffset, yOffset, sensorBarPostion,
screenAsPectRatio, irSensitivity, distance);
}
}
/**
* Add an IR point to the generic event. Create an IR Event if it's not
* created yet.
*
* @param x
* x coordinates.
* @param y
* y coordinates
* @param rx
* raw X coordinate (0-1023).
* @param ry
* raw Y coordinate (0-1023).
* @param size
* size of the IR dot (0-15).
*/
public void addIRpoint(int x, int y, short rx, short ry, short size) {
if (infraredEvent != null)
infraredEvent.addIRpoint(x, y, rx, ry, size);
}
/**
* Set the Motion Sensing Event.
*
* @param orientationThreshold
* value of the minimum angle between two events with the
* accelerometer
* @param accelerationThreshold
* value of the value variation between two events with the
* accelerometer
* @param smoothingState
* true if smoothing flag is activated
* @param alphaSmooth
* value of the alpha smoothing parameter
* @param r
* roll
* @param p
* pitch
* @param ya
* yaw
* @param ar
* absolute roll
* @param ap
* absolute pitch
* @param x
* gravity force on x axis
* @param y
* gravity force on y axis
* @param z
* gravity force on z axis
* @param xx
* raw acceleration on x axis
* @param yy
* raw acceleration on y axis
* @param zz
* raw acceleration on z axis
*/
public void setMotionSensingEvent(float orientationThreshold,
int accelerationThreshold, boolean smoothingState,
float alphaSmooth, float r, float p, float ya, float ar, float ap,
float x, float y, float z, short xx, short yy, short zz) {
motionSensingEvent = new MotionSensingEvent(getWiimoteId(),
orientationThreshold, accelerationThreshold, smoothingState,
alphaSmooth, r, p, ya, ar, ap, x, y, z, xx, yy, zz);
}
@Override
public String toString() {
String out = "";
/* Status */
out += "/*********** GENERIC EVENT : WIIMOTE ID :"
+ super.getWiimoteId() + " ********/\n";
out += buttonsEvent;
if (infraredEvent != null) {
out += infraredEvent;
} else {
out += "/******** IR Tracking ********/\n";
out += "--- Active : false\n";
}
if (motionSensingEvent != null) {
out += motionSensingEvent;
} else {
out += "/******** Motion sensing ********/\n";
out += "--- Motion sensing : false \n";
}
return out;
}
}

View File

@@ -1,69 +0,0 @@
/**
* 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.wiiuseapievents;
/**
* This is the interface to implement to listen to events from wiimotes.
* The differents methods are called in this order :
* onButtonsEvent, onIrEvent, onMotionSensingEvent, onStatusEvent, onDisconnectionEvent.
*
* @author guiguito
*/
public interface WiimoteListener extends java.util.EventListener {
/**
* Method called on a button Event.
* @param e the buttonEvent with the last informations
* about the buttons of the wiimote.
*/
void onButtonsEvent(WiimoteButtonsEvent e);
/**
* Method called when an IR event occurs.
* @param e the IREvent with the IR points seen.
*/
void onIrEvent(IREvent e);
/**
* Method called when a motion sensing event occurs.
* @param e the motion sensing event with orientation and acceleration.
*/
void onMotionSensingEvent(MotionSensingEvent e);
/**
* Method called on a status event.
* A status event occurs when :
* - we ask it
* - an expansion controller has been plugged
* - an expansion controller has been unplugged
* This is where you can get the different values of
* the parameters setup on your wiimote.
* @param e the status event.
*/
void onStatusEvent(StatusEvent e);
/**
* This is the method called when a disconnection event occurs.
* A disconnection event happens when :
* - there are no battery left
* - the wiimote has just been turned off
* - the connection is dropped
* @param e the disconnection event.
*/
void onDisconnectionEvent(DisconnectionEvent e);
}