Nothing special, fighting agains GUI issues... :)
git-svn-id: svn://svn.code.sf.net/p/wiigee/code/trunk@97 c7eff9ee-dd40-0410-8832-91a4d88773cf
This commit is contained in:
@@ -20,6 +20,13 @@ is divided into following sections:
|
|||||||
|
|
||||||
-->
|
-->
|
||||||
<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="wiigee-lib-impl">
|
<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="wiigee-lib-impl">
|
||||||
|
<fail message="Please build using Ant 1.7.1 or higher.">
|
||||||
|
<condition>
|
||||||
|
<not>
|
||||||
|
<antversion atleast="1.7.1"/>
|
||||||
|
</not>
|
||||||
|
</condition>
|
||||||
|
</fail>
|
||||||
<target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>
|
<target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>
|
||||||
<!--
|
<!--
|
||||||
======================
|
======================
|
||||||
@@ -43,14 +50,16 @@ is divided into following sections:
|
|||||||
</pathconvert>
|
</pathconvert>
|
||||||
<basename file="${libraries.1.path}" property="libraries.1.basename" suffix=".properties"/>
|
<basename file="${libraries.1.path}" property="libraries.1.basename" suffix=".properties"/>
|
||||||
<touch file="${libraries.1.dir}/${libraries.1.basename}-private.properties"/>
|
<touch file="${libraries.1.dir}/${libraries.1.basename}-private.properties"/>
|
||||||
<loadproperties srcfile="${libraries.1.dir}/${libraries.1.basename}-private.properties">
|
<loadproperties encoding="ISO-8859-1" srcfile="${libraries.1.dir}/${libraries.1.basename}-private.properties">
|
||||||
<filterchain>
|
<filterchain>
|
||||||
<replacestring from="$${base}" to="${libraries.1.dir}"/>
|
<replacestring from="$${base}" to="${libraries.1.dir}"/>
|
||||||
|
<escapeunicode/>
|
||||||
</filterchain>
|
</filterchain>
|
||||||
</loadproperties>
|
</loadproperties>
|
||||||
<loadproperties srcfile="${libraries.1.path}">
|
<loadproperties encoding="ISO-8859-1" srcfile="${libraries.1.path}">
|
||||||
<filterchain>
|
<filterchain>
|
||||||
<replacestring from="$${base}" to="${libraries.1.dir}"/>
|
<replacestring from="$${base}" to="${libraries.1.dir}"/>
|
||||||
|
<escapeunicode/>
|
||||||
</filterchain>
|
</filterchain>
|
||||||
</loadproperties>
|
</loadproperties>
|
||||||
</target>
|
</target>
|
||||||
@@ -171,10 +180,18 @@ is divided into following sections:
|
|||||||
<attribute default="${includes}" name="includes"/>
|
<attribute default="${includes}" name="includes"/>
|
||||||
<attribute default="${excludes}" name="excludes"/>
|
<attribute default="${excludes}" name="excludes"/>
|
||||||
<attribute default="${javac.debug}" name="debug"/>
|
<attribute default="${javac.debug}" name="debug"/>
|
||||||
<attribute default="/does/not/exist" name="sourcepath"/>
|
<attribute default="${empty.dir}" name="sourcepath"/>
|
||||||
|
<attribute default="${empty.dir}" name="gensrcdir"/>
|
||||||
<element name="customize" optional="true"/>
|
<element name="customize" optional="true"/>
|
||||||
<sequential>
|
<sequential>
|
||||||
|
<property location="${build.dir}/empty" name="empty.dir"/>
|
||||||
|
<mkdir dir="${empty.dir}"/>
|
||||||
<javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}">
|
<javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}">
|
||||||
|
<src>
|
||||||
|
<dirset dir="@{gensrcdir}" erroronmissingdir="false">
|
||||||
|
<include name="*"/>
|
||||||
|
</dirset>
|
||||||
|
</src>
|
||||||
<classpath>
|
<classpath>
|
||||||
<path path="@{classpath}"/>
|
<path path="@{classpath}"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
@@ -290,6 +307,8 @@ is divided into following sections:
|
|||||||
<java classname="@{classname}" dir="${work.dir}" fork="true">
|
<java classname="@{classname}" dir="${work.dir}" fork="true">
|
||||||
<jvmarg line="${debug-args-line}"/>
|
<jvmarg line="${debug-args-line}"/>
|
||||||
<jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
|
<jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
|
||||||
|
<jvmarg value="-Dfile.encoding=${source.encoding}"/>
|
||||||
|
<redirector errorencoding="${source.encoding}" inputencoding="${source.encoding}" outputencoding="${source.encoding}"/>
|
||||||
<jvmarg line="${run.jvmargs}"/>
|
<jvmarg line="${run.jvmargs}"/>
|
||||||
<classpath>
|
<classpath>
|
||||||
<path path="@{classpath}"/>
|
<path path="@{classpath}"/>
|
||||||
@@ -306,12 +325,15 @@ is divided into following sections:
|
|||||||
<target name="-init-macrodef-java">
|
<target name="-init-macrodef-java">
|
||||||
<macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
|
<macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
|
||||||
<attribute default="${main.class}" name="classname"/>
|
<attribute default="${main.class}" name="classname"/>
|
||||||
|
<attribute default="${run.classpath}" name="classpath"/>
|
||||||
<element name="customize" optional="true"/>
|
<element name="customize" optional="true"/>
|
||||||
<sequential>
|
<sequential>
|
||||||
<java classname="@{classname}" dir="${work.dir}" fork="true">
|
<java classname="@{classname}" dir="${work.dir}" fork="true">
|
||||||
|
<jvmarg value="-Dfile.encoding=${source.encoding}"/>
|
||||||
|
<redirector errorencoding="${source.encoding}" inputencoding="${source.encoding}" outputencoding="${source.encoding}"/>
|
||||||
<jvmarg line="${run.jvmargs}"/>
|
<jvmarg line="${run.jvmargs}"/>
|
||||||
<classpath>
|
<classpath>
|
||||||
<path path="${run.classpath}"/>
|
<path path="@{classpath}"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
<syspropertyset>
|
<syspropertyset>
|
||||||
<propertyref prefix="run-sys-prop."/>
|
<propertyref prefix="run-sys-prop."/>
|
||||||
@@ -351,10 +373,15 @@ is divided into following sections:
|
|||||||
<!-- You can override this target in the ../build.xml file. -->
|
<!-- You can override this target in the ../build.xml file. -->
|
||||||
</target>
|
</target>
|
||||||
<target if="do.depend.true" name="-compile-depend">
|
<target if="do.depend.true" name="-compile-depend">
|
||||||
<j2seproject3:depend/>
|
<pathconvert property="build.generated.subdirs">
|
||||||
|
<dirset dir="${build.generated.sources.dir}" erroronmissingdir="false">
|
||||||
|
<include name="*"/>
|
||||||
|
</dirset>
|
||||||
|
</pathconvert>
|
||||||
|
<j2seproject3:depend srcdir="${src.dir}:${build.generated.subdirs}"/>
|
||||||
</target>
|
</target>
|
||||||
<target depends="init,deps-jar,-pre-pre-compile,-pre-compile,-compile-depend" if="have.sources" name="-do-compile">
|
<target depends="init,deps-jar,-pre-pre-compile,-pre-compile,-compile-depend" if="have.sources" name="-do-compile">
|
||||||
<j2seproject3:javac/>
|
<j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/>
|
||||||
<copy todir="${build.classes.dir}">
|
<copy todir="${build.classes.dir}">
|
||||||
<fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
|
<fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
|
||||||
</copy>
|
</copy>
|
||||||
@@ -371,7 +398,7 @@ is divided into following sections:
|
|||||||
<target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
|
<target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
|
||||||
<fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
|
<fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
|
||||||
<j2seproject3:force-recompile/>
|
<j2seproject3:force-recompile/>
|
||||||
<j2seproject3:javac excludes="" includes="${javac.includes}" sourcepath="${src.dir}"/>
|
<j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.dir}"/>
|
||||||
</target>
|
</target>
|
||||||
<target name="-post-compile-single">
|
<target name="-post-compile-single">
|
||||||
<!-- Empty placeholder for easier customization. -->
|
<!-- Empty placeholder for easier customization. -->
|
||||||
@@ -437,11 +464,29 @@ is divided into following sections:
|
|||||||
<property location="${dist.jar}" name="dist.jar.resolved"/>
|
<property location="${dist.jar}" name="dist.jar.resolved"/>
|
||||||
<echo>java -jar "${dist.jar.resolved}"</echo>
|
<echo>java -jar "${dist.jar.resolved}"</echo>
|
||||||
</target>
|
</target>
|
||||||
|
<target depends="init,compile,-pre-pre-jar,-pre-jar" if="libs.CopyLibs.classpath" name="-do-jar-with-libraries-without-manifest" unless="manifest.available+main.class">
|
||||||
|
<property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
|
||||||
|
<pathconvert property="run.classpath.without.build.classes.dir">
|
||||||
|
<path path="${run.classpath}"/>
|
||||||
|
<map from="${build.classes.dir.resolved}" to=""/>
|
||||||
|
</pathconvert>
|
||||||
|
<pathconvert pathsep=" " property="jar.classpath">
|
||||||
|
<path path="${run.classpath.without.build.classes.dir}"/>
|
||||||
|
<chainedmapper>
|
||||||
|
<flattenmapper/>
|
||||||
|
<globmapper from="*" to="lib/*"/>
|
||||||
|
</chainedmapper>
|
||||||
|
</pathconvert>
|
||||||
|
<taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
|
||||||
|
<copylibs compress="${jar.compress}" jarfile="${dist.jar}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
|
||||||
|
<fileset dir="${build.classes.dir}"/>
|
||||||
|
</copylibs>
|
||||||
|
</target>
|
||||||
<target name="-post-jar">
|
<target name="-post-jar">
|
||||||
<!-- Empty placeholder for easier customization. -->
|
<!-- Empty placeholder for easier customization. -->
|
||||||
<!-- You can override this target in the ../build.xml file. -->
|
<!-- You can override this target in the ../build.xml file. -->
|
||||||
</target>
|
</target>
|
||||||
<target depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-post-jar" description="Build JAR." name="jar"/>
|
<target depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-do-jar-with-libraries-without-manifest,-post-jar" description="Build JAR." name="jar"/>
|
||||||
<!--
|
<!--
|
||||||
=================
|
=================
|
||||||
EXECUTION SECTION
|
EXECUTION SECTION
|
||||||
@@ -461,6 +506,10 @@ is divided into following sections:
|
|||||||
<fail unless="run.class">Must select one file in the IDE or set run.class</fail>
|
<fail unless="run.class">Must select one file in the IDE or set run.class</fail>
|
||||||
<j2seproject1:java classname="${run.class}"/>
|
<j2seproject1:java classname="${run.class}"/>
|
||||||
</target>
|
</target>
|
||||||
|
<target depends="init,-do-not-recompile,compile-test-single" name="run-test-with-main">
|
||||||
|
<fail unless="run.class">Must select one file in the IDE or set run.class</fail>
|
||||||
|
<j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
|
||||||
|
</target>
|
||||||
<!--
|
<!--
|
||||||
=================
|
=================
|
||||||
DEBUGGING SECTION
|
DEBUGGING SECTION
|
||||||
@@ -469,6 +518,9 @@ is divided into following sections:
|
|||||||
<target depends="init" if="netbeans.home" name="-debug-start-debugger">
|
<target depends="init" if="netbeans.home" name="-debug-start-debugger">
|
||||||
<j2seproject1:nbjpdastart name="${debug.class}"/>
|
<j2seproject1:nbjpdastart name="${debug.class}"/>
|
||||||
</target>
|
</target>
|
||||||
|
<target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test">
|
||||||
|
<j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/>
|
||||||
|
</target>
|
||||||
<target depends="init,compile" name="-debug-start-debuggee">
|
<target depends="init,compile" name="-debug-start-debuggee">
|
||||||
<j2seproject3:debug>
|
<j2seproject3:debug>
|
||||||
<customize>
|
<customize>
|
||||||
@@ -486,6 +538,11 @@ is divided into following sections:
|
|||||||
<j2seproject3:debug classname="${debug.class}"/>
|
<j2seproject3:debug classname="${debug.class}"/>
|
||||||
</target>
|
</target>
|
||||||
<target depends="init,-do-not-recompile,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>
|
<target depends="init,-do-not-recompile,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>
|
||||||
|
<target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test">
|
||||||
|
<fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
|
||||||
|
<j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/>
|
||||||
|
</target>
|
||||||
|
<target depends="init,-do-not-recompile,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
|
||||||
<target depends="init" name="-pre-debug-fix">
|
<target depends="init" name="-pre-debug-fix">
|
||||||
<fail unless="fix.includes">Must set fix.includes</fail>
|
<fail unless="fix.includes">Must set fix.includes</fail>
|
||||||
<property name="javac.includes" value="${fix.includes}.java"/>
|
<property name="javac.includes" value="${fix.includes}.java"/>
|
||||||
@@ -508,6 +565,9 @@ is divided into following sections:
|
|||||||
<fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
|
<fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
|
||||||
<filename name="**/*.java"/>
|
<filename name="**/*.java"/>
|
||||||
</fileset>
|
</fileset>
|
||||||
|
<fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
|
||||||
|
<include name="**/*.java"/>
|
||||||
|
</fileset>
|
||||||
</javadoc>
|
</javadoc>
|
||||||
</target>
|
</target>
|
||||||
<target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview">
|
<target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview">
|
||||||
@@ -569,7 +629,7 @@ is divided into following sections:
|
|||||||
<j2seproject3:junit testincludes="**/*Test.java"/>
|
<j2seproject3:junit testincludes="**/*Test.java"/>
|
||||||
</target>
|
</target>
|
||||||
<target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
|
<target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
|
||||||
<fail if="tests.failed">Some tests failed; see details above.</fail>
|
<fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
|
||||||
</target>
|
</target>
|
||||||
<target depends="init" if="have.tests" name="test-report"/>
|
<target depends="init" if="have.tests" name="test-report"/>
|
||||||
<target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
|
<target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
|
||||||
@@ -582,7 +642,7 @@ is divided into following sections:
|
|||||||
<j2seproject3:junit excludes="" includes="${test.includes}"/>
|
<j2seproject3:junit excludes="" includes="${test.includes}"/>
|
||||||
</target>
|
</target>
|
||||||
<target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
|
<target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
|
||||||
<fail if="tests.failed">Some tests failed; see details above.</fail>
|
<fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
|
||||||
</target>
|
</target>
|
||||||
<target depends="init,-do-not-recompile,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
|
<target depends="init,-do-not-recompile,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
|
||||||
<!--
|
<!--
|
||||||
|
|||||||
@@ -4,5 +4,5 @@ build.xml.stylesheet.CRC32=958a1d3e
|
|||||||
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
|
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
|
||||||
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
|
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
|
||||||
nbproject/build-impl.xml.data.CRC32=afb4810b
|
nbproject/build-impl.xml.data.CRC32=afb4810b
|
||||||
nbproject/build-impl.xml.script.CRC32=eed6b88e
|
nbproject/build-impl.xml.script.CRC32=7668b6e9
|
||||||
nbproject/build-impl.xml.stylesheet.CRC32=65b8de21
|
nbproject/build-impl.xml.stylesheet.CRC32=5c621a33@1.26.1.45
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ build.classes.excludes=**/*.java,**/*.form
|
|||||||
# This directory is removed when the project is cleaned:
|
# This directory is removed when the project is cleaned:
|
||||||
build.dir=build
|
build.dir=build
|
||||||
build.generated.dir=${build.dir}/generated
|
build.generated.dir=${build.dir}/generated
|
||||||
|
build.generated.sources.dir=${build.dir}/generated-sources
|
||||||
# Only compile against the classpath explicitly listed here:
|
# Only compile against the classpath explicitly listed here:
|
||||||
build.sysclasspath=ignore
|
build.sysclasspath=ignore
|
||||||
build.test.classes.dir=${build.dir}/test/classes
|
build.test.classes.dir=${build.dir}/test/classes
|
||||||
|
|||||||
@@ -21,7 +21,6 @@
|
|||||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wiigee.device;
|
package org.wiigee.device;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -41,63 +40,65 @@ import org.wiigee.filter.*;
|
|||||||
*/
|
*/
|
||||||
public class Device {
|
public class Device {
|
||||||
|
|
||||||
// Fixed number values.
|
// Fixed number values.
|
||||||
public static final int MOTION = 0;
|
public static final int MOTION = 0;
|
||||||
|
|
||||||
// Buttons for action coordination
|
// Buttons for action coordination
|
||||||
protected int recognitionbutton;
|
protected int recognitionbutton;
|
||||||
protected int trainbutton;
|
protected int trainbutton;
|
||||||
protected int closegesturebutton;
|
protected int closegesturebutton;
|
||||||
|
|
||||||
// Functional
|
// Functional
|
||||||
protected boolean accelerationenabled;
|
protected boolean accelerationenabled;
|
||||||
|
|
||||||
// Filters, can filter the data stream
|
// Filters, can filter the data stream
|
||||||
protected Vector<Filter> accfilters = new Vector<Filter>();
|
protected Vector<Filter> accfilters = new Vector<Filter>();
|
||||||
|
|
||||||
// Listeners, receive generated events
|
// Listeners, receive generated events
|
||||||
protected Vector<AccelerationListener> accelerationlistener = new Vector<AccelerationListener>();
|
protected Vector<AccelerationListener> accelerationlistener = new Vector<AccelerationListener>();
|
||||||
protected Vector<ButtonListener> buttonlistener = new Vector<ButtonListener>();
|
protected Vector<ButtonListener> buttonlistener = new Vector<ButtonListener>();
|
||||||
protected ProcessingUnit processingunit = new TriggeredProcessingUnit();
|
|
||||||
|
|
||||||
public Device(boolean autofiltering) {
|
// Processing unit to analyze the data
|
||||||
if(autofiltering) {
|
protected ProcessingUnit processingunit = new TriggeredProcessingUnit();
|
||||||
|
|
||||||
|
public Device(boolean autofiltering) {
|
||||||
|
if (autofiltering) {
|
||||||
this.addAccelerationFilter(new IdleStateFilter());
|
this.addAccelerationFilter(new IdleStateFilter());
|
||||||
this.addAccelerationFilter(new MotionDetectFilter(this));
|
this.addAccelerationFilter(new MotionDetectFilter(this));
|
||||||
this.addAccelerationFilter(new DirectionalEquivalenceFilter());
|
this.addAccelerationFilter(new DirectionalEquivalenceFilter());
|
||||||
}
|
}
|
||||||
this.addAccelerationListener(this.processingunit);
|
this.addAccelerationListener(this.processingunit);
|
||||||
this.addButtonListener(this.processingunit);
|
this.addButtonListener(this.processingunit);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a Filter for processing the acceleration values.
|
* Adds a Filter for processing the acceleration values.
|
||||||
* @param filter The Filter instance.
|
* @param filter The Filter instance.
|
||||||
*/
|
*/
|
||||||
public void addAccelerationFilter(Filter filter) {
|
public void addAccelerationFilter(Filter filter) {
|
||||||
this.accfilters.add(filter);
|
this.accfilters.add(filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resets all the accfilters, which are resetable.
|
* Resets all the accfilters, which are resetable.
|
||||||
* Sometimes they have to be resettet if a new gesture starts.
|
* Sometimes they have to be resettet if a new gesture starts.
|
||||||
*/
|
*/
|
||||||
public void resetAccelerationFilters() {
|
public void resetAccelerationFilters() {
|
||||||
for(int i=0; i<this.accfilters.size(); i++) {
|
for (int i = 0; i < this.accfilters.size(); i++) {
|
||||||
this.accfilters.elementAt(i).reset();
|
this.accfilters.elementAt(i).reset();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds an AccelerationListener to the Device. Everytime an acceleration
|
* Adds an AccelerationListener to the Device. Everytime an acceleration
|
||||||
* on the Device is performed the AccelerationListener would receive
|
* on the Device is performed the AccelerationListener would receive
|
||||||
* an event of this action.
|
* an event of this action.
|
||||||
*
|
*
|
||||||
* @param listener The Listener.
|
* @param listener The Listener.
|
||||||
*/
|
*/
|
||||||
public void addAccelerationListener(AccelerationListener listener) {
|
public void addAccelerationListener(AccelerationListener listener) {
|
||||||
this.accelerationlistener.add(listener);
|
this.accelerationlistener.add(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a ButtonListener to the Device. Everytime a Button has been
|
* Adds a ButtonListener to the Device. Everytime a Button has been
|
||||||
@@ -110,56 +111,56 @@ public class Device {
|
|||||||
this.buttonlistener.add(listener);
|
this.buttonlistener.add(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a GestureListener to the Device. Everytime a gesture
|
* Adds a GestureListener to the Device. Everytime a gesture
|
||||||
* is performed the GestureListener would receive an event of
|
* is performed the GestureListener would receive an event of
|
||||||
* this gesture.
|
* this gesture.
|
||||||
*
|
*
|
||||||
* @param listener The Listener.
|
* @param listener The Listener.
|
||||||
*/
|
*/
|
||||||
public void addGestureListener(GestureListener listener) {
|
public void addGestureListener(GestureListener listener) {
|
||||||
this.processingunit.addGestureListener(listener);
|
this.processingunit.addGestureListener(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getRecognitionButton() {
|
public int getRecognitionButton() {
|
||||||
return this.recognitionbutton;
|
return this.recognitionbutton;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setRecognitionButton(int b) {
|
public void setRecognitionButton(int b) {
|
||||||
this.recognitionbutton=b;
|
this.recognitionbutton = b;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getTrainButton() {
|
public int getTrainButton() {
|
||||||
return this.trainbutton;
|
return this.trainbutton;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTrainButton(int b) {
|
public void setTrainButton(int b) {
|
||||||
this.trainbutton=b;
|
this.trainbutton = b;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getCloseGestureButton() {
|
public int getCloseGestureButton() {
|
||||||
return this.closegesturebutton;
|
return this.closegesturebutton;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCloseGestureButton(int b) {
|
public void setCloseGestureButton(int b) {
|
||||||
this.closegesturebutton=b;
|
this.closegesturebutton = b;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ProcessingUnit getProcessingUnit() {
|
public ProcessingUnit getProcessingUnit() {
|
||||||
return this.processingunit;
|
return this.processingunit;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean accelerationEnabled() {
|
public boolean accelerationEnabled() {
|
||||||
return this.accelerationenabled;
|
return this.accelerationenabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enableAccelerationSensors() throws IOException {
|
public void enableAccelerationSensors() throws IOException {
|
||||||
this.accelerationenabled=true;
|
this.accelerationenabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void disableAccelerationSensors() throws IOException {
|
public void disableAccelerationSensors() throws IOException {
|
||||||
this.accelerationenabled=false;
|
this.accelerationenabled = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void loadGesture(String filename) {
|
public void loadGesture(String filename) {
|
||||||
this.processingunit.loadGesture(filename);
|
this.processingunit.loadGesture(filename);
|
||||||
@@ -169,75 +170,73 @@ public class Device {
|
|||||||
this.processingunit.saveGesture(id, filename);
|
this.processingunit.saveGesture(id, filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ###### Event-Methoden
|
// ###### Event-Methoden
|
||||||
|
/** Fires an acceleration event.
|
||||||
/** Fires an acceleration event.
|
* @param vector Consists of three values:
|
||||||
* @param vector Consists of three values:
|
|
||||||
* acceleration on X, Y and Z axis.
|
* acceleration on X, Y and Z axis.
|
||||||
*/
|
*/
|
||||||
public void fireAccelerationEvent(double[] vector) {
|
public void fireAccelerationEvent(double[] vector) {
|
||||||
for(int i=0; i<this.accfilters.size(); i++) {
|
for (int i = 0; i < this.accfilters.size(); i++) {
|
||||||
vector = this.accfilters.get(i).filter(vector);
|
vector = this.accfilters.get(i).filter(vector);
|
||||||
// cannot return here if null, because of time-dependent accfilters
|
// cannot return here if null, because of time-dependent accfilters
|
||||||
}
|
}
|
||||||
|
|
||||||
// don't need to create an event if filtered away
|
// don't need to create an event if filtered away
|
||||||
if(vector!=null) {
|
if (vector != null) {
|
||||||
// calculate the absolute value for the accelerationevent
|
// calculate the absolute value for the accelerationevent
|
||||||
double absvalue = Math.sqrt((vector[0]*vector[0])+
|
double absvalue = Math.sqrt((vector[0] * vector[0]) +
|
||||||
(vector[1]*vector[1])+(vector[2]*vector[2]));
|
(vector[1] * vector[1]) + (vector[2] * vector[2]));
|
||||||
|
|
||||||
AccelerationEvent w = new AccelerationEvent(this,
|
AccelerationEvent w = new AccelerationEvent(this,
|
||||||
vector[0], vector[1], vector[2], absvalue);
|
vector[0], vector[1], vector[2], absvalue);
|
||||||
for(int i=0; i<this.accelerationlistener.size(); i++) {
|
for (int i = 0; i < this.accelerationlistener.size(); i++) {
|
||||||
this.accelerationlistener.get(i).accelerationReceived(w);
|
this.accelerationlistener.get(i).accelerationReceived(w);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} // fireaccelerationevent
|
} // fireaccelerationevent
|
||||||
|
|
||||||
/** Fires a button pressed event.
|
/** Fires a button pressed event.
|
||||||
* @param button
|
* @param button
|
||||||
* Integer value of the pressed button.
|
* Integer value of the pressed button.
|
||||||
*/
|
*/
|
||||||
public void fireButtonPressedEvent(int button) {
|
public void fireButtonPressedEvent(int button) {
|
||||||
ButtonPressedEvent w = new ButtonPressedEvent(this, button);
|
ButtonPressedEvent w = new ButtonPressedEvent(this, button);
|
||||||
for(int i=0; i<this.buttonlistener.size(); i++) {
|
for (int i = 0; i < this.buttonlistener.size(); i++) {
|
||||||
this.buttonlistener.get(i).buttonPressReceived(w);
|
this.buttonlistener.get(i).buttonPressReceived(w);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(w.isRecognitionInitEvent() || w.isTrainInitEvent()) {
|
if (w.isRecognitionInitEvent() || w.isTrainInitEvent()) {
|
||||||
this.resetAccelerationFilters();
|
this.resetAccelerationFilters();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Fires a button released event.
|
/** Fires a button released event.
|
||||||
*/
|
*/
|
||||||
public void fireButtonReleasedEvent() {
|
public void fireButtonReleasedEvent() {
|
||||||
ButtonReleasedEvent w = new ButtonReleasedEvent(this);
|
ButtonReleasedEvent w = new ButtonReleasedEvent(this);
|
||||||
for(int i=0; i<this.buttonlistener.size(); i++) {
|
for (int i = 0; i < this.buttonlistener.size(); i++) {
|
||||||
this.buttonlistener.get(i).buttonReleaseReceived(w);
|
this.buttonlistener.get(i).buttonReleaseReceived(w);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fires a motion start event.
|
* Fires a motion start event.
|
||||||
*/
|
*/
|
||||||
public void fireMotionStartEvent() {
|
public void fireMotionStartEvent() {
|
||||||
MotionStartEvent w = new MotionStartEvent(this);
|
MotionStartEvent w = new MotionStartEvent(this);
|
||||||
for(int i=0; i<this.accelerationlistener.size(); i++) {
|
for (int i = 0; i < this.accelerationlistener.size(); i++) {
|
||||||
this.accelerationlistener.get(i).motionStartReceived(w);
|
this.accelerationlistener.get(i).motionStartReceived(w);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Fires a motion stop event.
|
|
||||||
*/
|
|
||||||
public void fireMotionStopEvent() {
|
|
||||||
MotionStopEvent w = new MotionStopEvent(this);
|
|
||||||
for(int i=0; i<this.accelerationlistener.size(); i++) {
|
|
||||||
this.accelerationlistener.get(i).motionStopReceived(w);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fires a motion stop event.
|
||||||
|
*/
|
||||||
|
public void fireMotionStopEvent() {
|
||||||
|
MotionStopEvent w = new MotionStopEvent(this);
|
||||||
|
for (int i = 0; i < this.accelerationlistener.size(); i++) {
|
||||||
|
this.accelerationlistener.get(i).motionStopReceived(w);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ public class ClassifierTest extends TestCase {
|
|||||||
public void testClassifyGesture() {
|
public void testClassifyGesture() {
|
||||||
|
|
||||||
// create a pseudo-device
|
// create a pseudo-device
|
||||||
Device d = new Device();
|
Device d = new Device(true);
|
||||||
|
|
||||||
// create 3 gestures
|
// create 3 gestures
|
||||||
Gesture g0 = new Gesture();
|
Gesture g0 = new Gesture();
|
||||||
|
|||||||
Reference in New Issue
Block a user