public Tuio2DCursor(OSCMessage message) { this.SessionID = Convert.ToInt32(message.Values[1]); this.PositionX = Convert.ToSingle(message.Values[2]); this.PositionY = Convert.ToSingle(message.Values[3]); this.VelocityX = Convert.ToSingle(message.Values[4]); this.VelocityY = Convert.ToSingle(message.Values[5]); this.Acceleration = Convert.ToSingle(message.Values[6]); }
public OSCMessage GetMessage() { OSCMessage msg = new OSCMessage("/tuio/2Dcur"); msg.Append("set"); msg.Append(this.SessionID); msg.Append(this.PositionX); msg.Append(this.PositionY); msg.Append(this.VelocityX); msg.Append(this.VelocityY); msg.Append(this.Acceleration); return msg; }
public static OSCMessage Unpack(byte[] bytes, ref int start) { string address = unpackString(bytes, ref start); //Console.WriteLine("address: " + address); OSCMessage msg = new OSCMessage(address); char[] tags = unpackString(bytes, ref start).ToCharArray(); //Console.WriteLine("tags: " + new string(tags)); foreach(char tag in tags) { //Console.WriteLine("tag: " + tag + " @ "+start); if(tag == ',') continue; else if(tag == INTEGER) msg.Append(unpackInt(bytes, ref start)); else if(tag == LONG) msg.Append(unpackLong(bytes, ref start)); else if(tag == DOUBLE) msg.Append(unpackDouble(bytes, ref start)); else if(tag == FLOAT) msg.Append(unpackFloat(bytes, ref start)); else if(tag == STRING || tag == SYMBOL) msg.Append(unpackString(bytes, ref start)); else Console.WriteLine("unknown tag: "+tag); } return msg; }