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));
168 if (m_owner && m_data !=
NULL)
187class PlaybackControl;
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;
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)
607 OniFrame* _getFrame()
742 return m_stream !=
NULL;
1134 int size =
sizeof(
T);
1207 m_sensorInfo._setInternal(
NULL);
1220 OniStreamHandle m_stream;
1221 SensorInfo m_sensorInfo;
1222 CameraSettings* m_pCameraSettings;
1269 if (m_device !=
NULL)
1311 inline void close();
1324 return m_deviceInfo;
1339 if (m_aSensorInfo[
i].getSensorType() ==
sensorType)
1357 m_aSensorInfo[
i]._setInternal(
pInfo);
1374 if (m_aSensorInfo[
i].getSensorType() ==
sensorType)
1376 return &m_aSensorInfo[
i];
1392 m_aSensorInfo[
i]._setInternal(
pInfo);
1393 return &m_aSensorInfo[
i];
1497 return m_device !=
NULL;
1568 int size =
sizeof(
T);
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];
1808 return m_pDevice !=
NULL;
1907 Status setProperty(
int propertyId,
const T& value)
1911 return m_pStream->
setProperty<T>(propertyId, value);
1960 m_deviceConnectedCallbacks.deviceConnected = deviceConnectedCallback;
1961 m_deviceConnectedCallbacks.deviceDisconnected =
NULL;
1962 m_deviceConnectedCallbacks.deviceStateChanged =
NULL;
1963 m_deviceConnectedCallbacksHandle =
NULL;
2015 m_deviceDisconnectedCallbacks.deviceConnected =
NULL;
2016 m_deviceDisconnectedCallbacks.deviceDisconnected = deviceDisconnectedCallback;
2017 m_deviceDisconnectedCallbacks.deviceStateChanged =
NULL;
2018 m_deviceDisconnectedCallbacksHandle =
NULL;
2063 m_deviceStateChangedCallbacks.deviceConnected =
NULL;
2064 m_deviceStateChangedCallbacks.deviceDisconnected =
NULL;
2065 m_deviceStateChangedCallbacks.deviceStateChanged = deviceStateChangedCallback;
2066 m_deviceStateChangedCallbacksHandle =
NULL;
2335 #if ONI_PLATFORM == ONI_PLATFORM_ANDROID_ARM
2538 return NULL != getHandle();
2613 OniRecorderHandle m_recorder;
2644 if (m_pCameraSettings !=
NULL)
2646 delete m_pCameraSettings;
2647 m_pCameraSettings =
NULL;
2650 if (m_stream !=
NULL)
2694 OniDeviceHandle deviceHandle;
2695 Status rc = (
Status)oniDeviceOpenEx(uri, mode, &deviceHandle);
2701 _setHandle(deviceHandle);
2706Status 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)
int getSize() const
Definition OpenNI.h:129
Array()
Definition OpenNI.h:106
Array(const T *data, int count)
Definition OpenNI.h:115
const T & operator[](int index) const
Definition OpenNI.h:134
~Array()
Definition OpenNI.h:120
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
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
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 SensorInfo * getSensorInfo(SensorType sensorType)
Definition OpenNI.h:1369
Status getProperty(int propertyId, void *data, int *dataSize) const
Definition OpenNI.h:1422
const DeviceInfo & getDeviceInfo() const
Definition OpenNI.h:1322
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 * getUri() const
Definition OpenNI.h:379
const char * getVendor() const
Definition OpenNI.h:381
const char * getName() const
Definition OpenNI.h:383
uint16_t getUsbProductId() const
Definition OpenNI.h:387
uint16_t getUsbVendorId() const
Definition OpenNI.h:385
virtual ~DeviceConnectedListener()
Definition OpenNI.h:1966
DeviceConnectedListener()
Definition OpenNI.h:1958
virtual void onDeviceConnected(const DeviceInfo *)=0
virtual void onDeviceDisconnected(const DeviceInfo *)=0
DeviceDisconnectedListener()
Definition OpenNI.h:2013
virtual ~DeviceDisconnectedListener()
Definition OpenNI.h:2021
virtual void onDeviceStateChanged(const DeviceInfo *, DeviceState)=0
DeviceStateChangedListener()
Definition OpenNI.h:2061
virtual ~DeviceStateChangedListener()
Definition OpenNI.h:2069
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 const char * getExtendedError()
Definition OpenNI.h:2132
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
~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
~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
VideoFrameRef & operator=(const VideoFrameRef &other)
Definition OpenNI.h:441
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
int getHeight() const
Definition OpenNI.h:533
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
const void * getData() const
Definition OpenNI.h:462
const VideoMode & getVideoMode() const
Definition OpenNI.h:485
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
int getResolutionY() const
Definition OpenNI.h:255
PixelFormat getPixelFormat() const
Definition OpenNI.h:243
void setFps(int fps)
Definition OpenNI.h:290
VideoMode & operator=(const VideoMode &other)
Definition OpenNI.h:230
int getFps() const
Definition OpenNI.h:261
void setPixelFormat(PixelFormat format)
Definition OpenNI.h:269
virtual void * allocateFrameBuffer(int size)=0
virtual ~FrameAllocator()
Definition OpenNI.h:691
virtual void freeFrameBuffer(void *data)=0
virtual void onNewFrame(VideoStream &)=0
NewFrameListener()
Definition OpenNI.h:661
virtual ~NewFrameListener()
Definition OpenNI.h:665
~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
CameraSettings * getCameraSettings()
Definition OpenNI.h:893
const SensorInfo & getSensorInfo() const
Definition OpenNI.h:771
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
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