Namespace LeapInternal

namespace LeapInternal

Enums

enum eLeapConnectionFlag

Values:

eLeapConnectionFlag_MultipleDevicesAware

Allows subscription to multiple devices

enum eLeapConnectionStatus

Values:

eLeapConnectionStatus_NotConnected

A connection has been established.

eLeapConnectionStatus_Connected

The connection has not been completed. Call OpenConnection.

eLeapConnectionStatus_HandshakeIncomplete

The connection handshake has not completed.

eLeapConnectionStatus_NotRunning

A connection could not be established because the server does not appear to be running.

enum eLeapDeviceCaps

Values:

eLeapDeviceCaps_Color

The device can send color images.

enum eLeapDeviceType

Values:

eLeapDeviceType_Peripheral

The Leap Motion consumer peripheral

eLeapDeviceType_Dragonfly

Internal research product codename “Dragonfly”.

eLeapDeviceType_Nightcrawler

Internal research product codename “Nightcrawler”.

eLeapDevicePID_Rigel

Research product codename “Rigel”.

eLeapDevicePID_SIR170

The Ultraleap Stereo IR 170 (SIR170) hand tracking module.

eLeapDevicePID_3Di

The Ultraleap 3Di hand tracking camera.

eLeapDevicePID_LMC2

The Ultraleap Leap Motion Controller 2 hand tracking camera.

enum eLeapServiceDisposition

Values:

eLeapServiceState_LowFpsDetected

The service cannot receive frames fast enough from the underlying hardware.

Since

3.1.3

eLeapServiceState_PoorPerformancePause

The service has paused itself due to an insufficient frame rate from the hardware.

Since

3.1.3

eLeapServiceState_TrackingErrorUnknown

The service has failed to start tracking due to unknown reasons.

eLeapServiceState_ALL

The combination of all valid flags in this enumeration

enum eDistortionMatrixType

Values:

eDistortionMatrixType_64x64

A 64x64 matrix of pairs of points.

enum eLeapCameraCalibrationType

Values:

eLeapCameraCalibrationType_infrared

Infrared calibration (default)

eLeapCameraCalibrationType_visual

Visual calibration.

enum eLeapPolicyFlag

Values:

eLeapPolicyFlag_BackgroundFrames

Allows frame receipt even when this application is not the foreground application.

eLeapPolicyFlag_Images

Allow streaming images

eLeapPolicyFlag_OptimizeHMD

Optimize HMD Policy Flag.

eLeapPolicyFlag_AllowPauseResume

Modifies the security token to allow calls to LeapPauseDevice to succeed

eLeapPolicyFlag_MapPoints

Allows streaming map points.

eLeapPolicyFlag_ScreenTop

The policy specifying whether to optimize tracking for screen-top device.

Since

5.0.0

enum eLeapDeviceStatus

Values:

eLeapDeviceStatus_Streaming

Presently sending frames to all clients that have requested them.

eLeapDeviceStatus_Paused

Device streaming has been paused.

eLeapDeviceStatus_Robust

There are known sources of infrared interference. Device has transitioned to robust mode in order to compensate.

eLeapDeviceStatus_Smudged

The device’s window is smudged, tracking may be degraded.

eLeapDeviceStatus_LowResource

The device has entered low-resource mode.

eLeapDeviceStatus_UnknownFailure

The device has failed, but the failure reason is not known.

eLeapDeviceStatus_BadCalibration

Bad calibration, cannot send frames.

eLeapDeviceStatus_BadFirmware

Corrupt firmware and/or cannot receive a required firmware update.

eLeapDeviceStatus_BadTransport

Exhibiting USB communications issues.

eLeapDeviceStatus_BadControl

Missing critical control interfaces needed for communication.

enum eLeapImageType

Values:

eLeapImageType_Unknown
eLeapImageType_Default

Default processed IR image

eLeapImageType_Raw

Image from raw sensor values

enum eLeapImageFormat

Values:

eLeapImageFormat_UNKNOWN

An invalid or unknown format.

eLeapImageType_IR

An infrared image.

eLeapImageType_RGBIr_Bayer

A Bayer RGBIr image with uncorrected RGB channels

enum eLeapPerspectiveType

Values:

eLeapPerspectiveType_invalid

An unknown or invalid type.

eLeapPerspectiveType_stereo_left

A canonically left image.

eLeapPerspectiveType_stereo_right

A canonically right image.

eLeapPerspectiveType_mono

Reserved for future use.

enum eLeapHandType

Values:

eLeapHandType_Left
eLeapHandType_Right
enum eLeapLogSeverity

Values:

eLeapLogSeverity_Unknown

The message severity is not known or was not specified.

eLeapLogSeverity_Critical

A message about a fault that could render the software or device non-functional.

eLeapLogSeverity_Warning

A message warning about a condition that could degrade device capabilities.

eLeapLogSeverity_Information

A system status message.

enum eLeapValueType

Values:

eLeapValueType_Unknown

The type is unknown (which is an abnormal condition).

eLeapValueType_Boolean
eLeapValueType_Int32
eLeapValueType_Float
eLeapValueType_String
enum eLeapAllocatorType

Values:

eLeapAllocatorType_Int8
eLeapAllocatorType_Uint8
eLeapAllocatorType_Int16
eLeapAllocatorType_UInt16
eLeapAllocatorType_Int32
eLeapAllocatorType_UInt32
eLeapAllocatorType_Float
eLeapAllocatorType_Int64
eLeapAllocatorType_UInt64
eLeapAllocatorType_Double
enum eLeapRS

Values:

eLeapRS_Success

The operation completed successfully.

eLeapRS_UnknownError

An undetermined error has occurred. This is usually the result of an abnormal operating condition in LeapC, the Leap Motion service, or the host computer itself.

eLeapRS_InvalidArgument

An invalid argument was specified.

eLeapRS_InsufficientResources

Insufficient resources existed to complete the request.

eLeapRS_InsufficientBuffer

The specified buffer was not large enough to complete the request.

eLeapRS_Timeout

The requested operation has timed out.

eLeapRS_NotConnected

The operation is invalid because there is no current connection.

eLeapRS_HandshakeIncomplete

The operation is invalid because the connection is not complete.

eLeapRS_BufferSizeOverflow

The specified buffer size is too large.

eLeapRS_ProtocolError

A communications protocol error occurred.

eLeapRS_InvalidClientID

The server incorrectly specified zero as a client ID.

eLeapRS_UnexpectedClosed

The connection to the service was unexpectedly closed while reading or writing a message. The server may have terminated.

eLeapRS_UnknownImageFrameRequest

The specified request token does not appear to be valid

Provided that the token value which identifies the request itself was, at one point, valid, this error condition occurs when the request to which the token refers has already been satisfied or is currently being satisfied.

eLeapRS_UnknownTrackingFrameID

The specified frame ID is not valid or is no longer valid

Provided that frame ID was, at one point, valid, this error condition occurs when the identifier refers to a frame that occurred further in the past than is currently recorded in the rolling frame window.

eLeapRS_RoutineIsNotSeer

The specified timestamp references a future point in time

The related routine can only operate on time points having occurred in the past, and the provided timestamp occurs in the future.

eLeapRS_TimestampTooEarly

The specified timestamp references a point too far in the past

The related routine can only operate on time points occurring within its immediate record of the past.

eLeapRS_ConcurrentPoll

LeapPollConnection is called concurrently.

eLeapRS_NotAvailable

A connection to the Leap Motion service could not be established.

eLeapRS_NotStreaming

The requested operation can only be performed while the device is sending data.

eLeapRS_CannotOpenDevice

The specified device could not be opened. It is possible that the device identifier is invalid, or that the device has been disconnected since being enumerated.

eLeapRS_Unsupported

The request is not supported by this version of the service.

enum eLeapTrackingMode

Values:

eLeapTrackingMode_Desktop

The tracking mode optimised for desktop devices

eLeapTrackingMode_HMD

The tracking mode optimised for head-mounted devices

eLeapTrackingMode_ScreenTop

The tracking mode optimised for screen top-mounted devices

eLeapTrackingMode_Unknown

Tracking mode is not known (allows triggering of a new LEAP_TRACKING_MODE_EVENT)

enum eLeapEventType

Values:

eLeapEventType_None

No event has occurred within the timeout period specified when calling LeapPollConnection().

eLeapEventType_Connection

A connection to the Leap Motion service has been established.

eLeapEventType_ConnectionLost

The connection to the Leap Motion service has been lost.

eLeapEventType_Device

A device has been detected or plugged-in. A device event is dispatched after a connection is established for any devices already plugged in. (The system currently only supports one streaming device at a time.)

eLeapEventType_DeviceFailure

Note that unplugging a device generates an eLeapEventType_DeviceLost event message, not a failure message.

eLeapEventType_Policy

A policy change has occurred. This can be due to setting a policy with LeapSetPolicyFlags() or due to changing or policy-related config settings, including images_mode. (A user can also change these policies using the Leap Motion Control Panel.)

eLeapEventType_Tracking

A tracking frame. The message contains the tracking data for the frame.

eLeapEventType_ImageRequestError

The request for an image has failed. The message contains information about the failure. The client application will not receive the requested image set.

eLeapEventType_ImageComplete

The request for an image is complete. The image data has been completely written to the application-provided buffer.

eLeapEventType_LogEvent

A system message.

eLeapEventType_DeviceLost

The device connection has been lost.

This event is generally asserted when the device has been detached from the system, when the connection to the service has been lost, or if the device is closed while streaming. Generally, any event where the system can conclude no further frames will be received will result in this message. The DeviceEvent field will be filled with the id of the formerly attached device.

eLeapEventType_ConfigResponse

The asynchronous response to a call to LeapRequestConfigValue(). Contains the value of requested configuration item.

eLeapEventType_ConfigChange

The asynchronous response to a call to LeapSaveConfigValue(). Reports whether the change succeeded or failed.

eLeapEventType_DeviceStatusChange

Notification that a status change has been detected on an attached device.

eLeapEventType_DroppedFrame

A tracking frame has been dropped by the service.

eLeapEventType_Image

Notification that an unrequested stereo image pair is available.

eLeapEventType_PointMappingChange

Notification that point mapping has changed.

eLeapEventType_TrackingMode

A tracking mode change has occurred. This can be due to changing the hmd or screentop policy with SetPolicyFlags(). or setting the tracking mode using SetTrackingMode().

eLeapEventType_LogEvents

An array of system messages.

eLeapEventType_HeadPose

A new head pose is available.

eLeapEventType_Eyes

A new head pose is available.

eLeapEventType_IMU

A new IMU information frame is available.

eLeapEventType_NewDeviceTransform

Notification that the service received a new device transformation matrix Use LeapGetDeviceTransform to update your cached information.

eLeapEventType_Fiducial

An event provided when a fiducial marker has been tracked

enum eLeapDeviceFlag

Values:

eLeapDeviceFlag_Stream

Flag set if the device is presently streaming frames

This flag is updated when the user pauses or resumes tracking on the device from the Leap control panel. Modification of this flag will fail if the AllowPauseResume policy is not set on this device object.

enum eLeapDroppedFrameType

Values:

eLeapDroppedFrameType_PreprocessingQueue
eLeapDroppedFrameType_TrackingQueue
eLeapDroppedFrameType_Other
enum eLeapVersionPart

Values:

eLeapVersionPart_ClientLibrary
eLeapVersionPart_ClientProtocol
eLeapVersionPart_ServerLibrary
eLeapVersionPart_ServerProtocol

Functions

delegate IntPtr Allocate (UInt32 size, eLeapAllocatorType typeHint, IntPtr state)
delegate void Deallocate (IntPtr buffer, IntPtr state)
class CircularObjectBuffer<T>

A Limited capacity, circular LIFO buffer that wraps around when full. Supports indexing to get older items. Array-backed.

  • Unlike many collections, objects are never removed, just overwritten when the buffer cycles back to their array location.

Object types used must have default parameterless constructor. It should be obvious that such default objects are invalid. I.e. for Leap API objects, the IsValid property should be false.

class Connection
class CopyFromLeapCExtensions
class Image

The Image class represents a stereo image pair from the Leap Motion device.

In addition to image data, the Image object provides a distortion map for correcting lens distortion.

Since

2.1.0

class ImageData
struct LEAP_ALLOCATOR
struct LEAP_BONE
struct LEAP_CONFIG_CHANGE_EVENT
struct LEAP_CONFIG_RESPONSE_EVENT
struct LEAP_CONFIG_RESPONSE_EVENT_WITH_REF_TYPE
struct LEAP_CONNECTION_CONFIG
struct LEAP_CONNECTION_EVENT
struct LEAP_CONNECTION_INFO
struct LEAP_CONNECTION_LOST_EVENT
struct LEAP_CONNECTION_MESSAGE
struct LEAP_DEVICE_EVENT
struct LEAP_DEVICE_FAILURE_EVENT
struct LEAP_DEVICE_INFO
struct LEAP_DEVICE_REF
struct LEAP_DEVICE_STATUS_CHANGE_EVENT
struct LEAP_DIGIT
struct LEAP_DISCONNECTION_EVENT
struct LEAP_DROPPED_FRAME_EVENT
struct LEAP_EYE_EVENT
struct LEAP_FIDUCIAL_POSE_EVENT
struct LEAP_FRAME_HEADER
struct LEAP_HAND
struct LEAP_HEAD_POSE_EVENT
struct LEAP_IMAGE
struct LEAP_IMAGE_EVENT
struct LEAP_IMAGE_PROPERTIES
struct LEAP_LOG_EVENT
struct LEAP_MATRIX_3x3
struct LEAP_NEW_DEVICE_TRANSFORM
struct LEAP_PALM
struct LEAP_POINT_MAPPING
struct LEAP_POINT_MAPPING_CHANGE_EVENT
struct LEAP_POLICY_EVENT
struct LEAP_QUATERNION
struct LEAP_TELEMETRY_DATA
struct LEAP_TIP
struct LEAP_TRACKING_EVENT
struct LEAP_TRACKING_MODE_EVENT
struct LEAP_VARIANT_REF_TYPE
struct LEAP_VARIANT_VALUE_TYPE
struct LEAP_VECTOR
struct LEAP_VERSION
class LeapC
class Logger
class MemoryManager
class ServerStatus
class StructMarshal<T>

A helper class to marshal between unmanaged memory and structs without creating garbage.