front_processing/extern/TUIO_JAVA/src/TUIO/TuioPoint.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
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    22
package TUIO;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    23
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    24
/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    25
 * The TuioPoint class on the one hand is a simple container and utility class to handle TUIO positions in general, 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    26
 * on the other hand the TuioPoint is the base class for the TuioCursor and TuioObject classes.
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
public class TuioPoint {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    32
	
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    33
	public String comm;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    34
	
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    35
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    36
	 * X coordinate, representated as a floating point value in a range of 0..1  
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    37
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    38
	protected float xpos;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    39
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    40
	 * Y coordinate, representated as a floating point value in a range of 0..1  
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    41
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    42
	protected float ypos;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    43
	/**
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    44
	 * Z coordinate, representated as a floating point value in a range of 0..1  
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    45
	 */
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    46
	protected float zpos;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    47
	/**
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    48
	 * The time stamp of the last update represented as TuioTime (time since session start)
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    49
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    50
	protected TuioTime currentTime;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    51
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    52
	 * The creation time of this TuioPoint represented as TuioTime (time since session start)
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    53
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    54
	protected TuioTime startTime;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    55
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    56
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    57
	 * The default constructor takes no arguments and sets   
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    58
	 * its coordinate attributes to zero and its time stamp to the current session time.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    59
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    60
	public TuioPoint() {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    61
		xpos = 0.0f;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    62
		ypos = 0.0f;
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    63
		zpos = 0.0f;
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    64
		currentTime = TuioTime.getSessionTime();
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    65
		startTime = new TuioTime(currentTime);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    66
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    67
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    68
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    69
	 * This constructor takes two floating point coordinate arguments and sets   
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    70
	 * its coordinate attributes to these values and its time stamp to the current session time.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    71
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    72
	 * @param	xp	the X coordinate to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    73
	 * @param	yp	the Y coordinate to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    74
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    75
	public TuioPoint(float xp, float yp) {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    76
		xpos = xp;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    77
		ypos = yp;
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    78
		zpos = 0.0f;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    79
		currentTime = TuioTime.getSessionTime();
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    80
		startTime = new TuioTime(currentTime);
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    81
	}
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    82
	
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    83
	/**
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    84
	 * This constructor takes three floating point coordinate arguments and sets   
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    85
	 * its coordinate attributes to these values and its time stamp to the current session time.
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    86
	 *
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    87
	 * @param	xp	the X coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    88
	 * @param	yp	the Y coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    89
	 * @param	zp	the Z coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    90
	 */
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    91
	public TuioPoint(float xp, float yp, float zp) {
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    92
		xpos = xp;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    93
		ypos = yp;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    94
		zpos = zp;
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    95
		currentTime = TuioTime.getSessionTime();
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    96
		startTime = new TuioTime(currentTime);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    97
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    98
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    99
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   100
	 * This constructor takes a TuioPoint argument and sets its coordinate attributes 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   101
	 * to the coordinates of the provided TuioPoint and its time stamp to the current session time.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   102
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   103
	 * @param	tpoint	the TuioPoint to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   104
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   105
	public TuioPoint(TuioPoint tpoint) {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   106
		xpos = tpoint.getX();
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   107
		ypos = tpoint.getY();
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   108
		zpos = tpoint.getZ();
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   109
		currentTime = TuioTime.getSessionTime();
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   110
		startTime = new TuioTime(currentTime);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   111
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   112
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   113
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   114
	 * This constructor takes a TuioTime object and two floating point coordinate arguments and sets   
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   115
	 * its coordinate attributes to these values and its time stamp to the provided TUIO time object.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   116
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   117
	 * @param	ttime	the TuioTime to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   118
	 * @param	xp	the X coordinate to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   119
	 * @param	yp	the Y coordinate to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   120
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   121
	public TuioPoint(TuioTime ttime, float xp, float yp) {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   122
		xpos = xp;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   123
		ypos = yp;
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   124
		zpos = 0.0f;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   125
		currentTime = new TuioTime(ttime);
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   126
		startTime = new TuioTime(currentTime);
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   127
	}
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   128
	
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   129
	/**
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   130
	 * This constructor takes a TuioTime object and three floating point coordinate arguments and sets   
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   131
	 * its coordinate attributes to these values and its time stamp to the provided TUIO time object.
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   132
	 *
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   133
	 * @param	ttime	the TuioTime to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   134
	 * @param	xp	the X coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   135
	 * @param	yp	the Y coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   136
	 * @param	zp	the Z coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   137
	 */
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   138
	public TuioPoint(TuioTime ttime, float xp, float yp, float zp) {
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   139
		xpos = xp;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   140
		ypos = yp;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   141
		zpos = zp;
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   142
		currentTime = new TuioTime(ttime);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   143
		startTime = new TuioTime(currentTime);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   144
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   145
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   146
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   147
	 * Takes a TuioPoint argument and updates its coordinate attributes 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   148
	 * to the coordinates of the provided TuioPoint and leaves its time stamp unchanged.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   149
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   150
	 * @param	tpoint	the TuioPoint to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   151
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   152
	public void update(TuioPoint tpoint) {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   153
		xpos = tpoint.getX();
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   154
		ypos = tpoint.getY();
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   155
		zpos = tpoint.getZ();
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   156
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   157
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   158
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   159
	 * Takes two floating point coordinate arguments and updates its coordinate attributes 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   160
	 * to the coordinates of the provided TuioPoint and leaves its time stamp unchanged.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   161
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   162
	 * @param	xp	the X coordinate to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   163
	 * @param	yp	the Y coordinate to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   164
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   165
	public void update(float xp, float yp) {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   166
		xpos = xp;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   167
		ypos = yp;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   168
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   169
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   170
	/**
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   171
	 * Takes three floating point coordinate arguments and updates its coordinate attributes 
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   172
	 * to the coordinates of the provided TuioPoint and leaves its time stamp unchanged.
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   173
	 *
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   174
	 * @param	xp	the X coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   175
	 * @param	yp	the Y coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   176
	 * @param	zp	the Z coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   177
	 */
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   178
	public void update(float xp, float yp, float zp) {
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   179
		xpos = xp;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   180
		ypos = yp;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   181
		zpos = zp;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   182
	}
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   183
	
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   184
	/**
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   185
	 * Takes a TuioTime object and two floating point coordinate arguments and updates its coordinate attributes 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   186
	 * to the coordinates of the provided TuioPoint and its time stamp to the provided TUIO time object.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   187
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   188
	 * @param	ttime	the TuioTime to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   189
	 * @param	xp	the X coordinate to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   190
	 * @param	yp	the Y coordinate to assign
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   191
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   192
	public void update(TuioTime ttime, float xp, float yp) {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   193
		xpos = xp;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   194
		ypos = yp;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   195
		currentTime = new TuioTime(ttime);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   196
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   197
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   198
	/**
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   199
	 * Takes a TuioTime object and three floating point coordinate arguments and updates its coordinate attributes 
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   200
	 * to the coordinates of the provided TuioPoint and its time stamp to the provided TUIO time object.
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   201
	 *
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   202
	 * @param	ttime	the TuioTime to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   203
	 * @param	xp	the X coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   204
	 * @param	yp	the Y coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   205
	 * @param	zp	the Z coordinate to assign
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   206
	 */
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   207
	public void update(TuioTime ttime, float xp, float yp, float zp) {
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   208
		xpos = xp;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   209
		ypos = yp;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   210
		zpos = zp;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   211
		currentTime = new TuioTime(ttime);
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   212
	}
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   213
	
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   214
	/**
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   215
	 * Returns the X coordinate of this TuioPoint. 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   216
	 * @return	the X coordinate of this TuioPoint
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   217
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   218
	public float getX() {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   219
		return xpos;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   220
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   221
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   222
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   223
	 * Returns the Y coordinate of this TuioPoint. 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   224
	 * @return	the Y coordinate of this TuioPoint
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   225
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   226
	public float getY() {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   227
		return ypos;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   228
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   229
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   230
	/**
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   231
	 * Returns the Z coordinate of this TuioPoint. 
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   232
	 * @return	the Z coordinate of this TuioPoint
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   233
	 */
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   234
	public float getZ() {
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   235
		return zpos;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   236
	}
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   237
	
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   238
	/**
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   239
	 * Returns the distance to the provided coordinates 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   240
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   241
	 * @param	xp	the X coordinate of the distant point
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   242
	 * @param	yp	the Y coordinate of the distant point
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   243
	 * @return	the distance to the provided coordinates
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   244
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   245
	public float getDistance(float xp, float yp) {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   246
		float dx = xpos-xp;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   247
		float dy = ypos-yp;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   248
		return (float)Math.sqrt(dx*dx+dy*dy);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   249
	}
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   250
	
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   251
	/**
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   252
	 * Returns the distance to the provided coordinates 
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   253
	 *
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   254
	 * @param	xp	the X coordinate of the distant point
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   255
	 * @param	yp	the Y coordinate of the distant point
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   256
	 * @param	zp	the Y coordinate of the distant point
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   257
	 * @return	the distance to the provided coordinates
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   258
	 */
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   259
	public float getDistance(float xp, float yp, float zp) {
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   260
		float dx = xpos-xp;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   261
		float dy = ypos-yp;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   262
		float dz = zpos-zp;
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   263
		return (float)Math.sqrt(dx*dx+dy*dy+dz*dz);
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   264
	}
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   265
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   266
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   267
	 * Returns the distance to the provided TuioPoint 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   268
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   269
	 * @param	tpoint	the distant TuioPoint
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   270
	 * @return	the distance to the provided TuioPoint
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   271
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   272
	public float getDistance(TuioPoint tpoint) {
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
   273
		return getDistance(tpoint.getX(),tpoint.getY(), tpoint.getZ());
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   274
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   275
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   276
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   277
	 * Returns the angle to the provided coordinates 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   278
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   279
	 * @param	xp	the X coordinate of the distant point
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   280
	 * @param	yp	the Y coordinate of the distant point
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   281
	 * @return	the angle to the provided coordinates
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   282
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   283
	public float getAngle(float xp, float yp) {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   284
		
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   285
		float side = xpos-xp;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   286
		float height = ypos-yp;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   287
		float distance = getDistance(xp,yp);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   288
		
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   289
		float angle = (float)(Math.asin(side/distance)+Math.PI/2);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   290
		if (height<0) angle = 2.0f*(float)Math.PI-angle;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   291
		
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   292
		return angle;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   293
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   294
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   295
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   296
	 * Returns the angle to the provided TuioPoint 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   297
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   298
	 * @param	tpoint	the distant TuioPoint
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   299
	 * @return	the angle to the provided TuioPoint
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   300
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   301
	public float getAngle(TuioPoint tpoint) {						
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   302
		return getAngle(tpoint.getX(),tpoint.getY());
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   303
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   304
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   305
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   306
	 * Returns the angle in degrees to the provided coordinates 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   307
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   308
	 * @param	xp	the X coordinate of the distant point
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   309
	 * @param	yp	the Y coordinate of the distant point
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   310
	 * @return	the angle in degrees to the provided TuioPoint
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   311
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   312
	public float getAngleDegrees(float xp, float yp) {		
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   313
		return (getAngle(xp,yp)/(float)Math.PI)*180.0f;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   314
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   315
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   316
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   317
	 * Returns the angle in degrees to the provided TuioPoint 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   318
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   319
	 * @param	tpoint	the distant TuioPoint
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   320
	 * @return	the angle in degrees to the provided TuioPoint
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   321
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   322
	public float getAngleDegrees(TuioPoint tpoint) {		
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   323
		return (getAngle(tpoint)/(float)Math.PI)*180.0f;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   324
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   325
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   326
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   327
	 * Returns the X coordinate in pixels relative to the provided screen width. 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   328
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   329
	 * @param	width	the screen width
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   330
	 * @return	the X coordinate of this TuioPoint in pixels relative to the provided screen width
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   331
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   332
	public int getScreenX(int width) {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   333
		return (int)Math.round(xpos*width);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   334
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   335
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   336
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   337
	 * Returns the Y coordinate in pixels relative to the provided screen height. 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   338
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   339
	 * @param	height	the screen height
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   340
	 * @return	the Y coordinate of this TuioPoint in pixels relative to the provided screen height
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   341
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   342
	public int getScreenY(int height) {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   343
		return (int)Math.round(ypos*height);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   344
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   345
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   346
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   347
	 * Returns the time stamp of this TuioPoint as TuioTime. 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   348
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   349
	 * @return	the time stamp of this TuioPoint as TuioTime
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   350
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   351
	public TuioTime getTuioTime() {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   352
		return new TuioTime(currentTime);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   353
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   354
	
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   355
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   356
	 * Returns the start time of this TuioPoint as TuioTime. 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   357
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   358
	 * @return	the start time of this TuioPoint as TuioTime
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   359
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   360
	public TuioTime getStartTime() {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   361
		return new TuioTime(startTime);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   362
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
   363
}