front_processing/extern/TUIO_JAVA/src/com/illposed/osc/OSCPacket.java
author bastiena
Tue, 20 Mar 2012 18:00:55 +0100
changeset 7 8a21bec5d45f
parent 0 6fefd4afe506
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
 * @author cramakrishnan
6fefd4afe506 First Import
bastiena
parents:
diff changeset
     3
 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
     4
 * Copyright (C) 2003, C. Ramakrishnan / Illposed Software
6fefd4afe506 First Import
bastiena
parents:
diff changeset
     5
 * All rights reserved.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
     6
 * 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
     7
 * See license.txt (or license.rtf) for license information.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
     8
 * 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
     9
 * 
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    10
 * OscPacket is the abstract superclass for the various
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    11
 * kinds of OSC Messages. Its direct subclasses are:
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    12
 *  OscMessage, OscBundle
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    13
 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    14
 * Subclasses need to know how to produce a byte array
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    15
 * in the format specified by the OSC spec (or SuperCollider
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    16
 * documentation, as the case may be).
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    17
 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    18
 * This implementation is based on Markus Gaelli and
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    19
 * Iannis Zannos' OSC implementation in Squeak:
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    20
 * http://www.emergent.de/Goodies/
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    21
 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    22
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    23
package com.illposed.osc;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    24
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    25
import com.illposed.osc.utility.*;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    26
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    27
public abstract class OSCPacket {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    28
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    29
	protected byte[] byteArray;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    30
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    31
	public OSCPacket() {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    32
		super();
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    33
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    34
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    35
	protected void computeByteArray() {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    36
		OSCJavaToByteArrayConverter stream = new OSCJavaToByteArrayConverter();
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    37
		computeByteArray(stream);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    38
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    39
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    40
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    41
	 * @param stream OscPacketByteArrayConverter
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    42
	 *
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    43
	 * Subclasses should implement this method to product a byte array
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    44
	 * formatted according to the OSC/SuperCollider specification.
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    45
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    46
	protected abstract void computeByteArray(OSCJavaToByteArrayConverter stream);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    47
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    48
	/**
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    49
	 * @return byte[]
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    50
	 */
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    51
	public byte[] getByteArray() {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    52
		computeByteArray();
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    53
		return byteArray;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    54
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    55
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    56
	protected void init() {
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    57
		
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    58
	}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    59
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    60
}