front_processing/extern/TUIO_JAVA/src/TUIO/TuioContainer.java
author bastiena
Tue, 20 Mar 2012 18:00:55 +0100
changeset 7 8a21bec5d45f
parent 3 92f19af39024
child 9 0f44b7360c8d
permissions -rw-r--r--
Middleware : No proximity bugs anymore. The skeleton disappear if a tracked person is too close or not tracked anymore. Processing : There are no laggs anymore when an user stay too long moving his hands and drawing tons of ellipses. (TUIO Cursors are not taken by their vectors, only the last position of the cursors are caught to be drawn).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
     1
/*
6fefd4afe506 First Import
bastiena
parents:
diff changeset
     2
 TUIO Java backend - part of the reacTIVision project
6fefd4afe506 First Import
bastiena
parents:
diff changeset
     3
 http://reactivision.sourceforge.net/
6fefd4afe506 First Import
bastiena
parents:
diff changeset
     4
 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
     5
 Copyright (c) 2005-2009 Martin Kaltenbrunner <mkalten@iua.upf.edu>
6fefd4afe506 First Import
bastiena
parents:
diff changeset
     6
 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
     7
 This program is free software; you can redistribute it and/or modify
6fefd4afe506 First Import
bastiena
parents:
diff changeset
     8
 it under the terms of the GNU General Public License as published by
6fefd4afe506 First Import
bastiena
parents:
diff changeset
     9
 the Free Software Foundation; either version 2 of the License, or
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    10
 (at your option) any later version.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    11
 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    12
 This program is distributed in the hope that it will be useful,
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    13
 but WITHOUT ANY WARRANTY; without even the implied warranty of
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    14
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    15
 GNU General Public License for more details.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    16
 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    17
 You should have received a copy of the GNU General Public License
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    18
 along with this program; if not, write to the Free Software
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    19
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    20
 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    21
package TUIO;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    22
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    23
import java.util.*;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    24
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    25
/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    26
 * The abstract TuioContainer class defines common attributes that apply to both subclasses {@link TuioObject} and {@link TuioCursor}.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    27
 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    28
 * @author Martin Kaltenbrunner
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    29
 * @version 1.4
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    30
 */ 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    31
abstract class TuioContainer extends TuioPoint {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    32
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    33
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    34
	 * The unique session ID number that is assigned to each TUIO object or cursor.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    35
	 */ 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    36
	protected long session_id;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    37
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    38
	 * The X-axis velocity value.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    39
	 */ 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    40
	protected float x_speed;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    41
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    42
	 * The Y-axis velocity value.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    43
	 */ 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    44
	protected float y_speed;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    45
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    46
	 * The motion speed value.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    47
	 */ 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    48
	protected float motion_speed;	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    49
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    50
	 * The motion acceleration value.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    51
	 */ 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    52
	protected float motion_accel;		
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    53
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    54
	 * A Vector of TuioPoints containing all the previous positions of the TUIO component.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    55
	 */ 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    56
	protected Vector<TuioPoint> path;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    57
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    58
	 * Defines the ADDED state.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    59
	 */ 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    60
	public static final int TUIO_ADDED = 0;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    61
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    62
	 * Defines the ACCELERATING state.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    63
	 */ 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    64
	public static final int TUIO_ACCELERATING = 1;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    65
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    66
	 * Defines the DECELERATING state.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    67
	 */ 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    68
	public static final int TUIO_DECELERATING = 2;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    69
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    70
	 * Defines the STOPPED state.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    71
	 */ 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    72
	public static final int TUIO_STOPPED = 3;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    73
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    74
	 * Defines the REMOVED state.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    75
	 */ 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    76
	public static final int TUIO_REMOVED = 4;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    77
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    78
	 * Reflects the current state of the TuioComponent
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    79
	 */ 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    80
	protected int state;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    81
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    82
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    83
	 * This constructor takes a TuioTime argument and assigns it along with the provided 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    84
	 * Session ID, X and Y coordinate to the newly created TuioContainer.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    85
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    86
	 * @param	ttime	the TuioTime to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    87
	 * @param	si	the Session ID to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    88
	 * @param	xp	the X coordinate to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    89
	 * @param	yp	the Y coordinate to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    90
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    91
	TuioContainer(TuioTime ttime, long si, float xp, float yp) {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    92
		super(ttime,xp,yp);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    93
		
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    94
		session_id = si;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    95
		x_speed = 0.0f;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    96
		y_speed = 0.0f;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    97
		motion_speed = 0.0f;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    98
		motion_accel = 0.0f;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    99
		
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   100
		path = new Vector<TuioPoint>();
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   101
		path.addElement(new TuioPoint(currentTime,xpos,ypos));
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   102
		state = TUIO_ADDED;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   103
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   104
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   105
	/**
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   106
	 * This constructor takes a TuioTime argument and assigns it along with the provided 
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   107
	 * Session ID, X, Y and Z coordinate to the newly created TuioContainer.
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   108
	 *
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   109
	 * @param	ttime	the TuioTime to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   110
	 * @param	si	the Session ID to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   111
	 * @param	xp	the X coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   112
	 * @param	yp	the Y coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   113
	 * @param	zp	the Z coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   114
	 */
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   115
	TuioContainer(TuioTime ttime, long si, float xp, float yp, float zp) {
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   116
		super(ttime,xp,yp, zp);
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   117
		
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   118
		session_id = si;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   119
		x_speed = 0.0f;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   120
		y_speed = 0.0f;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   121
		motion_speed = 0.0f;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   122
		motion_accel = 0.0f;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   123
		
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   124
		path = new Vector<TuioPoint>();
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   125
		path.addElement(new TuioPoint(currentTime,xpos,ypos,zpos));
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   126
		state = TUIO_ADDED;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   127
	}
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   128
	
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   129
	/**
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   130
	 * This constructor takes the provided Session ID, X and Y coordinate 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   131
	 * and assigs these values to the newly created TuioContainer.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   132
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   133
	 * @param	si	the Session ID to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   134
	 * @param	xp	the X coordinate to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   135
	 * @param	yp	the Y coordinate to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   136
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   137
	TuioContainer(long si, float xp, float yp) {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   138
		super(xp,yp);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   139
		
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   140
		session_id = si;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   141
		x_speed = 0.0f;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   142
		y_speed = 0.0f;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   143
		motion_speed = 0.0f;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   144
		motion_accel = 0.0f;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   145
		
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   146
		path = new Vector<TuioPoint>();
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   147
		path.addElement(new TuioPoint(currentTime,xpos,ypos));
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   148
		state = TUIO_ADDED;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   149
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   150
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   151
	/**
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   152
	 * This constructor takes the provided Session ID, X, Y and Z coordinate 
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   153
	 * and assigs these values to the newly created TuioContainer.
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   154
	 *
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   155
	 * @param	si	the Session ID to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   156
	 * @param	xp	the X coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   157
	 * @param	yp	the Y coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   158
	 * @param	zp	the Z coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   159
	 */
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   160
	TuioContainer(long si, float xp, float yp, float zp) {
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   161
		super(xp,yp,zp);
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   162
		
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   163
		session_id = si;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   164
		x_speed = 0.0f;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   165
		y_speed = 0.0f;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   166
		motion_speed = 0.0f;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   167
		motion_accel = 0.0f;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   168
		
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   169
		path = new Vector<TuioPoint>();
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   170
		path.addElement(new TuioPoint(currentTime,xpos,ypos,zpos));
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   171
		state = TUIO_ADDED;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   172
	}
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   173
	
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   174
	/**
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   175
	 * This constructor takes the atttibutes of the provided TuioContainer 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   176
	 * and assigs these values to the newly created TuioContainer.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   177
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   178
	 * @param	tcon	the TuioContainer to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   179
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   180
	TuioContainer(TuioContainer tcon) {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   181
		super(tcon);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   182
		
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   183
		session_id = tcon.getSessionID();
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   184
		x_speed = 0.0f;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   185
		y_speed = 0.0f;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   186
		motion_speed = 0.0f;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   187
		motion_accel = 0.0f;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   188
		
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   189
		path = new Vector<TuioPoint>();
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   190
		path.addElement(new TuioPoint(currentTime,xpos,ypos,zpos));
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   191
		state = TUIO_ADDED;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   192
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   193
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   194
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   195
	 * Takes a TuioTime argument and assigns it along with the provided 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   196
	 * X and Y coordinate to the private TuioContainer attributes.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   197
	 * The speed and accleration values are calculated accordingly.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   198
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   199
	 * @param	ttime	the TuioTime to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   200
	 * @param	xp	the X coordinate to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   201
	 * @param	yp	the Y coordinate to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   202
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   203
	public void update(TuioTime ttime, float xp, float yp) {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   204
		TuioPoint lastPoint = path.lastElement();
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   205
		super.update(ttime,xp,yp);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   206
		
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   207
		TuioTime diffTime = currentTime.subtract(lastPoint.getTuioTime());
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   208
		float dt = diffTime.getTotalMilliseconds()/1000.0f;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   209
		float dx = this.xpos - lastPoint.getX();
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   210
		float dy = this.ypos - lastPoint.getY();
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   211
		float dist = (float)Math.sqrt(dx*dx+dy*dy);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   212
		float last_motion_speed = this.motion_speed;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   213
		
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   214
		this.x_speed = dx/dt;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   215
		this.y_speed = dy/dt;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   216
		this.motion_speed = dist/dt;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   217
		this.motion_accel = (motion_speed - last_motion_speed)/dt;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   218
		
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   219
		path.addElement(new TuioPoint(currentTime,xpos,ypos));
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   220
		if (motion_accel>0) state = TUIO_ACCELERATING;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   221
		else if (motion_accel<0) state = TUIO_DECELERATING;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   222
		else state = TUIO_STOPPED;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   223
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   224
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   225
	/**
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   226
	 * Takes a TuioTime argument and assigns it along with the provided 
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   227
	 * X, Y and Z coordinate to the private TuioContainer attributes.
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   228
	 * The speed and accleration values are calculated accordingly.
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   229
	 *
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   230
	 * @param	ttime	the TuioTime to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   231
	 * @param	xp	the X coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   232
	 * @param	yp	the Y coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   233
	 * @param	zp	the Z coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   234
	 */
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   235
	public void update(TuioTime ttime, float xp, float yp, float zp) {
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   236
		TuioPoint lastPoint = path.lastElement();
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   237
		super.update(ttime,xp,yp,zp);
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   238
		
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   239
		TuioTime diffTime = currentTime.subtract(lastPoint.getTuioTime());
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   240
		float dt = diffTime.getTotalMilliseconds()/1000.0f;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   241
		float dx = this.xpos - lastPoint.getX();
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   242
		float dy = this.ypos - lastPoint.getY();
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   243
		float dz = this.zpos - lastPoint.getZ();
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   244
		float dist = (float)Math.sqrt(dx*dx+dy*dy+dz*dz);
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   245
		float last_motion_speed = this.motion_speed;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   246
		
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   247
		this.x_speed = dx/dt;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   248
		this.y_speed = dy/dt;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   249
		this.motion_speed = dist/dt;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   250
		this.motion_accel = (motion_speed - last_motion_speed)/dt;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   251
		
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   252
		path.addElement(new TuioPoint(currentTime,xpos,ypos,zpos));
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   253
		if (motion_accel>0) state = TUIO_ACCELERATING;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   254
		else if (motion_accel<0) state = TUIO_DECELERATING;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   255
		else state = TUIO_STOPPED;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   256
	}
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   257
	
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   258
	/**
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   259
	 * This method is used to calculate the speed and acceleration values of
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   260
	 * TuioContainers with unchanged positions.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   261
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   262
	public void stop(TuioTime ttime) {
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   263
		update(ttime,xpos,ypos,zpos);
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   264
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   265
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   266
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   267
	 * Takes a TuioTime argument and assigns it along with the provided 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   268
	 * X and Y coordinate, X and Y velocity and acceleration
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   269
	 * to the private TuioContainer attributes.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   270
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   271
	 * @param	ttime	the TuioTime to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   272
	 * @param	xp	the X coordinate to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   273
	 * @param	yp	the Y coordinate to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   274
	 * @param	xs	the X velocity to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   275
	 * @param	ys	the Y velocity to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   276
	 * @param	ma	the acceleration to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   277
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   278
	public void update(TuioTime ttime, float xp, float yp , float xs, float ys, float ma) {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   279
		super.update(ttime,xp,yp);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   280
		x_speed = xs;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   281
		y_speed = ys;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   282
		motion_speed = (float)Math.sqrt(x_speed*x_speed+y_speed*y_speed);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   283
		motion_accel = ma;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   284
		path.addElement(new TuioPoint(currentTime,xpos,ypos));
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   285
		if (motion_accel>0) state = TUIO_ACCELERATING;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   286
		else if (motion_accel<0) state = TUIO_DECELERATING;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   287
		else state = TUIO_STOPPED;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   288
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   289
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   290
	/**
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   291
	 * Takes a TuioTime argument and assigns it along with the provided 
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   292
	 * X, Y and Z coordinate, X and Y velocity and acceleration
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   293
	 * to the private TuioContainer attributes.
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   294
	 *
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   295
	 * @param	ttime	the TuioTime to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   296
	 * @param	xp	the X coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   297
	 * @param	yp	the Y coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   298
	 * @param	zp	the Z coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   299
	 * @param	xs	the X velocity to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   300
	 * @param	ys	the Y velocity to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   301
	 * @param	ma	the acceleration to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   302
	 */
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   303
	public void update(TuioTime ttime, float xp, float yp, float zp , float xs, float ys, float ma) {
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   304
		super.update(ttime,xp,yp,zp);
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   305
		x_speed = xs;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   306
		y_speed = ys;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   307
		motion_speed = (float)Math.sqrt(x_speed*x_speed+y_speed*y_speed);
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   308
		motion_accel = ma;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   309
		path.addElement(new TuioPoint(currentTime,xpos,ypos,zpos));
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   310
		if (motion_accel>0) state = TUIO_ACCELERATING;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   311
		else if (motion_accel<0) state = TUIO_DECELERATING;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   312
		else state = TUIO_STOPPED;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   313
	}
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   314
	
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   315
	/**
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   316
	 * Assigns the provided X and Y coordinate, X and Y velocity and acceleration
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   317
	 * to the private TuioContainer attributes. The TuioTime time stamp remains unchanged.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   318
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   319
	 * @param	xp	the X coordinate to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   320
	 * @param	yp	the Y coordinate to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   321
	 * @param	xs	the X velocity to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   322
	 * @param	ys	the Y velocity to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   323
	 * @param	ma	the acceleration to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   324
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   325
	public void update(float xp, float yp,float xs,float ys,float ma) {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   326
		super.update(xp,yp);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   327
		x_speed = xs;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   328
		y_speed = ys;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   329
		motion_speed = (float)Math.sqrt(x_speed*x_speed+y_speed*y_speed);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   330
		motion_accel = ma;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   331
		path.addElement(new TuioPoint(currentTime,xpos,ypos));
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   332
		if (motion_accel>0) state = TUIO_ACCELERATING;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   333
		else if (motion_accel<0) state = TUIO_DECELERATING;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   334
		else state = TUIO_STOPPED;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   335
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   336
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   337
	/**
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   338
	 * Assigns the provided X, Y and Z coordinate, X and Y velocity and acceleration
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   339
	 * to the private TuioContainer attributes. The TuioTime time stamp remains unchanged.
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   340
	 *
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   341
	 * @param	xp	the X coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   342
	 * @param	yp	the Y coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   343
	 * @param	zp	the Z coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   344
	 * @param	xs	the X velocity to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   345
	 * @param	ys	the Y velocity to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   346
	 * @param	ma	the acceleration to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   347
	 */
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   348
	public void update(float xp, float yp, float zp,float xs,float ys,float ma) {
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   349
		super.update(xp,yp,zp);
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   350
		x_speed = xs;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   351
		y_speed = ys;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   352
		motion_speed = (float)Math.sqrt(x_speed*x_speed+y_speed*y_speed);
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   353
		motion_accel = ma;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   354
		path.addElement(new TuioPoint(currentTime,xpos,ypos,zpos));
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   355
		if (motion_accel>0) state = TUIO_ACCELERATING;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   356
		else if (motion_accel<0) state = TUIO_DECELERATING;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   357
		else state = TUIO_STOPPED;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   358
	}
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   359
	
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   360
	/**
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   361
	 * Takes the atttibutes of the provided TuioContainer 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   362
	 * and assigs these values to this TuioContainer.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   363
	 * The TuioTime time stamp of this TuioContainer remains unchanged.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   364
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   365
	 * @param	tcon	the TuioContainer to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   366
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   367
	public void update (TuioContainer tcon) {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   368
		super.update(tcon);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   369
		x_speed = tcon.getXSpeed();
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   370
		y_speed = tcon.getYSpeed();
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   371
		motion_speed = tcon.getMotionSpeed();
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   372
		motion_accel = tcon.getMotionAccel();
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   373
		path.addElement(new TuioPoint(currentTime,xpos,ypos,zpos));
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   374
		if (motion_accel>0) state = TUIO_ACCELERATING;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   375
		else if (motion_accel<0) state = TUIO_DECELERATING;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   376
		else state = TUIO_STOPPED;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   377
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   378
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   379
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   380
	 * Assigns the REMOVE state to this TuioContainer and sets
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   381
	 * its TuioTime time stamp to the provided TuioTime argument.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   382
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   383
	 * @param	ttime	the TuioTime to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   384
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   385
	public void remove(TuioTime ttime) {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   386
		currentTime = new TuioTime(ttime);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   387
		state = TUIO_REMOVED;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   388
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   389
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   390
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   391
	 * Returns the Session ID of this TuioContainer.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   392
	 * @return	the Session ID of this TuioContainer
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   393
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   394
	public long getSessionID() {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   395
		return session_id;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   396
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   397
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   398
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   399
	 * Returns the X velocity of this TuioContainer.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   400
	 * @return	the X velocity of this TuioContainer
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   401
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   402
	public float getXSpeed() {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   403
		return x_speed;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   404
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   405
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   406
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   407
	 * Returns the Y velocity of this TuioContainer.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   408
	 * @return	the Y velocity of this TuioContainer
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   409
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   410
	public float getYSpeed() {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   411
		return y_speed;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   412
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   413
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   414
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   415
	 * Returns the position of this TuioContainer.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   416
	 * @return	the position of this TuioContainer
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   417
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   418
	public TuioPoint getPosition() {
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   419
		return new TuioPoint(xpos,ypos,zpos);
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   420
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   421
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   422
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   423
	 * Returns the path of this TuioContainer.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   424
	 * @return	the path of this TuioContainer
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   425
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   426
	public Vector<TuioPoint> getPath() {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   427
		return path;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   428
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   429
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   430
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   431
	 * Returns the motion speed of this TuioContainer.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   432
	 * @return	the motion speed of this TuioContainer
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   433
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   434
	public float getMotionSpeed() {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   435
		return motion_speed;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   436
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   437
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   438
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   439
	 * Returns the motion acceleration of this TuioContainer.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   440
	 * @return	the motion acceleration of this TuioContainer
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   441
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   442
	public float getMotionAccel() {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   443
		return motion_accel;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   444
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   445
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   446
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   447
	 * Returns the TUIO state of this TuioContainer.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   448
	 * @return	the TUIO state of this TuioContainer
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   449
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   450
	public int getTuioState() {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   451
		return state;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   452
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   453
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   454
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   455
	 * Returns true of this TuioContainer is moving.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   456
	 * @return	true of this TuioContainer is moving
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   457
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   458
	public boolean isMoving() { 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   459
		if ((state==TUIO_ACCELERATING) || (state==TUIO_DECELERATING)) return true;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   460
		else return false;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   461
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   462
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   463
}