Ejemplo n.º 1
0
        public void StartTracking()
        {
            var buffer = new KinectDataBuffer();

            ProgramState.StartedTracking();
            ProcessingCommandsQueue.Add(new StartTrackingMessage(buffer));
            Kinect = new Kinect(ProcessingCommandsQueue, buffer, this);
        }
Ejemplo n.º 2
0
        public Kinect(BlockingCollection <Message> processingCommandsQueue, KinectDataBuffer buffer, TrackingManager trackingManager)
        {
            CommandsQueue   = processingCommandsQueue;
            Buffer          = buffer;
            TrackingManager = trackingManager;

            KinectSensor = KinectSensor.GetDefault();

            Reader = KinectSensor.OpenMultiSourceFrameReader(FrameSourceTypes.Color | FrameSourceTypes.Depth | FrameSourceTypes.Infrared);
            Reader.MultiSourceFrameArrived += MultisourceFrameArrived;

            CoordinateMapper = KinectSensor.CoordinateMapper;

            ColorFrameDescription    = KinectSensor.ColorFrameSource.FrameDescription;
            DepthFrameDescription    = KinectSensor.DepthFrameSource.FrameDescription;
            InfraredFrameDescription = KinectSensor.InfraredFrameSource.FrameDescription;

            KinectSensor.Open();

            // initial message for pipeline, causes it to wait for input and throw exception if nothing arrives
            CommandsQueue.Add(new KinectUpdateMessage(null));
        }
Ejemplo n.º 3
0
 public void SetBuffer(KinectDataBuffer buffer)
 {
     Buffer = buffer;
 }
 public StartTrackingMessage(KinectDataBuffer buffer)
 {
     Buffer = buffer;
 }