コード例 #1
0
 public void updateTuioObject(TuioObject o)
 {
     // if (eventDelegate) eventDelegate.objectUpdate(o);
 }
コード例 #2
0
 public void RemoveTuioObject(TuioObject tuioObject)
 {
 }
コード例 #3
0
ファイル: Program.cs プロジェクト: kasumar/thesis
 public void removeTuioObject(TuioObject tobj)
 {
     Console.WriteLine("del obj " + tobj.SymbolID + " " + tobj.SessionID);
 }
コード例 #4
0
 void TuioListener.updateTuioObject(TuioObject tobj)
 {
 }
コード例 #5
0
 public void AddTuioObject(TuioObject tuioObject)
 {
 }
コード例 #6
0
 public void updateTuioObject(TuioObject o)
 {
 }
コード例 #7
0
 private void updateObjectProperties(ObjectPointer obj, TuioObject target)
 {
     obj.ObjectId = target.ClassId;
     obj.Angle    = target.Angle;
 }
コード例 #8
0
 public void updateTuioObject(TuioObject tobj) => OnObjectUpdate?.Invoke(tobj);
コード例 #9
0
 public void removeTuioObject(TuioObject tobj) => OnObjectRemove?.Invoke(tobj);
コード例 #10
0
        public void ProcessMessage(OscMessage message)
        {
            if (message.Address != "/tuio/2Dobj")
            {
                return;
            }

            var command = message.Data[0].ToString();

            switch (command)
            {
            case "set":
                if (message.Data.Count < 11)
                {
                    return;
                }

                var id                   = (int)message.Data[1];
                var classId              = (int)message.Data[2];
                var xPos                 = (float)message.Data[3];
                var yPos                 = (float)message.Data[4];
                var angle                = (float)message.Data[5];
                var velocityX            = (float)message.Data[6];
                var velocityY            = (float)message.Data[7];
                var rotationVelocity     = (float)message.Data[8];
                var acceleration         = (float)message.Data[9];
                var rotationAcceleration = (float)message.Data[10];

                TuioObject obj;
                if (!objects.TryGetValue(id, out obj))
                {
                    obj = new TuioObject(id, classId);
                }
                obj.Update(xPos, yPos, angle, velocityX, velocityY, rotationVelocity, acceleration, rotationAcceleration);
                updatedObjects.Add(obj);
                break;

            case "alive":
                var total = message.Data.Count;
                for (var i = 1; i < total; i++)
                {
                    addedObjects.Add((int)message.Data[i]);
                }
                foreach (KeyValuePair <int, TuioObject> value in objects)
                {
                    if (!addedObjects.Contains(value.Key))
                    {
                        removedObjects.Add(value.Key);
                    }
                    addedObjects.Remove(value.Key);
                }
                break;

            case "fseq":
                if (message.Data.Count < 2)
                {
                    return;
                }
                FrameNumber = (int)message.Data[1];
                var count = updatedObjects.Count;
                for (var i = 0; i < count; i++)
                {
                    var updatedObject = updatedObjects[i];
                    if (addedObjects.Contains(updatedObject.Id) && !objects.ContainsKey(updatedObject.Id))
                    {
                        objects.Add(updatedObject.Id, updatedObject);
                        if (ObjectAdded != null)
                        {
                            ObjectAdded(this, new TuioObjectEventArgs(updatedObject));
                        }
                    }
                    else
                    {
                        if (ObjectUpdated != null)
                        {
                            ObjectUpdated(this, new TuioObjectEventArgs(updatedObject));
                        }
                    }
                }
                count = removedObjects.Count;
                for (var i = 0; i < count; i++)
                {
                    var objectId = removedObjects[i];
                    obj = objects[objectId];
                    objects.Remove(objectId);
                    if (ObjectRemoved != null)
                    {
                        ObjectRemoved(this, new TuioObjectEventArgs(obj));
                    }
                }

                addedObjects.Clear();
                removedObjects.Clear();
                updatedObjects.Clear();
                break;
            }
        }
コード例 #11
0
 public void addTuioObject(TuioObject tobj) => OnObjectAdd?.Invoke(tobj);
コード例 #12
0
 public TuioObjectEventArgs(TuioObject obj)
 {
     Object = obj;
 }
コード例 #13
0
        /// <inheritdoc />
        public override void CancelTouch(TouchPoint touch, bool @return)
        {
            base.CancelTouch(touch, @return);
            lock (this)
            {
                TuioCursor cursor = null;
                foreach (var touchPoint in cursorToInternalId)
                {
                    if (touchPoint.Value.Id == touch.Id)
                    {
                        cursor = touchPoint.Key;
                        break;
                    }
                }
                if (cursor != null)
                {
                    cancelTouch(touch.Id);
                    if (@return)
                    {
                        cursorToInternalId[cursor] = beginTouch(touch.Position, touch.Tags, false);
                    }
                    else
                    {
                        cursorToInternalId.Remove(cursor);
                    }
                    return;
                }

                TuioBlob blob = null;
                foreach (var touchPoint in blobToInternalId)
                {
                    if (touchPoint.Value.Id == touch.Id)
                    {
                        blob = touchPoint.Key;
                        break;
                    }
                }
                if (blob != null)
                {
                    cancelTouch(touch.Id);
                    if (@return)
                    {
                        var t = beginTouch(touch.Position, touch.Tags, false);
                        t.Properties           = touch.Properties;
                        blobToInternalId[blob] = t;
                    }
                    else
                    {
                        blobToInternalId.Remove(blob);
                    }
                    return;
                }

                TuioObject obj = null;
                foreach (var touchPoint in objectToInternalId)
                {
                    if (touchPoint.Value.Id == touch.Id)
                    {
                        obj = touchPoint.Key;
                        break;
                    }
                }
                if (obj != null)
                {
                    cancelTouch(touch.Id);
                    if (@return)
                    {
                        var t = beginTouch(touch.Position, touch.Tags, false);
                        t.Properties            = touch.Properties;
                        objectToInternalId[obj] = t;
                    }
                    else
                    {
                        objectToInternalId.Remove(obj);
                    }
                }
            }
        }
コード例 #14
0
 public void removeTuioObject(TuioObject o)
 {
     // if (eventDelegate) eventDelegate.objectRemove(o);
 }
コード例 #15
0
 public void addTuioObject(TuioObject o)
 {
     objects.Add(o);
 }
コード例 #16
0
 private void AddEvent(TrackerEventType eventType, TuioObject obj)
 => _markerEvents.Add(CreateEvent(eventType, obj));
コード例 #17
0
 public void removeTuioObject(TuioObject o)
 {
     objects.Remove(o);
 }
コード例 #18
0
 public void addTuioObject(TuioObject o)
 {
 }
コード例 #19
0
        /// <inheritdoc />
        public override bool CancelPointer(Pointer pointer, bool shouldReturn)
        {
            base.CancelPointer(pointer, shouldReturn);
            lock (this)
            {
                if (pointer.Type == Pointer.PointerType.Touch)
                {
                    TuioCursor cursor = null;
                    foreach (var touchPoint in cursorToInternalId)
                    {
                        if (touchPoint.Value.Id == pointer.Id)
                        {
                            cursor = touchPoint.Key;
                            break;
                        }
                    }
                    if (cursor != null)
                    {
                        cancelPointer(pointer);
                        if (shouldReturn)
                        {
                            cursorToInternalId[cursor] = internalReturnTouch(pointer as TouchPointer);
                        }
                        else
                        {
                            cursorToInternalId.Remove(cursor);
                        }
                        return(true);
                    }
                    return(false);
                }

                TuioObject obj = null;
                foreach (var touchPoint in objectToInternalId)
                {
                    if (touchPoint.Value.Id == pointer.Id)
                    {
                        obj = touchPoint.Key;
                        break;
                    }
                }
                if (obj != null)
                {
                    cancelPointer(pointer);
                    if (shouldReturn)
                    {
                        objectToInternalId[obj] = internalReturnObject(pointer as ObjectPointer, pointer.Position);
                    }
                    else
                    {
                        objectToInternalId.Remove(obj);
                    }
                    return(true);
                }

                TuioBlob blob = null;
                foreach (var touchPoint in blobToInternalId)
                {
                    if (touchPoint.Value.Id == pointer.Id)
                    {
                        blob = touchPoint.Key;
                        break;
                    }
                }
                if (blob != null)
                {
                    cancelPointer(pointer);
                    if (shouldReturn)
                    {
                        blobToInternalId[blob] = internalReturnObject(pointer as ObjectPointer, pointer.Position);
                    }
                    else
                    {
                        blobToInternalId.Remove(blob);
                    }
                    return(true);
                }

                return(false);
            }
        }
コード例 #20
0
 public void removeTuioObject(TuioObject o)
 {
 }
コード例 #21
0
 void TuioListener.addTuioObject(TuioObject in_TUIOObject)
 {
     this.m_TUIOObjects.Add(in_TUIOObject);
 }
コード例 #22
0
 public void addTuioObject(TuioObject o)
 {
     try { OnIncomingTuioObject(o, IncomingType.New); }
     catch { }
 }
コード例 #23
0
 void TuioListener.removeTuioObject(TuioObject in_TUIOObject)
 {
     this.m_TUIOObjects.Remove(in_TUIOObject);
 }
コード例 #24
0
 public void updateTuioObject(TuioObject o)
 {
     try { OnIncomingTuioObject(o, IncomingType.Update); }
     catch { }
 }
コード例 #25
0
 public void UpdateTuioObject(TuioObject tuioObject)
 {
 }
コード例 #26
0
 public void removeTuioObject(TuioObject o)
 {
     try { OnIncomingTuioObject(o, IncomingType.Remove); }
     catch { }
 }
コード例 #27
0
ファイル: Program.cs プロジェクト: kasumar/thesis
 public void updateTuioObject(TuioObject tobj)
 {
     Console.WriteLine("set obj " + tobj.SymbolID + " " + tobj.SessionID + " " + tobj.X + " " + tobj.Y + " " + tobj.Angle + " " + tobj.MotionSpeed + " " + tobj.RotationSpeed + " " + tobj.MotionAccel + " " + tobj.RotationAccel);
 }
コード例 #28
0
 public TuioEventObjectArgs(TuioObject theTuioObject)
 {
     tuioObject = theTuioObject;
 }
コード例 #29
0
ファイル: Program.cs プロジェクト: kasumar/thesis
 public void addTuioObject(TuioObject tobj)
 {
     Console.WriteLine("add obj " + tobj.SymbolID + " " + tobj.SessionID + " " + tobj.X + " " + tobj.Y + " " + tobj.Angle);
 }
コード例 #30
0
 // required implementations
 public void addTuioObject(TuioObject o)
 {
     // if (eventDelegate) eventDelegate.objectAdd(o);
 }