Group Enum¶
- group Enum
Enumerations used by the LeapC functions and data structures.
Enums
-
enum eLeapRS¶
Defines the codes returned by all LeapC functions.
- Since
3.0.0
Values:
-
enumerator eLeapRS_Success¶
The operation completed successfully.
-
enumerator eLeapRS_UnknownError¶
An undetermined error has occurred.
This is usually the result of an abnormal operating condition in LeapC, the Ultraleap Tracking Service, or the host computer itself.
- Since
3.0.0
-
enumerator eLeapRS_InvalidArgument¶
An invalid argument was specified.
- Since
3.0.0
-
enumerator eLeapRS_InsufficientResources¶
Insufficient resources existed to complete the request.
- Since
3.0.0
-
enumerator eLeapRS_InsufficientBuffer¶
The specified buffer was not large enough to complete the request.
- Since
3.0.0
-
enumerator eLeapRS_Timeout¶
The requested operation has timed out.
- Since
3.0.0
-
enumerator eLeapRS_NotConnected¶
The operation is invalid because there is no current connection.
- Since
3.0.0
-
enumerator eLeapRS_HandshakeIncomplete¶
The operation is invalid because the connection is not complete.
- Since
3.0.0
-
enumerator eLeapRS_BufferSizeOverflow¶
The specified buffer size is too large.
- Since
3.0.0
-
enumerator eLeapRS_ProtocolError¶
A communications protocol error occurred.
- Since
3.0.0
-
enumerator eLeapRS_InvalidClientID¶
The server incorrectly specified zero as a client ID.
- Since
3.0.0
-
enumerator eLeapRS_UnexpectedClosed¶
The connection to the service was unexpectedly closed while reading or writing a message.
The server may have terminated.
- Since
3.0.0
-
enumerator 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.
- Since
3.0.0
-
enumerator 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.
- Since
3.0.0
-
enumerator 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.
- Since
3.1.2
-
enumerator 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.
- Since
3.1.2
-
enumerator eLeapRS_ConcurrentPoll¶
LeapPollConnection is called concurrently.
- Since
3.1.2
-
enumerator eLeapRS_NotAvailable¶
A connection to the Ultraleap Tracking Service could not be established.
- Since
3.0.0
-
enumerator eLeapRS_NotStreaming¶
The requested operation can only be performed while the device is sending data.
- Since
3.0.0
-
enumerator 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.
- Since
3.0.0
-
enumerator eLeapRS_Unsupported¶
The request is not supported by this version of the service.
- Since
5.4.0
-
enum eLeapTrackingMode¶
Enumerates values for the tracking mode.
Values:
-
enumerator eLeapTrackingMode_Desktop¶
The tracking mode optimised for desktop devices.
- Since
5.0.0
-
enumerator eLeapTrackingMode_HMD¶
The tracking mode optimised for head-mounted devices.
- Since
5.0.0
-
enumerator eLeapTrackingMode_ScreenTop¶
The tracking mode optimised for screen top-mounted devices.
- Since
5.0.0
-
enumerator eLeapTrackingMode_Unknown¶
Tracking mode is not known (allows triggering of a new LEAP_TRACKING_MODE_EVENT)
- Since
5.0.0
-
enumerator eLeapTrackingMode_Desktop¶
-
enum eLeapConnectionConfig¶
Defines the type of connection that the client wants to open.
- Since
3.0.0
Values:
-
enumerator eLeapConnectionConfig_MultiDeviceAware¶
The client is aware of how to handle multiple devices through the API.
- Since
4.1.0
-
enum eLeapAllocatorType¶
Defines the various types of data that may be allocated using the allocator.
- Since
4.0.0
Values:
-
enumerator eLeapAllocatorType_Int8¶
Signed 8-bit integer (char)
- Since
4.0.0
-
enumerator eLeapAllocatorType_Uint8¶
Unsigned 8-bit integer (byte)
- Since
4.0.0
-
enumerator eLeapAllocatorType_Int16¶
Signed 16-bit integer.
- Since
4.0.0
-
enumerator eLeapAllocatorType_UInt16¶
Unsigned 16-bit integer.
- Since
4.0.0
-
enumerator eLeapAllocatorType_Int32¶
Signed 32-bit integer.
- Since
4.0.0
-
enumerator eLeapAllocatorType_UInt32¶
Unsigned 32-bit integer.
- Since
4.0.0
-
enumerator eLeapAllocatorType_Float¶
Single-precision 32-bit floating-point.
- Since
4.0.0
-
enumerator eLeapAllocatorType_Int64¶
Signed 64-bit integer.
- Since
4.0.0
-
enumerator eLeapAllocatorType_UInt64¶
Unsigned 64-bit integer.
- Since
4.0.0
-
enumerator eLeapAllocatorType_Double¶
Double-precision 64-bit floating-point.
- Since
4.0.0
-
enum eLeapPolicyFlag¶
Enumerates flags for the service policies.
Values:
-
enumerator eLeapPolicyFlag_BackgroundFrames¶
The policy allowing an application to receive frames in the background.
- Since
3.0.0
-
enumerator eLeapPolicyFlag_Images¶
The policy specifying whether to automatically stream images from the device.
- Since
4.0.0
-
enumerator eLeapPolicyFlag_OptimizeHMD¶
The policy specifying whether to optimize tracking for head-mounted device.
- Since
3.0.0
-
enumerator eLeapPolicyFlag_AllowPauseResume¶
The policy allowing an application to pause or resume service tracking.
- Since
3.0.0
-
enumerator eLeapPolicyFlag_MapPoints¶
The policy allowing an application to receive per-frame map points.
- Since
4.0.0
-
enumerator eLeapPolicyFlag_OptimizeScreenTop¶
The policy specifying whether to optimize tracking for screen-top device.
- Since
5.0.0
-
enumerator eLeapPolicyFlag_BackgroundFrames¶
-
enum eLeapValueType¶
Identifies the operative data type of a LEAP_VARIANT struct instance.
- Since
3.0.0
Values:
-
enumerator eLeapValueType_Unknown¶
The type is unknown (which is an abnormal condition).
- Since
3.0.0
-
enumerator eLeapValueType_Boolean¶
A boolean value.
- Since
3.0.0
-
enumerator eLeapValueType_Int32¶
An integer value.
- Since
3.0.0
-
enumerator eLeapValueType_Float¶
A floating point value.
- Since
3.0.0
-
enumerator eLeapValueType_String¶
A string value.
- Since
3.0.0
-
enumerator FORCE_DWORD¶
-
enum eLeapDeviceCaps¶
Flags enumerating Leap device capabilities.
- Since
3.0.0
Values:
-
enumerator eLeapDeviceCaps_Color¶
The device can send color images.
- Since
3.0.0
-
enum eLeapDevicePID¶
Device hardware types.
- Since
3.0.0
Values:
-
enumerator eLeapDevicePID_Unknown¶
An unknown device that is compatible with the tracking software.
- Since
3.1.3
-
enumerator eLeapDevicePID_Peripheral¶
The Leap Motion Controller (the first consumer peripheral).
- Since
3.0.0
-
enumerator eLeapDevicePID_Dragonfly¶
Internal research product codename “Dragonfly”.
- Since
3.0.0
-
enumerator eLeapDevicePID_Nightcrawler¶
Internal research product codename “Nightcrawler”.
- Since
3.0.0
-
enumerator eLeapDevicePID_Rigel¶
Research product codename “Rigel”.
- Since
4.0.0
-
enumerator eLeapDevicePID_SIR170¶
The Ultraleap Stereo IR 170 (SIR170) hand tracking module.
- Since
5.3.0
-
enumerator eLeapDevicePID_3Di¶
The Ultraleap 3Di hand tracking camera.
- Since
5.3.0
-
enumerator eLeapDevicePID_LMC2¶
The Ultraleap Leap Motion Controller 2 hand tracking camera.
- Since
5.11.0
-
enumerator eLeapDevicePID_Invalid¶
An invalid device type.
Not currently in use.
- Since
3.1.3
-
enum eLeapDeviceStatus¶
Enumerates the device status codes.
- Since
3.0.0
Values:
-
enumerator eLeapDeviceStatus_Streaming¶
The device is sending out frames.
- Since
3.0.0
-
enumerator eLeapDeviceStatus_Paused¶
Device streaming has been paused.
- Since
3.0.0
-
enumerator eLeapDeviceStatus_Robust¶
There are known sources of infrared interference.
Device has transitioned to robust mode in order to compensate.
- Since
3.1.3
-
enumerator eLeapDeviceStatus_Smudged¶
The device’s window is smudged, tracking may be degraded.
- Since
3.1.3
-
enumerator eLeapDeviceStatus_LowResource¶
The device has entered low-resource mode.
- Since
4.0.0
-
enumerator eLeapDeviceStatus_UnknownFailure¶
The device has failed, but the failure reason is not known.
- Since
3.0.0
-
enumerator eLeapDeviceStatus_BadCalibration¶
The device has a bad calibration record and cannot send frames.
- Since
3.0.0
-
enumerator eLeapDeviceStatus_BadFirmware¶
The device reports corrupt firmware or cannot install a required firmware update.
- Since
3.0.0
-
enumerator eLeapDeviceStatus_BadTransport¶
The device USB connection is faulty.
- Since
3.0.0
-
enumerator eLeapDeviceStatus_BadControl¶
The device USB control interfaces failed to initialize.
- Since
3.0.0
-
enum eLeapImageType¶
Functional image types (not data formats).
Values:
-
enumerator eLeapImageType_UNKNOWN¶
An invalid or unknown type.
- Since
3.0.0
-
enumerator eLeapImageType_Default¶
Default, processed IR images.
- Since
3.0.0
-
enumerator eLeapImageType_Raw¶
Raw images from the device.
- Since
3.0.0
-
enumerator eLeapImageType_UNKNOWN¶
-
enum eLeapImageFormat¶
Image formats.
- Since
3.0.0
Values:
-
enumerator eLeapImageFormat_UNKNOWN¶
An invalid or unknown format.
- Since
3.0.0
-
enumerator eLeapImageFormat_IR¶
An infrared image.
- Since
3.0.0
-
enumerator eLeapImageFormat_RGBIr_Bayer¶
A Bayer RGBIr image with uncorrected RGB channels.
- Since
3.0.0
-
enum eLeapPerspectiveType¶
Camera perspective types.
- Since
3.0.0
Values:
-
enumerator eLeapPerspectiveType_invalid¶
An unknown or invalid type.
- Since
3.0.0
-
enumerator eLeapPerspectiveType_stereo_left¶
A canonically left image.
- Since
3.0.0
-
enumerator eLeapPerspectiveType_stereo_right¶
A canonically right image.
- Since
3.0.0
-
enumerator eLeapPerspectiveType_mono¶
Reserved for future use.
- Since
3.0.0
-
enum eLeapCameraCalibrationType¶
Camera calibration types.
- Since
3.0.0
Values:
-
enumerator eLeapCameraCalibrationType_infrared¶
Infrared calibration (default).
- Since
4.1.0
-
enumerator eLeapCameraCalibrationType_visual¶
Visual calibration.
- Since
4.1.0
-
enum eLeapHandType¶
The Hand chirality types.
Used in the LEAP_HAND struct.
- Since
3.0.0
Values:
-
enumerator eLeapHandType_Left¶
A left hand.
- Since
3.0.0
-
enumerator eLeapHandType_Right¶
A right hand.
- Since
3.0.0
-
enum eLeapLogSeverity¶
System message severity types.
- Since
3.0.0
Values:
-
enumerator eLeapLogSeverity_Unknown¶
The message severity is not known or was not specified.
- Since
3.0.0
-
enumerator eLeapLogSeverity_Critical¶
A message about a fault that could render the software or device non-functional.
- Since
3.0.0
-
enumerator eLeapLogSeverity_Warning¶
A message warning about a condition that could degrade device capabilities.
- Since
3.0.0
-
enumerator eLeapLogSeverity_Information¶
A system status message.
- Since
3.0.0
-
enum eLeapEventType¶
The types of event messages resulting from calling LeapPollConnection().
- Since
3.0.0
Values:
-
enumerator eLeapEventType_None¶
No event has occurred within the timeout period specified when calling LeapPollConnection().
- Since
3.0.0
-
enumerator eLeapEventType_Connection¶
A connection to the Ultraleap Tracking Service has been established.
This event is stored in union member connection_event (LEAP_CONNECTION_EVENT).
- Since
3.0.0
-
enumerator eLeapEventType_ConnectionLost¶
The connection to the Ultraleap Tracking Service has been lost.
This event is stored in union member connection_lost_event (LEAP_CONNECTION_LOST_EVENT).
- Since
3.0.0
-
enumerator 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.) This event is stored in union member device_event (LEAP_DEVICE_EVENT).
- Since
3.0.0
-
enumerator eLeapEventType_DeviceFailure¶
A device has failed.
Device failure could be caused by hardware failure, USB controller issues, or other system instability. Note that unplugging a device generates an eLeapEventType_DeviceLost event message, not a failure message. This event is no longer generated, enum present for historic API compatibility.
- Since
3.0.0
-
enumerator 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 Ultraleap Tracking Control Panel.) This event is stored in union member policy_event (LEAP_POLICY_EVENT).
- Since
3.0.0
-
enumerator eLeapEventType_Tracking¶
A tracking frame.
The message contains the tracking data for the frame. This event is stored in union member tracking_mode_event (LEAP_TRACKING_MODE_EVENT).
- Since
3.0.0
-
enumerator 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. This event is no longer generated, enum present for historic API compatibility.
- Since
3.0.0
-
enumerator eLeapEventType_ImageComplete¶
The request for an image is complete.
The image data has been completely written to the application-provided buffer. This event is no longer generated, enum present for historic API compatibility.
- Since
3.0.0
-
enumerator eLeapEventType_LogEvent¶
A system message.
- Since
3.0.0 This event is stored in union member log_event (LEAP_LOG_EVENT).
-
enumerator 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. This event is stored in union member device_event (LEAP_DEVICE_EVENT).
- Since
3.0.0
-
enumerator eLeapEventType_ConfigResponse¶
The asynchronous response to a call to LeapRequestConfigValue().
Contains the value of requested configuration item. This event is stored in union member config_response_event (LEAP_CONFIG_RESPONSE_EVENT).
- Since
3.0.0
-
enumerator eLeapEventType_ConfigChange¶
The asynchronous response to a call to LeapSaveConfigValue().
Reports whether the change succeeded or failed. This event is stored in union member config_change_event (LEAP_CONFIG_CHANGE_EVENT).
- Since
3.0.0
-
enumerator eLeapEventType_DeviceStatusChange¶
Notification that a status change has been detected on an attached device This event is stored in union member device_status_change_event (LEAP_DEVICE_STATUS_CHANGE_EVENT).
- Since
3.1.3
-
enumerator eLeapEventType_DroppedFrame¶
-
enumerator eLeapEventType_Image¶
Notification that an unrequested stereo image pair is available This event is stored in union member image_event (LEAP_IMAGE_EVENT).
- Since
4.0.0
-
enumerator eLeapEventType_PointMappingChange¶
Notification that point mapping has changed This event is no longer generated, enum present for historic API compatibility.
- Since
4.0.0
-
enumerator eLeapEventType_TrackingMode¶
A tracking mode change has occurred.
This can be due to changing the hmd or screentop policy with LeapSetPolicyFlags(). or setting the tracking mode using LeapSetTrackingMode(). This event is stored in union member tracking_mode_event (LEAP_TRACKING_MODE_EVENT).
- Since
5.0.0
-
enumerator eLeapEventType_LogEvents¶
An array of system messages.
- Since
4.0.0 This event is stored in union member log_events (LEAP_LOG_EVENTS).
-
enumerator eLeapEventType_HeadPose¶
A head pose.
The message contains the timestamped head position and orientation. This event is no longer generated, enum present for historic API compatibility.
- Since
4.1.0
-
enumerator eLeapEventType_Eyes¶
Tracked eye positions.
- Since
4.1.0 This event is no longer generated, enum present for historic API compatibility.
-
enumerator eLeapEventType_IMU¶
An IMU reading.
- Since
4.1.0 This event is stored in union member imu_event (LEAP_IMU_EVENT).
-
enumerator eLeapEventType_NewDeviceTransform¶
Notification that the service received a new device transformation matrix Use LeapGetDeviceTransform to update your cached information.
- Since
5.13.0
-
enumerator eLeapEventType_Fiducial¶
Support for Fiducial Marker Tracking.
This experimental feature enables the detection of fiducial markers (AprilTags) and provides the pose data for markers alongside hands. There are no limits on the number of markers which can be tracked, however, the more tags being tracked the system performance will be reduced.
Guidelines for usage:
Enable fiducial marker tracking by adding a “fiducial_tracker” section to the “hand_tracker_config.json” file:
"fiducial_tracker": { "family": "TagStandard41h12", // AprilTag family to track. "size": 0.05, // Width of the tag in meters, e.g. 50mm "frequency": 1 // Frequency of tracking (1 = every frame) }
To maximise the tag tracking range, enable the “full_res_fiducials” setting outside the “fiducial_tracker” block:
”full_res_fiducials”: true
With a marker width of 50mm (0.05m), we expect markers to perform well at a distance of up to 500mm using the Leap2 camera and ‘full_res_fiducials’.
When a fiducial marker is detected, a notification event is triggered. The pose data for the detected marker is stored in the “fiducial_pose_event” union member.
Note:
Fiducial marker tracking can only be enabled through the configuration file.
The “family” parameter specifies the AprilTag family to track (e.g., TagStandard41h12).
The “size” parameter defines the width of the tag in meters.
The “frequency” parameter determines how often the tracking should occur (1 = every frame).
Use Cases:
Object placement and interaction in AR/VR environments
Spatial mapping and navigation in training simulations
Interactive training scenarios and feedback
Generating Markers:
AprilTags can be generated using various online tools or libraries. One popular option is the AprilTag generation tool (https://github.com/AprilRobotics/apriltag-generation) which provides a web interface for creating and customising AprilTag markers.
The TagStandard41h12 and TagStandard36h11 libraries have been tested extensively, however, it may work with others. Downloaded or printed markers can then be placed in the physical environment for tracking.
Optimising Marker Performance:
Maximise the visible contrast of markers ideally printing onto non-reflective, rigid, surfaces.
Position markers within the optimal tracking range specified by the marker size. Larger markers will achieve longer range.
Experiment with different marker sizes, tracking frequency, and families to find the best balance between range and accuracy.
- Since
6.0.0
-
enum eLeapRecordingFlags¶
Defines the recording mode provided to the LeapRecordingOpen() function.
Also used in members of LEAP_RECORDING_PARAMETERS and LEAP_RECORDING_STATUS.
- Since
3.2.0
Values:
-
enumerator eLeapRecordingFlags_Error¶
-
enumerator eLeapRecordingFlags_Reading¶
-
enumerator eLeapRecordingFlags_Writing¶
-
enumerator eLeapRecordingFlags_Flushing¶
-
enumerator eLeapRecordingFlags_Compressed¶
-
enum eLeapVersionPart¶
Defines the parameters used to access version information.
- Since
5.2.x
Values:
-
enumerator eLeapVersionPart_ClientLibrary¶
The parameter for requesting the version of the client.
- Since
5.2.x
-
enumerator eLeapVersionPart_ClientProtocol¶
The parameter for requesting the protocol version of the client.
- Since
5.2.x
-
enumerator eLeapVersionPart_ServerLibrary¶
The parameter for requesting the version of the server.
- Since
5.2.x
-
enumerator eLeapVersionPart_ServerProtocol¶
The parameter for requesting the protocol version of the server.
- Since
5.2.x
-
enum eLeapRS¶