This page has been translated automatically.
视频教程
界面
要领
高级
实用建议
基础
专业(SIM)
UnigineEditor
界面概述
资源工作流程
Version Control
设置和首选项
项目开发
调整节点参数
Setting Up Materials
设置属性
照明
Sandworm
使用编辑器工具执行特定任务
如何擴展編輯器功能
嵌入式节点类型
Nodes
Objects
Effects
Decals
光源
Geodetics
World Nodes
Sound Objects
Pathfinding Objects
Players
编程
基本原理
搭建开发环境
使用范例
C++
C#
UnigineScript
统一的Unigine着色器语言 UUSL (Unified UNIGINE Shader Language)
Plugins
File Formats
材质和着色器
Rebuilding the Engine Tools
GUI
双精度坐标
应用程序接口
Animations-Related Classes
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
VR-Related Classes
创建内容
内容优化
材质
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials
注意! 这个版本的文档是过时的,因为它描述了一个较老的SDK版本!请切换到最新SDK版本的文档。
注意! 这个版本的文档描述了一个不再受支持的旧SDK版本!请升级到最新的SDK版本。

Unigine::Plugins::LeapMotion Class

Header: #include <plugins/Unigine/LeapMotion/UnigineLeapMotion.h>

Notice
This set of functions is available when the LeapMotion plugin is loaded.

If the plugin is loaded together with the engine, the HAS_LEAP_MOTION definition is set. This definition can be used, for example, to avoid errors if the plugin is not loaded: the code in which the plugin functions are executed can be wrapped around as follows:

Source code (UnigineScript)
#ifdef HAS_LEAP_MOTION
	// engine.leap_motion functions
#endif

LeapMotion Class

枚举

POLICY#

Name描述
POLICY_DEFAULT = 0Default policy flag. Enables default policy settings.
POLICY_BACKGROUND_FRAMES = 1 << 0Background frames policy flag. Determines whether an application receives frames of tracking data while in the background.
Notice
By default, the Leap Motion software only sends tracking data to the foreground application. Only applications that need this ability should request the background frames policy. The "Allow Background Apps" checkbox must be enabled in the Leap Motion Control Panel or this policy will be denied.
POLICY_IMAGES = 1 << 1Images policy flag. Enables your application to receive images from the device cameras.
Notice
The "Allow Images" checkbox must be enabled in the Leap Motion Control Panel or this policy will be denied.
POLICY_OPTIMIZE_HMD = 1 << 2HMD optimization policy flag. Enables tracking optimization for head-mounted tracking mode.
Notice
This policy improves tracking in situations where the Leap Motion hardware is attached to a head-mounted display. This policy is not granted for devices that cannot be mounted to an HMD, such as Leap Motion controllers embedded in a laptop or keyboard.
POLICY_ALLOW_PAUSE_RESUME = 1 << 3Pause resume policy flag. Determines if the application is allowed to pause and unpause the Leap Motion service.
POLICY_RAW_IMAGES = 1 << 6Images policy flag. Enables your application to receive raw images from the device cameras.

Members


static LeapMotion * get ( ) #

Returns a pointer to the LeapMotion plugin interface.

Return value

Pointer to LeapMotion.

bool isConnected ( ) #

Returns a value indicating if the LeapMotion device is connected.

Return value

true if the LeapMotion device is connected; otherwise, false.

bool isServiceConnected ( ) #

Returns a value indicating if your application has a connection to the Leap Motion daemon/service.
Notice
Can return true even if the Leap Motion hardware is not available. To check if the hardware is connected, use the isConnected() method.

Return value

true if your application has a connection to the Leap Motion daemon/service; otherwise, false.

bool isSmudged ( ) #

Returns a value indicating if a possible smudge on the translucent cover over the Leap Motion cameras was detected.

Return value

true if a possible smudge on the translucent cover over the Leap Motion cameras was detected; otherwise, false.

bool isLightingBad ( ) #

Returns a value indicating if the excessive IR illumination was detected.

Return value

true if the excessive IR illumination was detected; otherwise, false.

bool hasFocus ( ) #

Returns a value indicating if the application is the focused (foreground) application.
Notice
By default, your application only receives tracking information from the Leap Motion controller when it has the operating system input focus. To receive tracking data when your application is in the background, the background frames policy flag must be set.

Return value

true if the application is the focused (foreground) application; otherwise, false.

void setPolicy ( int policy ) #

Requests setting the specified policy. A request to change a policy is subject to user approval and a policy can be changed by the user at any time (using the Leap Motion settings dialog).
Notice
The desired policy flags must be set every time an application runs.

Arguments

  • int policy - Policy. One of the POLICY_* values.

bool isPolicySet ( int policy ) #

Returns a value indicating if the specified policy is set. To set a policy use the setPolicy() method.

Arguments

  • int policy - Policy type. One of the POLICY_* values.

Return value

true if the specified policy is set; otherwise, false.

void clearPolicy ( int policy ) #

Requests clearing the specified policy. A request to change a policy is subject to user approval and a policy can be changed by the user at any time (using the Leap Motion settings dialog).
Notice
The required policy flags must be set every time an application runs.

Arguments

  • int policy - Policy. One of the POLICY_* values.

void setPaused ( bool pause ) #

Pauses or resumes the Leap Motion service.

Arguments

  • bool pause - true - to pause the Leap Motion service; false - to resume it.

bool isPaused ( ) #

Returns a value indicating if the Leap Motion service is currently paused.

Return value

true if the Leap Motion service is currently paused; otherwise, false.

float getHorizontalViewAngle ( ) #

Returns the angle of view along the X axis (long dimension) of the Leap Motion device. The Leap Motion controller scans a region in the shape of an inverted pyramid centered at the device’s center and extending upwards.

Return value

Angle of view along the X axis of the Leap Motion device, in degrees.

float getVerticalViewAngle ( ) #

Returns the angle of view along the Z axis (short dimension) of the Leap Motion device. The Leap Motion controller scans a region in the shape of an inverted pyramid centered at the device’s center and extending upwards.

Return value

Angle of view along the Z axis of the Leap Motion device, in degrees.

float getRange ( ) #

Returns the maximum recommended distance from the device center for which tracking is expected to be reliable.
Notice
This distance is not a hard limit. Tracking may be still be functional above this distance or begin to degrade slightly before this distance depending on calibration and extreme environmental conditions.

Return value

Maximum reliable tracking range from the center of this device, in meters.

float getBaseline ( ) #

Returns the distance between the center points of the stereo cameras of the Leap Motion device.

Return value

Distance between the center points of the stereo cameras of the Leap Motion device, in meters.

float getFPS ( ) #

Returns the current framerate.

Return value

Current framerate.

float getDistanceToBoundary ( const vec3 & position ) #

Returns the distance from the specified point to the nearest edge of the Leap Motion controller's view volume. The view volume is an axis-aligned, inverted pyramid centered on the device origin and extending upward to the range limit. The walls of the pyramid are described by the horizontalViewAngle and verticalViewAngle and the roof by the range.

Arguments

  • const vec3 & position - Point to measure the distance from.

Return value

Distance from the specified point to the nearest edge of the Leap Motion controller’s view volume, in meters.

const Vector< Ptr<Image> > & getImages ( ) #

Returns the list of the most recent images from the infrared stereo cameras of the device. Images are in the Image::FORMAT_R8. The images can be used for:
  • Head-mounted display video pass-through
  • Augmented reality
  • Computer vision

Return value

Vector containing images from the cameras.

int getNumImages ( ) #

Returns the number of images stored in the list of the most recent images from the infrared stereo cameras of the device. Images are in the Image::FORMAT_R8.

Return value

Number of images stored in the array.

Ptr<Image> & getImage ( int num ) #

Returns the selected image from the list of the most recent images from the infrared stereo cameras of the device. Images are in the Image::FORMAT_R8.

Arguments

  • int num - Index number of the image in the array.

Return value

Selected image from the cameras.

void saveHandsToStream ( Ptr<Stream> & dest_stream ) #

Saves hands to the indicated stream.

Arguments

  • Ptr<Stream> & dest_stream - Destination stream.
Last update: 2024-08-16
Build: ()