public void StartTracking() { var buffer = new KinectDataBuffer(); ProgramState.StartedTracking(); ProcessingCommandsQueue.Add(new StartTrackingMessage(buffer)); Kinect = new Kinect(ProcessingCommandsQueue, buffer, this); }
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)); }
public void SetBuffer(KinectDataBuffer buffer) { Buffer = buffer; }
public StartTrackingMessage(KinectDataBuffer buffer) { Buffer = buffer; }