front_processing/extern/TUIO_JAVA/src/TUIO/TuioString.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:
3
92f19af39024 Middleware :
bastiena
parents:
diff changeset
     1
/*
92f19af39024 Middleware :
bastiena
parents:
diff changeset
     2
Added by alexandre.bastien@iri.centrepompidou.fr
92f19af39024 Middleware :
bastiena
parents:
diff changeset
     3
*/
92f19af39024 Middleware :
bastiena
parents:
diff changeset
     4
92f19af39024 Middleware :
bastiena
parents:
diff changeset
     5
package TUIO;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
     6
92f19af39024 Middleware :
bastiena
parents:
diff changeset
     7
/**
92f19af39024 Middleware :
bastiena
parents:
diff changeset
     8
 * The TuioCursor class encapsulates /tuio/_siP TUIO strings.
92f19af39024 Middleware :
bastiena
parents:
diff changeset
     9
 *
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    10
 */ 
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    11
public class TuioString {
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    12
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    13
	/**
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    14
	 * The unique session ID number that is assigned to each TUIO string.
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    15
	 */ 
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    16
	protected long session_id;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    17
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    18
	/**
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    19
	 * The individual string ID number that is assigned to each TuioString.
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    20
	 */ 
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    21
	protected int string_id;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    22
	
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    23
	/**
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    24
	 * The individual string message that is assigned to each TuioString.
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    25
	 */ 
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    26
	protected String message;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    27
	
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    28
	/**
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    29
	 * The time stamp of the last update represented as TuioTime (time since session start)
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    30
	 */
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    31
	protected TuioTime currentTime;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    32
	/**
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    33
	 * The creation time of this TuioString represented as TuioTime (time since session start)
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    34
	 */
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    35
	protected TuioTime startTime;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    36
	
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    37
	/**
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    38
	 * Defines the ADDED state.
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    39
	 */ 
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    40
	public static final int TUIO_ADDED = 0;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    41
	/**
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    42
	 * Defines the REMOVED state.
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    43
	 */ 
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    44
	public static final int TUIO_REMOVED = 4;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    45
	/**
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    46
	 * Reflects the current state of the TuioString
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    47
	 */ 
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    48
	protected int state;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    49
	
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    50
	/**
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    51
	 * This constructor takes a TuioTime argument and assigns it along  with the provided 
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    52
	 * Session ID, String ID and a message to the newly created TuioString.
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    53
	 *
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    54
	 * @param	ttime	the TuioTime to assign
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    55
	 * @param	si	the Session ID  to assign
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    56
	 * @param	sti	the String ID  to assign
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    57
	 * @param	msg the message to assign
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    58
	 */
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    59
	public TuioString (TuioTime ttime, long si, int sti, String msg) {
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    60
		this.session_id = si;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    61
		this.string_id = sti;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    62
		this.message = msg;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    63
		currentTime = new TuioTime(ttime);
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    64
		startTime = new TuioTime(currentTime);
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    65
	}
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    66
	
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    67
	/**
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    68
	 * This constructor takes the provided Session ID, String ID and message 
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    69
	 * and assigs these values to the newly created TuioString.
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    70
	 *
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    71
	 * @param	si	the Session ID  to assign
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    72
	 * @param	sti	the String ID  to assign
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    73
	 * @param	msg	the message to assign
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    74
	 */
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    75
	public TuioString (long si, int sti, String msg) {
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    76
		this.session_id = si;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    77
		this.string_id = sti;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    78
		this.message = msg;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    79
		currentTime = TuioTime.getSessionTime();
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    80
		startTime = new TuioTime(currentTime);
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    81
	}
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    82
	
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    83
	/**
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    84
	 * This constructor takes the atttibutes of the provided TuioCursor 
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    85
	 * and assigs these values to the newly created TuioCursor.
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    86
	 *
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    87
	 * @param	tcur	the TuioCursor to assign
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    88
	 */
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    89
	public TuioString (TuioString tstr) {
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    90
		this.session_id = tstr.getSessionID();
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    91
		this.string_id = tstr.getStringID();
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    92
		this.message = tstr.getMessage();
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    93
		currentTime = new TuioTime(tstr.getCurrentTime());
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    94
		startTime = new TuioTime(currentTime);
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    95
	}
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    96
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    97
	/**
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    98
	 * Takes a TuioTime argument and assigns it along with the provided 
92f19af39024 Middleware :
bastiena
parents:
diff changeset
    99
	 * message to the private TuioString attributes.
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   100
	 * The speed and accleration values are calculated accordingly.
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   101
	 *
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   102
	 * @param	ttime	the TuioTime to assign
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   103
	 * @param	message2 the message to assign
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   104
	 */
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   105
	public void update(TuioTime ttime, String message2) {
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   106
		currentTime = new TuioTime(ttime);
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   107
		message = message2;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   108
	}
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   109
	
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   110
	/**
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   111
	 * This method is used to update the TuioTime of a TuioString while keeping the same * * * message.
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   112
	 */
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   113
	public void stop(TuioTime ttime) {
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   114
		update(ttime,message);
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   115
	}
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   116
	
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   117
	/**
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   118
	 * Takes the atttibutes of the provided TuioString 
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   119
	 * and assigs these values to this TuioString.
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   120
	 * The TuioTime time stamp of this TuioString remains unchanged.
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   121
	 *
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   122
	 * @param	tstr	the TuioString to assign
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   123
	 */
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   124
	public void update (TuioString tstr) {
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   125
		message = tstr.getMessage();
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   126
	}
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   127
	
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   128
	/**
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   129
	 * Takes the message provided
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   130
	 * and assigs its value to this TuioString.
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   131
	 * The TuioTime time stamp of this TuioString remains unchanged.
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   132
	 *
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   133
	 * @param	msg	the message to assign
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   134
	 */
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   135
	public void update (String msg) {
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   136
		message = msg;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   137
	}
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   138
	
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   139
	/**
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   140
	 * Assigns the REMOVE state to this TuioString and sets
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   141
	 * its TuioTime time stamp to the provided TuioTime argument.
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   142
	 *
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   143
	 * @param	ttime	the TuioTime to assign
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   144
	 */
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   145
	public void remove(TuioTime ttime) {
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   146
		currentTime = new TuioTime(ttime);
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   147
		state = TUIO_REMOVED;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   148
	}
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   149
	
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   150
	/**
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   151
	 * Returns the Session ID of this TuioString.
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   152
	 * @return	the Session ID of this TuioString
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   153
	 */
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   154
	public long getSessionID() {
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   155
		return session_id;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   156
	}
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   157
	
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   158
	/**
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   159
	 * Returns the String ID of this TuioString.
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   160
	 * @return	the String ID of this TuioString
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   161
	 */
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   162
	public int getStringID() {
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   163
		return string_id;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   164
	}
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   165
	
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   166
	/**
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   167
	 * Returns the Message of this TuioString.
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   168
	 * @return	the Message of this TuioString
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   169
	 */
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   170
	public String getMessage() {
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   171
		return message;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   172
	}
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   173
	
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   174
	/**
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   175
	 * Returns the Current Time of this TuioString.
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   176
	 * @return	the Current Time of this TuioString
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   177
	 */
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   178
	public TuioTime getCurrentTime() {
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   179
		return currentTime;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   180
	}
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   181
	
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   182
	/**
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   183
	 * Returns the TUIO state of this TuioString.
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   184
	 * @return	the TUIO state of this TuioString
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   185
	 */
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   186
	public int getTuioState() {
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   187
		return state;
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   188
	}
92f19af39024 Middleware :
bastiena
parents:
diff changeset
   189
}