XnTypes.h File Reference

#include <XnStatus.h>
#include <XnOS.h>

Go to the source code of this file.

Classes

struct  XnVersion
struct  XnProductionNodeDescription
struct  XnNodeInfoListIterator
struct  XnLicense
struct  XnRGB24Pixel
struct  XnYUV422DoublePixel
struct  XnMapOutputMode
struct  XnWaveOutputMode
struct  XnVector3D
struct  XnBoundingBox3D
struct  XnCropping
struct  XnFieldOfView
struct  XnSupportedPixelFormats
struct  XnMatrix3X3
struct  XnPlane3D
struct  XnSkeletonJointPosition
struct  XnSkeletonJointOrientation
struct  XnSkeletonJointTransformation
struct  XnRecorderOutputStreamInterface
struct  XnPlayerInputStreamInterface
struct  XnNodeNotifications
struct  XnUInt32XYPair
struct  XnOutputMetaData
struct  XnMapMetaData
struct  XnDepthMetaData
struct  XnImageMetaData
struct  XnIRMetaData
struct  XnAudioMetaData
struct  XnSceneMetaData

Defines

#define XN_MAX_NAME_LENGTH   80
#define XN_MAX_CREATION_INFO_LENGTH   255
#define XN_MAX_LICENSE_LENGTH   255
#define XN_NODE_WAIT_FOR_DATA_TIMEOUT   2000
#define XN_VENDOR_OPEN_NI   "OpenNI"
#define XN_FORMAT_NAME_ONI   "oni"
#define XN_PLAYBACK_SPEED_FASTEST   0.0
#define XN_DEPTH_NO_SAMPLE_VALUE   ((XnDepthPixel)0)
#define XN_CAPABILITY_EXTENDED_SERIALIZATION   "ExtendedSerialization"
#define XN_CAPABILITY_MIRROR   "Mirror"
#define XN_CAPABILITY_ALTERNATIVE_VIEW_POINT   "AlternativeViewPoint"
#define XN_CAPABILITY_CROPPING   "Cropping"
#define XN_CAPABILITY_USER_POSITION   "UserPosition"
#define XN_CAPABILITY_SKELETON   "User::Skeleton"
#define XN_CAPABILITY_POSE_DETECTION   "User::PoseDetection"
#define XN_CAPABILITY_LOCK_AWARE   "LockAware"
#define XN_CAPABILITY_ERROR_STATE   "ErrorState"
#define XN_CAPABILITY_FRAME_SYNC   "FrameSync"
#define XN_QQVGA_X_RES   160
#define XN_QQVGA_Y_RES   120
#define XN_CGA_X_RES   320
#define XN_CGA_Y_RES   200
#define XN_QVGA_X_RES   320
#define XN_QVGA_Y_RES   240
#define XN_VGA_X_RES   640
#define XN_VGA_Y_RES   480
#define XN_SVGA_X_RES   800
#define XN_SVGA_Y_RES   600
#define XN_XGA_X_RES   1024
#define XN_XGA_Y_RES   768
#define XN_720P_X_RES   1280
#define XN_720P_Y_RES   720
#define XN_SXGA_X_RES   1280
#define XN_SXGA_Y_RES   1024
#define XN_UXGA_X_RES   1600
#define XN_UXGA_Y_RES   1200
#define XN_1080P_X_RES   1920
#define XN_1080P_Y_RES   1080
#define XN_CODEC_ID(c1, c2, c3, c4)   (XnCodecID)((c4 << 24) | (c3 << 16) | (c2 << 8) | c1)

Typedefs

typedef struct XnContext XnContext
typedef struct XnInternalNodeData * XnNodeHandle
typedef XnUInt32 XnLockHandle
typedef struct XnNodeInfo XnNodeInfo
typedef struct XnNodeInfoListNode XnNodeInfoListNode
typedef struct XnNodeInfoList XnNodeInfoList
typedef struct XnNodeQuery XnNodeQuery
typedef struct XnEnumerationErrors XnEnumerationErrors
typedef void * XnModuleNodeHandle
typedef void(* XnStateChangedHandler )(XnNodeHandle hNode, void *pCookie)
typedef void(* XnErrorStateChangedHandler )(XnStatus errorState, void *pCookie)
typedef void * XnCallbackHandle
typedef struct
XnModuleExportedProductionNodeInterface 
XnModuleExportedProductionNodeInterface
typedef XnUInt16 XnDepthPixel
typedef XnUInt8 XnGrayscale8Pixel
typedef XnUInt16 XnGrayscale16Pixel
typedef XnGrayscale16Pixel XnIRPixel
typedef XnUInt16 XnLabel
typedef XnVector3D XnPoint3D
typedef XnUInt32 XnUserID
typedef XnFloat XnConfidence
typedef void(* XnUserHandler )(XnNodeHandle hNode, XnUserID user, void *pCookie)
typedef void(* XnHandCreate )(XnNodeHandle hNode, XnUserID user, const XnPoint3D *pPosition, XnFloat fTime, void *pCookie)
typedef void(* XnHandUpdate )(XnNodeHandle hNode, XnUserID user, const XnPoint3D *pPosition, XnFloat fTime, void *pCookie)
typedef void(* XnHandDestroy )(XnNodeHandle hNode, XnUserID user, XnFloat fTime, void *pCookie)
typedef void(* XnGestureRecognized )(XnNodeHandle hNode, const XnChar *strGesture, const XnPoint3D *pIDPosition, const XnPoint3D *pEndPosition, void *pCookie)
typedef void(* XnGestureProgress )(XnNodeHandle hNode, const XnChar *strGesture, const XnPoint3D *pPosition, XnFloat fProgress, void *pCookie)
typedef void(* XnCalibrationStart )(XnNodeHandle hNode, XnUserID user, void *pCookie)
typedef void(* XnCalibrationEnd )(XnNodeHandle hNode, XnUserID user, XnBool bSuccess, void *pCookie)
typedef void(* XnPoseDetectionCallback )(XnNodeHandle hNode, const XnChar *strPose, XnUserID user, void *pCookie)
typedef XnUInt32 XnCodecID

Enumerations

enum  XnProductionNodeType {
  XN_NODE_TYPE_DEVICE = 1, XN_NODE_TYPE_DEPTH = 2, XN_NODE_TYPE_IMAGE = 3, XN_NODE_TYPE_AUDIO = 4,
  XN_NODE_TYPE_IR = 5, XN_NODE_TYPE_USER = 6, XN_NODE_TYPE_RECORDER = 7, XN_NODE_TYPE_PLAYER = 8,
  XN_NODE_TYPE_GESTURE = 9, XN_NODE_TYPE_SCENE = 10, XN_NODE_TYPE_HANDS = 11, XN_NODE_TYPE_CODEC = 12
}
enum  XnResolution {
  XN_RES_CUSTOM = 0, XN_RES_QQVGA = 1, XN_RES_CGA = 2, XN_RES_QVGA = 3,
  XN_RES_VGA = 4, XN_RES_SVGA = 5, XN_RES_XGA = 6, XN_RES_720P = 7,
  XN_RES_SXGA = 8, XN_RES_UXGA = 9, XN_RES_1080P = 10
}
enum  XnSampleRate {
  XN_SAMPLE_RATE_8K = 8000, XN_SAMPLE_RATE_11K = 11025, XN_SAMPLE_RATE_12K = 12000, XN_SAMPLE_RATE_16K = 16000,
  XN_SAMPLE_RATE_22K = 22050, XN_SAMPLE_RATE_24K = 24000, XN_SAMPLE_RATE_32K = 32000, XN_SAMPLE_RATE_44K = 44100,
  XN_SAMPLE_RATE_48K = 48000
}
enum  XnPixelFormat { XN_PIXEL_FORMAT_RGB24 = 1, XN_PIXEL_FORMAT_YUV422 = 2, XN_PIXEL_FORMAT_GRAYSCALE_8_BIT = 3, XN_PIXEL_FORMAT_GRAYSCALE_16_BIT = 4 }
enum  XnPlayerSeekOrigin { XN_PLAYER_SEEK_SET = 0, XN_PLAYER_SEEK_CUR = 1, XN_PLAYER_SEEK_END = 2 }
enum  XnSkeletonJoint {
  XN_SKEL_HEAD = 1, XN_SKEL_NECK = 2, XN_SKEL_TORSO = 3, XN_SKEL_WAIST = 4,
  XN_SKEL_LEFT_COLLAR = 5, XN_SKEL_LEFT_SHOULDER = 6, XN_SKEL_LEFT_ELBOW = 7, XN_SKEL_LEFT_WRIST = 8,
  XN_SKEL_LEFT_HAND = 9, XN_SKEL_LEFT_FINGERTIP = 10, XN_SKEL_RIGHT_COLLAR = 11, XN_SKEL_RIGHT_SHOULDER = 12,
  XN_SKEL_RIGHT_ELBOW = 13, XN_SKEL_RIGHT_WRIST = 14, XN_SKEL_RIGHT_HAND = 15, XN_SKEL_RIGHT_FINGERTIP = 16,
  XN_SKEL_LEFT_HIP = 17, XN_SKEL_LEFT_KNEE = 18, XN_SKEL_LEFT_ANKLE = 19, XN_SKEL_LEFT_FOOT = 20,
  XN_SKEL_RIGHT_HIP = 21, XN_SKEL_RIGHT_KNEE = 22, XN_SKEL_RIGHT_ANKLE = 23, XN_SKEL_RIGHT_FOOT = 24
}
enum  XnSkeletonProfile {
  XN_SKEL_PROFILE_NONE = 1, XN_SKEL_PROFILE_ALL = 2, XN_SKEL_PROFILE_UPPER = 3, XN_SKEL_PROFILE_LOWER = 4,
  XN_SKEL_PROFILE_HEAD_HANDS = 5
}
enum  XnRecordMedium { XN_RECORD_MEDIUM_FILE = 0 }

Define Documentation

#define XN_1080P_X_RES   1920
#define XN_1080P_Y_RES   1080
#define XN_720P_X_RES   1280
#define XN_720P_Y_RES   720
#define XN_CAPABILITY_ALTERNATIVE_VIEW_POINT   "AlternativeViewPoint"
#define XN_CAPABILITY_CROPPING   "Cropping"
#define XN_CAPABILITY_ERROR_STATE   "ErrorState"
#define XN_CAPABILITY_EXTENDED_SERIALIZATION   "ExtendedSerialization"
#define XN_CAPABILITY_FRAME_SYNC   "FrameSync"
#define XN_CAPABILITY_LOCK_AWARE   "LockAware"
#define XN_CAPABILITY_MIRROR   "Mirror"
#define XN_CAPABILITY_POSE_DETECTION   "User::PoseDetection"
#define XN_CAPABILITY_SKELETON   "User::Skeleton"
#define XN_CAPABILITY_USER_POSITION   "UserPosition"
#define XN_CGA_X_RES   320
#define XN_CGA_Y_RES   200
#define XN_CODEC_ID ( c1,
c2,
c3,
c4   )     (XnCodecID)((c4 << 24) | (c3 << 16) | (c2 << 8) | c1)

Define a Codec ID by 4 characters, e.g. XN_CODEC_ID('J','P','E','G')

#define XN_DEPTH_NO_SAMPLE_VALUE   ((XnDepthPixel)0)

Defines the value of a no-sample depth pixel.

#define XN_FORMAT_NAME_ONI   "oni"

The name of the OpenNI recording format.

#define XN_MAX_CREATION_INFO_LENGTH   255

The maximum length of a creation info string

#define XN_MAX_LICENSE_LENGTH   255

The maxumim length of a license key

#define XN_MAX_NAME_LENGTH   80

The maximum length of names of objects in OpenNI

#define XN_NODE_WAIT_FOR_DATA_TIMEOUT   2000

The maximum time to wait for node new data with the xnWaitXXXUpdateXXX functions

#define XN_PLAYBACK_SPEED_FASTEST   0.0

represents playback speed which does not consider file timestamps.

#define XN_QQVGA_X_RES   160
#define XN_QQVGA_Y_RES   120
#define XN_QVGA_X_RES   320
#define XN_QVGA_Y_RES   240
#define XN_SVGA_X_RES   800
#define XN_SVGA_Y_RES   600
#define XN_SXGA_X_RES   1280
#define XN_SXGA_Y_RES   1024
#define XN_UXGA_X_RES   1600
#define XN_UXGA_Y_RES   1200
#define XN_VENDOR_OPEN_NI   "OpenNI"

OpenNI vendor ID, used by nodes supplied by OpenNI itself.

#define XN_VGA_X_RES   640
#define XN_VGA_Y_RES   480
#define XN_XGA_X_RES   1024
#define XN_XGA_Y_RES   768

Typedef Documentation

typedef void( * XnCalibrationEnd)(XnNodeHandle hNode, XnUserID user, XnBool bSuccess, void *pCookie)

Callback for indication that a specific user's skeleton has now completed the calibration process

Parameters:
hNode [in] A handle to the skeleton capability that raised this event.
user [in] The id of the user for which calibration was attempted.
bSuccess [in] An indication of whether or not the calibration attempt succeeded.
pCookie [in] A user-provided cookie that was given when registering to this event.
typedef void( * XnCalibrationStart)(XnNodeHandle hNode, XnUserID user, void *pCookie)

Callback for indication that a specific user's skeleton is now starting the calibration process

Parameters:
hNode [in] A handle to the skeleton capability that raised this event.
user [in] The id of the user that's being calibrated.
pCookie [in] A user-provided cookie that was given when registering to this event.
typedef void* XnCallbackHandle

Handle to a registered callback function.

typedef XnUInt32 XnCodecID

An ID of a codec. See xnCreateCodec.

typedef XnFloat XnConfidence
typedef struct XnContext XnContext

The context of an OpenNI library.

typedef XnUInt16 XnDepthPixel

Defines the depth values type (16-bit values).

typedef void( * XnErrorStateChangedHandler)(XnStatus errorState, void *pCookie)

Prototype for error state change callback function.

Parameters:
errorState [in] The new error state. A value of XN_STATUS_OK means there is no longer an error.
pCookie [in] A user-provided cookie that was given when registering to the event.
typedef void( * XnGestureProgress)(XnNodeHandle hNode, const XnChar *strGesture, const XnPoint3D *pPosition, XnFloat fProgress, void *pCookie)

Callback for indication that a certain gesture is in progress

Parameters:
hNode [in] A handle to the gesture generator that raised this event.
strGesture [in] The gesture that is on its way to being recognized.
pPosition [in] The current position of the hand that is performing the gesture.
fProgress [in] The percentage of the gesture that was already performed.
pCookie [in] A user-provided cookie that was given when registering to this event.
typedef void( * XnGestureRecognized)(XnNodeHandle hNode, const XnChar *strGesture, const XnPoint3D *pIDPosition, const XnPoint3D *pEndPosition, void *pCookie)

Callback for the recognition of a gesture

Parameters:
hNode [in] A handle to the gesture generator that raised this event.
strGesture [in] The gesture that was recognized.
pIDPosition [in] The position in which the gesture was identified.
pEndPosition [in] The position of the hand that performed the gesture at the end of the gesture.
pCookie [in] A user-provided cookie that was given when registering to this event.
typedef XnUInt16 XnGrayscale16Pixel

Defines the image Grayscale16 pixel type.

typedef XnUInt8 XnGrayscale8Pixel

Defines the image Grayscale8 pixel type.

typedef void( * XnHandCreate)(XnNodeHandle hNode, XnUserID user, const XnPoint3D *pPosition, XnFloat fTime, void *pCookie)

Callback for the creation of a new hand.

Parameters:
hNode [in] A handle to the hands generator that raised this event.
user [in] The id of the new hand.
pPosition [in] The position in which the hand was created.
fTime [in] Timestamp, in seconds.
pCookie [in] A user-provided cookie that was given when registering to this event.
typedef void( * XnHandDestroy)(XnNodeHandle hNode, XnUserID user, XnFloat fTime, void *pCookie)

Callback for the disappearance of a hand.

Parameters:
hNode [in] A handle to the hands generator that raised this event.
user [in] The id of the hand that disappeared.
fTime [in] Timestamp, in seconds.
pCookie [in] A user-provided cookie that was given when registering to this event.
typedef void( * XnHandUpdate)(XnNodeHandle hNode, XnUserID user, const XnPoint3D *pPosition, XnFloat fTime, void *pCookie)

Callback for a new position of an already-existing hand.

Parameters:
hNode [in] A handle to the hands generator that raised this event.
user [in] The id of the hand that moved.
pPosition [in] The new position of the relevant hand.
fTime [in] Timestamp, in seconds.
pCookie [in] A user-provided cookie that was given when registering to this event.

Defines the IR values type (16-bit grayscale).

typedef XnUInt16 XnLabel

Defines the label type

typedef XnUInt32 XnLockHandle

A handle to a lock. A value of NULL represents an invalid handle.

typedef void* XnModuleNodeHandle

A handle to an instance of a generator.

typedef struct XnInternalNodeData* XnNodeHandle

A handle to a production node in the OpenNI context. A value of NULL represents an invalid handle.

typedef struct XnNodeInfo XnNodeInfo

Information about a single production node.

A (linked) list of production node info objects.

A single node in a node info list.

typedef struct XnNodeQuery XnNodeQuery
typedef void( * XnPoseDetectionCallback)(XnNodeHandle hNode, const XnChar *strPose, XnUserID user, void *pCookie)

Callback for indication that a specific user has entered a pose, or left it.

Parameters:
hNode [in] A handle to the pose capability that raised this event.
strPose [in] The pose that is relevant to the callback.
user [in] The id of the user that entered the pose or left it.
pCookie [in] A user-provided cookie that was given when registering to this event.
typedef void( * XnStateChangedHandler)(XnNodeHandle hNode, void *pCookie)

Prototype for state change callback function.

Parameters:
hNode [in] A handle to the node that raised the event.
pCookie [in] A user-provided cookie that was given when registering to the event.
typedef void( * XnUserHandler)(XnNodeHandle hNode, XnUserID user, void *pCookie)

Callback for a general user-related event. It is used for either creation or destruction of users.

Parameters:
hNode [in] A handle to the user generator that raised this event.
user [in] The id of the user that is relevant to this event.
pCookie [in] A user-provided cookie that was given when registering to this event.
typedef XnUInt32 XnUserID

Enumeration Type Documentation

Enumerator:
XN_PIXEL_FORMAT_RGB24 
XN_PIXEL_FORMAT_YUV422 
XN_PIXEL_FORMAT_GRAYSCALE_8_BIT 
XN_PIXEL_FORMAT_GRAYSCALE_16_BIT 
Enumerator:
XN_PLAYER_SEEK_SET 
XN_PLAYER_SEEK_CUR 
XN_PLAYER_SEEK_END 

Type of the production node.

Enumerator:
XN_NODE_TYPE_DEVICE 

A device node

XN_NODE_TYPE_DEPTH 

A depth generator

XN_NODE_TYPE_IMAGE 

An image generator

XN_NODE_TYPE_AUDIO 

An audio generator

XN_NODE_TYPE_IR 

An IR generator

XN_NODE_TYPE_USER 

A user generator

XN_NODE_TYPE_RECORDER 

A recorder

XN_NODE_TYPE_PLAYER 

A player

XN_NODE_TYPE_GESTURE 

A gesture generator

XN_NODE_TYPE_SCENE 

A scene analyzer

XN_NODE_TYPE_HANDS 

A hands generator

XN_NODE_TYPE_CODEC 

A Codec

Enumerator:
XN_RES_CUSTOM 
XN_RES_QQVGA 
XN_RES_CGA 
XN_RES_QVGA 
XN_RES_VGA 
XN_RES_SVGA 
XN_RES_XGA 
XN_RES_720P 
XN_RES_SXGA 
XN_RES_UXGA 
XN_RES_1080P 
Enumerator:
XN_SAMPLE_RATE_8K 
XN_SAMPLE_RATE_11K 
XN_SAMPLE_RATE_12K 
XN_SAMPLE_RATE_16K 
XN_SAMPLE_RATE_22K 
XN_SAMPLE_RATE_24K 
XN_SAMPLE_RATE_32K 
XN_SAMPLE_RATE_44K 
XN_SAMPLE_RATE_48K 

A full list of available joints.

Enumerator:
XN_SKEL_HEAD 
XN_SKEL_NECK 
XN_SKEL_TORSO 
XN_SKEL_WAIST 
XN_SKEL_LEFT_COLLAR 
XN_SKEL_LEFT_SHOULDER 
XN_SKEL_LEFT_ELBOW 
XN_SKEL_LEFT_WRIST 
XN_SKEL_LEFT_HAND 
XN_SKEL_LEFT_FINGERTIP 
XN_SKEL_RIGHT_COLLAR 
XN_SKEL_RIGHT_SHOULDER 
XN_SKEL_RIGHT_ELBOW 
XN_SKEL_RIGHT_WRIST 
XN_SKEL_RIGHT_HAND 
XN_SKEL_RIGHT_FINGERTIP 
XN_SKEL_LEFT_HIP 
XN_SKEL_LEFT_KNEE 
XN_SKEL_LEFT_ANKLE 
XN_SKEL_LEFT_FOOT 
XN_SKEL_RIGHT_HIP 
XN_SKEL_RIGHT_KNEE 
XN_SKEL_RIGHT_ANKLE 
XN_SKEL_RIGHT_FOOT 

A configuration of joints to be used by skeleton (see xnSetSkeletonProfile)

Enumerator:
XN_SKEL_PROFILE_NONE 

No joints at all

XN_SKEL_PROFILE_ALL 

All joints

XN_SKEL_PROFILE_UPPER 

All the joints in the upper body (torso and upwards)

XN_SKEL_PROFILE_LOWER 

All the joints in the lower body (torso and downwards)

XN_SKEL_PROFILE_HEAD_HANDS 

The head and the hands


Generated on 11 Feb 2011 for OpenNI 1.0.0 by  doxygen 1.6.1