Kinect / Docs

Markdown documentation for Kinect for Windows
MIT License
74 stars 35 forks source link

Please provide more explanations about the CoordinateMappingChanged event. #18

Open ksze opened 8 years ago

ksze commented 8 years ago

There is not enough explanation in this page: https://github.com/Kinect/Docs/blob/master/Kinect4Windows2.0/k4w2/Reference/Kinect_for_Windows_v2/Kinect/CoordinateMapper_Class/Events/CoordinateMappingChanged.md

leithmc commented 8 years ago

Sorry, I'm not involved in this project any more, and all I did was write the tooling to convert between markdown and HxS. I believe there's a forum where you can post these sorts of questions?Leith McCombs

Date: Thu, 12 Nov 2015 01:56:12 -0800 From: notifications@github.com To: Docs@noreply.github.com Subject: [Docs] Please provide more explanations about the CoordinateMappingChanged event. (#18)

There is not enough explanation in this page:

https://github.com/Kinect/Docs/blob/master/Kinect4Windows2.0/k4w2/Reference/Kinect_for_Windows_v2/Kinect/CoordinateMapper_Class/Events/CoordinateMappingChanged.md

When does coordinate mapping change? How does it change? The corresponding CoordinateMappingChangedEventArgs is pretty much empty (or at least it doesn't have any public member) Why would coordinate mapping change at all? Can the event actually fire in release 2.0.1410.19000 of the Kinect for Windows SDK 2.0?

— Reply to this email directly or view it on GitHub.

diablodale commented 8 years ago

In my experience, it is possible for the coordinate mapping to change while your application is running. The easiest way to see this is if you run your application using a Kinect v2. Then use Kinect Studio to attach and play back a recording. When the recording is played back, the internal coordinate mapping will be reloaded with the data from the recording. That recording could have been made on a different Kinectv2 and therefore will have very different alignment/mapping.

ChimeraScorn commented 8 years ago

Coordinate Mapping changes in a couple of situations: 1) As the sensor initializes, it needs to pull the calibration data from the sensor across to the runtime. If you try to look at coordinate mapping immediately when you open the sensor, you will see that it is not populated. When it is populated, this event will fire. 2) If a file is played back via Kinect Studio, the coordinate mapping data which was captured in the recording will swap in, which will cause the event to fire 3) If you switch back to live stream (disconnect KS), that sensors data will be swapped back in, which will again cause the event to fire.