24 #include "OniPlatform.h"
25 #include "OniProperties.h"
29 #include "OniCProperties.h"
86 #if ONI_PLATFORM != ONI_PLATFORM_WIN32
87 #pragma GCC diagnostic ignored "-Wunused-variable"
88 #pragma GCC diagnostic push
91 #if ONI_PLATFORM != ONI_PLATFORM_WIN32
92 #pragma GCC diagnostic pop
106 Array() : m_data(NULL), m_count(0), m_owner(false) {}
115 Array(
const T* data,
int count) : m_owner(false) { _setData(data, count); }
146 void _setData(
const T* data,
int count,
bool isOwner =
false)
157 m_data =
new T[count];
158 memcpy((
void*)m_data, data, count*
sizeof(T));
163 Array(
const Array<T>&);
164 Array<T>& operator=(
const Array<T>&);
168 if (m_owner && m_data != NULL)
186 class CameraSettings;
187 class PlaybackControl;
280 this->resolutionX = resolutionX;
281 this->resolutionY = resolutionY;
290 void setFps(
int fps) { this->fps = fps; }
336 SensorInfo() : m_pInfo(NULL), m_videoModes(NULL, 0) {}
338 SensorInfo(
const OniSensorInfo* pInfo) : m_pInfo(NULL), m_videoModes(NULL, 0)
343 void _setInternal(
const OniSensorInfo* pInfo)
348 m_videoModes._setData(NULL, 0);
352 m_videoModes._setData(
static_cast<VideoMode*
>(pInfo->pSupportedVideoModes), pInfo->numSupportedVideoModes);
356 const OniSensorInfo* m_pInfo;
357 Array<VideoMode> m_videoModes;
379 const char*
getUri()
const {
return uri; }
433 _setFrame(other.m_pFrame);
443 _setFrame(other.m_pFrame);
454 return m_pFrame->dataSize;
464 return m_pFrame->data;
487 return static_cast<const VideoMode&
>(m_pFrame->videoMode);
499 return m_pFrame->timestamp;
514 return m_pFrame->frameIndex;
525 return m_pFrame->width;
535 return m_pFrame->height;
544 return m_pFrame->croppingEnabled == TRUE;
553 return m_pFrame->cropOriginX;
562 return m_pFrame->cropOriginY;
572 return m_pFrame->stride;
580 return m_pFrame != NULL;
589 if (m_pFrame != NULL)
591 oniFrameRelease(m_pFrame);
597 void _setFrame(OniFrame* pFrame)
599 setReference(pFrame);
602 oniFrameAddRef(pFrame);
607 OniFrame* _getFrame()
614 inline void setReference(OniFrame* pFrame)
677 static void ONI_CALLBACK_TYPE callback(OniStreamHandle streamHandle,
void* pCookie)
681 stream._setHandle(streamHandle);
683 stream._setHandle(NULL);
685 OniCallbackHandle m_callbackHandle;
698 static void* ONI_CALLBACK_TYPE allocateFrameBufferCallback(
int size,
void* pCookie)
704 static void ONI_CALLBACK_TYPE freeFrameBufferCallback(
void* data,
void* pCookie)
715 VideoStream() : m_stream(NULL), m_sensorInfo(), m_pCameraSettings(NULL), m_isOwner(true)
722 explicit VideoStream(OniStreamHandle handle) : m_stream(NULL), m_sensorInfo(), m_pCameraSettings(NULL), m_isOwner(false)
742 return m_stream != NULL;
786 return (
Status)oniStreamStart(m_stream);
799 oniStreamStop(m_stream);
820 Status rc = (
Status)oniStreamReadFrame(m_stream, &pOniFrame);
822 pFrame->setReference(pOniFrame);
840 return (
Status)oniStreamRegisterNewFrameCallback(m_stream, pListener->callback, pListener, &pListener->m_callbackHandle);
854 oniStreamUnregisterNewFrameCallback(m_stream, pListener->m_callbackHandle);
855 pListener->m_callbackHandle = NULL;
870 if (pAllocator == NULL)
872 return (
Status)oniStreamSetFrameBuffersAllocator(m_stream, NULL, NULL, NULL);
876 return (
Status)oniStreamSetFrameBuffersAllocator(m_stream, pAllocator->allocateFrameBufferCallback, pAllocator->freeFrameBufferCallback, pAllocator);
884 OniStreamHandle _getHandle()
const
912 return (
Status)oniStreamGetProperty(m_stream, propertyId, data, dataSize);
932 return (
Status)oniStreamSetProperty(m_stream, propertyId, data, dataSize);
944 getProperty<OniVideoMode>(STREAM_PROPERTY_VIDEO_MODE,
static_cast<OniVideoMode*
>(&videoMode));
958 return setProperty<OniVideoMode>(STREAM_PROPERTY_VIDEO_MODE,
static_cast<const OniVideoMode&
>(videoMode));
969 Status rc = getProperty<int>(STREAM_PROPERTY_MAX_VALUE, &maxValue);
985 Status rc = getProperty<int>(STREAM_PROPERTY_MIN_VALUE, &minValue);
1010 bool getCropping(
int* pOriginX,
int* pOriginY,
int* pWidth,
int* pHeight)
const
1012 OniCropping cropping;
1013 bool enabled =
false;
1015 Status rc = getProperty<OniCropping>(STREAM_PROPERTY_CROPPING, &cropping);
1019 *pOriginX = cropping.originX;
1020 *pOriginY = cropping.originY;
1021 *pWidth = cropping.width;
1022 *pHeight = cropping.height;
1023 enabled = (cropping.enabled == TRUE);
1040 OniCropping cropping;
1041 cropping.enabled =
true;
1042 cropping.originX = originX;
1043 cropping.originY = originY;
1044 cropping.width = width;
1045 cropping.height = height;
1046 return setProperty<OniCropping>(STREAM_PROPERTY_CROPPING, cropping);
1055 OniCropping cropping;
1056 cropping.enabled =
false;
1057 return setProperty<OniCropping>(STREAM_PROPERTY_CROPPING, cropping);
1067 Status rc = getProperty<OniBool>(STREAM_PROPERTY_MIRRORING, &enabled);
1072 return enabled == TRUE;
1082 return setProperty<OniBool>(STREAM_PROPERTY_MIRRORING, isEnabled ? TRUE : FALSE);
1091 float horizontal = 0;
1092 getProperty<float>(STREAM_PROPERTY_HORIZONTAL_FOV, &horizontal);
1103 getProperty<float>(STREAM_PROPERTY_VERTICAL_FOV, &vertical);
1119 return setProperty(propertyId, &value,
sizeof(T));
1134 int size =
sizeof(T);
1150 return oniStreamIsPropertySupported(m_stream, propertyId) == TRUE;
1169 return (
Status)oniStreamInvoke(m_stream, commandId, data, dataSize);
1184 return invoke(commandId, &value,
sizeof(T));
1199 return (
Status)oniStreamIsCommandSupported(m_stream, commandId) == TRUE;
1205 void _setHandle(OniStreamHandle stream)
1207 m_sensorInfo._setInternal(NULL);
1212 m_sensorInfo._setInternal(oniStreamGetSensorInfo(m_stream));
1220 OniStreamHandle m_stream;
1221 SensorInfo m_sensorInfo;
1222 CameraSettings* m_pCameraSettings;
1249 Device() : m_pPlaybackControl(NULL), m_device(NULL), m_isOwner(true)
1258 explicit Device(OniDeviceHandle handle) : m_pPlaybackControl(NULL), m_device(NULL), m_isOwner(false)
1269 if (m_device != NULL)
1311 inline void close();
1324 return m_deviceInfo;
1337 for (i = 0; (i < ONI_MAX_SENSORS) && (m_aSensorInfo[i].m_pInfo != NULL); ++i)
1339 if (m_aSensorInfo[i].getSensorType() == sensorType)
1345 if (i == ONI_MAX_SENSORS)
1350 const OniSensorInfo* pInfo = oniDeviceGetSensorInfo(m_device, (OniSensorType)sensorType);
1357 m_aSensorInfo[i]._setInternal(pInfo);
1372 for (i = 0; (i < ONI_MAX_SENSORS) && (m_aSensorInfo[i].m_pInfo != NULL); ++i)
1374 if (m_aSensorInfo[i].getSensorType() == sensorType)
1376 return &m_aSensorInfo[i];
1381 if (i == ONI_MAX_SENSORS)
1386 const OniSensorInfo* pInfo = oniDeviceGetSensorInfo(m_device, (OniSensorType)sensorType);
1392 m_aSensorInfo[i]._setInternal(pInfo);
1393 return &m_aSensorInfo[i];
1400 OniDeviceHandle _getHandle()
const
1424 return (
Status)oniDeviceGetProperty(m_device, propertyId, data, dataSize);
1440 return (
Status)oniDeviceSetProperty(m_device, propertyId, data, dataSize);
1452 return (oniDeviceIsImageRegistrationModeSupported(m_device, (OniImageRegistrationMode)mode) == TRUE);
1465 Status rc = getProperty<ImageRegistrationMode>(DEVICE_PROPERTY_IMAGE_REGISTRATION, &mode);
1488 return setProperty<ImageRegistrationMode>(DEVICE_PROPERTY_IMAGE_REGISTRATION, mode);
1497 return m_device != NULL;
1525 rc = (
Status)oniDeviceEnableDepthColorSync(m_device);
1529 oniDeviceDisableDepthColorSync(m_device);
1537 return oniDeviceGetDepthColorSyncEnabled(m_device) == TRUE;
1553 return setProperty(propertyId, &value,
sizeof(T));
1568 int size =
sizeof(T);
1579 return oniDeviceIsPropertySupported(m_device, propertyId) == TRUE;
1593 return (
Status)oniDeviceInvoke(m_device, commandId, data, dataSize);
1608 return invoke(propertyId, &value,
sizeof(T));
1618 return oniDeviceIsCommandSupported(m_device, commandId) == TRUE;
1622 inline Status _openEx(
const char* uri,
const char* mode);
1630 for (
int i = 0; i < ONI_MAX_SENSORS; ++i)
1632 m_aSensorInfo[i]._setInternal(NULL);
1636 inline Status _setHandle(OniDeviceHandle deviceHandle);
1639 PlaybackControl* m_pPlaybackControl;
1641 OniDeviceHandle m_device;
1642 DeviceInfo m_deviceInfo;
1643 SensorInfo m_aSensorInfo[ONI_MAX_SENSORS];
1702 Status rc = m_pDevice->
getProperty<
float>(DEVICE_PROPERTY_PLAYBACK_SPEED, &speed);
1722 return m_pDevice->
setProperty<
float>(DEVICE_PROPERTY_PLAYBACK_SPEED, speed);
1738 Status rc = m_pDevice->
getProperty<OniBool>(DEVICE_PROPERTY_PLAYBACK_REPEAT_ENABLED, &repeat);
1744 return repeat == TRUE;
1762 return m_pDevice->
setProperty<OniBool>(DEVICE_PROPERTY_PLAYBACK_REPEAT_ENABLED, repeat ? TRUE : FALSE);
1782 seek.frameIndex = frameIndex;
1783 seek.stream = stream._getHandle();
1784 return m_pDevice->
invoke(DEVICE_COMMAND_SEEK,
seek);
1797 int numOfFrames = -1;
1798 Status rc = stream.
getProperty<
int>(STREAM_PROPERTY_NUMBER_OF_FRAMES, &numOfFrames);
1808 return m_pDevice != NULL;
1831 if (pDevice != NULL)
1846 return setProperty(STREAM_PROPERTY_AUTO_EXPOSURE, enabled ? TRUE : FALSE);
1850 return setProperty(STREAM_PROPERTY_AUTO_WHITE_BALANCE, enabled ? TRUE : FALSE);
1855 OniBool enabled = FALSE;
1857 Status rc = getProperty(STREAM_PROPERTY_AUTO_EXPOSURE, &enabled);
1858 return rc ==
STATUS_OK && enabled == TRUE;
1862 OniBool enabled = FALSE;
1864 Status rc = getProperty(STREAM_PROPERTY_AUTO_WHITE_BALANCE, &enabled);
1865 return rc ==
STATUS_OK && enabled == TRUE;
1870 return setProperty(STREAM_PROPERTY_GAIN, gain);
1874 return setProperty(STREAM_PROPERTY_EXPOSURE, exposure);
1879 Status rc = getProperty(STREAM_PROPERTY_GAIN, &gain);
1889 Status rc = getProperty(STREAM_PROPERTY_EXPOSURE, &exposure);
1900 Status getProperty(
int propertyId, T* value)
const
1904 return m_pStream->
getProperty<T>(propertyId, value);
1907 Status setProperty(
int propertyId,
const T& value)
1911 return m_pStream->
setProperty<T>(propertyId, value);
1917 m_pStream = pStream;
1960 m_deviceConnectedCallbacks.deviceConnected = deviceConnectedCallback;
1961 m_deviceConnectedCallbacks.deviceDisconnected = NULL;
1962 m_deviceConnectedCallbacks.deviceStateChanged = NULL;
1963 m_deviceConnectedCallbacksHandle = NULL;
1983 static void ONI_CALLBACK_TYPE deviceConnectedCallback(
const OniDeviceInfo* pInfo,
void* pCookie)
1990 OniDeviceCallbacks m_deviceConnectedCallbacks;
1991 OniCallbackHandle m_deviceConnectedCallbacksHandle;
2015 m_deviceDisconnectedCallbacks.deviceConnected = NULL;
2016 m_deviceDisconnectedCallbacks.deviceDisconnected = deviceDisconnectedCallback;
2017 m_deviceDisconnectedCallbacks.deviceStateChanged = NULL;
2018 m_deviceDisconnectedCallbacksHandle = NULL;
2035 static void ONI_CALLBACK_TYPE deviceDisconnectedCallback(
const OniDeviceInfo* pInfo,
void* pCookie)
2042 OniDeviceCallbacks m_deviceDisconnectedCallbacks;
2043 OniCallbackHandle m_deviceDisconnectedCallbacksHandle;
2063 m_deviceStateChangedCallbacks.deviceConnected = NULL;
2064 m_deviceStateChangedCallbacks.deviceDisconnected = NULL;
2065 m_deviceStateChangedCallbacks.deviceStateChanged = deviceStateChangedCallback;
2066 m_deviceStateChangedCallbacksHandle = NULL;
2081 static void ONI_CALLBACK_TYPE deviceStateChangedCallback(
const OniDeviceInfo* pInfo, OniDeviceState state,
void* pCookie)
2088 OniDeviceCallbacks m_deviceStateChangedCallbacks;
2089 OniCallbackHandle m_deviceStateChangedCallbacksHandle;
2099 return (
Status)oniInitialize(ONI_API_VERSION);
2116 OniVersion oniVersion = oniGetVersion();
2118 version.
major = oniVersion.major;
2119 version.
minor = oniVersion.minor;
2121 version.
build = oniVersion.build;
2134 return oniGetExtendedError();
2143 OniDeviceInfo* m_pDeviceInfos;
2144 int m_deviceInfoCount;
2145 oniGetDeviceList(&m_pDeviceInfos, &m_deviceInfoCount);
2146 deviceInfoList->_setData((
DeviceInfo*)m_pDeviceInfos, m_deviceInfoCount,
true);
2147 oniReleaseDeviceList(m_pDeviceInfos);
2160 static const int ONI_MAX_STREAMS = 50;
2161 OniStreamHandle streams[ONI_MAX_STREAMS];
2163 if (streamCount > ONI_MAX_STREAMS)
2165 printf(
"Too many streams for wait: %d > %d\n", streamCount, ONI_MAX_STREAMS);
2169 *pReadyStreamIndex = -1;
2170 for (
int i = 0; i < streamCount; ++i)
2172 if (pStreams[i] != NULL)
2174 streams[i] = pStreams[i]->_getHandle();
2181 Status rc = (
Status)oniWaitForAnyStream(streams, streamCount, pReadyStreamIndex, timeout);
2195 if (pListener->m_deviceConnectedCallbacksHandle != NULL)
2199 return (
Status)oniRegisterDeviceCallbacks(&pListener->m_deviceConnectedCallbacks, pListener, &pListener->m_deviceConnectedCallbacksHandle);
2210 if (pListener->m_deviceDisconnectedCallbacksHandle != NULL)
2214 return (
Status)oniRegisterDeviceCallbacks(&pListener->m_deviceDisconnectedCallbacks, pListener, &pListener->m_deviceDisconnectedCallbacksHandle);
2225 if (pListener->m_deviceStateChangedCallbacksHandle != NULL)
2229 return (
Status)oniRegisterDeviceCallbacks(&pListener->m_deviceStateChangedCallbacks, pListener, &pListener->m_deviceStateChangedCallbacksHandle);
2240 oniUnregisterDeviceCallbacks(pListener->m_deviceConnectedCallbacksHandle);
2241 pListener->m_deviceConnectedCallbacksHandle = NULL;
2252 oniUnregisterDeviceCallbacks(pListener->m_deviceDisconnectedCallbacksHandle);
2253 pListener->m_deviceDisconnectedCallbacksHandle = NULL;
2264 oniUnregisterDeviceCallbacks(pListener->m_deviceStateChangedCallbacksHandle);
2265 pListener->m_deviceStateChangedCallbacksHandle = NULL;
2278 return (
Status)oniSetLogOutputFolder(strLogOutputFolder);
2292 return (
Status)oniGetLogFileName(strFileName, nBufferSize);
2306 return(
Status) oniSetLogMinSeverity(nMinSeverity);
2319 return (
Status)oniSetLogConsoleOutput(bConsoleOutput);
2332 return (
Status)oniSetLogFileOutput(bFileOutput);
2335 #if ONI_PLATFORM == ONI_PLATFORM_ANDROID_ARM
2345 static Status setLogAndroidOutput(
bool bAndroidOutput)
2347 return (
Status)oniSetLogAndroidOutput(bAndroidOutput);
2407 float depthX, depthY, depthZ;
2408 Status rc = (
Status)oniCoordinateConverterWorldToDepth(depthStream._getHandle(), worldX, worldY, worldZ, &depthX, &depthY, &depthZ);
2409 *pDepthX = (int)depthX;
2410 *pDepthY = (int)depthY;
2427 return (
Status)oniCoordinateConverterWorldToDepth(depthStream._getHandle(), worldX, worldY, worldZ, pDepthX, pDepthY, pDepthZ);
2442 return (
Status)oniCoordinateConverterDepthToWorld(depthStream._getHandle(),
float(depthX),
float(depthY),
float(depthZ), pWorldX, pWorldY, pWorldZ);
2457 return (
Status)oniCoordinateConverterDepthToWorld(depthStream._getHandle(), depthX, depthY, depthZ, pWorldX, pWorldY, pWorldZ);
2473 return (
Status)oniCoordinateConverterDepthToColor(depthStream._getHandle(), colorStream._getHandle(), depthX, depthY, depthZ, pColorX, pColorY);
2525 return (
Status)oniCreateRecorder(fileName, &m_recorder);
2538 return NULL != getHandle();
2557 return (
Status)oniRecorderAttachStream(
2559 stream._getHandle(),
2560 allowLossyCompression);
2575 return (
Status)oniRecorderStart(m_recorder);
2585 oniRecorderStop(m_recorder);
2596 oniRecorderDestroy(&m_recorder);
2607 OniRecorderHandle getHandle()
const
2613 OniRecorderHandle m_recorder;
2619 OniStreamHandle streamHandle;
2620 Status rc = (
Status)oniDeviceCreateStream(device._getHandle(), (OniSensorType)sensorType, &streamHandle);
2627 _setHandle(streamHandle);
2644 if (m_pCameraSettings != NULL)
2646 delete m_pCameraSettings;
2647 m_pCameraSettings = NULL;
2650 if (m_stream != NULL)
2653 oniStreamDestroy(m_stream);
2670 OniDeviceHandle deviceHandle;
2677 _setHandle(deviceHandle);
2682 Status Device::_openEx(
const char* uri,
const char* mode)
2694 OniDeviceHandle deviceHandle;
2695 Status rc = (
Status)oniDeviceOpenEx(uri, mode, &deviceHandle);
2701 _setHandle(deviceHandle);
2706 Status Device::_setHandle(OniDeviceHandle deviceHandle)
2708 if (m_device == NULL)
2710 m_device = deviceHandle;
2714 oniDeviceGetInfo(m_device, &m_deviceInfo);
2718 m_pPlaybackControl =
new PlaybackControl(
this);
2730 if (m_pPlaybackControl != NULL)
2732 delete m_pPlaybackControl;
2733 m_pPlaybackControl = NULL;
2736 if (m_device != NULL)
2740 oniDeviceClose(m_device);
const T & operator[](int index) const
Definition: OpenNI.h:134
int getSize() const
Definition: OpenNI.h:129
Array()
Definition: OpenNI.h:106
Array(const T *data, int count)
Definition: OpenNI.h:115
~Array()
Definition: OpenNI.h:120
Definition: OpenNI.h:1841
Status setAutoExposureEnabled(bool enabled)
Definition: OpenNI.h:1844
Status setExposure(int exposure)
Definition: OpenNI.h:1872
Status setGain(int gain)
Definition: OpenNI.h:1868
bool getAutoWhiteBalanceEnabled() const
Definition: OpenNI.h:1860
int getGain()
Definition: OpenNI.h:1876
int getExposure()
Definition: OpenNI.h:1886
bool isValid() const
Definition: OpenNI.h:1897
Status setAutoWhiteBalanceEnabled(bool enabled)
Definition: OpenNI.h:1848
bool getAutoExposureEnabled() const
Definition: OpenNI.h:1853
Definition: OpenNI.h:2393
static Status convertDepthToWorld(const VideoStream &depthStream, int depthX, int depthY, DepthPixel depthZ, float *pWorldX, float *pWorldY, float *pWorldZ)
Definition: OpenNI.h:2440
static Status convertWorldToDepth(const VideoStream &depthStream, float worldX, float worldY, float worldZ, int *pDepthX, int *pDepthY, DepthPixel *pDepthZ)
Definition: OpenNI.h:2405
static Status convertDepthToColor(const VideoStream &depthStream, const VideoStream &colorStream, int depthX, int depthY, DepthPixel depthZ, int *pColorX, int *pColorY)
Definition: OpenNI.h:2471
static Status convertDepthToWorld(const VideoStream &depthStream, float depthX, float depthY, float depthZ, float *pWorldX, float *pWorldY, float *pWorldZ)
Definition: OpenNI.h:2455
static Status convertWorldToDepth(const VideoStream &depthStream, float worldX, float worldY, float worldZ, float *pDepthX, float *pDepthY, float *pDepthZ)
Definition: OpenNI.h:2425
Definition: OpenNI.h:1243
Status setProperty(int propertyId, const T &value)
Definition: OpenNI.h:1551
Device()
Definition: OpenNI.h:1249
void close()
Definition: OpenNI.h:2728
Status open(const char *uri)
Definition: OpenNI.h:2658
Status setImageRegistrationMode(ImageRegistrationMode mode)
Definition: OpenNI.h:1486
bool isPropertySupported(int propertyId) const
Definition: OpenNI.h:1577
Status getProperty(int propertyId, T *value) const
Definition: OpenNI.h:1566
bool isFile() const
Definition: OpenNI.h:1504
Device(OniDeviceHandle handle)
Definition: OpenNI.h:1258
~Device()
Definition: OpenNI.h:1267
Status invoke(int commandId, void *data, int dataSize)
Definition: OpenNI.h:1591
bool isCommandSupported(int commandId) const
Definition: OpenNI.h:1616
bool isImageRegistrationModeSupported(ImageRegistrationMode mode) const
Definition: OpenNI.h:1450
Status setDepthColorSyncEnabled(bool isEnabled)
Definition: OpenNI.h:1519
PlaybackControl * getPlaybackControl()
Definition: OpenNI.h:1409
Status invoke(int propertyId, T &value)
Definition: OpenNI.h:1606
const DeviceInfo & getDeviceInfo() const
Definition: OpenNI.h:1322
const SensorInfo * getSensorInfo(SensorType sensorType)
Definition: OpenNI.h:1369
Status getProperty(int propertyId, void *data, int *dataSize) const
Definition: OpenNI.h:1422
Status setProperty(int propertyId, const void *data, int dataSize)
Definition: OpenNI.h:1438
bool getDepthColorSyncEnabled()
Definition: OpenNI.h:1535
ImageRegistrationMode getImageRegistrationMode() const
Definition: OpenNI.h:1462
bool isValid() const
Definition: OpenNI.h:1495
bool hasSensor(SensorType sensorType)
Definition: OpenNI.h:1334
const char * getName() const
Definition: OpenNI.h:383
uint16_t getUsbProductId() const
Definition: OpenNI.h:387
const char * getVendor() const
Definition: OpenNI.h:381
const char * getUri() const
Definition: OpenNI.h:379
uint16_t getUsbVendorId() const
Definition: OpenNI.h:385
Definition: OpenNI.h:1956
virtual ~DeviceConnectedListener()
Definition: OpenNI.h:1966
DeviceConnectedListener()
Definition: OpenNI.h:1958
virtual void onDeviceConnected(const DeviceInfo *)=0
Definition: OpenNI.h:2011
virtual void onDeviceDisconnected(const DeviceInfo *)=0
DeviceDisconnectedListener()
Definition: OpenNI.h:2013
virtual ~DeviceDisconnectedListener()
Definition: OpenNI.h:2021
Definition: OpenNI.h:2059
virtual void onDeviceStateChanged(const DeviceInfo *, DeviceState)=0
DeviceStateChangedListener()
Definition: OpenNI.h:2061
virtual ~DeviceStateChangedListener()
Definition: OpenNI.h:2069
Definition: OpenNI.h:1937
static const char * getExtendedError()
Definition: OpenNI.h:2132
static Status initialize()
Definition: OpenNI.h:2097
static Status addDeviceConnectedListener(DeviceConnectedListener *pListener)
Definition: OpenNI.h:2193
static Status setLogConsoleOutput(bool bConsoleOutput)
Definition: OpenNI.h:2317
static void shutdown()
Definition: OpenNI.h:2106
static void removeDeviceConnectedListener(DeviceConnectedListener *pListener)
Definition: OpenNI.h:2238
static Status setLogMinSeverity(int nMinSeverity)
Definition: OpenNI.h:2304
static Status setLogOutputFolder(const char *strLogOutputFolder)
Definition: OpenNI.h:2276
static Status setLogFileOutput(bool bFileOutput)
Definition: OpenNI.h:2330
static Status addDeviceDisconnectedListener(DeviceDisconnectedListener *pListener)
Definition: OpenNI.h:2208
static Status addDeviceStateChangedListener(DeviceStateChangedListener *pListener)
Definition: OpenNI.h:2223
static Version getVersion()
Definition: OpenNI.h:2114
static void removeDeviceStateChangedListener(DeviceStateChangedListener *pListener)
Definition: OpenNI.h:2262
static Status waitForAnyStream(VideoStream **pStreams, int streamCount, int *pReadyStreamIndex, int timeout=TIMEOUT_FOREVER)
Definition: OpenNI.h:2158
static Status getLogFileName(char *strFileName, int nBufferSize)
Definition: OpenNI.h:2290
static void enumerateDevices(Array< DeviceInfo > *deviceInfoList)
Definition: OpenNI.h:2141
static void removeDeviceDisconnectedListener(DeviceDisconnectedListener *pListener)
Definition: OpenNI.h:2250
Definition: OpenNI.h:1662
~PlaybackControl()
Definition: OpenNI.h:1670
Status setSpeed(float speed)
Definition: OpenNI.h:1716
int getNumberOfFrames(const VideoStream &stream) const
Definition: OpenNI.h:1795
friend class Device
Definition: OpenNI.h:1828
bool getRepeatEnabled() const
Definition: OpenNI.h:1730
Status seek(const VideoStream &stream, int frameIndex)
Definition: OpenNI.h:1775
Status setRepeatEnabled(bool repeat)
Definition: OpenNI.h:1755
bool isValid() const
Definition: OpenNI.h:1806
float getSpeed() const
Definition: OpenNI.h:1695
Definition: OpenNI.h:2492
~Recorder()
Definition: OpenNI.h:2505
void stop()
Definition: OpenNI.h:2581
void destroy()
Definition: OpenNI.h:2592
Status create(const char *fileName)
Definition: OpenNI.h:2521
Recorder()
Definition: OpenNI.h:2498
Status attach(VideoStream &stream, bool allowLossyCompression=false)
Definition: OpenNI.h:2551
bool isValid() const
Definition: OpenNI.h:2536
Status start()
Definition: OpenNI.h:2569
SensorType getSensorType() const
Definition: OpenNI.h:321
const Array< VideoMode > & getSupportedVideoModes() const
Definition: OpenNI.h:330
~VideoFrameRef()
Definition: OpenNI.h:421
bool getCroppingEnabled() const
Definition: OpenNI.h:542
uint64_t getTimestamp() const
Definition: OpenNI.h:497
int getFrameIndex() const
Definition: OpenNI.h:512
bool isValid() const
Definition: OpenNI.h:578
int getDataSize() const
Definition: OpenNI.h:452
int getCropOriginY() const
Definition: OpenNI.h:560
const VideoMode & getVideoMode() const
Definition: OpenNI.h:485
const void * getData() const
Definition: OpenNI.h:462
int getHeight() const
Definition: OpenNI.h:533
VideoFrameRef & operator=(const VideoFrameRef &other)
Definition: OpenNI.h:441
void release()
Definition: OpenNI.h:587
SensorType getSensorType() const
Definition: OpenNI.h:473
int getCropOriginX() const
Definition: OpenNI.h:551
int getWidth() const
Definition: OpenNI.h:523
int getStrideInBytes() const
Definition: OpenNI.h:570
VideoFrameRef(const VideoFrameRef &other)
Definition: OpenNI.h:431
VideoFrameRef()
Definition: OpenNI.h:413
void setResolution(int resolutionX, int resolutionY)
Definition: OpenNI.h:278
VideoMode(const VideoMode &other)
Definition: OpenNI.h:219
VideoMode()
Definition: OpenNI.h:211
int getResolutionX() const
Definition: OpenNI.h:249
VideoMode & operator=(const VideoMode &other)
Definition: OpenNI.h:230
int getResolutionY() const
Definition: OpenNI.h:255
PixelFormat getPixelFormat() const
Definition: OpenNI.h:243
void setFps(int fps)
Definition: OpenNI.h:290
int getFps() const
Definition: OpenNI.h:261
void setPixelFormat(PixelFormat format)
Definition: OpenNI.h:269
virtual ~FrameAllocator()
Definition: OpenNI.h:691
virtual void * allocateFrameBuffer(int size)=0
virtual void freeFrameBuffer(void *data)=0
virtual void onNewFrame(VideoStream &)=0
NewFrameListener()
Definition: OpenNI.h:661
virtual ~NewFrameListener()
Definition: OpenNI.h:665
CameraSettings * getCameraSettings()
Definition: OpenNI.h:893
~VideoStream()
Definition: OpenNI.h:731
Status start()
Definition: OpenNI.h:779
bool isValid() const
Definition: OpenNI.h:740
Status readFrame(VideoFrameRef *pFrame)
Definition: OpenNI.h:812
Status create(const Device &device, SensorType sensorType)
Definition: OpenNI.h:2617
bool isCommandSupported(int commandId) const
Definition: OpenNI.h:1192
bool getCropping(int *pOriginX, int *pOriginY, int *pWidth, int *pHeight) const
Definition: OpenNI.h:1010
int getMaxPixelValue() const
Definition: OpenNI.h:966
void removeNewFrameListener(NewFrameListener *pListener)
Definition: OpenNI.h:847
Status setVideoMode(const VideoMode &videoMode)
Definition: OpenNI.h:956
void stop()
Definition: OpenNI.h:792
float getVerticalFieldOfView() const
Definition: OpenNI.h:1100
Status setCropping(int originX, int originY, int width, int height)
Definition: OpenNI.h:1038
Status setFrameBuffersAllocator(FrameAllocator *pAllocator)
Definition: OpenNI.h:863
Status getProperty(int propertyId, T *value) const
Definition: OpenNI.h:1132
Status setProperty(int propertyId, const void *data, int dataSize)
Definition: OpenNI.h:925
Status addNewFrameListener(NewFrameListener *pListener)
Definition: OpenNI.h:833
Status invoke(int commandId, T &value)
Definition: OpenNI.h:1182
Status setProperty(int propertyId, const T &value)
Definition: OpenNI.h:1117
bool isCroppingSupported() const
Definition: OpenNI.h:997
VideoMode getVideoMode() const
Definition: OpenNI.h:941
Status getProperty(int propertyId, void *data, int *dataSize) const
Definition: OpenNI.h:905
float getHorizontalFieldOfView() const
Definition: OpenNI.h:1089
Status invoke(int commandId, void *data, int dataSize)
Definition: OpenNI.h:1162
VideoStream(OniStreamHandle handle)
Definition: OpenNI.h:722
VideoStream()
Definition: OpenNI.h:715
bool isPropertySupported(int propertyId) const
Definition: OpenNI.h:1143
void destroy()
Definition: OpenNI.h:2637
int getMinPixelValue() const
Definition: OpenNI.h:982
Status resetCropping()
Definition: OpenNI.h:1053
const SensorInfo & getSensorInfo() const
Definition: OpenNI.h:771
Status setMirroringEnabled(bool isEnabled)
Definition: OpenNI.h:1080
bool getMirroringEnabled() const
Definition: OpenNI.h:1064
uint16_t Grayscale16Pixel
Definition: OpenNI.h:41
SensorType
Definition: OniEnums.h:42
static const int TIMEOUT_FOREVER
Definition: OniEnums.h:82
ImageRegistrationMode
Definition: OniEnums.h:76
@ IMAGE_REGISTRATION_OFF
Definition: OniEnums.h:77
PixelFormat
Definition: OniEnums.h:51
uint16_t DepthPixel
Definition: OpenNI.h:38
Status
Definition: OniEnums.h:29
@ STATUS_OUT_OF_FLOW
Definition: OniEnums.h:35
@ STATUS_ERROR
Definition: OniEnums.h:31
@ STATUS_NO_DEVICE
Definition: OniEnums.h:36
@ STATUS_OK
Definition: OniEnums.h:30
@ STATUS_BAD_PARAMETER
Definition: OniEnums.h:34
@ STATUS_NOT_SUPPORTED
Definition: OniEnums.h:33
static const char * ANY_DEVICE
Definition: OpenNI.h:90
DeviceState
Definition: OniEnums.h:68
uint8_t b
Definition: OpenNI.h:65
uint8_t r
Definition: OpenNI.h:61
uint8_t g
Definition: OpenNI.h:63
int major
Definition: OpenNI.h:48
int build
Definition: OpenNI.h:54
int maintenance
Definition: OpenNI.h:52
int minor
Definition: OpenNI.h:50
uint8_t u
Definition: OpenNI.h:76
uint8_t y2
Definition: OpenNI.h:82
uint8_t v
Definition: OpenNI.h:80
uint8_t y1
Definition: OpenNI.h:78