文档管理中心

AR Engine

本文导读
展开章节

概述

提供AR Engine增强现实能力的相关接口。

AR的基础核心能力,包含:运动跟踪,环境跟踪,命中检测。

起始版本: 5.0.0(12)

汇总

文件

展开

名称

描述

ar_engine_core.h

声明用于访问AR Engine的API。提供AR Engine基本功能,包括运动跟踪,环境跟踪,命中检测。

结构体

展开

名称

描述

struct AREngine_ClipPlaneDistance

裁剪平面距离数据。

宏定义

展开

名称

描述

ARENGINE_AABB_POINT_SIZE = 6

包围盒坐标集数组大小。

ARENGINE_POSE_RAW_SIZE = 7

位姿数据数组大小。

ARENGINE_VIEW_MATRIX_SIZE = 16

变换矩阵数组大小。

ARENGINE_DISTORTION_COUNT = 5

相机畸变参数的个数。

类型定义

展开

名称

描述

typedef struct AREngine_ARConfig AREngine_ARConfig

用于配置AREngine_ARSession的能力项(使用哪些能力、模式等)。

typedef struct AREngine_ARSession AREngine_ARSession

用于管理AR Engine的系统状态。

typedef struct AREngine_ARPose AREngine_ARPose

表示位姿(平移+旋转),从一个坐标系到另一个坐标系的不可变的刚体变换。

typedef struct AREngine_ARCamera AREngine_ARCamera

表示当前帧对应的相机信息。

typedef struct AREngine_ARCameraIntrinsics AREngine_ARCameraIntrinsics

表示相机内参,包括fx;fy;cx;cy;畸变参数。

typedef struct AREngine_ARCameraConfig AREngine_ARCameraConfig

提供相机的配置信息,如CPU图像的尺寸,GPU纹理的尺寸。

typedef struct AREngine_ARFrame AREngine_ARFrame

表示AR Engine处理的一帧数据。

typedef struct AREngine_ARPointCloud AREngine_ARPointCloud

表示可跟踪的3D点云的集合。

typedef struct AREngine_ARTrackable AREngine_ARTrackable

表示可跟踪对象,如点、平面等。

typedef struct AREngine_ARTrackableList AREngine_ARTrackableList

表示可跟踪对象列表,包含一系列可跟踪对象。

typedef struct AREngine_ARPlane AREngine_ARPlane

表示平面对象,描述被检测到的可跟踪平面信息。

typedef struct AREngine_ARPoint AREngine_ARPoint

表示点对象,描述被检测到的可跟踪点数据。

typedef struct AREngine_ARTarget AREngine_ARTarget

表示物体对象,描述被检测到的可跟踪语义目标信息,例如语义平面。

typedef struct AREngine_ARAnchor AREngine_ARAnchor

表示锚点对象,描述与可跟踪对象关联的空间位置。

typedef struct AREngine_ARAnchorList AREngine_ARAnchorList

表示锚点对象列表,包含一系列锚点对象。

typedef struct AREngine_ARHitResult AREngine_ARHitResult

表示命中检测结果对象,描述单个可跟踪对象的命中检测结果。

typedef struct AREngine_ARHitResultList AREngine_ARHitResultList

表示命中检测结果列表,包含一系列命中检测的结果对象。

typedef struct AREngine_ARImage AREngine_ARImage

相机视频流帧对象。

枚举

展开

名称

描述

AREngine_ARTrackableType {

ARENGINE_TRACKABLE_BASE = 0x41520100, ARENGINE_TRACKABLE_PLANE = 0x41520101, ARENGINE_TRACKABLE_POINT = 0x41520102, ARENGINE_TRACKABLE_TARGET = 0x50000008,

ARENGINE_TRACKABLE_INVALID = 0

}

可跟踪对象类型,如平面、点等。

AREngine_ARTrackingState { ARENGINE_TRACKING_STATE_TRACKING = 0, ARENGINE_TRACKING_STATE_PAUSED = 1, ARENGINE_TRACKING_STATE_STOPPED = 2 }

可跟踪对象的跟踪状态。

AREngine_ARTrackingStateReason { ARENGINE_TRACKING_STATE_REASON_NONE = 0, ARENGINE_TRACKING_STATE_REASON_EXCESSIVE_MOTION = 1, ARENGINE_TRACKING_STATE_REASON_INSUFFICIENT_FEATURES = 2 }

可能的跟踪失败原因。

AREngine_ARPlaneFindingMode { ARENGINE_PLANE_FINDING_MODE_DISABLED = 0, ARENGINE_PLANE_FINDING_MODE_HORIZONTAL = 1, ARENGINE_PLANE_FINDING_MODE_VERTICAL = 2, ARENGINE_PLANE_FINDING_MODE_HORIZONTAL_AND_VERTICAL = 3 }

平面搜索模式。

AREngine_ARUpdateMode { ARENGINE_UPDATE_MODE_BLOCKING = 0, ARENGINE_UPDATE_MODE_LATEST = 1 }

调用HMS_AREngine_ARSession_Update方法后数据更新模式。

AREngine_ARPowerMode { ARENGINE_POWER_MODE_NORMAL = 0, ARENGINE_POWER_MODE_POWER_SAVING = 1, ARENGINE_POWER_MODE_PERFORMANCE_FIRST = 2, ARENGINE_POWER_MODE_BOOST = 3 ,

ARENGINE_POWER_MODE_ULTRA_POWER_SAVING = 11}

功耗模式。

AREngine_ARFocusMode { ARENGINE_FOCUS_MODE_FIXED = 0, ARENGINE_FOCUS_MODE_AUTO = 1 }

对焦模式。

AREngine_ARPlaneType { ARENGINE_PLANE_FACING_HORIZONTAL_UPWARD = 0, ARENGINE_PLANE_FACING_HORIZONTAL_DOWNWARD = 1, ARENGINE_PLANE_FACING_VERTICAL = 2, ARENGINE_PLANE_FACING_INVALID = 3 }

平面类型。

AREngine_ARType { ARENGINE_TYPE_WORLD = 0x01 }

AR能力类型。

AREngine_ARSemanticMode { ARENGINE_SEMANTIC_MODE_NONE = 0, ARENGINE_SEMANTIC_MODE_PLANE = 1, ARENGINE_SEMANTIC_MODE_TARGET = 2 }

语义模式。

AREngine_ARPointOrientationMode { ARENGINE_POINT_ORIENTATION_INITIALIZED_TO_IDENTITY = 0, ARENGINE_POINT_ORIENTATION_ESTIMATED_SURFACE_NORMAL = 1 }

朝向模式。

AREngine_ARSemanticPlaneLabel {

ARENGINE_PLANE_UNKNOWN = 0, ARENGINE_PLANE_WALL = 1, ARENGINE_PLANE_FLOOR = 2, ARENGINE_PLANE_SEAT = 3,

ARENGINE_PLANE_TABLE = 4, ARENGINE_PLANE_CEILING = 5, ARENGINE_PLANE_DOOR = 6, ARENGINE_PLANE_WINDOW = 7,

ARENGINE_PLANE_BED = 8

}

当前平面识别到的语义类型。

AREngine_ARTargetShapeLabel { ARENGINE_TARGET_SHAPE_UNKNOWN = 0, ARENGINE_TARGET_SHAPE_CUBE = 1, ARENGINE_TARGET_SHAPE_CIRCLE = 2, ARENGINE_TARGET_SHAPE_RECTANGLE = 3 }

识别到的物体形状。

AREngine_ARPoseType { ARENGINE_POSE_TYPE_IDENTITY = 0, ARENGINE_POSE_TYPE_ROTATE_90 = 1, ARENGINE_POSE_TYPE_ROTATE_180 = 2, ARENGINE_POSE_TYPE_ROTATE_270 = 3 }

位姿类型。

AREngine_ARImageFormat { ARENGINE_IMAGE_UNKNOWN = 0, ARENGINE_IMAGE_YUV_420_888 = 2 }

图像数据格式。

AREngine_ARPreviewMode { ARENGINE_PREVIEW_MODE_ENABLED = 0, ARENGINE_PREVIEW_MODE_DISABLED = 1 }

预览模式。

AREngine_ARStatus {

ARENGINE_SUCCESS = 0, ARENGINE_ERROR_PERMISSION_NOT_GRANTED = 201, ARENGINE_ERROR_INVALID_ARGUMENT = 401, ARENGINE_ERROR_DEVICE_NOT_SUPPORTED = 801,

ARENGINE_ERROR_FATAL = 1009200001, ARENGINE_ERROR_SESSION_PAUSED = 1009200002, ARENGINE_ERROR_SESSION_NOT_PAUSED = 1009200003, ARENGINE_ERROR_NOT_TRACKING = 1009200004,

ARENGINE_ERROR_TEXTURE_NOT_SET = 1009200005, ARENGINE_ERROR_MISSING_GL_CONTEXT = 1009200006, ARENGINE_ERROR_UNSUPPORTED_CONFIGURATION = 1009200007, ARENGINE_ERROR_RESOURCE_EXHAUSTED = 1009200008,

ARENGINE_ERROR_NOT_AVAILABLE = 1009200009, ARENGINE_ERROR_CAMERA_NOT_AVAILABLE = 1009200010

}

接口返回错误码,用于表示一个接口的调用状态。

函数

展开

名称

描述

AREngine_ARStatus HMS_AREngine_ARConfig_Create (const AREngine_ARSession *session, AREngine_ARConfig **outConfig)

创建一个拥有合理默认配置的配置对象。

void HMS_AREngine_ARConfig_Destroy (AREngine_ARConfig *config)

释放指定的配置对象的内存空间。

AREngine_ARStatus HMS_AREngine_ARConfig_GetPlaneFindingMode (const AREngine_ARSession *session, const AREngine_ARConfig *config, AREngine_ARPlaneFindingMode *planeFindingMode)

获取当前配置的平面识别模式。

AREngine_ARStatus HMS_AREngine_ARConfig_SetPlaneFindingMode (const AREngine_ARSession *session, AREngine_ARConfig *config, AREngine_ARPlaneFindingMode planeFindingMode)

设置当前所需的平面识别模式。

AREngine_ARStatus HMS_AREngine_ARConfig_GetUpdateMode (const AREngine_ARSession *session, const AREngine_ARConfig *config, AREngine_ARUpdateMode *updateMode)

获取当前配置的预览更新模式。

AREngine_ARStatus HMS_AREngine_ARConfig_SetUpdateMode (const AREngine_ARSession *session, AREngine_ARConfig *config, AREngine_ARUpdateMode updateMode)

设置预览更新模式。

AREngine_ARStatus HMS_AREngine_ARConfig_GetPowerMode (const AREngine_ARSession *session, const AREngine_ARConfig *config, AREngine_ARPowerMode *powerMode)

获取当前配置的功耗模式。

AREngine_ARStatus HMS_AREngine_ARConfig_SetPowerMode (const AREngine_ARSession *session, AREngine_ARConfig *config, AREngine_ARPowerMode powerMode)

设置功耗模式。

AREngine_ARStatus HMS_AREngine_ARConfig_GetFocusMode (const AREngine_ARSession *session, const AREngine_ARConfig *config, AREngine_ARFocusMode *focusMode)

获取当前配置的相机对焦模式。

AREngine_ARStatus HMS_AREngine_ARConfig_SetFocusMode (const AREngine_ARSession *session, AREngine_ARConfig *config, AREngine_ARFocusMode focusMode)

设置当前所需的相机对焦模式。

AREngine_ARStatus HMS_AREngine_ARConfig_SetPreviewSize (const AREngine_ARSession *session, AREngine_ARConfig *config, uint32_t width, uint32_t height)

设置预览画面尺寸。

AREngine_ARStatus HMS_AREngine_ARConfig_GetARType (const AREngine_ARSession *session, const AREngine_ARConfig *config, AREngine_ARType *type)

获取当前使用的AR能力类型。

AREngine_ARStatus HMS_AREngine_ARConfig_SetARType (const AREngine_ARSession *session, AREngine_ARConfig *config, AREngine_ARType type)

设置当前要使用的AR能力类型。

AREngine_ARStatus HMS_AREngine_ARConfig_GetSemanticMode (const AREngine_ARSession *session, const AREngine_ARConfig *config, AREngine_ARSemanticMode *mode)

获取已设置成功的语义识别模式,该方法在HMS_AREngine_ARConfig_SetSemanticMode后调用有效。

AREngine_ARStatus HMS_AREngine_ARConfig_SetSemanticMode (const AREngine_ARSession *session, AREngine_ARConfig *config, AREngine_ARSemanticMode mode)

设置当前所需的语义识别模式。

AREngine_ARStatus HMS_AREngine_ARConfig_GetMaxMapSize (const AREngine_ARSession *session, const AREngine_ARConfig *config, uint64_t *maxMapSize)

获取地图数据使用的最大内存大小。

AREngine_ARStatus HMS_AREngine_ARConfig_SetMaxMapSize (const AREngine_ARSession *session, AREngine_ARConfig *config, uint64_t maxMapSize)

设置地图数据最大使用内存大小。

AREngine_ARStatus HMS_AREngine_ARSession_Create (void *env, void *applicationContext, AREngine_ARSession **outSessionPointer)

创建一个新的AREngine_ARSession会话。此接口依赖相机、加速度以及陀螺仪传感器权限。

AREngine_ARStatus HMS_AREngine_ARSession_Stop (AREngine_ARSession *session)

停止AR Engine,停止相机预览流,清除平面和锚点数据,并释放相机,终止本次会话。

void HMS_AREngine_ARSession_Destroy (AREngine_ARSession *session)

释放AREngine_ARSession会话使用的资源。

AREngine_ARStatus HMS_AREngine_ARSession_Resume (AREngine_ARSession *session)

开始运行AREngine_ARSession,或者在调用HMS_AREngine_ARSession_Pause以后恢复AREngine_ARSession的运行状态。

AREngine_ARStatus HMS_AREngine_ARSession_Pause (AREngine_ARSession *session)

暂停会话,停止相机预览流,不清除平面和锚点数据,释放相机(否则其他应用无法使用相机服务)。

AREngine_ARStatus HMS_AREngine_ARSession_Update (AREngine_ARSession *session, AREngine_ARFrame *outFrame)

更新AR Engine的计算结果。

AREngine_ARStatus HMS_AREngine_ARSession_Configure (AREngine_ARSession *session, const AREngine_ARConfig *config)

配置AREngine_ARSession会话。

AREngine_ARStatus HMS_AREngine_ARSession_AcquireNewAnchor (AREngine_ARSession *session, const AREngine_ARPose *pose, AREngine_ARAnchor **outAnchor)

创建一个持续跟踪的锚点。

AREngine_ARStatus HMS_AREngine_ARSession_SetCameraGLTexture (AREngine_ARSession *session, uint32_t textureId)

设置可用于存储相机预览流数据的openGL纹理。

AREngine_ARStatus HMS_AREngine_ARSession_SetDisplayGeometry (AREngine_ARSession *session, AREngine_ARPoseType rotation, int32_t width, int32_t height)

设置显示的高和宽(以像素为单位)。该高和宽是显示view的高和宽,如果不一致,会导致显示相机预览出错。

AREngine_ARStatus HMS_AREngine_ARSession_GetAllAnchors (const AREngine_ARSession *session, AREngine_ARAnchorList *outAnchorList)

获取所有锚点,包括AREngine_ARTrackingState中包含的所有状态下的锚点。

AREngine_ARStatus HMS_AREngine_ARSession_GetAllTrackables (const AREngine_ARSession *session, AREngine_ARTrackableType filterType, AREngine_ARTrackableList *outTrackableList)

获取所有指定类型的可跟踪对像集合。

AREngine_ARStatus HMS_AREngine_ARSession_GetCameraConfig (const AREngine_ARSession *session, AREngine_ARCameraConfig *outCameraConfig)

获取相机配置信息。

AREngine_ARStatus HMS_AREngine_ARPose_Create (const AREngine_ARSession *session, const float *poseRaw, const uint32_t poseRawSize, AREngine_ARPose **outPose)

分配并初始化一个新的位姿对象。可以设置poseRaw为空,来创建未初始化的位姿对象,随后调用HMS_AREngine_ARPoint_GetPoseHMS_AREngine_ARAnchor_GetPose等为位姿对象赋值。

void HMS_AREngine_ARPose_Destroy (AREngine_ARPose *pose)

释放位姿对象使用的内存。

AREngine_ARStatus HMS_AREngine_ARPose_GetPoseRaw (const AREngine_ARSession *session, const AREngine_ARPose *pose, float *outPoseRaw, int32_t poseRawSize)

从位姿对象提取位姿数据,包括平移分量与旋转分量,数组大小为7,poseRaw[0]~poseRaw[3]为旋转分量quaternion,poseRaw[4]~poseRaw[6]为平移分量(x,y,z)。

AREngine_ARStatus HMS_AREngine_ARPose_GetMatrix (const AREngine_ARSession *session, const AREngine_ARPose *pose, float *outMatrixColMajor4x4, int32_t matrixColMajor4x4Size)

将位姿数据转换成4X4的矩阵,outMatrixColMajor4x4为存放数组,其中的数据按照列优先存储,该矩阵与局部坐标系的坐标点做乘法,可以得到局部坐标系到世界坐标系的转换。

AREngine_ARStatus HMS_AREngine_ARCamera_GetPose (const AREngine_ARSession *session, const AREngine_ARCamera *camera, AREngine_ARPose *outPose)

设置outPose为最新帧中物理相机在世界空间中的位姿。该位姿是OpenGL相机的位姿,其中x轴正方向为右,y轴正方向为上,z轴负方向为相机的观察方向。相机位置即物理相机位置,而相机x轴与y轴指向不受屏幕方向(考虑显示旋转)的影响。

AREngine_ARStatus HMS_AREngine_ARCamera_GetDisplayOrientedPose (const AREngine_ARSession *session, const AREngine_ARCamera *camera, AREngine_ARPose *outPose)

设置outPose为虚拟相机(面向显示)在世界空间中的位姿,用以将AR内容渲染到最新帧中。该位姿是OpenGL相机的位姿,其中x轴正方向为右,y轴正方向为上,z轴负方向为相机的观察方向。相机位置即物理相机位置,而相机x轴与y轴指向受屏幕方向(考虑显示旋转)的影响。

AREngine_ARStatus HMS_AREngine_ARCamera_GetViewMatrix (const AREngine_ARSession *session, const AREngine_ARCamera *camera, float *outColMajor4x4, int32_t colMajor4x4Num)

获取最新帧中相机的视图矩阵。

AREngine_ARStatus HMS_AREngine_ARCamera_GetTrackingState (const AREngine_ARSession *session, const AREngine_ARCamera *camera, AREngine_ARTrackingState *outTrackingState)

获取相机的当前追踪状态。只有当该状态为ARENGINE_TRACKING_STATE_TRACKING时,相机的位姿才可用。

AREngine_ARStatus HMS_AREngine_ARCamera_GetTrackingStateReason (const AREngine_ARSession *session, const AREngine_ARCamera *camera, AREngine_ARTrackingStateReason *outTrackingStateReason)

获取相机的当前追踪状态为ARENGINE_TRACKING_STATE_PAUSED时的原因。 当相机的当前追踪状态为ARENGINE_TRACKING_STATE_TRACKING时,该函数返回ARENGINE_TRACKING_STATE_REASON_NONE

AREngine_ARStatus HMS_AREngine_ARCamera_GetProjectionMatrix (const AREngine_ARSession *session, const AREngine_ARCamera *camera, AREngine_ClipPlaneDistance clipPlaneDistance, float *outDestColMajor4x4, int32_t destColMajor4x4Num)

获取用于在相机图像上层渲染虚拟内容的投影矩阵,可用于相机坐标系到裁剪坐标系转换。

AREngine_ARStatus HMS_AREngine_ARCamera_GetImageIntrinsics (const AREngine_ARSession *session, const AREngine_ARCamera *camera, AREngine_ARCameraIntrinsics *outIntrinsics)

获取物理相机离线内参的对象,可通过该对象获取相机的焦距、图像尺寸、主轴点和畸变参数。

void HMS_AREngine_ARCamera_Release (AREngine_ARCamera *camera)

释放对相机的引用。当调用了HMS_AREngine_ARFrame_AcquireCamera时,需要相应的调用HMS_AREngine_ARCamera_Release。当没有HMS_AREngine_ARFrame_AcquireCamera时,调用该方法无效。

AREngine_ARStatus HMS_AREngine_ARCameraIntrinsics_Create (const AREngine_ARSession *session, AREngine_ARCameraIntrinsics **outIntrinsics)

创建一个相机内参对象。

void HMS_AREngine_ARCameraIntrinsics_Destroy (AREngine_ARCameraIntrinsics *intrinsics)

释放指定的相机内参对象。

AREngine_ARStatus HMS_AREngine_ARCameraIntrinsics_GetFocalLength (const AREngine_ARSession *session, const AREngine_ARCameraIntrinsics *intrinsics, float *outFocalX, float *outFocalY)

获取指定相机的焦距,焦距以像素为单位。

AREngine_ARStatus HMS_AREngine_ARCameraIntrinsics_GetPrincipalPoint (const AREngine_ARSession *session, const AREngine_ARCameraIntrinsics *intrinsics, float *outPrincipalX, float *outPrincipalY)

获取指定相机的主轴点,主点位置以像素为单位表示。

AREngine_ARStatus HMS_AREngine_ARCameraIntrinsics_GetImageDimensions (const AREngine_ARSession *session, const AREngine_ARCameraIntrinsics *intrinsics, int32_t *outWidth, int32_t *outHeight)

获取相机图像的尺寸,包括宽度和高度(以像素为单位)。

AREngine_ARStatus HMS_AREngine_ARCameraIntrinsics_GetDistortion (const AREngine_ARSession *session, const AREngine_ARCameraIntrinsics *intrinsics, float *outDistortion, int32_t distortionNum)

获取相机的畸变系数。包含5个分量,其中outDistortion[0]~outDistortion [2]表示k1,k2,k3(径向畸变系数),outDistortion [3]~outDistortion [4]是切向畸变系数。

AREngine_ARStatus HMS_AREngine_ARFrame_Create (const AREngine_ARSession *session, AREngine_ARFrame **outFrame)

创建一个新的AREngine_ARFrame对象,将指针存储到中*outFrame。

void HMS_AREngine_ARFrame_Destroy (AREngine_ARFrame *frame)

删除当前AREngine_ARFrame对象。

AREngine_ARStatus HMS_AREngine_ARFrame_GetDisplayGeometryChanged (const AREngine_ARSession *session, const AREngine_ARFrame *frame, int32_t *outGeometryChangeState)

获取显示(长宽和旋转)是否发生变化。如果发生变化,需要重新调用HMS_AREngine_ARFrame_TransformDisplayUvCoords获取正确的纹理贴图坐标。 返回值outGeometryChangeState为0,代表未发生变化,否则为发生了变化。

AREngine_ARStatus HMS_AREngine_ARFrame_GetTimestamp (const AREngine_ARSession *session, const AREngine_ARFrame *frame, int64_t *outTimestampNs)

获取当前帧对应的时间戳信息,单位为纳秒。

AREngine_ARStatus HMS_AREngine_ARFrame_TransformDisplayUvCoords (const AREngine_ARSession *session, const AREngine_ARFrame *frame, int32_t elementSize, const float *uvsIn, float *uvsOut)

调整纹理映射坐标,以便可以正确地显示相机捕捉到的背景图片。

AREngine_ARStatus HMS_AREngine_ARFrame_HitTest (const AREngine_ARSession *session, const AREngine_ARFrame *frame, float pixelX, float pixelY, AREngine_ARHitResultList *hitResultList)

从摄像头发射一条射线,该射线的方向由预览区上的点(pixelX,pixelY)确定(pixelX,pixelY可以通过XComponent的DispatchTouchEvent()事件获取)。

AREngine_ARStatus HMS_AREngine_ARFrame_AcquirePointCloud (const AREngine_ARSession *session, const AREngine_ARFrame *frame, AREngine_ARPointCloud **outPointCloud)

返回当前帧的点云数据。

AREngine_ARStatus HMS_AREngine_ARFrame_AcquireCamera (const AREngine_ARSession *session, const AREngine_ARFrame *frame, AREngine_ARCamera **outCamera)

获取当前帧的相机参数对象。

AREngine_ARStatus HMS_AREngine_ARFrame_GetUpdatedTrackables (const AREngine_ARSession *session, const AREngine_ARFrame *frame, AREngine_ARTrackableType filterType, AREngine_ARTrackableList *outTrackableList)

获取HMS_AREngine_ARSession_Update更新后发生变化的指定类型的可跟踪对象。

AREngine_ARStatus HMS_AREngine_ARFrame_AcquireCameraImage (const AREngine_ARSession *session, const AREngine_ARFrame *frame, AREngine_ARImage **outImage)

获取相机的当前帧的图像。

AREngine_ARStatus HMS_AREngine_ARPointCloud_GetData (const AREngine_ARSession *session, const AREngine_ARPointCloud *pointCloud, const float **outPointCloudData)

获取点云中所有点的坐标及置信度数组。

AREngine_ARStatus HMS_AREngine_ARPointCloud_GetNumberOfPoints (const AREngine_ARSession *session, const AREngine_ARPointCloud *pointCloud, int32_t *outNumberOfPoints)

获取点云中所有点的坐标及置信度数组大小。与HMS_AREngine_ARPointCloud_GetData配合使用。

AREngine_ARStatus HMS_AREngine_ARPointCloud_GetTimestamp (const AREngine_ARSession *session, const AREngine_ARPointCloud *pointCloud, int64_t *outTimestampNs)

获取检测到当前特征点云的时间,以纳秒为单位。

void HMS_AREngine_ARPointCloud_Release (AREngine_ARPointCloud *pointCloud)

释放点云对象使用的内存。

AREngine_ARStatus HMS_AREngine_ARAnchor_GetPose (const AREngine_ARSession *session, const AREngine_ARAnchor *anchor, AREngine_ARPose *outPose)

获取指定锚点在世界坐标系中的位姿信息。

AREngine_ARStatus HMS_AREngine_ARAnchor_GetTrackingState (const AREngine_ARSession *session, const AREngine_ARAnchor *anchor, AREngine_ARTrackingState *outTrackingState)

获取指定锚点位姿的追踪状态。

AREngine_ARStatus HMS_AREngine_ARAnchor_Detach (AREngine_ARSession *session, AREngine_ARAnchor *anchor)

通知AREngine停止跟踪并解绑一个锚点。但是该函数并不会释放该锚点,这需要通过HMS_AREngine_ARAnchor_Release单独来实现。

void HMS_AREngine_ARAnchor_Release (AREngine_ARAnchor *anchor)

释放指定锚点对象的内存。释放前需要先通知AREngine停止跟踪并解绑锚点。

AREngine_ARStatus HMS_AREngine_ARTrackableList_Create (const AREngine_ARSession *session, AREngine_ARTrackableList **outTrackableList)

创建一个可跟踪对象列表。

void HMS_AREngine_ARTrackableList_Destroy (AREngine_ARTrackableList *trackableList)

释放可跟踪对象列表,以及它持有的所有锚点引用。

AREngine_ARStatus HMS_AREngine_ARTrackableList_GetSize (const AREngine_ARSession *session, const AREngine_ARTrackableList *trackableList, int32_t *outSize)

获取此列表中的可跟踪对象的数量。

AREngine_ARStatus HMS_AREngine_ARTrackableList_AcquireItem (const AREngine_ARSession *session, const AREngine_ARTrackableList *trackableList, int32_t index, AREngine_ARTrackable **outTrackable)

从可跟踪列表中获取指定index的对象。

void HMS_AREngine_ARTrackable_Release (AREngine_ARTrackable *trackable)

释放可跟踪对象。

AREngine_ARStatus HMS_AREngine_ARTrackable_GetType (const AREngine_ARSession *session, const AREngine_ARTrackable *trackable, AREngine_ARTrackableType *outTrackableType)

获取可跟踪对象的类型。

AREngine_ARStatus HMS_AREngine_ARTrackable_GetTrackingState (const AREngine_ARSession *session, const AREngine_ARTrackable *trackable, AREngine_ARTrackingState *outTrackingState)

获取当前可跟踪对象的跟踪状态。

AREngine_ARStatus HMS_AREngine_ARTrackable_AcquireNewAnchor (AREngine_ARSession *session, AREngine_ARTrackable *trackable, AREngine_ARPose *pose, AREngine_ARAnchor **outAnchor)

通过可跟踪对象的位姿信息创建对应的锚点对象,该锚点将和当前的可跟踪对象绑定。

AREngine_ARStatus HMS_AREngine_ARTrackable_GetAnchors (AREngine_ARSession *session, const AREngine_ARTrackable *trackable, AREngine_ARAnchorList *outAnchorList)

获取绑定到输入可跟踪对象的锚点对象列表。

AREngine_ARStatus HMS_AREngine_ARPlane_AcquireSubsumedBy (const AREngine_ARSession *session, const AREngine_ARPlane *plane, AREngine_ARPlane **outSubsumedBy)

获取平面的父平面(一个平面被另一个平面合并时,会产生父平面),如果无父平面返回为NULL。

AREngine_ARStatus HMS_AREngine_ARPlane_GetType (const AREngine_ARSession *session, const AREngine_ARPlane *plane, AREngine_ARPlaneType *outPlaneType)

获取平面的类型。

AREngine_ARStatus HMS_AREngine_ARPlane_GetCenterPose (const AREngine_ARSession *session, const AREngine_ARPlane *plane, AREngine_ARPose *outPose)

获取从平面的局部坐标系到世界坐标系转换的位姿信息。

AREngine_ARStatus HMS_AREngine_ARPlane_GetLabel (const AREngine_ARSession *session, const AREngine_ARPlane *plane, AREngine_ARSemanticPlaneLabel *label)

获取平面的语义类型,如桌面、地板等,使用时需要使用HMS_AREngine_ARConfig_SetSemanticMode启用语义识别模式。

AREngine_ARStatus HMS_AREngine_ARPlane_GetExtentX (const AREngine_ARSession *session, const AREngine_ARPlane *plane, float *outExtentX)

获取平面的矩形边界沿平面局部坐标系X轴的长度,如矩形的宽度。

AREngine_ARStatus HMS_AREngine_ARPlane_GetExtentZ (const AREngine_ARSession *session, const AREngine_ARPlane *plane, float *outExtentZ)

获取平面的矩形边界沿平面局部坐标系Z轴的长度,如矩形的高度。

AREngine_ARStatus HMS_AREngine_ARPlane_GetPolygonSize (const AREngine_ARSession *session, const AREngine_ARPlane *plane, int32_t *outPolygonSize)

获取检测到平面的二维顶点数组大小。配合HMS_AREngine_ARPlane_GetPolygon接口使用。

AREngine_ARStatus HMS_AREngine_ARPlane_GetPolygon (const AREngine_ARSession *session, const AREngine_ARPlane *plane, float *outPolygonXz, int32_t polygonSize)

获取检测到平面的二维顶点数组,格式为[x1,z1,x2,z2,...]。

AREngine_ARStatus HMS_AREngine_ARPlane_IsPoseInExtents (const AREngine_ARSession *session, const AREngine_ARPlane *plane, const AREngine_ARPose *pose, int32_t *outPoseInExtents)

判断位姿是否位于平面的矩形范围内。

AREngine_ARStatus HMS_AREngine_ARPlane_IsPoseInPolygon (const AREngine_ARSession *session, const AREngine_ARPlane *plane, const AREngine_ARPose *pose, int32_t *outPoseInPolygon)

判断位姿是否位于平面的多边形范围内。

AREngine_ARStatus HMS_AREngine_ARPoint_GetOrientationMode (const AREngine_ARSession *session, const AREngine_ARPoint *point, AREngine_ARPointOrientationMode *outOrientationMode)

获取输入点的朝向模式。

AREngine_ARStatus HMS_AREngine_ARPoint_GetPose (const AREngine_ARSession *session, const AREngine_ARPoint *point, AREngine_ARPose *outPose)

获取输入点的位姿信息。

AREngine_ARStatus HMS_AREngine_ARHitResultList_Create (const AREngine_ARSession *session, AREngine_ARHitResultList **outHitResultList)

创建一个命中检测结果对象列表。

void HMS_AREngine_ARHitResultList_Destroy (AREngine_ARHitResultList *hitResultList)

释放命中检测结果对象列表,以及其中的所有命中检测结果对象。

AREngine_ARStatus HMS_AREngine_ARHitResultList_GetSize (const AREngine_ARSession *session, const AREngine_ARHitResultList *hitResultList, int32_t *outSize)

获取命中检测结果对象列表中包含的对象数。

AREngine_ARStatus HMS_AREngine_ARHitResultList_GetItem (const AREngine_ARSession *session, const AREngine_ARHitResultList *hitResultList, int32_t index, AREngine_ARHitResult *outHitResult)

在命中检测结果列表中获取指定索引的命中检测结果对象。

AREngine_ARStatus HMS_AREngine_ARHitResult_Create (const AREngine_ARSession *session, AREngine_ARHitResult **outHitResult)

创建一个空的命中检测结果对象。

void HMS_AREngine_ARHitResult_Destroy (AREngine_ARHitResult *hitResult)

释放命中检测结果对象使用的内存。

AREngine_ARStatus HMS_AREngine_ARHitResult_GetDistance (const AREngine_ARSession *session, const AREngine_ARHitResult *hitResult, float *outDistance)

返回从相机到命中位置的距离,以米为单位。

AREngine_ARStatus HMS_AREngine_ARHitResult_GetHitPose (const AREngine_ARSession *session, const AREngine_ARHitResult *hitResult, AREngine_ARPose *outPose)

获取交点的位姿,其平移向量是交点在世界坐标系的坐标,其旋转分量根据碰撞点的不同类型(平面交点、点云交点)而有不同的定义。

AREngine_ARStatus HMS_AREngine_ARHitResult_AcquireTrackable (const AREngine_ARSession *session, const AREngine_ARHitResult *hitResult, AREngine_ARTrackable **outTrackable)

获取被命中的可追踪对象。

AREngine_ARStatus HMS_AREngine_ARHitResult_AcquireNewAnchor (AREngine_ARSession *session, AREngine_ARHitResult *hitResult, AREngine_ARAnchor **outAnchor)

在碰撞命中位置创建一个新的锚点。

AREngine_ARStatus HMS_AREngine_ARTarget_GetCenterPose (const AREngine_ARSession *session, const AREngine_ARTarget *target, AREngine_ARPose *outARPose)

获取从目标语义对象的局部坐标系到世界坐标系转换的位姿对象。

AREngine_ARStatus HMS_AREngine_ARTarget_GetAxisAlignedBoundingBox(const AREngine_ARSession *session, const AREngine_ARTarget *target, float *outAabb, int32_t aabbSize)

获取语义物体最小外接包围盒坐标,坐标格式为xmin,ymin,zmin,xmax,ymax,zmax。

AREngine_ARStatus HMS_AREngine_ARTarget_GetRadius (const AREngine_ARSession *session, const AREngine_ARTarget *target, float *radius)

获取语义物体的球体半径。

AREngine_ARStatus HMS_AREngine_ARTarget_GetShapeType (const AREngine_ARSession *session, const AREngine_ARTarget *target, AREngine_ARTargetShapeLabel *shape)

获取语义物体的形状类型。

AREngine_ARStatus HMS_AREngine_ARAnchorList_Create (const AREngine_ARSession *session, AREngine_ARAnchorList **outAnchorList)

创建一个锚点对象列表。

void HMS_AREngine_ARAnchorList_Destroy (AREngine_ARAnchorList *anchorList)

释放一个锚点对象列表。

AREngine_ARStatus HMS_AREngine_ARAnchorList_GetSize (const AREngine_ARSession *session, const AREngine_ARAnchorList *anchorList, int32_t *outSize)

获取锚点对象列表中包含锚点的数量。

AREngine_ARStatus HMS_AREngine_ARAnchorList_AcquireItem (const AREngine_ARSession *session, const AREngine_ARAnchorList *anchorList, int32_t index, AREngine_ARAnchor **outAnchor)

从锚点对象列表中获取指定位置的锚点信息。

AREngine_ARStatus HMS_AREngine_ARCameraConfig_Create (const AREngine_ARSession *session, AREngine_ARCameraConfig **outCameraConfig)

创建一个相机配置对象。

void HMS_AREngine_ARCameraConfig_Destroy (AREngine_ARCameraConfig *cameraConfig)

释放相机配置对象。

AREngine_ARStatus HMS_AREngine_ARCameraConfig_GetImageDimensions (const AREngine_ARSession *session, const AREngine_ARCameraConfig *cameraConfig, int32_t *outWidth, int32_t *outHeight)

从相机配置对象中获取相机送到CPU处理的图像尺寸。

AREngine_ARStatus HMS_AREngine_ARCameraConfig_GetTextureDimensions (const AREngine_ARSession *session, const AREngine_ARCameraConfig *cameraConfig, int32_t *outWidth, int32_t *outHeight)

从相机配置中获取相机送到GPU处理的图像纹理尺寸。

AREngine_ARStatus HMS_AREngine_ARImage_GetFormat (const AREngine_ARSession *session, const AREngine_ARImage *image, AREngine_ARImageFormat *outFormat)

获取当前帧的图像格式。

AREngine_ARStatus HMS_AREngine_ARImage_GetWidth (const AREngine_ARSession *session, const AREngine_ARImage *image, int32_t *outWidth)

获取当前帧的图像数据的宽度。

AREngine_ARStatus HMS_AREngine_ARImage_GetHeight (const AREngine_ARSession *session, const AREngine_ARImage *image, int32_t *outHeight)

获取当前帧的图像数据的高度。

AREngine_ARStatus HMS_AREngine_ARImage_GetPlaneCount (const AREngine_ARSession *session, const AREngine_ARImage *image, int32_t *outCount)

获取当前帧图像的平面数量。

AREngine_ARStatus HMS_AREngine_ARImage_GetPlaneData (const AREngine_ARSession *session, const AREngine_ARImage *image, int32_t planeIndex, const uint8_t **outData, int32_t *outLength)

获取当前帧图像的平面数据。

AREngine_ARStatus HMS_AREngine_ARImage_GetPlanePixelStride (const AREngine_ARSession *session, const AREngine_ARImage *image, int32_t planeIndex, int32_t *outPixelStride)

获取图像中两个连续像素的起点之间的字节距离。像素步幅始终大于0。

AREngine_ARStatus HMS_AREngine_ARImage_GetPlaneRowStride (const AREngine_ARSession *session, const AREngine_ARImage *image, int32_t planeIndex, int32_t *outRowStride)

获取图像中两个连续像素行的起始位置之间的字节数。行间距始终大于0。

AREngine_ARStatus HMS_AREngine_ARImage_GetTimestamp (const AREngine_ARSession *session, const AREngine_ARImage *image, int64_t *outTimestamp)

获取图像的时间戳(以纳秒为单位)。 时间戳通常是单调递增的。时间戳的具体含义和时基取决于提供图像的源。 来自不同来源的图像的时间戳可能具有不同的时基,因此不应该相互比较。

void HMS_AREngine_ARImage_Release (AREngine_ARImage *image)

释放当前帧的图像对象, 由HMS_AREngine_ARFrame_AcquireCameraImage创建的对象。

AREngine_ARStatus HMS_AREngine_ARConfig_SetCameraPreviewMode (const AREngine_ARSession *session, AREngine_ARConfig *config, AREngine_ARPreviewMode mode)

设置预览模式。

AREngine_ARStatus HMS_AREngine_ARConfig_GetCameraPreviewMode (const AREngine_ARSession *session, AREngine_ARConfig *config, AREngine_ARPreviewMode *outMode)

获取当前的预览模式。

宏定义说明

ARENGINE_AABB_POINT_SIZE

收起
自动换行
深色代码主题
复制
  1. const static int32_t ARENGINE_AABB_POINT_SIZE = 6

描述:

包围盒坐标集数组大小。

起始版本: 5.0.0(12)

ARENGINE_POSE_RAW_SIZE

收起
自动换行
深色代码主题
复制
  1. const static int32_t ARENGINE_POSE_RAW_SIZE = 7

描述:

位姿数据数组大小。

起始版本: 5.0.0(12)

ARENGINE_VIEW_MATRIX_SIZE

收起
自动换行
深色代码主题
复制
  1. const static int32_t ARENGINE_VIEW_MATRIX_SIZE = 16

描述:

变换矩阵数组大小。

起始版本: 5.0.0(12)

ARENGINE_DISTORTION_COUNT

收起
自动换行
深色代码主题
复制
  1. const static int32_t ARENGINE_DISTORTION_COUNT = 5

描述:

相机畸变参数的个数。

起始版本: 5.0.0(12)

类型定义说明

AREngine_ARAnchor

收起
自动换行
深色代码主题
复制
  1. typedef struct AREngine_ARAnchor AREngine_ARAnchor

描述

表示锚点对象,描述与可跟踪对象关联的空间位置。

起始版本: 5.0.0(12)

AREngine_ARAnchorList

收起
自动换行
深色代码主题
复制
  1. typedef struct AREngine_ARAnchorList AREngine_ARAnchorList

描述

表示锚点对象列表,包含一系列锚点对象

起始版本: 5.0.0(12)

AREngine_ARCamera

收起
自动换行
深色代码主题
复制
  1. typedef struct AREngine_ARCamera AREngine_ARCamera

描述

表示当前帧对应的相机信息。

起始版本: 5.0.0(12)

AREngine_ARCameraConfig

收起
自动换行
深色代码主题
复制
  1. typedef struct AREngine_ARCameraConfig AREngine_ARCameraConfig

描述

提供相机的配置信息,如CPU图像的尺寸,GPU纹理的尺寸。

起始版本: 5.0.0(12)

AREngine_ARCameraIntrinsics

收起
自动换行
深色代码主题
复制
  1. typedef struct AREngine_ARCameraIntrinsics AREngine_ARCameraIntrinsics

描述

表示相机内参,包括fx;fy;cx;cy;畸变参数。

起始版本: 5.0.0(12)

AREngine_ARConfig

收起
自动换行
深色代码主题
复制
  1. typedef struct AREngine_ARConfig AREngine_ARConfig

描述

用于配置AREngine_ARSession的能力项(使用哪些能力、模式等)。

起始版本: 5.0.0(12)

AREngine_ARFrame

收起
自动换行
深色代码主题
复制
  1. typedef struct AREngine_ARFrame AREngine_ARFrame

描述

表示AR Engine处理的一帧数据。

起始版本: 5.0.0(12)

AREngine_ARHitResult

收起
自动换行
深色代码主题
复制
  1. typedef struct AREngine_ARHitResult AREngine_ARHitResult

描述

表示命中检测结果对象,描述单个可跟踪对象的命中检测结果。

起始版本: 5.0.0(12)

AREngine_ARHitResultList

收起
自动换行
深色代码主题
复制
  1. typedef struct AREngine_ARHitResultList AREngine_ARHitResultList

描述

表示命中检测结果列表,包含一系列命中检测的结果对象。

起始版本: 5.0.0(12)

AREngine_ARImage

收起
自动换行
深色代码主题
复制
  1. typedef struct AREngine_ARImage AREngine_ARImage

描述

相机视频流帧对象。

起始版本: 5.0.0(12)

AREngine_ARPlane

收起
自动换行
深色代码主题
复制
  1. typedef struct AREngine_ARPlane AREngine_ARPlane

描述

表示平面对象,描述被检测到的可跟踪平面信息。

起始版本: 5.0.0(12)

AREngine_ARPoint

收起
自动换行
深色代码主题
复制
  1. typedef struct AREngine_ARPoint AREngine_ARPoint

描述

表示点对象,描述被检测到的可跟踪点数据。

起始版本: 5.0.0(12)

AREngine_ARPointCloud

收起
自动换行
深色代码主题
复制
  1. typedef struct AREngine_ARPointCloud AREngine_ARPointCloud

描述

表示可跟踪的3D点云的集合。

起始版本: 5.0.0(12)

AREngine_ARPose

收起
自动换行
深色代码主题
复制
  1. typedef struct AREngine_ARPose AREngine_ARPose

描述

表示位姿(平移+旋转),从一个坐标系到另一个坐标系的不可变的刚体变换。

起始版本: 5.0.0(12)

AREngine_ARSession

收起
自动换行
深色代码主题
复制
  1. typedef struct AREngine_ARSession AREngine_ARSession

描述

用于管理AR Engine的系统状态。

起始版本: 5.0.0(12)

AREngine_ARTarget

收起
自动换行
深色代码主题
复制
  1. typedef struct AREngine_ARTarget AREngine_ARTarget

描述

表示物体对象,描述被检测到的可跟踪语义目标信息,例如语义平面。

起始版本: 5.0.0(12)

AREngine_ARTrackable

收起
自动换行
深色代码主题
复制
  1. typedef struct AREngine_ARTrackable AREngine_ARTrackable

描述

表示可跟踪对象,如点、平面等。

应用获取到此对象后,如需对此对象进行具体操作,如通过HMS_AREngine_ARPlane_GetCenterPose接口获取平面的中心点位置, 通过HMS_AREngine_ARPoint_GetPose接口获取点的位姿信息等, 可以根据可跟踪对象类型(通过HMS_AREngine_ARTrackable_GetType接口获取)转换成相应的对象, 如AREngine_ARPlaneAREngine_ARPoint等,转换方式可参考: AREngine_ARPlane *arPlane = reinterpret_cast<AREngine_ARPlane *>(trackable)。

起始版本: 5.0.0(12)

AREngine_ARTrackableList

收起
自动换行
深色代码主题
复制
  1. typedef struct AREngine_ARTrackableList AREngine_ARTrackableList

描述

表示可跟踪对象列表,包含一系列可跟踪对象。

起始版本: 5.0.0(12)

枚举类型说明

AREngine_ARFocusMode

收起
自动换行
深色代码主题
复制
  1. enum AREngine_ARFocusMode

描述

对焦模式。

起始版本: 5.0.0(12)

展开

枚举值

描述

ARENGINE_FOCUS_MODE_FIXED

固定对焦到无穷远。

ARENGINE_FOCUS_MODE_AUTO

自动对焦模式。

AREngine_ARImageFormat

收起
自动换行
深色代码主题
复制
  1. enum AREngine_ARImageFormat

描述

图像数据格式。

起始版本: 5.0.0(12)

展开

枚举值

描述

ARENGINE_IMAGE_UNKNOWN

无效的图片格式

ARENGINE_IMAGE_YUV_420_888

ARENGINE_IMAGE_YUV_420_888 格式由三个数据缓冲区组成,其中Y平面索引为0,U平面索引为1,V平面索引为2。 Y平面不与U/V平面交错,即Y平面的像素步长(PixelStride)始终为1。 U/V平面具有相同的行步长(RowStride)和像素步长。

AREngine_ARPlaneFindingMode

收起
自动换行
深色代码主题
复制
  1. enum AREngine_ARPlaneFindingMode

描述

平面搜索模式。

起始版本: 5.0.0(12)

展开

枚举值

描述

ARENGINE_PLANE_FINDING_MODE_DISABLED

禁用平面检测。

ARENGINE_PLANE_FINDING_MODE_HORIZONTAL

仅检测水平面。

ARENGINE_PLANE_FINDING_MODE_VERTICAL

仅检测垂直平面。

ARENGINE_PLANE_FINDING_MODE_HORIZONTAL_AND_VERTICAL

启用平面检测,包括水平和垂直平面。

AREngine_ARPlaneType

收起
自动换行
深色代码主题
复制
  1. enum AREngine_ARPlaneType

描述

平面类型。

起始版本: 5.0.0(12)

展开

枚举值

描述

ARENGINE_PLANE_FACING_HORIZONTAL_UPWARD

水平向上(地面,桌面)。

ARENGINE_PLANE_FACING_HORIZONTAL_DOWNWARD

水平向下(天花板)。

ARENGINE_PLANE_FACING_VERTICAL

垂直平面。

ARENGINE_PLANE_FACING_INVALID

不支持的类型。

AREngine_ARPointOrientationMode

收起
自动换行
深色代码主题
复制
  1. enum AREngine_ARPointOrientationMode

描述

朝向模式。

起始版本: 5.0.0(12)

展开

枚举值

描述

ARENGINE_POINT_ORIENTATION_INITIALIZED_TO_IDENTITY

与世界坐标系的朝向一致,但会稍作调整。

ARENGINE_POINT_ORIENTATION_ESTIMATED_SURFACE_NORMAL

朝向由估计的平面法向量决定。

AREngine_ARPoseType

收起
自动换行
深色代码主题
复制
  1. enum AREngine_ARPoseType

描述

位姿类型。

起始版本: 5.0.0(12)

展开

枚举值

描述

ARENGINE_POSE_TYPE_IDENTITY

默认位姿。

ARENGINE_POSE_TYPE_ROTATE_90

位姿旋转90度。

ARENGINE_POSE_TYPE_ROTATE_180

位姿旋转180度。

ARENGINE_POSE_TYPE_ROTATE_270

位姿旋转270度。

AREngine_ARPowerMode

收起
自动换行
深色代码主题
复制
  1. enum AREngine_ARPowerMode

描述

功耗模式。

起始版本: 5.0.0(12)

展开

枚举值

描述

ARENGINE_POWER_MODE_NORMAL

普通模式。

ARENGINE_POWER_MODE_POWER_SAVING

省电模式。

ARENGINE_POWER_MODE_PERFORMANCE_FIRST

性能优先模式。

ARENGINE_POWER_MODE_BOOST

仅输出设备姿态信息模式。功耗低于 ARENGINE_POWER_MODE_NORMAL模式下的功耗。在此模式下,与平面相关的设置(如:HMS_AREngine_ARConfig_SetPlaneFindingMode)不生效。

ARENGINE_POWER_MODE_ULTRA_POWER_SAVING

超级省电模式。

AREngine_ARPreviewMode

收起
自动换行
深色代码主题
复制
  1. enum AREngine_ARPreviewMode

描述

预览模式

起始版本: 5.0.0(12)

展开

枚举值

描述

ARENGINE_PREVIEW_MODE_ENABLED

开启相机预览。

ARENGINE_PREVIEW_MODE_DISABLED

关闭相机预览,如:VR模式,不需要相机预览流。 在此模式下,通过HMS_AREngine_ARSession_SetCameraGLTexture接口设置的OpenGL纹理 将不会被更新。

AREngine_ARSemanticMode

收起
自动换行
深色代码主题
复制
  1. enum AREngine_ARSemanticMode

描述

语义模式。

起始版本: 5.0.0(12)

展开

枚举值

描述

ARENGINE_SEMANTIC_MODE_NONE

不使用语义。

ARENGINE_SEMANTIC_MODE_PLANE

使用平面语义。

ARENGINE_SEMANTIC_MODE_TARGET

使用物体语义。

AREngine_ARSemanticPlaneLabel

收起
自动换行
深色代码主题
复制
  1. enum AREngine_ARSemanticPlaneLabel

描述

当前平面识别到的语义类型。

起始版本: 5.0.0(12)

展开

枚举值

描述

ARENGINE_PLANE_UNKNOWN

未知类型。

ARENGINE_PLANE_WALL

墙面。

ARENGINE_PLANE_FLOOR

地面。

ARENGINE_PLANE_SEAT

座椅。

ARENGINE_PLANE_TABLE

桌子。

ARENGINE_PLANE_CEILING

天花板。

ARENGINE_PLANE_DOOR

门。

ARENGINE_PLANE_WINDOW

窗户。

ARENGINE_PLANE_BED

床。

AREngine_ARStatus

收起
自动换行
深色代码主题
复制
  1. enum AREngine_ARStatus

描述

接口返回错误码,用于表示一个接口的调用状态。

起始版本: 5.0.0(12)

展开

枚举值

描述

ARENGINE_SUCCESS

成功状态。

ARENGINE_ERROR_PERMISSION_NOT_GRANTED

权限未授予状态。如相机权限未授予。

ARENGINE_ERROR_INVALID_ARGUMENT

无效参数状态。如方法入参为空或非法。

ARENGINE_ERROR_DEVICE_NOT_SUPPORTED

不可用:设备不兼容状态。

ARENGINE_ERROR_FATAL

失败状态。

ARENGINE_ERROR_SESSION_PAUSED

会话已暂停状态。

ARENGINE_ERROR_SESSION_NOT_PAUSED

会话未暂停状态。

ARENGINE_ERROR_NOT_TRACKING

未跟踪状态。

ARENGINE_ERROR_TEXTURE_NOT_SET

未设置纹理状态。

ARENGINE_ERROR_MISSING_GL_CONTEXT

缺少GL上下文状态。

ARENGINE_ERROR_UNSUPPORTED_CONFIGURATION

不支持的配置状态。

ARENGINE_ERROR_RESOURCE_EXHAUSTED

资源耗尽状态。

ARENGINE_ERROR_NOT_AVAILABLE

服务不可用状态。

ARENGINE_ERROR_CAMERA_NOT_AVAILABLE

相机不可用状态。

AREngine_ARTargetShapeLabel

收起
自动换行
深色代码主题
复制
  1. enum AREngine_ARTargetShapeLabel

描述

识别到的物体形状。

起始版本: 5.0.0(12)

展开

枚举值

描述

ARENGINE_TARGET_SHAPE_UNKNOWN

未知形状。

ARENGINE_TARGET_SHAPE_CUBE

立方体形状。可以识别规则物体的包围框。

ARENGINE_TARGET_SHAPE_CIRCLE

圆形形状。

ARENGINE_TARGET_SHAPE_RECTANGLE

矩形形状。

AREngine_ARTrackableType

收起
自动换行
深色代码主题
复制
  1. enum AREngine_ARTrackableType

描述

可跟踪对象类型,如平面、点等。

起始版本: 5.0.0(12)

展开

枚举值

描述

ARENGINE_TRACKABLE_BASE

基础可跟踪对象类型,可作为默认的AREngine_ARTrackableType类型。

ARENGINE_TRACKABLE_PLANE

平面类可跟踪对象类型。

ARENGINE_TRACKABLE_POINT

点类可跟踪对象类型。

ARENGINE_TRACKABLE_TARGET

物体类可跟踪对象类型。

ARENGINE_TRACKABLE_INVALID

无效的可跟踪对象类型。

AREngine_ARTrackingState

收起
自动换行
深色代码主题
复制
  1. enum AREngine_ARTrackingState

描述

可跟踪对象的跟踪状态。

起始版本: 5.0.0(12)

展开

枚举值

描述

ARENGINE_TRACKING_STATE_TRACKING

跟踪状态:跟踪。

ARENGINE_TRACKING_STATE_PAUSED

跟踪状态:暂停。

ARENGINE_TRACKING_STATE_STOPPED

跟踪状态:停止。

AREngine_ARTrackingStateReason

收起
自动换行
深色代码主题
复制
  1. enum AREngine_ARTrackingStateReason

描述

可能的跟踪失败原因。

起始版本: 5.0.0(12)

展开

枚举值

描述

ARENGINE_TRACKING_STATE_REASON_NONE

跟踪失败原因:无。

ARENGINE_TRACKING_STATE_REASON_EXCESSIVE_MOTION

跟踪失败原因:快速运动。

ARENGINE_TRACKING_STATE_REASON_INSUFFICIENT_FEATURES

跟踪失败原因:视觉特征过少(如弱纹理)。

AREngine_ARType

收起
自动换行
深色代码主题
复制
  1. enum AREngine_ARType

描述

AR能力类型。

起始版本: 5.0.0(12)

展开

枚举值

描述

ARENGINE_TYPE_WORLD

环境跟踪能力。

AREngine_ARUpdateMode

收起
自动换行
深色代码主题
复制
  1. enum AREngine_ARUpdateMode

描述

调用HMS_AREngine_ARSession_Update方法后数据更新模式。

起始版本: 5.0.0(12)

展开

枚举值

描述

ARENGINE_UPDATE_MODE_BLOCKING

HMS_AREngine_ARSession_Update方法在新的帧可用时才返回。

ARENGINE_UPDATE_MODE_LATEST

HMS_AREngine_ARSession_Update方法立刻返回(如果没有新的帧,返回上一帧)。

函数说明

HMS_AREngine_ARAnchor_Detach()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARAnchor_Detach(AREngine_ARSession *session, AREngine_ARAnchor *anchor)

描述

通知AR Engine停止跟踪并解绑一个锚点。但是该函数并不会释放该锚点,这需要通过HMS_AREngine_ARAnchor_Release单独来实现。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

anchor

待解绑的锚点对象,参见AREngine_ARAnchor

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARAnchor_GetPose()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARAnchor_GetPose(const AREngine_ARSession *session, const AREngine_ARAnchor *anchor, AREngine_ARPose *outPose)

描述

获取指定锚点在世界坐标系中的位姿信息。

当每次调用HMS_AREngine_ARSession_Update的时候,HMS_AREngine_ARAnchor_GetPose返回的位姿信息可能会发生变化。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

anchor

待检索位姿的锚点,参见AREngine_ARAnchor

outPose

锚点对应的位姿对象,参见AREngine_ARPose

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARAnchor_GetTrackingState()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARAnchor_GetTrackingState(const AREngine_ARSession *session, const AREngine_ARAnchor *anchor, AREngine_ARTrackingState *outTrackingState)

描述

获取指定锚点位姿的追踪状态。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

anchor

待获取追踪状态的锚点,参见AREngine_ARAnchor

outTrackingState

锚点当前位姿的追踪状态,参见AREngine_ARTrackingState

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARAnchor_Release()

收起
自动换行
深色代码主题
复制
  1. void HMS_AREngine_ARAnchor_Release(AREngine_ARAnchor *anchor)

描述

释放指定锚点对象的内存。释放前需要先通知AR Engine停止跟踪并解绑锚点。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

anchor

待释放的锚点对象,参见AREngine_ARAnchor

HMS_AREngine_ARAnchorList_AcquireItem()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARAnchorList_AcquireItem(const AREngine_ARSession *session, const AREngine_ARAnchorList *anchorList, int32_t index, AREngine_ARAnchor **outAnchor)

描述

从锚点对象列表中获取指定位置的锚点信息。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

anchorList

被检索的锚点对象列表,参见AREngine_ARAnchorList

index

需要获取的锚点在锚点对象列表中的位置。

outAnchor

待返回的锚点信息,参见AREngine_ARAnchor

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARAnchorList_Create()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARAnchorList_Create(const AREngine_ARSession *session, AREngine_ARAnchorList **outAnchorList)

描述

创建一个锚点对象列表。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

outAnchorList

待创建的锚点对象列表引用,参见AREngine_ARAnchorList

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARAnchorList_Destroy()

收起
自动换行
深色代码主题
复制
  1. void HMS_AREngine_ARAnchorList_Destroy(AREngine_ARAnchorList *anchorList)

描述

释放一个锚点对象列表。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

anchorList

待释放的锚点对象列表,参见AREngine_ARAnchorList

HMS_AREngine_ARAnchorList_GetSize()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARAnchorList_GetSize(const AREngine_ARSession *session, const AREngine_ARAnchorList *anchorList, int32_t *outSize)

描述

获取锚点对象列表中包含锚点的数量。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

anchorList

锚点对象列表,参见AREngine_ARAnchorList

outSize

锚点对象列表中锚点的数量。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARCamera_GetDisplayOrientedPose()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARCamera_GetDisplayOrientedPose(const AREngine_ARSession *session, const AREngine_ARCamera *camera, AREngine_ARPose *outPose)

描述

设置outPose为虚拟相机(面向显示)在世界空间中的位姿,用以将AR内容渲染到最新帧中。该位姿是OpenGL相机的位姿,其中x轴正方向为右,y轴正方向为上,z轴负方向为相机的观察方向。相机位置即物理相机位置,而相机x轴与y轴指向受屏幕方向(考虑显示旋转)的影响。

该位姿信息应该在HMS_AREngine_ARCamera_GetTrackingState返回ARENGINE_TRACKING_STATE_TRACKING状态的时候才能使用。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

camera

Session对应的相机,参见AREngine_ARCamera

outPose

虚拟相机在世界空间中的位姿,参见AREngine_ARPose

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARCamera_GetImageIntrinsics()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARCamera_GetImageIntrinsics(const AREngine_ARSession *session, const AREngine_ARCamera *camera, AREngine_ARCameraIntrinsics *outIntrinsics)

描述

获取物理相机离线内参的对象,可通过该对象获取相机的焦距、图像尺寸、主轴点和畸变参数。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

camera

Session对应的相机,参见AREngine_ARCamera

outIntrinsics

相机物理内参对象,参见AREngine_ARCameraIntrinsics

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARCamera_GetPose()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARCamera_GetPose(const AREngine_ARSession *session, const AREngine_ARCamera *camera, AREngine_ARPose *outPose)

描述

设置outPose为最新帧中物理相机在世界空间中的位姿。该位姿是OpenGL相机的位姿,其中x轴正方向为右,y轴正方向为上,z轴负方向为相机的观察方向。相机位置即物理相机位置,而相机x轴与y轴指向不受屏幕方向(考虑显示旋转)的影响。该位姿信息应该在HMS_AREngine_ARCamera_GetTrackingState返回ARENGINE_TRACKING_STATE_TRACKING状态的时候才能使用。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

camera

Session对应的相机,参见AREngine_ARCamera

outPose

物理相机在世界空间中的位姿,参见AREngine_ARPose

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARCamera_GetProjectionMatrix()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARCamera_GetProjectionMatrix(const AREngine_ARSession *session, const AREngine_ARCamera *camera, AREngine_ClipPlaneDistance clipPlaneDistance, float *outDestColMajor4x4, int32_t destColMajor4x4Num)

描述

获取用于在相机图像上层渲染虚拟内容的投影矩阵,可用于相机坐标系到裁剪坐标系转换。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

camera

Session对应的相机,参见AREngine_ARCamera

clipPlaneDistance

OpenGL裁剪平面距离,参见AREngine_ClipPlaneDistance

outDestColMajor4x4

由16个浮点数组成的数组,其中的数据表示OpenGL中以列为主的均匀变换矩阵。

destColMajor4x4Num

数组大小:ARENGINE_VIEW_MATRIX_SIZE

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARCamera_GetTrackingState()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARCamera_GetTrackingState(const AREngine_ARSession *session, const AREngine_ARCamera *camera, AREngine_ARTrackingState *outTrackingState)

描述

获取相机的当前追踪状态。只有当该状态为ARENGINE_TRACKING_STATE_TRACKING时,相机的位姿才可用。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

camera

Session对应的相机,参见AREngine_ARCamera

outTrackingState

当前相机的追踪状态,参见AREngine_ARTrackingState

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARCamera_GetTrackingStateReason()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARCamera_GetTrackingStateReason(const AREngine_ARSession *session, const AREngine_ARCamera *camera, AREngine_ARTrackingStateReason *outTrackingStateReason)

描述

获取相机的当前追踪状态为ARENGINE_TRACKING_STATE_PAUSED时的原因。 当相机的当前追踪状态为ARENGINE_TRACKING_STATE_TRACKING时,该函数返回ARENGINE_TRACKING_STATE_REASON_NONE

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

camera

Session对应的相机,参见AREngine_ARCamera

outTrackingStateReason

跟踪失败的原因,参见AREngine_ARTrackingStateReason

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARCamera_GetViewMatrix()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARCamera_GetViewMatrix(const AREngine_ARSession *session, const AREngine_ARCamera *camera, float *outColMajor4x4, int32_t colMajor4x4Num)

描述

获取最新帧中相机的视图矩阵。

此矩阵执行了HMS_AREngine_ARCamera_GetDisplayOrientedPose提供的Pose的逆变换,即从世界坐标系转为相机坐标系。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

camera

Session对应的相机,参见AREngine_ARCamera

outColMajor4x4

由16个浮点数组成的数组,其中的数据表示OpenGL中以列为主的均匀变换矩阵。

colMajor4x4Num

数组大小。数组大小定义大于等于ARENGINE_VIEW_MATRIX_SIZE

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARCamera_Release()

收起
自动换行
深色代码主题
复制
  1. void HMS_AREngine_ARCamera_Release(AREngine_ARCamera *camera)

描述

释放对相机的引用。当调用了HMS_AREngine_ARFrame_AcquireCamera时,需要相应的调用HMS_AREngine_ARCamera_Release。当没有HMS_AREngine_ARFrame_AcquireCamera时,调用该方法无效。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

camera

待释放的相机引用,参见AREngine_ARCamera

HMS_AREngine_ARCameraConfig_Create()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARCameraConfig_Create(const AREngine_ARSession *session, AREngine_ARCameraConfig **outCameraConfig)

描述

创建一个相机配置对象。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

outCameraConfig

指向新分配的相机配置对象地址的指针,参见AREngine_ARCameraConfig

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARCameraConfig_Destroy()

收起
自动换行
深色代码主题
复制
  1. void HMS_AREngine_ARCameraConfig_Destroy(AREngine_ARCameraConfig *cameraConfig)

描述

释放相机配置对象。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

cameraConfig

指向相机配置对象的指针,参见AREngine_ARCameraConfig

HMS_AREngine_ARCameraConfig_GetImageDimensions()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARCameraConfig_GetImageDimensions(const AREngine_ARSession *session, const AREngine_ARCameraConfig *cameraConfig, int32_t *outWidth, int32_t *outHeight)

描述

从相机配置对象中获取相机送到CPU处理的图像尺寸。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

cameraConfig

指向相机配置对象的指针,参见AREngine_ARCameraConfig

outWidth

图像的宽度(px)。

outHeight

图像的高度(px)。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARCameraConfig_GetTextureDimensions()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARCameraConfig_GetTextureDimensions(const AREngine_ARSession *session, const AREngine_ARCameraConfig *cameraConfig, int32_t *outWidth, int32_t *outHeight)

描述

从相机配置中获取相机送到GPU处理的图像纹理尺寸。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

cameraConfig

指向相机配置对象的指针,参见AREngine_ARCameraConfig

outWidth

图像纹理的宽度(px)。

outHeight

图像纹理的高度(px)。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARCameraIntrinsics_Create()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARCameraIntrinsics_Create(const AREngine_ARSession *session, AREngine_ARCameraIntrinsics **outIntrinsics)

描述

创建一个相机内参对象。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

outIntrinsics

指向新分配的相机内参对象地址的指针,参见AREngine_ARCameraIntrinsics

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARCameraIntrinsics_Destroy()

收起
自动换行
深色代码主题
复制
  1. void HMS_AREngine_ARCameraIntrinsics_Destroy(AREngine_ARCameraIntrinsics *intrinsics)

描述

释放指定的相机内参对象。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

intrinsics

待释放的相机内参对象,参见AREngine_ARCameraIntrinsics

HMS_AREngine_ARCameraIntrinsics_GetDistortion()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARCameraIntrinsics_GetDistortion(const AREngine_ARSession *session, const AREngine_ARCameraIntrinsics *intrinsics, float *outDistortion, int32_t distortionNum)

描述

获取相机的畸变系数。包含5个分量,其中outDistortion[0]~outDistortion [2]表示k1,k2,k3(径向畸变系数),outDistortion [3]~outDistortion [4]是切向畸变系数。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

intrinsics

指向相机内参对象的指针,参见AREngine_ARCameraIntrinsics

outDistortion

相机畸变参数数组。

distortionNum

相机畸变参数的个数,参见ARENGINE_DISTORTION_COUNT

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARCameraIntrinsics_GetFocalLength()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARCameraIntrinsics_GetFocalLength(const AREngine_ARSession *session, const AREngine_ARCameraIntrinsics *intrinsics, float *outFocalX, float *outFocalY)

描述

获取指定相机的焦距,焦距以像素为单位。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

intrinsics

指向相机内参对象的指针,参见AREngine_ARCameraIntrinsics

outFocalX

相机内参矩阵x(u)方向的像素焦距。

outFocalY

相机内参矩阵y(v)方向的像素焦距。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARCameraIntrinsics_GetImageDimensions()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARCameraIntrinsics_GetImageDimensions(const AREngine_ARSession *session, const AREngine_ARCameraIntrinsics *intrinsics, int32_t *outWidth, int32_t *outHeight)

描述

获取相机图像的尺寸,包括宽度和高度(以像素为单位)。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

intrinsics

指向相机内参对象的指针,参见AREngine_ARCameraIntrinsics

outWidth

相机图像的宽度(px)。

outHeight

相机图像的高度(px)。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARCameraIntrinsics_GetPrincipalPoint()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARCameraIntrinsics_GetPrincipalPoint(const AREngine_ARSession *session, const AREngine_ARCameraIntrinsics *intrinsics, float *outPrincipalX, float *outPrincipalY)

描述

获取指定相机的主轴点,主点位置以像素为单位表示。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

intrinsics

指向相机内参对象的指针,参见AREngine_ARCameraIntrinsics

outPrincipalX

相机x方向的主轴点坐标。

outPrincipalY

相机y方向的主轴点坐标。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARConfig_Create()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARConfig_Create(const AREngine_ARSession *session, AREngine_ARConfig **outConfig)

描述

创建一个拥有合理默认配置的配置对象。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

outConfig

指向新分配的配置对象地址的指针,参见AREngine_ARConfig

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARConfig_Destroy()

收起
自动换行
深色代码主题
复制
  1. void HMS_AREngine_ARConfig_Destroy(AREngine_ARConfig *config)

描述

释放指定的配置对象的内存空间。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

config

待释放的配置对象,参见AREngine_ARConfig

HMS_AREngine_ARConfig_GetARType()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARConfig_GetARType(const AREngine_ARSession *session, const AREngine_ARConfig *config, AREngine_ARType *type)

描述

获取当前使用的AR能力类型。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

config

指向待获取配置信息的配置对象,参见AREngine_ARConfig

type

AR Engine当前使用的能力类型,参见AREngine_ARType

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARConfig_GetCameraPreviewMode()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARConfig_GetCameraPreviewMode(const AREngine_ARSession *session, AREngine_ARConfig *config, AREngine_ARPreviewMode *outMode)

描述

获取当前的预览模式。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

config

指向待获取配置信息的配置对象,参见AREngine_ARConfig

outMode

相机预览模式,参见AREngine_ARPreviewMode

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARConfig_GetFocusMode()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARConfig_GetFocusMode(const AREngine_ARSession *session, const AREngine_ARConfig *config, AREngine_ARFocusMode *focusMode)

描述

获取当前配置的相机对焦模式。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

config

指向待获取配置信息的配置对象,参见AREngine_ARConfig

focusMode

对焦模式,参见AREngine_ARFocusMode

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARConfig_GetMaxMapSize()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARConfig_GetMaxMapSize(const AREngine_ARSession *session, const AREngine_ARConfig *config, uint64_t *maxMapSize)

描述

获取地图数据使用的最大内存大小。

在执行HMS_AREngine_ARSession_Configure后,可通过此接口获取当前设置的地图数据最大使用内存大小。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

config

指向待获取配置信息的配置对象,参见AREngine_ARConfig

maxMapSize

目前生效的地图数据最大使用内存大小,单位MB。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARConfig_GetPlaneFindingMode()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARConfig_GetPlaneFindingMode(const AREngine_ARSession *session, const AREngine_ARConfig *config, AREngine_ARPlaneFindingMode *planeFindingMode)

描述

获取当前配置的平面识别模式。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

config

指向待获取配置信息的配置对象,参见AREngine_ARConfig

planeFindingMode

平面识别模式,参见AREngine_ARPlaneFindingMode

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARConfig_GetPowerMode()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARConfig_GetPowerMode(const AREngine_ARSession *session, const AREngine_ARConfig *config, AREngine_ARPowerMode *powerMode)

描述

获取当前配置的功耗模式。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

config

指向待获取配置信息的配置对象,参见AREngine_ARConfig

powerMode

功耗模式,参见AREngine_ARPowerMode

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARConfig_GetSemanticMode()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARConfig_GetSemanticMode(const AREngine_ARSession *session, const AREngine_ARConfig *config, AREngine_ARSemanticMode *mode)

描述

获取已设置成功的语义识别模式,该方法在HMS_AREngine_ARConfig_SetSemanticMode后调用有效。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

config

指向待获取配置信息的配置对象,参见AREngine_ARConfig

mode

语义模式,参见AREngine_ARSemanticMode

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARConfig_GetUpdateMode()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARConfig_GetUpdateMode(const AREngine_ARSession *session, const AREngine_ARConfig *config, AREngine_ARUpdateMode *updateMode)

描述

获取当前配置的预览更新模式。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

config

指向待获取配置信息的配置对象,参见AREngine_ARConfig

updateMode

预览更新模式,参见AREngine_ARUpdateMode

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARConfig_SetARType()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARConfig_SetARType(const AREngine_ARSession *session, AREngine_ARConfig *config, AREngine_ARType type)

描述

设置当前要使用的AR能力类型。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

config

指向待获取配置信息的配置对象,参见AREngine_ARConfig

type

AREngine支持的能力类型,参见AREngine_ARType

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARConfig_SetCameraPreviewMode()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARConfig_SetCameraPreviewMode(const AREngine_ARSession *session, AREngine_ARConfig *config, AREngine_ARPreviewMode mode)

描述

设置预览模式。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

config

指向待获取配置信息的配置对象,参见AREngine_ARConfig

mode

相机预览模式,参见AREngine_ARPreviewMode

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARConfig_SetFocusMode()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARConfig_SetFocusMode(const AREngine_ARSession *session, AREngine_ARConfig *config, AREngine_ARFocusMode focusMode)

描述

设置当前所需的相机对焦模式。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

config

指向待获取配置信息的配置对象,参见AREngine_ARConfig

focusMode

对焦模式,参见AREngine_ARFocusMode

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARConfig_SetMaxMapSize()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARConfig_SetMaxMapSize(const AREngine_ARSession *session, AREngine_ARConfig *config, uint64_t maxMapSize)

描述

设置地图数据最大使用内存大小。

若配置的地图数据最大使用内存范围不合法,则配置最接近用户配置的有效值,默认最大使用内存大小800MB。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

config

指向待获取配置信息的配置对象,参见AREngine_ARConfig

maxMapSize

地图数据最大使用内存大小,单位MB,范围:100MB~16G。 若设备内存占用超过设备硬件限制,可能出现不可预知错误,需要应用侧自行评估设置的内存大小。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARConfig_SetPlaneFindingMode()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARConfig_SetPlaneFindingMode(const AREngine_ARSession *session, AREngine_ARConfig *config, AREngine_ARPlaneFindingMode planeFindingMode)

描述

设置当前所需的平面识别模式。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

config

指向待获取配置信息的配置对象,参见AREngine_ARConfig

planeFindingMode

平面识别模式,参见AREngine_ARPlaneFindingMode

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARConfig_SetPowerMode()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARConfig_SetPowerMode(const AREngine_ARSession *session, AREngine_ARConfig *config, AREngine_ARPowerMode powerMode)

描述

设置功耗模式。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

config

指向待获取配置信息的配置对象,参见AREngine_ARConfig

powerMode

功耗模式,参见AREngine_ARPowerMode

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARConfig_SetPreviewSize()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARConfig_SetPreviewSize(const AREngine_ARSession *session, AREngine_ARConfig *config, uint32_t width, uint32_t height)

描述

设置预览画面尺寸。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

config

指向待获取配置信息的配置对象,参见AREngine_ARConfig

width

预览画面的宽(px)。可调用OH_CameraManager_GetSupportedCameraOutputCapability查看。

height

预览画面的高(px)。可调用OH_CameraManager_GetSupportedCameraOutputCapability查看。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARConfig_SetSemanticMode()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARConfig_SetSemanticMode(const AREngine_ARSession *session, AREngine_ARConfig *config, AREngine_ARSemanticMode mode)

描述

设置当前所需的语义识别模式。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

config

指向待获取配置信息的配置对象,参见AREngine_ARConfig

mode

语义模式,参见AREngine_ARSemanticMode

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARConfig_SetUpdateMode()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARConfig_SetUpdateMode(const AREngine_ARSession *session, AREngine_ARConfig *config, AREngine_ARUpdateMode updateMode)

描述

设置预览更新模式。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

config

指向待获取配置信息的配置对象,参见AREngine_ARConfig

updateMode

预览更新模式,参见AREngine_ARUpdateMode

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARFrame_AcquireCamera()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARFrame_AcquireCamera(const AREngine_ARSession *session, const AREngine_ARFrame *frame, AREngine_ARCamera **outCamera)

描述

获取当前帧的相机参数对象。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

frame

当前帧对象,参见AREngine_ARFrame

outCamera

当前帧对应的相机参数对象,参见AREngine_ARCamera

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARFrame_AcquireCameraImage()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARFrame_AcquireCameraImage(const AREngine_ARSession *session, const AREngine_ARFrame *frame, AREngine_ARImage **outImage)

描述

获取相机的当前帧的图像。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

frame

当前帧对象,参见AREngine_ARFrame

outImage

返回当前帧的图像对象,参见AREngine_ARImage

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARFrame_AcquirePointCloud()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARFrame_AcquirePointCloud(const AREngine_ARSession *session, const AREngine_ARFrame *frame, AREngine_ARPointCloud **outPointCloud)

描述

返回当前帧的点云数据。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

frame

当前帧对象,参见AREngine_ARFrame

outPointCloud

当前帧的点云对象,参见AREngine_ARPointCloud

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARFrame_Create()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARFrame_Create(const AREngine_ARSession *session, AREngine_ARFrame **outFrame)

描述

创建一个新的AREngine_ARFrame对象,将指针存储到中*outFrame。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

outFrame

当前帧对象,参见AREngine_ARFrame

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARFrame_Destroy()

收起
自动换行
深色代码主题
复制
  1. void HMS_AREngine_ARFrame_Destroy(AREngine_ARFrame *frame)

描述

删除当前AREngine_ARFrame对象。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

frame

当前帧对象,参见AREngine_ARFrame

HMS_AREngine_ARFrame_GetDisplayGeometryChanged()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARFrame_GetDisplayGeometryChanged(const AREngine_ARSession *session, const AREngine_ARFrame *frame, int32_t *outGeometryChangeState)

描述

获取显示(长宽和旋转)是否发生变化。如果发生变化,需要重新调用HMS_AREngine_ARFrame_TransformDisplayUvCoords获取正确的纹理贴图坐标。 返回值outGeometryChangeState为0,代表未发生变化,否则为发生了变化。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

frame

当前帧对象,参见AREngine_ARFrame

outGeometryChangeState

显示(长宽和旋转)是否发生变化。0代表未发生变化,否则为发生了变化。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARFrame_GetTimestamp()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARFrame_GetTimestamp(const AREngine_ARSession *session, const AREngine_ARFrame *frame, int64_t *outTimestampNs)

描述

获取当前帧对应的时间戳信息,单位为纳秒。

HMS_AREngine_ARSession_SetDisplayGeometry()

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

frame

当前帧对象,参见AREngine_ARFrame

outTimestampNs

时间戳信息,单位为纳秒。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARFrame_GetUpdatedTrackables()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARFrame_GetUpdatedTrackables(const AREngine_ARSession *session, const AREngine_ARFrame *frame, AREngine_ARTrackableType filterType, AREngine_ARTrackableList * outTrackableList)

描述

获取HMS_AREngine_ARSession_Update更新后发生变化的指定类型的可跟踪对象。

可跟踪对象类型参见AREngine_ARTrackableType

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

frame

当前帧对象,参见AREngine_ARFrame

filterType

待返回的可跟踪对象类型,参见AREngine_ARTrackableType

outTrackableList

可跟踪对象列表,参见AREngine_ARTrackableList

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARFrame_HitTest()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARFrame_HitTest(const AREngine_ARSession *session, const AREngine_ARFrame *frame, float pixelX, float pixelY, AREngine_ARHitResultList *hitResultList)

描述

从摄像头发射一条射线,该射线的方向由预览区上的点(pixelX,pixelY)确定(pixelX,pixelY可以通过XComponent的DispatchTouchEvent()事件获取)。

射线与系统跟踪的平面或者是点云中的点碰撞(点云正常识别),从而产生交点,形成碰撞结果。按照交点与设备的距离从近到远进行排序,存放在列表中。(pixelX,pixelY)是像素在预览区上坐标。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

frame

当前帧对象,参见AREngine_ARFrame

pixelX

x轴坐标。

pixelY

y轴坐标。

hitResultList

碰撞结果列表,参见AREngine_ARHitResultList

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARFrame_TransformDisplayUvCoords()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARFrame_TransformDisplayUvCoords(const AREngine_ARSession *session, const AREngine_ARFrame *frame, int32_t elementSize, const float *uvsIn, float *uvsOut)

描述

调整纹理映射坐标,以便可以正确地显示相机捕捉到的背景图片。

HMS_AREngine_ARFrame_GetDisplayGeometryChanged返回的outGeometryChangeState不为0,或者使用HMS_AREngine_ARSession_SetDisplayGeometry设置了新的显示大小则需要调用该方法更新纹理映射坐标,否则不需要更新。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

frame

当前帧对象,参见AREngine_ARFrame

elementSize

待转换的纹理坐标数量,必须是2的倍数(uv坐标)。

uvsIn

原始输入uv坐标值。数组大小为 elementSize。

uvsOut

调整后的uv坐标值。数组大小为 elementSize。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARHitResult_AcquireNewAnchor()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARHitResult_AcquireNewAnchor(AREngine_ARSession *session, AREngine_ARHitResult *hitResult, AREngine_ARAnchor **outAnchor)

描述

在碰撞命中位置创建一个新的锚点。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

hitResult

命中检测结果对象,参见AREngine_ARHitResult

outAnchor

新创建的锚点对象,参见AREngine_ARAnchor

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARHitResult_AcquireTrackable()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARHitResult_AcquireTrackable(const AREngine_ARSession *session, const AREngine_ARHitResult *hitResult, AREngine_ARTrackable **outTrackable)

描述

获取被命中的可追踪对象。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

hitResult

命中检测结果对象,参见AREngine_ARHitResult

outTrackable

被命中的可追踪对象,参见AREngine_ARTrackable

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARHitResult_Create()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARHitResult_Create(const AREngine_ARSession *session, AREngine_ARHitResult **outHitResult)

描述

创建一个空的命中检测结果对象。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

outHitResult

待创建的命中检测结果对象,参见AREngine_ARHitResult

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARHitResult_Destroy()

收起
自动换行
深色代码主题
复制
  1. void HMS_AREngine_ARHitResult_Destroy(AREngine_ARHitResult *hitResult)

描述

释放命中检测结果对象使用的内存。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

hitResult

待释放的命中检测结果对象,参见AREngine_ARHitResult

HMS_AREngine_ARHitResult_GetDistance()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARHitResult_GetDistance(const AREngine_ARSession *session, const AREngine_ARHitResult *hitResult, float *outDistance)

描述

返回从相机到命中位置的距离,以米为单位。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

hitResult

命中检测结果对象,参见AREngine_ARHitResult

outDistance

相机到命中对象的距离(米)。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARHitResult_GetHitPose()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARHitResult_GetHitPose(const AREngine_ARSession *session, const AREngine_ARHitResult *hitResult, AREngine_ARPose *outPose)

描述

获取交点的位姿,其平移向量是交点在世界坐标系的坐标,其旋转分量根据碰撞点的不同类型(平面交点、点云交点)而有不同的定义。

  1. 当射线与平面碰撞时,局部坐标系为:X+垂直于射线,平行于跟踪平面;Y+是跟踪平面的法向量;Z+平行于平面,大致指向摄像头。
  2. 当射线与点云中的点碰撞时,系统会尝试用点击区域的点云估计一个平面。
    1. 如果HMS_AREngine_ARPoint_GetOrientationMode接口返回ARENGINE_POINT_ORIENTATION_ESTIMATED_SURFACE_NORMAL,则X+垂直于射线,平行于跟踪平面,Y+是跟踪平面的法向量,Z+平行于平面,大致指向摄像头。
    2. 如果返回 ARENGINE_POINT_ORIENTATION_INITIALIZED_TO_IDENTITY,则坐标的方向不会随平面的角度发生变化,X+垂直于射线且指向右侧(从设备的角度观察),Y+向上,Z+大致指向摄像头,具体参见朝向模式定义。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

hitResult

命中检测结果对象,参见AREngine_ARHitResult

outPose

交点的位姿,参见AREngine_ARPose

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARHitResultList_Create()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARHitResultList_Create(const AREngine_ARSession *session, AREngine_ARHitResultList **outHitResultList)

描述

创建一个命中检测结果对象列表。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

outHitResultList

待创建的命中检测结果对象列表,参见AREngine_ARHitResultList

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARHitResultList_Destroy()

收起
自动换行
深色代码主题
复制
  1. void HMS_AREngine_ARHitResultList_Destroy(AREngine_ARHitResultList *hitResultList)

描述

释放命中检测结果对象列表,以及其中的所有命中检测结果对象。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

hitResultList

待释放的命中检测结果对象列表,参见AREngine_ARHitResultList

HMS_AREngine_ARHitResultList_GetItem()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARHitResultList_GetItem(const AREngine_ARSession *session, const AREngine_ARHitResultList *hitResultList, int32_t index, AREngine_ARHitResult *outHitResult)

描述

在命中检测结果列表中获取指定索引的命中检测结果对象。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

hitResultList

命中检测结果对象列表,参见AREngine_ARHitResultList

index

待获取的命中检测结果对象索引。

outHitResult

待获取的命中检测结果对象,参见AREngine_ARHitResult

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARHitResultList_GetSize()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARHitResultList_GetSize(const AREngine_ARSession *session, const AREngine_ARHitResultList *hitResultList, int32_t *outSize)

描述

获取命中检测结果对象列表中包含的对象数。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

hitResultList

命中检测结果对象列表,参见AREngine_ARHitResultList

outSize

列表大小。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARImage_GetFormat()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARImage_GetFormat(const AREngine_ARSession *session, const AREngine_ARImage *image, AREngine_ARImageFormat *outFormat)

描述

获取当前帧的图像格式。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

image

输入图像数据,参见AREngine_ARImage

outFormat

返回当前帧的图像格式。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARImage_GetHeight()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARImage_GetHeight(const AREngine_ARSession *session, const AREngine_ARImage *image, int32_t *outHeight)

描述

获取当前帧的图像数据的高度。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

image

当前帧图像对象,参见AREngine_ARImage

outHeight

返回当前帧的图像的高度(px)。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARImage_GetPlaneCount()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARImage_GetPlaneCount(const AREngine_ARSession *session, const AREngine_ARImage *image, int32_t *outCount)

描述

获取当前帧图像的平面数量。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

image

当前帧图像对象,参见AREngine_ARImage

outCount

返回当前帧图像的平面数量。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARImage_GetPlaneData()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARImage_GetPlaneData(const AREngine_ARSession *session, const AREngine_ARImage *image, int32_t planeIndex, const uint8_t **outData, int32_t *outLength)

描述

获取当前帧图像的平面数据。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

image

当前帧图像对象,参见AREngine_ARImage

planeIndex

平面的索引。介于0和n-1,其中n是该图像的平面数。

outData

返回当前图像数据指针。

outLength

返回当前图像的长度(以byte字节为单位)。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARImage_GetPlanePixelStride()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARImage_GetPlanePixelStride(const AREngine_ARSession *session, const AREngine_ARImage *image, int32_t planeIndex, int32_t *outPixelStride)

描述

获取图像中两个连续像素的起点之间的字节距离。像素步幅始终大于0。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

image

当前帧图像对象,参见AREngine_ARImage

planeIndex

平面的索引。介于0和n-1,其中n是该图像的平面数。

outPixelStride

返回图像的步幅(以byte字节为单位)。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARImage_GetPlaneRowStride()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARImage_GetPlaneRowStride(const AREngine_ARSession *session, const AREngine_ARImage *image, int32_t planeIndex, int32_t *outRowStride)

描述

获取图像中两个连续像素行的起始位置之间的字节数。行间距始终大于0。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

image

当前帧图像对象,参见AREngine_ARImage

planeIndex

平面的索引。介于0和n-1,其中n是该图像的平面数。

outRowStride

返回图像的行跨距(以byte字节为单位)。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARImage_GetTimestamp()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARImage_GetTimestamp(const AREngine_ARSession *session, const AREngine_ARImage *image, int64_t *outTimestamp)

描述

获取图像的时间戳(以纳秒为单位)。 时间戳通常是单调递增的。时间戳的具体含义和时基取决于提供图像的源。 来自不同来源的图像的时间戳可能具有不同的时基,因此不应该相互比较。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

image

当前帧图像对象,参见AREngine_ARImage

outTimestamp

返回图像的时间戳(以纳秒为单位)。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARImage_GetWidth()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARImage_GetWidth(const AREngine_ARSession *session, const AREngine_ARImage *image, int32_t *outWidth)

描述

获取当前帧的图像数据的宽度。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

image

当前帧图像对象,参见AREngine_ARImage

outWidth

返回当前帧的图像的宽度(px)。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARImage_Release()

收起
自动换行
深色代码主题
复制
  1. void HMS_AREngine_ARImage_Release(AREngine_ARImage *image)

描述

释放当前帧的图像对象,由HMS_AREngine_ARFrame_AcquireCameraImage创建的对象。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

image

当前帧图像对象,参见AREngine_ARImage

HMS_AREngine_ARPlane_AcquireSubsumedBy()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARPlane_AcquireSubsumedBy(const AREngine_ARSession *session, const AREngine_ARPlane *plane, AREngine_ARPlane **outSubsumedBy)

描述

获取平面的父平面(一个平面被另一个平面合并时,会产生父平面),如果无父平面返回为NULL。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

plane

待处理的平面对象,参见AREngine_ARPlane

outSubsumedBy

指定平面的父平面对象,参见AREngine_ARPlane

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARPlane_GetCenterPose()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARPlane_GetCenterPose(const AREngine_ARSession *session, const AREngine_ARPlane *plane, AREngine_ARPose *outPose)

描述

获取从平面的局部坐标系到世界坐标系转换的位姿信息。

平面局部坐标系(右手坐标系)为:原点在包裹平面矩形的中心,矩形更长的边方向为X轴,短边方向为Z轴,Y+为平面法向量。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

plane

待处理的平面对象,参见AREngine_ARPlane

outPose

平面的局部坐标系到世界坐标系转换的位姿信息,参见AREngine_ARPose

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARPlane_GetExtentX()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARPlane_GetExtentX(const AREngine_ARSession *session, const AREngine_ARPlane *plane, float *outExtentX)

描述

获取平面的矩形边界沿平面局部坐标系X轴的长度,如矩形的宽度。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

plane

待处理的平面对象,参见AREngine_ARPlane

outExtentX

平面的矩形边界沿平面局部坐标系X轴的长度,以米为单位。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARPlane_GetExtentZ()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARPlane_GetExtentZ(const AREngine_ARSession *session, const AREngine_ARPlane *plane, float *outExtentZ)

描述

获取平面的矩形边界沿平面局部坐标系Z轴的长度,如矩形的高度。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

plane

待处理的平面对象,参见AREngine_ARPlane

outExtentZ

平面的矩形边界沿平面局部坐标系Z轴的长度,以米为单位。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARPlane_GetLabel()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARPlane_GetLabel(const AREngine_ARSession *session, const AREngine_ARPlane *plane, AREngine_ARSemanticPlaneLabel *label)

描述

获取平面的语义类型,如桌面、地板等,使用时需要使用HMS_AREngine_ARConfig_SetSemanticMode启用语义识别模式。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

plane

待处理的平面对象,参见AREngine_ARPlane

label

当前平面的语义类型,参见AREngine_ARSemanticPlaneLabel

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARPlane_GetPolygon()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARPlane_GetPolygon(const AREngine_ARSession *session, const AREngine_ARPlane *plane, float *outPolygonXz, int32_t polygonSize)

描述

获取检测到平面的二维顶点数组,格式为[x1,z1,x2,z2,...]。

这些值均在平面局部坐标系的x-z平面中定义,须经HMS_AREngine_ARPlane_GetCenterPose转换到世界坐标系中。

注意:在垂直平面中返回的值也是局部坐标系中的坐标[x1,z1,x2,z2,….],需要使用HMS_AREngine_ARPlane_GetCenterPose转换到世界坐标系。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

plane

待处理的平面对象,参见AREngine_ARPlane

outPolygonXz

检测到平面的二维顶点数组。

polygonSize

二维顶点数组大小,通过HMS_AREngine_ARPlane_GetPolygonSize接口获取。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARPlane_GetPolygonSize()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARPlane_GetPolygonSize(const AREngine_ARSession *session, const AREngine_ARPlane *plane, int32_t *outPolygonSize)

描述

获取检测到平面的二维顶点数组大小。配合HMS_AREngine_ARPlane_GetPolygon接口使用。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

plane

待处理的平面对象,参见AREngine_ARPlane

outPolygonSize

二维顶点数组大小。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARPlane_GetType()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARPlane_GetType(const AREngine_ARSession *session, const AREngine_ARPlane *plane, AREngine_ARPlaneType *outPlaneType)

描述

获取平面的类型。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

plane

待处理的平面对象,参见AREngine_ARPlane

outPlaneType

平面的类型,参见AREngine_ARPlaneType

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARPlane_IsPoseInExtents()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARPlane_IsPoseInExtents(const AREngine_ARSession *session, const AREngine_ARPlane *plane, const AREngine_ARPose *pose, int32_t *outPoseInExtents)

描述

判断位姿是否位于平面的矩形范围内。

如果传入的位姿(通过HMS_AREngine_ARHitResult_GetHitPose获取)位于平面的矩形范围内,则返回非0值。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

plane

待处理的平面对象,参见AREngine_ARPlane

pose

位姿信息,参见AREngine_ARPose

outPoseInExtents

位姿是否位于平面的矩形范围内,0表示不在范围内,非0表示在范围内。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARPlane_IsPoseInPolygon()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARPlane_IsPoseInPolygon(const AREngine_ARSession *session, const AREngine_ARPlane *plane, const AREngine_ARPose *pose, int32_t *outPoseInPolygon)

描述

判断位姿是否位于平面的多边形范围内。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

plane

待处理的平面对象,参见AREngine_ARPlane

pose

位姿信息,参见AREngine_ARPose

outPoseInPolygon

位姿是否位于平面的多边形范围内,0表示不在范围内,非0表示在范围内。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARPoint_GetOrientationMode()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARPoint_GetOrientationMode(const AREngine_ARSession *session, const AREngine_ARPoint *point, AREngine_ARPointOrientationMode *outOrientationMode)

描述

获取输入点的朝向模式。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

point

输入点对象,参见AREngine_ARPoint

outOrientationMode

输入点的朝向模式,参见AREngine_ARPointOrientationMode

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARPoint_GetPose()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARPoint_GetPose(const AREngine_ARSession *session, const AREngine_ARPoint *point, AREngine_ARPose *outPose)

描述

获取输入点的位姿信息。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

point

输入点对象,参见AREngine_ARPoint

outPose

输入点的位姿信息,参见AREngine_ARPose

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARPointCloud_GetData()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARPointCloud_GetData(const AREngine_ARSession *session, const AREngine_ARPointCloud *pointCloud, const float **outPointCloudData)

描述

获取点云中所有点的坐标及置信度数组。

其坐标值都在世界坐标系下,使用右手坐标系表示。点云对象可以通过HMS_AREngine_ARFrame_AcquirePointCloud获取。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

pointCloud

点云对象,参见AREngine_ARPointCloud

outPointCloudData

点云中所有点的坐标及置信度数组。数据格式为[x0,y0,z0,c0,x1,y1,z1,c1,x2...]。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARPointCloud_GetNumberOfPoints()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARPointCloud_GetNumberOfPoints(const AREngine_ARSession *session, const AREngine_ARPointCloud *pointCloud, int32_t *outNumberOfPoints)

描述

获取点云中所有点的坐标及置信度数组大小。与HMS_AREngine_ARPointCloud_GetData配合使用。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

pointCloud

点云对象,参见AREngine_ARPointCloud

outNumberOfPoints

点云中所有点的坐标及置信度数组大小。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARPointCloud_GetTimestamp()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARPointCloud_GetTimestamp(const AREngine_ARSession *session, const AREngine_ARPointCloud *pointCloud, int64_t *outTimestampNs)

描述

获取检测到当前特征点云的时间,以纳秒为单位。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

pointCloud

点云对象,参见AREngine_ARPointCloud

outTimestampNs

检测到当前特征点云的时间。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARPointCloud_Release()

收起
自动换行
深色代码主题
复制
  1. void HMS_AREngine_ARPointCloud_Release(AREngine_ARPointCloud *pointCloud)

描述

释放点云对象使用的内存。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

pointCloud

待释放的点云对象,参见AREngine_ARPointCloud

HMS_AREngine_ARPose_Create()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARPose_Create(const AREngine_ARSession *session, const float *poseRaw, const uint32_t poseRawSize, AREngine_ARPose **outPose)

描述

分配并初始化一个新的位姿对象。可以设置poseRaw为空,来创建未初始化的位姿对象,随后调用HMS_AREngine_ARPoint_GetPoseHMS_AREngine_ARAnchor_GetPose等为位姿对象赋值。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

poseRaw

位姿数据,包括平移分量与旋转分量,数组大小为7,poseRaw[0]~poseRaw[3]为旋转分量quaternion,poseRaw[4]~poseRaw[6]为平移分量(x,y,z)。

poseRawSize

数组大小. 数组大小大于等于ARENGINE_POSE_RAW_SIZE

outPose

新创建的位姿对象,参见AREngine_ARPose

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARPose_Destroy()

收起
自动换行
深色代码主题
复制
  1. void HMS_AREngine_ARPose_Destroy (AREngine_ARPose *pose)

描述

释放位姿对象使用的内存。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

pose

需要释放的位姿对象,参见AREngine_ARPose

HMS_AREngine_ARPose_GetMatrix()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARPose_GetMatrix(const AREngine_ARSession *session, const AREngine_ARPose *pose, float *outMatrixColMajor4x4, int32_t matrixColMajor4x4Size)

描述

将位姿数据转换成4X4的矩阵,outMatrixColMajor4x4为存放数组,其中的数据按照列优先存储,该矩阵与局部坐标系的坐标点做乘法,可以得到局部坐标系到世界坐标系的转换。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

pose

位姿对象,参见AREngine_ARPose

outMatrixColMajor4x4

大小为16的float数组,数据按照列优先存储。

matrixColMajor4x4Size

数组大小. 数组大小定义为:ARENGINE_VIEW_MATRIX_SIZE

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARPose_GetPoseRaw()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARPose_GetPoseRaw(const AREngine_ARSession *session, const AREngine_ARPose *pose, float *outPoseRaw, int32_t poseRawSize)

描述

从位姿对象提取位姿数据,包括平移分量与旋转分量,数组大小为7,poseRaw[0]~poseRaw[3]为旋转分量quaternion,poseRaw[4]~poseRaw[6]为平移分量(x,y,z)。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

pose

位姿对象,参见AREngine_ARPose

outPoseRaw

位姿数据。

poseRawSize

数组大小. 数组大小定义为:ARENGINE_POSE_RAW_SIZE

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARSession_AcquireNewAnchor()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARSession_AcquireNewAnchor(AREngine_ARSession *session, const AREngine_ARPose *pose, AREngine_ARAnchor **outAnchor)

描述

创建一个持续跟踪的锚点。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

pose

创建锚点时使用的pose对象,参见AREngine_ARPose

outAnchor

被创建的锚点对象,参见AREngine_ARAnchor

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARSession_Configure()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARSession_Configure(AREngine_ARSession *session, const AREngine_ARConfig *config)

描述

配置AREngine_ARSession会话。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

config

需要配置到设备上的配置对象,参见 AREngine_ARConfig

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARSession_Create()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARSession_Create(void *env, void *applicationContext, AREngine_ARSession **outSessionPointer)

描述

创建一个新的AREngine_ARSession会话。此接口依赖相机、加速度以及陀螺仪传感器权限。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

env

当前APK的JNI运行环境信息。

applicationContext

与应用对应的Context。

outSessionPointer

被创建的会话对象,参见AREngine_ARSession

返回:

返回状态返回值类型,表示方法的调用状态。

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARSession_Destroy()

收起
自动换行
深色代码主题
复制
  1. void HMS_AREngine_ARSession_Destroy(AREngine_ARSession *session)

描述

释放AREngine_ARSession会话使用的资源。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARSession_GetAllAnchors()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARSession_GetAllAnchors(const AREngine_ARSession *session, AREngine_ARAnchorList *outAnchorList)

描述

获取所有锚点,包括AREngine_ARTrackingState中包含的所有状态下的锚点。

应用处理时需要仅绘制ARENGINE_TRACKING_STATE_TRACKING状态的锚点,删除ARENGINE_TRACKING_STATE_STOPPED状态的锚点。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

outAnchorList

所有的锚点对象列表,参见AREngine_ARAnchorList

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARSession_GetAllTrackables()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARSession_GetAllTrackables(const AREngine_ARSession *session, AREngine_ARTrackableType filterType, AREngine_ARTrackableList *outTrackableList)

描述

获取所有指定类型的可跟踪对像集合。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

filterType

当前指定的可跟踪对象类型,参见AREngine_ARTrackableType

outTrackableList

指定类型的可跟踪对象集合,参见 AREngine_ARTrackableList

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARSession_GetCameraConfig()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARSession_GetCameraConfig(const AREngine_ARSession *session, AREngine_ARCameraConfig *outCameraConfig)

描述

获取相机配置信息。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

outCameraConfig

相机配置信息,参见AREngine_ARCameraConfig

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARSession_Pause()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARSession_Pause(AREngine_ARSession *session)

描述

暂停会话,停止相机预览流,不清除平面和锚点数据,释放相机(否则其他应用无法使用相机服务)。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARSession_Resume()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARSession_Resume(AREngine_ARSession *session)

描述

开始运行AREngine_ARSession,或者在调用HMS_AREngine_ARSession_Pause以后恢复AREngine_ARSession的运行状态。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARSession_SetCameraGLTexture()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARSession_SetCameraGLTexture(AREngine_ARSession *session, uint32_t textureId)

描述

设置可用于存储相机预览流数据的openGL纹理。

应用调用HMS_AREngine_ARSession_Update后,AR Engine会更新相机预览到纹理中。

纹理使用时需指定为GL_TEXTURE_EXTERNAL_OES,如:glBindTexture(GL_TEXTURE_EXTERNAL_OES, textureId)。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

textureId

相机预览数据流的openGL textureId,大于0

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARSession_SetDisplayGeometry()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARSession_SetDisplayGeometry(AREngine_ARSession *session, AREngine_ARPoseType rotation, int32_t width, int32_t height)

描述

设置显示的高和宽(以像素为单位)。该高和宽是显示view的高和宽,如果不一致,会导致显示相机预览出错。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

rotation

显示旋转常量,值为AREngine_ARPoseType中定义的枚举值。

width

显示的宽度(px)。

height

显示的高度(px)。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARSession_Stop()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARSession_Stop(AREngine_ARSession *session)

描述

停止AR Engine,停止相机预览流,清除平面和锚点数据,并释放相机,终止本次会话。

调用后,如果要再次启动,需要新建AREngine_ARSession

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARSession_Update()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARSession_Update(AREngine_ARSession *session, AREngine_ARFrame *outFrame)

描述

更新AR Engine的计算结果。

应用应在需要获取最新的数据时调用此接口,如相机发生移动以后,使用此接口可以获取新的锚点坐标、平面坐标、相机获取的图像帧等。

如果HMS_AREngine_ARConfig_GetUpdateModeARENGINE_UPDATE_MODE_BLOCKING状态,那么该函数会阻塞至有新的帧可用。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

outFrame

更新后的帧对象,参见AREngine_ARFrame

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARTarget_GetAxisAlignedBoundingBox()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARTarget_GetAxisAlignedBoundingBox(const AREngine_ARSession *session, const AREngine_ARTarget *target, float *outAabb, int32_t aabbSize)

描述

获取语义物体最小外接包围盒坐标,坐标格式为xmin,ymin,zmin,xmax,ymax,zmax。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

target

待处理的目标语义对象,参见AREngine_ARTarget

outAabb

当前目标语义识别物体的最小外接包围盒坐标集。

aabbSize

数组大小为:ARENGINE_AABB_POINT_SIZE

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARTarget_GetCenterPose()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARTarget_GetCenterPose(const AREngine_ARSession *session, const AREngine_ARTarget *target, AREngine_ARPose *outARPose)

描述

获取从目标语义对象的局部坐标系到世界坐标系转换的位姿对象。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

target

待处理的目标语义对象,参见AREngine_ARTarget

outARPose

目标语义对象的局部坐标系到世界坐标系转换的位姿,参见AREngine_ARPose

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARTarget_GetRadius()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARTarget_GetRadius(const AREngine_ARSession *session, const AREngine_ARTarget *target, float *radius)

描述

获取语义物体的球体半径。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

target

待处理的目标语义对象,参见AREngine_ARTarget

radius

当前目标语义物体的球体半径(米)。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARTarget_GetShapeType()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARTarget_GetShapeType(const AREngine_ARSession *session, const AREngine_ARTarget *target, AREngine_ARTargetShapeLabel *shape)

描述

获取语义物体的形状类型。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

target

待处理的目标语义对象,参见AREngine_ARTarget

shape

当前目标语义识别到的物体形状类型,参见 AREngine_ARTargetShapeLabel

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARTrackable_AcquireNewAnchor()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARTrackable_AcquireNewAnchor(AREngine_ARSession *session, AREngine_ARTrackable *trackable, AREngine_ARPose *pose, AREngine_ARAnchor **outAnchor)

描述

通过可跟踪对象的位姿信息创建对应的锚点对象,该锚点将和当前的可跟踪对象绑定。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

trackable

可跟踪对象。

pose

可跟踪对象的位姿信息。

outAnchor

新创建的锚点对象。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARTrackable_GetAnchors()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARTrackable_GetAnchors(AREngine_ARSession *session, const AREngine_ARTrackable *trackable, AREngine_ARAnchorList *outAnchorList)

描述

获取绑定到输入可跟踪对象的锚点对象列表。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

trackable

可跟踪对象,参见AREngine_ARTrackable

outAnchorList

锚点对象列表,此列表必须使用HMS_AREngine_ARAnchorList_Create创建。如果使用已经创建的列表,则此列表将被重新赋值。

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARTrackable_GetTrackingState()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARTrackable_GetTrackingState(const AREngine_ARSession *session, const AREngine_ARTrackable *trackable, AREngine_ARTrackingState *outTrackingState)

描述

获取当前可跟踪对象的跟踪状态。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

trackable

可跟踪对象,参见AREngine_ARTrackable

outTrackingState

可跟踪对象的跟踪状态,参见AREngine_ARTrackingState

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARTrackable_GetType()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARTrackable_GetType(const AREngine_ARSession *session, const AREngine_ARTrackable *trackable, AREngine_ARTrackableType *outTrackableType)

描述

获取可跟踪对象的类型。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

trackable

可跟踪对象,参见AREngine_ARTrackable

outTrackableType

可跟踪对象的类型,参见AREngine_ARTrackableType

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARTrackable_Release()

收起
自动换行
深色代码主题
复制
  1. void HMS_AREngine_ARTrackable_Release(AREngine_ARTrackable *trackable)

描述

释放可跟踪对象。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

trackable

待释放的可跟踪对象,参见AREngine_ARTrackable

HMS_AREngine_ARTrackableList_AcquireItem()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARTrackableList_AcquireItem(const AREngine_ARSession *session, const AREngine_ARTrackableList *trackableList, int32_t index, AREngine_ARTrackable **outTrackable)

描述

从可跟踪列表中获取指定index的对象。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

trackableList

被检索的可跟踪对象的列表,参见AREngine_ARTrackableList

index

可跟踪对象在可跟踪对象列表中的位置。

outTrackable

目标可跟踪对象,参见AREngine_ARTrackable

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARTrackableList_Create()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARTrackableList_Create(const AREngine_ARSession *session, AREngine_ARTrackableList **outTrackableList)

描述

创建一个可跟踪对象列表。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

outTrackableList

可跟踪对象列表,参见AREngine_ARTrackableList

返回:

接口执行状态,参见AREngine_ARStatus

HMS_AREngine_ARTrackableList_Destroy()

收起
自动换行
深色代码主题
复制
  1. void HMS_AREngine_ARTrackableList_Destroy(AREngine_ARTrackableList *trackableList)

描述

释放可跟踪对象列表,以及它持有的所有锚点引用。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

trackableList

待释放的可跟踪对象列表,参见AREngine_ARTrackableList

HMS_AREngine_ARTrackableList_GetSize()

收起
自动换行
深色代码主题
复制
  1. AREngine_ARStatus HMS_AREngine_ARTrackableList_GetSize(const AREngine_ARSession *session, const AREngine_ARTrackableList *trackableList, int32_t *outSize)

描述

获取此列表中的可跟踪对象的数量。

起始版本: 5.0.0(12)

参数:

展开

名称

描述

session

与AR Engine服务交互的AREngine_ARSession对象。

trackableList

可跟踪对象列表,参见AREngine_ARTrackableList

outSize

可跟踪对象列表中可跟踪对象的数量。

返回:

接口执行状态,参见AREngine_ARStatus

在 API参考 中进行搜索
请输入您想要搜索的关键词