diff options
author | Stéphane Lenclud <github@lenclud.com> | 2019-03-10 17:10:02 +0100 |
---|---|---|
committer | Stéphane Lenclud <github@lenclud.com> | 2019-03-10 17:10:02 +0100 |
commit | 8a9d143523fddbf8ee9cb1c58cb281ac380d3ae0 (patch) | |
tree | ae5cabae1134456eff8260ff6e7c30639c9ef42c /compat | |
parent | c90f8fbd1a83ffeed6b0bb9d55e91f4a4a9b8641 (diff) |
Kinect Point Tracker: Working on basic architecture.
Diffstat (limited to 'compat')
-rw-r--r-- | compat/camera-names.cpp | 15 | ||||
-rw-r--r-- | compat/camera-names.hpp | 5 |
2 files changed, 20 insertions, 0 deletions
diff --git a/compat/camera-names.cpp b/compat/camera-names.cpp index 246d76ee..c30e4b33 100644 --- a/compat/camera-names.cpp +++ b/compat/camera-names.cpp @@ -49,6 +49,7 @@ QList<QString> get_camera_names() // Enumerate the monikers. IMoniker *pMoniker = nullptr; ULONG cFetched; + bool hasKinect = true; while (pEnumCat->Next(1, &pMoniker, &cFetched) == S_OK) { IPropertyBag *pPropBag; @@ -63,12 +64,26 @@ QList<QString> get_camera_names() // Display the name in your UI somehow. QString str((QChar*)var.bstrVal, int(std::wcslen(var.bstrVal))); ret.append(str); + if (!hasKinect && str.compare(KKinectVideoSensor)==0) + { + // We do have a Kinect V2 connected + hasKinect = true; + } } VariantClear(&var); pPropBag->Release(); } pMoniker->Release(); } + + if (hasKinect) + { + // Add Kinect V2 IR Sensor as an option then + ret.append(QString(KKinectIRSensor)); + // We made sure that extra camera is added at the end of our array so as not to mess up genuine camera indices... + // ...which we relly on to create our OpenCV VideoCapture object in Camera::start. + } + pEnumCat->Release(); } else diff --git a/compat/camera-names.hpp b/compat/camera-names.hpp index 97184c8c..4d9b023c 100644 --- a/compat/camera-names.hpp +++ b/compat/camera-names.hpp @@ -13,6 +13,11 @@ #include "export.hpp" +// Hard coding name of standard Kinect camera as returned from Windows API as used in ::get_camera_names +static const char KKinectVideoSensor[] = "Kinect V2 Video Sensor"; +// Defining camera name for Kinect IR Sensor +static const char KKinectIRSensor[] = "Kinect V2 IR Sensor"; + OTR_COMPAT_EXPORT QList<QString> get_camera_names(); OTR_COMPAT_EXPORT int camera_name_to_index(const QString &name); |