front_processing/extern/TUIO_JAVA/src/TUIO/TuioPoint.java
author bastiena
Thu, 15 Mar 2012 13:33:21 +0100
changeset 3 92f19af39024
parent 0 6fefd4afe506
child 9 0f44b7360c8d
permissions -rw-r--r--
Middleware : Swipe & Push & Jump(Experimental) Detectors ant events added Server modified for gesture detection TUIO Server C# Modified : Hand cursors redirected to /TUIO/3DCur channel New kind of OSC message created (TuioString) for gesture detection, using /TUIO/_siP channel. TUIO Processing Java Modified : Hand cursors redirected to /TUIO/3DCur channel New kind of OSC message created (TuioString) for gesture detection, using /TUIO/_siP channel. Front Processing : Mask added and modifications in the drawing process New front for gesture detection (just showing a text message in the mask for the moment)
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
}