Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI...

40
产产产产 Product name 产产 Confidentiality level 产产产产 Product version Total 36 pages 产 36 产 HUAWEI AR Engine SDK 产产产产 Prepared by 产产 产产 产产 产产 Date 产产 2018-03-21 Reviewed by 产产 产产产 Date 产产 2018-10-31 Approved by 产产 Date 产产 Huawei Technologies Co., Ltd. 产产产产产产产产 All rights reserved 产产产产 产产产产

Transcript of Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI...

Page 1: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

产品名称 Product name 密级 Confidentiality level

产品版本 Product versionTotal 36 pages 共 36 页

HUAWEI AR Engine SDK 接口说明书 Prepared by 拟制 胡昶

黄家一钱鹏

Date日期 2018-03-21

Reviewed by 审核 郭泽金 Date日期 2018-10-31Approved by批准 Date日期

Huawei Technologies Co., Ltd.

华为技术有限公司All rights reserved版权所有 侵权必究

Page 2: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书

Revision Record 修订记录Date日期 Revisio

n Version修订版本

CR ID / Defect

IDCR号

Sec No. 修改章节

Change Description修改描述 Author作者

2017/12/22 0.1 initial 初稿完成 胡昶2018/01/09 0.2 修改接口类名 胡昶2018/02/02 0.3 点云碰撞实现;获取父平面实

现;ARSession 添加 stop 方法;ARPlane 与 ARAnchor 添加 equals 与 hashCode 方法;ARPointCloudHitResult 接口变更,删除 getNearestPointIndex与 getNearestPoint 两个方法

胡昶

2018/03/16 0.5 添加异常描述;添加垂直平面枚举值

胡昶2018/05/03 0.6 ARSession.resume 在检测到没

有相机权限时,抛出ARCameraPermissionDeniedException

胡昶

2018/06/06 0.7 增加ARFace、ARBody、ARHand预览

郭泽金

2018/06/19 0.9 增加ARCamera,ARConfigBase,ARImageMetadata,AREnginesSelector等类

黄家一

2018/07/12 0.9.2 增加 hand face body 相关接口 黄家一2018/10/09 1.3.0 增加

ARAugmentedImage,ARAugmentedImageDatabase,ARImageTrackingConfig类,修改 ARConfigBase 类部分接口

王世斌

2018/10/25 1.4.0 ARConfigBase 增加 Focus 接口,1.4.0 版本后BodyAR、HandAR、FaceAR、AugmentedImageAR 默认对焦模式变为自动对焦。

王世斌

华为机密,未经许可不得扩散 Page 2 , Total 41 第 2 页,共 41 页

Page 3: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书Date日期 Revisio

n Version修订版本

CR ID / Defect

IDCR号

Sec No. 修改章节

Change Description修改描述 Author作者

2018/10/31 1.4.0 增加 ARCameraConfig 类,获取当前相机配置;ARBody 增加SkeletonConfidence、MaskConfidence、MaskDepth 数据返回接口ARSession 增加GetCameraConfig 接口

钱鹏

2018/12/1 1.5.0 对齐版本接口描述;移除已过时类的描述;添加 ARBody 和ARHand 骨骼示意图

胡昶

2019/05/22 1.14.0 增加环境 Mesh 接口 黄家一

华为机密,未经许可不得扩散 Page 3 , Total 41 第 3 页,共 41 页

Page 4: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书

Catalog 目 录1 简介..........................................................................................................................................71.1 目的....................................................................................................................................71.2 范围....................................................................................................................................71.3 使用约束.............................................................................................................................7

2 HUAWEI AR Engine SDK 接口................................................................................................82.1 使用过程.............................................................................................................................82.2 接口说明.............................................................................................................................8

2.2.1 功能类..........................................................................................................................82.2.1.1 ARAnchor...........................................................................................................82.2.1.2 ARAugmentedImage..........................................................................................92.2.1.3 ARAugmentedImageDatabase...........................................................................92.2.1.4 ARBody.............................................................................................................102.2.1.5 ARBodyTrackingConfig....................................................................................122.2.1.6 ARCamera........................................................................................................132.2.1.7 ARCameraConfig.............................................................................................132.2.1.8 ARConfigBase..................................................................................................142.2.1.9 AREnginesApk.................................................................................................152.2.1.10 AREnginesSelector..........................................................................................162.2.1.11 ARFace.............................................................................................................162.2.1.12 ARFaceBlendShapes.......................................................................................172.2.1.13 ARFaceGeometry.............................................................................................192.2.1.14 ARFaceTrackingConfig....................................................................................202.2.1.15 ARFrame..........................................................................................................202.2.1.16 ARHand............................................................................................................222.2.1.17 ARHandTrackingConfig....................................................................................252.2.1.18 ARHitResult......................................................................................................252.2.1.19 ARImageMetadata............................................................................................252.2.1.20 ARImageTrackingConfig..................................................................................262.2.1.21 ARLightEstimate...............................................................................................262.2.1.22 ARPlane............................................................................................................272.2.1.23 ARPoint.............................................................................................................282.2.1.24 ARPointCloud...................................................................................................282.2.1.25 ARPose.............................................................................................................292.2.1.26 ARSceneMesh..................................................................................................312.2.1.27 ARSession........................................................................................................312.2.1.28 ARTrackable.....................................................................................................332.2.1.29 ARTrackableBase.............................................................................................332.2.1.30 ARWorldBodyTrackingConfig...........................................................................342.2.1.31 ARWorldTrackingConfig...................................................................................34

2.2.2 异常类........................................................................................................................342.2.2.1 ARCameraNotAvailableException....................................................................352.2.2.2 ARCameraPermissionDeniedException...........................................................352.2.2.3 ARDeadlineExceededException.......................................................................352.2.2.4 ARFatalException.............................................................................................352.2.2.5 ARMissingGlContextException.........................................................................352.2.2.6 ARNotTrackingException.................................................................................352.2.2.7 ARNotYetAvailableException...........................................................................352.2.2.8 ARResourceExhaustedException....................................................................35

华为机密,未经许可不得扩散 Page 4 , Total 41 第 4 页,共 41 页

Page 5: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书2.2.2.9 ARSessionNotPausedException......................................................................352.2.2.10 ARSessionPausedException............................................................................352.2.2.11 ARTextureNotSetException..............................................................................352.2.2.12 ARUnavailableClientSdkTooOldException.......................................................362.2.2.13 ARUnavailableConnectServerTimeOutException............................................362.2.2.14 ARUnavailableDeviceNotCompatibleException...............................................362.2.2.15 ARUnavailableEmuiNotCompatibleException..................................................362.2.2.16 ARUnavailableException..................................................................................362.2.2.17 ARUnavailableServiceApkTooOldException....................................................362.2.2.18 ARUnavailableServiceNotInstalledException...................................................362.2.2.19 ARUnavailableUserDeclinedInstallationException...........................................362.2.2.20 ARUnSupportedConfigurationException..........................................................36

华为机密,未经许可不得扩散 Page 5 , Total 41 第 5 页,共 41 页

Page 6: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书

Figure List 图目录图 1 HUAWEI AR Engine SDK 简要使用过程...............................................................................6

华为机密,未经许可不得扩散 Page 6 , Total 41 第 6 页,共 41 页

Page 7: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书

1 简介1.1 目的

本文描述华为 HUAWEI AR Engine SDK 对外接口,用于指导开发者使用 HUAWEI AR Engine 服务。1.2 范围

本接口说明书仅包含 HUAWEI AR Engine 接口的使用过程,功能描述,输入参数和返回值。1.3 使用约束

HUAWEI AR Engine SDK 通过包装 HUAWEI AR Engine NDK 层接口实现 AR 能力的提供,可以使用 World AR, Hand AR,BodyAR 以及 FaceAR 的能力。

华为机密,未经许可不得扩散 Page 7 , Total 41 第 7 页,共 41 页

Page 8: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书

2 HUAWEI AR Engine SDK接口2.1 使用过程

图1 HUAWEI AR Engine SDK 简要使用过程

2.2 接口说明2.2.1 功能类

2.2.1.1 ARAnchor

描述:锚点是真实世界中的一个固定的位置和方向。为了保持这个物理空间的固定位置 ,HUAWEI AR Engine 会根据自己对于空间的理解,更新它的数值。

接口:1) public void detach()

说明:用于通知 AR Engine 停止跟踪该锚点,调用该方法后,Anchor 的 TrackingState 变为STOPPED 。

2) public ARPose getPose()

华为机密,未经许可不得扩散 Page 8 , Total 41 第 8 页,共 41 页

Page 9: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书说明:获取锚点在世界坐标系的位姿 Pose,该 Pose 在 ARSession.update 时可能会被更新。

仅当锚点的跟踪状态为 TRACKING 时,数据才有效。3) public ARTrackable.TrackingState getTrackingState()

说明:获取 Anchor 跟踪状态,确定是否跟踪。当且仅当 TrackingSate 为 TRACKING 时,相关的数据才是有效的。

4) public boolean equals(Object obj)

说明:两个 ARAnchor 对象可能对应同一个真实世界的锚点,使用该方法可以比较是否对应同一个锚点。

5) public int hashCode()

说明:返回当前对象的 hashCode,对应同一个真实世界锚点的对象返回相同值。该方法适用于类似 HashMap 的哈希表中。

2.2.1.2 ARAugmentedImage

描述:用于 Image 图像识别和跟踪时返回跟踪结果,派生自 ARTrackableBase。 接口:1) public ARPose getCenterPose()

说明:获取识别到图片中心点在世界坐标系中的位置信息2) public float getExtentX()

说明:获取以图像为中心的坐标系沿 X 轴测试物理图片的估计宽度(以米为单位)3) public float getExtentZ()

4) 说明:获取以图像为中心的坐标系沿 Z 轴测试物理图片的估计高度(以米为单位)5) public int getIndex()

说明:获取识别到图片配置的 Index(以 0 开始,通过 ImageDatabase 配置顺序增加)6) public String getName()

说明:获取识别到图片配置的名字2.2.1.3 ARAugmentedImageDatabase

描述:包含一系列用于识别和跟踪的 Image 图像的数据库,图像数据库可以使用随 SDK

包 发布的命令行工具生 成 ,也可 以 在 应 用运行时 动 态 添 加 image 图 片 到AugmentedImageDatabase 数据库中。

接口:

华为机密,未经许可不得扩散 Page 9 , Total 41 第 9 页,共 41 页

Page 10: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书1) public int addImage(String name, Bitmap bitmap)

说明:添加一个未知物理大小的 Bitmap 图片到数据库中2) public int addImage(String name, Bitmap bitmap, float widthInMeters)

说明:添加一个已知物理大小(以米为单位的物理宽度)的 Bitmap 图片到数据库中3) public int getNumImages()

说明:获取数据库中图片的数目4) public static ARAugmentedImageDatabase deserialize (ARSession session,

InputStream inputStream)

说明:使用图片数据流创建图片数据库5) public void serialize (OutputStream outputStream)

说明:获取数据库中图片的数据流2.2.1.4 ARBody

描 述 : 用 于人体骨 骼 跟 踪 时 返 回 跟 踪 结 果 , 包 含人体骨 骼 数 据 , 派 生 自ARTrackableBase。如果 ARSession.config()中传入的 ARBodyTrackingConfig或者ARWorldBodyTrackingConfig 的对象时,HUAWEI AR Engine将实时检测相机预览中的人体。HUAWEI AR Engine将始终返回两个 body 对象,应用应该根据对象上的 GetTrackingState() 的返回值判断该对象是否有效。当且仅当 GetTrackingState()返回 值为 ARTrackable.TrackingState.TRACKING 时,数据才有效。人体的骨骼定义如下图:

各个骨骼点的定义与 ARBodySkeletonType 枚举值对应关系如下表。ARBodySkeleton

Type对应的骨骼 图中索

引BodySkeleton_Head 头 0

BodySkeleton_Neck 颈部 1

华为机密,未经许可不得扩散 Page 10 , Total 41 第 10 页,共 41 页

Page 11: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书BodySkeleton_r_Sh

o右肩 2

BodySkeleton_r_Elbow

右肘 3

BodySkeleton_r_Wrist

右手腕 4

BodySkeleton_l_Sho

左肩 5

BodySkeleton_l_Elbow

左肘 6

BodySkeleton_l_Wrist

左手腕 7

BodySkeleton_r_Hip 右髋关节 8

BodySkeleton_r_Knee

右膝 9

BodySkeleton_r_Ankle

右脚腕 10

BodySkeleton_l_Hip 左髋关节 11

BodySkeleton_l_Knee

左膝盖 12

BodySkeleton_l_Ankle

左脚腕 13

BodySkeleton_Hip_mid

身体中心点 14

BodySkeleton_Length

该值是骨骼点的个数,非骨骼点

15

接口:1) public int getBodyAction()

说明:获取人体姿态类型。返回值与姿态的对应关系如下:

华为机密,未经许可不得扩散 Page 11 , Total 41 第 11 页,共 41 页

Page 12: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书

返回值为 1 返回值为 2 返回值为 3

返回值为 4 返回值为 5 返回值为 6

其他未支持的动作,均返回 0。2) public ARBodySkeletonType[] getBodySkeletonType()

说明:获取人体骨骼点类型的数组。3) public float[] getSkeletonPoint2D()

说明:获取人体骨骼点的 2D 图像坐标数据,返回值的格式为 [x0,y0,0,x1,y1,0],该坐标是OpenGL 的 NDC 坐标,x/y 的取值范围为[-1,1]。假设 skeletonType 是 getBodySkeletonType()的返回值,则(x0,y0,0)是 skeletonType[0]的对应坐标,依次类推。

4) public float[] getSkeletonPoint3D()

说明:获取人体骨骼点的 3D 坐标数据,返回值的格式为 [x0,y0,z0,x1,y1,z1…]。该值在getCoordinateSystemType()返回值的坐标空间下,应用应该根据坐标空间的不同,使用不同的矩阵 进 行 渲 染 。 假 设 skeletonType 是 getBodySkeletonType() 的 返 回 值 , 则 (x0,y0,z0) 是skeletonType[0]的对应坐标,依次类推。

5) public int[] getSkeletonPointIsExist2D()

华为机密,未经许可不得扩散 Page 12 , Total 41 第 12 页,共 41 页

Page 13: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书说明:获取的人体骨骼点的 2D 坐标是否有效,返回一个 0,1 数组。0 说明骨骼点数据无效,1

说 明 骨 骼 点 数 据 有 效 。假设 skeletonType 是 getBodySkeletonType() 的 返 回 值 , exist2D 是getSkeletonPointIsExist2D()返回值,则 exist2D[0]对应的骨骼点为 skeletonType[0],依次类推。

6) public int[] getSkeletonPointIsExist3D()

说明:获取的人体骨骼点 2D 坐标是否有效,返回一个 0,1 数组。0 说明骨骼点数据无效,1

说 明 骨 骼 点 数 据 有 效 。假设 skeletonType 是 getBodySkeletonType() 的 返 回 值 , exist3D 是getSkeletonPointIsExist3D()返回值,则 exist3D[0]对应的骨骼点为 skeletonType[0],依次类推。

7) public float[] getSkeletonConfidence ()

说明:获取每一个骨骼点检测的置信度。与骨骼点个数一致的数组,每一个元素为[0,1]范围的置 信 度 值 。 假 设 skeletonType 是 getBodySkeletonType() 的 返 回 值 , confidence 是getSkeletonConfidence ()返回值,则 confidence [0]对应的骨骼点为 skeletonType[0],依次类推。

8) public int[] getBodySkeletonConnection()

说 明 : 获 取人体骨 骼 点联接 关 系 数 据 , 该 数 据 为 骨 骼 点 类型的索引。如果 返 回 值 为[p0,p1;p1,p3;…] , skeletonType 为 getBodySkeletonType() 的 返 回 值 , 则 说 明 骨 骼 点skeletonType[p0] 与 骨 骼 点 skeletonType[p0] 是 相 连 的 , 骨 骼 点 skeletonType[p1] 与skeletonType[p3]相连。

9) public ARCoordinateSystemType getCoordinateSystemType()

说明:获取 3d 坐标的空间类型。 ARCoordinateSystemType 描述COORDINATE_SYSTEM_TYPE_UNKNOWN

无效的坐标系COORDINATE_SYSTEM_TYPE_3D_WORLD

3D 世界坐标系COORDINATE_SYSTEM_TYPE_3D_SELF

物体自身坐标系COORDINATE_SYSTEM_TYPE_2D_IMAGE

2D 图像坐标系COORDINATE_SYSTEM_TYPE_3D_CAMERA

3D 相机坐标系

10) public FloatBuffer getMaskConfidence ()

说明:获取人体遮罩的置信度。一个人体遮罩的置信度意味着在某个像素是否属于人体的一部分。如果置信度高,则意味着这个像素很可能属于人体的一部分。返回值是一个

华为机密,未经许可不得扩散 Page 13 , Total 41 第 13 页,共 41 页

Page 14: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书direct 的 FloatBuffer,size即 TextureDimensions 的宽*高,排序行优先,每一位值取 0 到1之间。

11) public ShortBuffer getMaskDepth ()

说 明 : 获 取人体遮罩的深度值 。 返 回 值 是 一 个 direct 的 FloatBuffer , size 即TextureDimensions 的宽*高,排序行优先,每一位数据按照DEPTH16 解析。

2.2.1.5 ARBodyTrackingConfig

描述:用于人体骨骼跟踪时配置 session,派生自 ARConfigBase。默认使用后置相机,默认自动对焦。

接口:1) public ARConfigBase.CameraLensFacing getCameraLensFacing()

说明:获取当前配置使用的相机。CameraLensFacing 描述REAR 后置相机FRONT 前置相机

2) public void setCameraLensFacing(ARConfigBase.CameraLensFacing lensFacing)

说明:设置当前配置使用的相机,默认使用后置相机。2.2.1.6 ARCamera

描 述 : 提 供 当 前 相 机 的 信 息 , 该 类 在引擎内部存在 一 个 持久化对 象 ,每次调 用ARSession.update()时,该对象的值均会被更新。

接口:1) public boolean equals(Object obj)

说明:使用该方法可以比较是否对应同一个逻辑相机。2) public ARPose getDisplayOrientedPose()

说明:在捕捉当前相机纹理时,返回用户设备在世界坐标系中的位姿,返回值的位置位于设备的相机处,而方向大致与显示器的方向(考虑显示旋转)相匹配。

3) public ARPose getPose()

说明:在捕捉当前相机纹理时,返回用户设备在世界坐标系中的位姿,返回值的位置和方向跟随设备的物理相机(它们不受显示器方向的影响)。

4) public void getProjectionMatrix(float[] dest, int offset, float near, float far)

华为机密,未经许可不得扩散 Page 14 , Total 41 第 14 页,共 41 页

Page 15: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书说明:返回一个用于渲染虚拟内容的投影矩阵。5) public ARTrackable.TrackingState getTrackingState()

说明:获取相机位姿的当前状态。6) public void getViewMatrix(float[] viewMatrix, int offset)

说明:返回此帧相机的观察矩阵。7) public int hashCode()

说明:返回对象的哈希码值。2.2.1.7 ARCameraConfig

描述:用于查询物理相机的相关配置 接口:1) public Size GetImageDimensions()

说明:获取相机送到 CPU流处理的图像帧尺寸,返回的是一个二维向量(width,height)2) public Size GetTextureDimensions()

说 明 : 获 取 相 机送到 GPU 流处理 的 图 像帧尺寸, 返 回 的 是 一 个二维向量(width,height)

2.2.1.8 ARConfigBase

描述:所有 ARXXXTrackingConfig 的基类,包含各类设置项的枚举和公有设置项的接口。 接口:1) public void setUpdateMode(UpdateMode updateMode)

说明:设置每一帧更新的更新模式2) public UpdateMode getUpdateMode()

说明:获取当前配置的预览更新模式。UpdateMode 描述BLOCKING ARsession 的 update 方法在新的帧可用时才返回LATEST_CAMERA_IMAGE

ARsession 的 update 方法立刻返回(如果没有新的帧,就返回上一帧)

3) public void setPowerMode(PowerMode powerMode)

说明:设置低功耗模式。4) public PowerMode getPowerMode()

说明:获取当前配置的低功耗模式。 华为机密,未经许可不得扩散 Page 15 , Total 41 第 15 页,共 41 页

Page 16: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书PowerMode 描述NORMAL 普通模式POWER_SAVING 省电模式ULTRA_POWER_SAVING 超级省电模式

5) public FocusMode setFocusMode()

说明:设置当前对焦模式。6) public FocusMode getFocusMode()

说明:获取当前对焦模式。FocusMode 描述FIXED_FOCUS 固定对焦到无穷远AUTO_FOCUS 自动对焦模式

7) public long getEnableItem()

说明:获取当前配置使能项。8) public void setEnableItem(long enableItem)

说明:设置当前配置的使能项。常量名 值 描述ENABLE_NULL 0 不使能特殊能力ENABLE_DEPTH 1 使能深度能力,默认使能ENABLE_MASK 2 使能遮罩能力ENABLE_MESH 4 使能环境 mesh 能力

9) public void setLightingMode(LightingMode lightingMode)

说明:设置光线估计模式。10) public LightingMode getLightingMode()

说明:获取当前的光线估计模式。LightingMode 描述DISABLED 关闭光线估计AMBIENT_INTENSITY 开启光线估计,ARFrame.getLightEstimate()返回环境光强

11) public void setImageInputMode(ImageInputMode mode)

说明:设置相机的打开方式。12) public ImageInputMode getImageInputMode ()

华为机密,未经许可不得扩散 Page 16 , Total 41 第 16 页,共 41 页

Page 17: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书说明:获取当前配置的相机打开当时

ImageInputMode 描述NON_INPUT = 0 无输入,引擎内部打开相机EXTERNAL_INPUT_ALL = -1 外部输入预览流,引擎外部打开相机

13) public List<Surface> getImageInputSurfaces()

说明:获取外部输入预览流的 Surface。应用使用外部打开相机的功能时,从AREngine 获取 Surface,以便向引擎内存传入预览流。

14) public List<SurfaceType> getImageInputSurfaceTypes()

说明:获取 Surface 类型。与 getImageInputSurfaces()的返回值一一对应。SurfaceType 描述PREVIEW = 0 预览流VGA = 1 小分辨率预览流METADATA=2 METADATA流DEPTH=4 深度流

15) public void setPreviewSize(int width,int height)

说明:设置输入预览流 size

2.2.1.9 AREnginesApk

描述:用于管理 HUAWEI AR Engine 服务端。 接口:1) public static ARAvailability checkAvailability (Context applicationContext)

说明:检查设备是否支持当前设置的引擎(通过 AREnginesSelector.setAREngine()方法设置)。

2) public static boolean isAREngineApkReady(Context applicationContext)

说明:检查设备是否已安装华为 AREngine,并且版本与 AREngine SDK兼容。3) public static ARInstallStatus requestInstall (Activity applicationActivity, boolean

userRequestedInstall)

说明:在需要安装的情况下,初始化安装功能。userRequestedInstall 为 true 时,该方法会调用。

2.2.1.10 AREnginesSelector

华为机密,未经许可不得扩散 Page 17 , Total 41 第 17 页,共 41 页

Page 18: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书 描述:用于查询设备支持的 AR引擎,并设置引用使用的引擎。如果应用不需要切换引擎,

可以直接略过该类,默认的引擎时 HUAWEI AR Engine。 接口:1) public static AREnginesAvaliblity checkAllAvailableEngines(Context context)

说明:获取本终端所支持的引擎的类型。AREnginesAvaliblity AR引擎能力HWAR_NONE_ENGINES_SUPPORTED=0

不支持华为 AREngine

HWAR_ENGINE_SUPPORTED=1

支持华为 AREngine

2) public static AREnginesType setAREngine(AREnginesType enginestype)

说明:设置要使用的引擎,返回值为设置的引擎类型。注意:1. 由于设备的能力差异,如果设置的引擎在设备上不支持,返回的实际使用的引擎可能与指定值不相同 2.SetAREngine 前必须调用 CheckDeviceExecuteAbility。

AREnginesType AR引擎类型HWAR_NONE=0 不支持 AR引擎HWAR_ENGINE=1 华为 AREngine

3) public static AREnginesType getCreatedEngine()

说明:获取目前使用的引擎类型。2.2.1.11 ARFace

描述:用于人脸跟踪时返回人脸跟踪的结果,包含人脸位置、姿态、拓扑和微表情,派生自 ARTrackableBase。

接口:1) public ARBlendShapes getFaceBlendShapes ()

说明:获取人脸微表情。2) public ARFaceGeometry getFaceGeometry ()

说明:获取人脸Mesh 。3) public ARPose getPose ()

说明:获取人脸Mesh 中心的位姿 ,该位姿在相机坐标系空间。2.2.1.12 ARFaceBlendShapes

华为机密,未经许可不得扩散 Page 18 , Total 41 第 18 页,共 41 页

Page 19: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书 描述:用于描述微表情,包含若干个表情参数。 接口:1) public int getBlendShapeCount()

说明:获取表情参数个数。 2) public FloatBuffer getBlendShapeData()

说 明 : 获 取 所 有 表情参 数 ,每个 参 数 的代表 的 含义可 根 据 相 同 数组下标去getBlendShapeType()接口返回的数组中查询获得。

3) public String[] getBlendShapeType()

说明:获取所有表情参数类型数组,该数组成员与 getBlendShapeData()接口返回的数组成员一一对应。

4) public HashMap<String, Float> getBlendShapeDataMapKeyString()

说明:获取所有表情参数 Map,key 为表情参数类型对应的 string,value 为表情参数值,取值范围[0,1]。

5) public HashMap<ARBlendShapeType, Float> getBlendShapeDateMapKeyEnmu()

说明:获取所有表情参数 Map,key 为表情参数类型对应的枚举值,value 为表情参数系数,取 值 范 围 [0,1] 。 value 的 值越大,则 key 对 应 的 表情越接近规定 的最大值 。例如 ,Animoji_Eye_Blink_Left 对应的值为 1,表明左眼完全闭合;Animoji_Eye_Blink_Left 对应的值为0,则表明左眼完全张开。

ARBlenShapeType 对应的表情Animoji_Eye_Blink_Left 左眼睑闭合Animoji_Eye_Look_Down_Left

左眼睑向下Animoji_Eye_Look_In_Left 左眼睑向右Animoji_Eye_Look_Out_Left 左眼睑向左Animoji_Eye_Look_Up_Left 左眼睑向上Animoji_Eye_Squint_Left 左眼附近脸部肌肉收缩Animoji_Eye_Wide_Left 左眼附近脸部肌肉张开Animoji_Eye_Blink_Right 右眼睑闭合Animoji_Eye_Look_Down_Right

右眼睑向下Animoji_Eye_Look_In_Right 右眼睑向左Animoji_Eye_Look_Out_Right 右眼睑向右Animoji_Eye_Look_Up_Right 右眼睑向上

华为机密,未经许可不得扩散 Page 19 , Total 41 第 19 页,共 41 页

Page 20: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书

Animoji_Eye_Squint_Right 右眼脸部肌肉收缩Animoji_Eye_Wide_Right 右眼脸部肌肉张开Animoji_Jaw_Forward 下颌向前Animoji_Jaw_Left 下颌向左Animoji_Jaw_Right 下颌向右Animoji_Jaw_Open 下颌张开(嘴张开)Animoji_Mouth_Funnel 嘴唇张开时收缩Animoji_Mouth_Pucker 嘴唇闭合时收缩Animoji_Mouth_Left 双嘴唇向左Animoji_Mouth_Right 双嘴唇向右Animoji_Mouth_Smile_Left 左嘴角向上Animoji_Mouth_Smile_Right 右嘴角向上Animoji_Mouth_Frown_Left 左嘴角向下Animoji_Mouth_Frown_Right 左嘴角向下Animoji_Mouth_Dimple_Left 左嘴角向后Animoji_Mouth_Dimple_Right

右嘴角向后Animoji_Mouth_Stretch_Left 左嘴角向左Animoji_Mouth_Stretch_Right

右嘴角向右Animoji_Mouth_Roll_Lower 下嘴唇向内抿嘴Animoji_Mouth_Roll_Upper 上嘴唇向内抿嘴Animoji_Mouth_Shrug_Lower 下嘴唇向外噘嘴Animoji_Mouth_Shrug_Upper 上嘴唇向内噘嘴Animoji_Mouth_Upper_Up 上嘴唇向上Animoji_Mouth_Lower_Down 下嘴唇向下Animoji_Mouth_Lower_Out 下嘴唇向外Animoji_Brow_Down_Left 左眉外部向下Animoji_Brow_Down_Right 右眉外部向下Animoji_Brow_Inner_Up 双眉内部向上Animoji_Brow_Outer_Up_Left 左眉外部向上Animoji_Brow_Outer_Up_Right

右眉外部向上Animoji_Cheek_Puff 双颊张开Animoji_Cheek_Squint_Left 脸颊在左眼周围和下方向上移动

华为机密,未经许可不得扩散 Page 20 , Total 41 第 20 页,共 41 页

Page 21: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书Animoji_Cheek_Squint_Right 脸颊在右眼周围和下方向上运动Animoji_Frown_Nose_Mouth_Up

皱眉鼻子嘴向上Animoji_Tongue_In 舌头向内Animoji_Tongue_Out_Slight 舌头稍微向内Animoji_Tongue_Left 舌头伸出向左Animoji_Tongue_Right 舌头伸出向右Animoji_Tongue_Up 舌头伸出向上Animoji_Tongue_Down 舌头伸出向下Animoji_Tongue_Left_Up 舌头伸出向左上Animoji_Tongue_Left_Down 舌头伸出向左下Animoji_Tongue_Right_Up 舌头伸出向右上Animoji_Tongue_Right_Down 舌头伸出向右下Animoji_Left_Eyeball_Left 左眼珠向左看Animoji_Left_Eyeball_Right 左眼珠向右看Animoji_Left_Eyeball_Up 左眼珠向上看Animoji_Left_Eyeball_Down 左眼珠向下看Animoji_Right_Eyeball_Left 右眼珠向左看Animoji_Right_Eyeball_Right 右眼珠向右看Animoji_Right_Eyeball_Up 右眼珠向上看Animoji_Right_Eyeball_Down 右眼珠向下看Animoji_BLENDSHAPE_LENGTH

非表情,表示表情的个数

6) public void release()

说明:确保在获取 BlendShape 数据操作结束后调用,否则将导致内存泄露。2.2.1.13 ARFaceGeometry

描述:用于描述人脸拓扑结构,即人脸Mesh。 接口:1) public FloatBuffer getTextureCoordinates()

说明:获取人脸Mesh纹理坐标点数组 。2) public int getTriangleCount ()

说明:获取人脸Mesh三角面个数 。3) public FloatBuffer getVertices()

华为机密,未经许可不得扩散 Page 21 , Total 41 第 21 页,共 41 页

Page 22: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书说明:获取人脸Mesh顶点,数据格式为[x0,y0,z0,x1,y1,z1,…],返回的顶点在人脸的局部坐

标系下,需经过人脸 pose转换到其他坐标系。4) public IntBuffer getTriangleIndices()

说明:获取人脸Mesh三角面下标数组。5) public IntBuffer getTriangleLabels()

说明:获取人脸Mesh三角面标签,取值: 人脸mesh 的所有三角形对应的 label 值,用于区分三角形是属于哪个关键部位,0---脸部非关键部位、1---下嘴唇、2---上嘴唇、3---左眼睛、4---右眼睛、5---左眉毛、6---右眉毛、7---眉心、8---鼻子

6) public void release()

说明:在获取 ARFaceGeometry 数据操作结束后调用,否则可能导致内存泄露。2.2.1.14 ARFaceTrackingConfig

描述:用于人脸跟踪时配置 session,派生自 ARConfigBase。目前仅支持前置相机。2.2.1.15 ARFrame

描述:该类是 HUAWEI AR Engine 系统的快照,仅由 ARSession.update创建。 接口:1) public ARPointCloud acquirePointCloud()

说明:返回当前帧的点云。2) pubic Image acquireCameraImage()

说明:获取当前帧对应的图像。返回图像格式为 AIMAGE_FORMAT_YUV_420_888。3) pubic Image acquireDepthImage()

说明:获取当前帧对应的深度图像。返回图像格式为 DEPTH16。4) public ARCamera getCamera()

说明:获取当前帧的相机参数。5) public ARImageMetadata getImageMetadata()

说明:获取相机的 Metadata。6) public ARLightEstimate getLightEstimate()

说明:获取光照估计,如果 ARConfig. LightingMode 为 DISABLED,则返回的lightestime 的 isValid属性为 false。

7) public long getTimestampNs()

华为机密,未经许可不得扩散 Page 22 , Total 41 第 22 页,共 41 页

Page 23: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书说明:获取当前帧的时间戳(以纳秒为单位)。

8) public ARTrackable.TrackingState getTrackingState()(已过时)

说明:获取当前设备位姿的跟踪状态,如果为 TRACKING则获取的数据有效,否则无效。

9) public Collection<ARAnchor> getUpdatedAnchors()

说明:获取被 ARSession.update 更新过的锚点。10) public <T extends ARTrackable> Collection<T> getUpdatedTrackables(Class<T>

filterType)

说明:获取被本次 session.update 更新过的指定类型的所有可跟踪对像。使用方法 如 : Collection<ARFace> allFaces = mFrame. getUpdatedTrackables

(ARFace.class);

11) public boolean hasDisplayGeometryChanged()

说 明 :显示(长宽和旋转) 是 否 发 生 变化。如果 发 生 变化,需要重新 调 用transformDisplayUvCoords ()获取正确的纹理贴图坐标。

12) public List<ARHitResult> hitTest(float xPx, float yPx)

说明:从摄像头发射一条射线,该射线的方向由屏幕上的点 (xPX,yPX)确定。射线与系统跟踪的平面或者是点云中的点碰撞(如果有的话),从而产生交点。按照交点与设备的距离从近到远进行排序。 (xPX,yPX)是像素在屏幕上坐标。

13) public List<ARHitResult> hitTest(MotionEvent motionEvent)

说明:与 hitTest(float,float)相似,其屏幕上的点来自于 motionEvent。应用应保证事件来自的 view 与 session.setDisplayGeometry 对应的 view 一致。

14) public boolean isDisplayRotationChanged()(已过时)

说明:检测与前一帧相比,设备屏幕是否发生旋转。如果是的话,应用需要重新调用 getProjectionMatrix 获取新的投影矩阵,调用 transformDisplayUvCoords 获取新的纹理矩阵。推荐使用 hasDisplayGeometryChanged ()。

15) public void transformDisplayUvCoords(FloatBuffer uvCoords, FloatBuffer outUvCoords)

说明:调整纹理映射坐标,以便可以正确地显示相机捕捉到的背景图片。如果isDisplayRotationChanged()返回 true,或者使用 ARSession.setDisplayGeometry()设置了新的显示大小就需要更新纹理坐标,需要调用该方法更新纹理映射坐标;否则不需要更新。

华为机密,未经许可不得扩散 Page 23 , Total 41 第 23 页,共 41 页

Page 24: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书16) public ARSceneMesh acquireSceneMesh()

说明:返回当前帧对应的环境 Mesh。17) public WorldMappingState getMappingState()

说明:返回当前平面地图的构建状态,如果当前地图处于初始化或者不可用状态,地图是无法保存的。WorldMappingState 平面构建状态NOT_AVAILABLE 初始化状态LIMITED 地图未可用EXTENDING 附近区域地图已建好,当前位置地图正在建MAPPED 当前视角范围内的局部地图已建好

18) public AlignState getAlignState()

说明:返回当前坐标系与所加载地图的坐标系的对齐状态,只有对齐成功之后,才能正确加载联机锚点。AlignState 坐标系对齐状态NONE 初始化状态FAILED 对齐失败PROCESSING 正在对齐SUCCESS 对齐成功

2.2.1.16 ARHand

描述:用于人体手部跟踪时返回跟踪结果,包含手部骨骼数据和手势识别结果,派生自ARTrackableBase。应用应该根据该对象上的 TrackingState 对数据进行处理。当且仅当 TrackingState 为 TRACKING 时,对象上的数据才有效。手骨骼的定义如下图

各个骨骼点的定义与 ARHandSkeletonType 枚举值对应关系如下表:

华为机密,未经许可不得扩散 Page 24 , Total 41 第 24 页,共 41 页

Page 25: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书ARHandSkeletonT

ype对应的骨骼 图中

索引HANDSKELETON_RO

OT手骨根节点 0

HANDSKELETON_PINKY_1

小手指骨骼 1 1

HANDSKELETON_PINKY_2

小手指骨骼 2 2

HANDSKELETON_PINKY_3

小手指骨骼 3 3

HANDSKELETON_PINKY_4

小手指骨骼 4 4

HANDSKELETON_RING_1

无名指骨骼 1 5

HANDSKELETON_RING_2

无名指骨骼 2 6

HANDSKELETON_RING_3

无名指骨骼 3 7

HANDSKELETON_RING_4

无名指骨骼 4 8

HANDSKELETON_MIDDLE_1

中指骨骼 1 9

HANDSKELETON_MIDDLE_2

中指骨骼 2 10

HANDSKELETON_MIDDLE_3

中指骨骼 3 11

HANDSKELETON_MIDDLE_4

中指骨骼 4 12

HANDSKELETON_INDEX_1

食指骨骼 1 13

HANDSKELETON_INDEX_2

食指骨骼 2 14

HANDSKELETON_INDEX_3

食指骨骼 3 15

HANDSKELETON_INDEX_4

食指骨骼 4 16

HANDSKELETON_THUMB_1

大拇指骨骼 1 17

HANDSKELETON_THUMB_2

大拇指骨骼 2 18

HANDSKELETON_TH 大拇指骨骼 3 19

华为机密,未经许可不得扩散 Page 25 , Total 41 第 25 页,共 41 页

Page 26: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书UMB_3

HANDSKELETON_THUMB_4

大拇指骨骼 4 20

HANDSKELETON_LENGTH

非骨骼点,表示定义的骨骼点个数

21

接口:1) public int[] getGestureAction()(暂不可用)说明:获取手势动作(例如左挥、右挥)2) public float[] getGestureHandBox()

说明:获取包裹手部的矩形盒子,返回值的格式[x0,y0,0,x1,y1,0]。(x0,y0)为矩形的左上角,(x1,y1)位矩形右下角,x/y基于 OpenGL NDC 坐标系。

3) public float[] getGestureCenter()

说明:获取手部中心点坐标,返回值格式为[x,y,0]。该点为 HandBox 的中心坐标。4) public ARCoordinateSystemType getGestureCoordinateSystem ()

说明:获取当前手势姿态的使用的坐标类型。 5) public float[] getGestureOrientation()(暂不可用)说明:获取手势方向6) public int getGestureType ()

说明:获取手势类型,取值如下表:手势类型 数值 不开启深度流,是否支持 开启深度流,是否支持手势 0(握拳的手势) 0 支持 支持手势 1(竖食指) 1 支持 不支持手势 2(食指中指张开) 2 不支持 支持手势 5(五指张开) 5 支持 支持手势 6(打电话手势) 6 支持 支持手势 7(love手势) 7 支持 支持手势 8(拇指食指张开) 8 不支持 支持手势 10(比心) 10 支持 不支持其他手势 -1 -- --

华为机密,未经许可不得扩散 Page 26 , Total 41 第 26 页,共 41 页

Page 27: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书

手势 0 手势 1 手势 2 手势 5

手势 6 手势 7 手势 8 手势 10

7) public ARCoordinateSystemType getSkeletonCoordinateSystem()

说明:获取手骨数据使用的坐标系统。8) public ARHandSkeletonType[] getHandskeletonTypes ()

说明:获取手骨骼点的类型。9) public float[] getHandskeletonArray()

说 明 : 获 取手部 骨 骼 点 坐 标 数 据 , 数 据格式 为 [x0,y0,z0,x1,y1,z1,…] , 获 取 数 据 在getSkeletonCoordinateSystem()坐标系下,不同的坐标系的渲染参数不同。若 skeletonType 为getHandskeletonTypes()的返回值, 则[x0,y0,z0]为 skeletonType[0]对应的数据,依次类推。

10) public int[] getHandSkeletonConnection()

说明:获取手骨骼点联接关系数据,该数据为骨骼点类型的索引。如果返回值为 [p0,p1;p1,p3;

…],skeletonType 为 getHandSkeletonType()的返回值,则说明骨骼点 skeletonType[p0]与骨骼点 skeletonType[p0]是相连的,骨骼点 skeletonType[p1]与 skeletonType[p3]相连。

11) public ARHandType getHandType ()

说明:获取手类型。ARHandType 手的类型AR_HAND_UNKNOWN 未知或者不支持AR_HAND_RIGHT 右手

华为机密,未经许可不得扩散 Page 27 , Total 41 第 27 页,共 41 页

Page 28: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书

AR_HAND_LEFT 左手

2.2.1.17 ARHandTrackingConfig

描述:用于手势跟踪时配置 session,派生自 ARConfigBase。默认使用后置相机,自动对焦模式。

接口:1) public void setCameraLensFacing (CameraLensFacing cameraLensFacing)

说明:设置使用的相机(前置或者后置)。2) public CameraLensFacing getCameraLensFacing()

说明:获取当前配置中使用的相机。2.2.1.18 ARHitResult

描述:抽象类,定义了射线与真实世界的碰撞交点。 接口:1) public ARAnchor createAnchor()

说明:在碰撞命中位置创建一个新的锚点。2) public float getDistance()

说明:返回相机与碰撞点的距离。单位为米。3) public ARPose getHitPose()

说明:获取交点的位姿,其平移向量是交点在世界坐标系的坐标,其旋转分量根据碰撞点的不同类型(与平面的交点、与点云的交点)而有不同的定义。当射线与平面碰撞时,局部坐标系为:X+垂直于射线,平行于跟踪平面;Y+是跟踪平面的法向量;Z+平行于平面,大致指向摄像头。当射线与点云中的点碰撞时,局部坐标系为:X+垂直于射线,指向右侧(从设备的角度观察),Y+向上,Z+大致指向摄像头。

4) public ARTrackable getTrackable()

说明:返回被命中的 Trackable 对象。2.2.1.19 ARImageMetadata

描述:提供对相机图像捕获结果 metadata 的访问。 接口:1) public byte getByte(int key)

华为机密,未经许可不得扩散 Page 28 , Total 41 第 28 页,共 41 页

Page 29: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书说明:根据特定的 key 值检索标量字节值。2) public byte[] getByteArray(int key)

说明:根据特定的 key 值检索字节数组值。3) public double getDouble(int key)

说明:根据特定的 key 值检索标量 double 值。4) public double[] getDoubleArray(int key)

说明:根据特定的 key 值检索 double 数组值。5) public float getFloat(int key)

说明:根据特定的 key 值检索标量 float 值。6) public float[] getFloatArray(int key)

说明:根据特定的 key 值检索 float 数组值。7) public int getInt(int key)

说明:根据特定的 key 值检索标量 int 值。8) public int[] getIntArray(int key)

说明:根据特定的 key 值检索 int 数组值。9) public long[] getKeys()

说明:返回可用于此图像的所有元数据 key 的列表。10) public long getLong(int key)

说明:根据特定的 key 值检索标量 long 值。11) public long[] getLongArray(int key)

说明:根据特定的 key 值检索 long 数组值。12) public Rational getRational(int key)

说明:根据特定的 key 值检索标量Rational 值。13) public Rational[] getRationalArray (int key)

说明:根据特定的 key 值检索Rational 数组值。2.2.1.20 ARImageTrackingConfig

描述:用于 Image 图像识别和跟踪时配置 session,派生自 ARConfigBase。 接口:1) public void setAugmentedImageDatabase (ARAugmentedImageDatabase

augImgDatabase)

华为机密,未经许可不得扩散 Page 29 , Total 41 第 29 页,共 41 页

Page 30: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书说明:设置使用图片库。2) public ARAugmentedImageDatabase getAugmentedImageDatabase()

说明:获取当前配置使用的图片库。2.2.1.21 ARLightEstimate

描述:用于表示 AREngine 对当前环境光照的估计。 接口:1) public float getPixelIntensity()

说明:获取当前相机视野的像素强度,其范围为 0.0~1.0,0代表黑,1代表白。2) public State getState()

说明:返回此灯光估计的有效性。State 光照估计的状态NOT_VALID 无效VALID 有效

2.2.1.22 ARPlane

描 述 : 保 存 HUAWEI AR Engine 识 别 的 真 实 世 界 中 的 平 面 信 息 , 派 生 自ARTrackableBase。两个或者多个平面可能会自动合并到一个父平面中,合并之后每个子平面的 getSubsumedBy()将返回父平面。被合并的子平面将继续被跟踪和返回。

接口:1) public ARPose getCenterPose()

说明:获取平面的局部坐标系到世界坐标系转换的 pose。平面局部坐标系(右手坐标系)为:原点在包裹平面的矩形的中心,Y+为平面法向量,X+与 Z+与矩形边界的方向一致。

2) public float getExtentX()

说明:获取平面的矩形边界沿平面局部坐标系 X 轴的长度。3) public float getExtentZ()

说明:获取平面的矩形边界沿平面局部坐标系 Z 轴的长度。4) public FloatBuffer getPlanePolygon()

说明:获取检测平面的二维顶点表达,如[x1, z1, x2, z2, ...],这些值均在平面局部坐标系的 x-z 平面中定义,须经 getCenterPose()转换到世界坐标系中。注意:1.在

华为机密,未经许可不得扩散 Page 30 , Total 41 第 30 页,共 41 页

Page 31: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书垂 直 平 面 中 返 回 的 值也是局部 坐 标 系 中 的 坐 标 [x1,z1,x2,z2,….] ,需要 使 用getCenterPose()转换到世界坐标系。

5) public ARPlane getSubsumedBy()

说明:获取平面的父平面(一个平面可能会被另一个平面合并),如果无父平面返回为 null。

6) public PlaneType getType()

说明:获取平面的类型。PlaneType 描述HORIZONTAL_UPWARD_FACING 水平向上(地面,桌面)HORIZONTAL_DOWNWARD_FACING 水平向下(天花板)VERTICAL_FACING 垂直平面UNKNOWN_FACING 不支持的类型

7) public SemanticPlaneLabel getLabel()

说明:获取当前平面被识别为的语义类型。SemanticPlaneLabel 描述PLANE_OTHER 其他。PLANE_WALL 墙面PLANE_FLOOR 地面PLANE_SEAT 座位PLANE_TABLE 桌子PLANE_CEILING 房顶

8) public boolean isPoseInExtents(ARPose pose)

说明:如果给定位姿(通常从 HitResult 获得)位于平面的矩形范围内,则返回true。

9) public boolean isPoseInPolygon(ARPose pose)

说明:如果给定位姿(通常从 HitResult 获得)位于平面的多边形中,则返回true。

10) public boolean equals(Object obj)

说明:两个 ARPlane 对象可能对应同一个真实世界的平面,使用该方法可以比较是否对应同一个平面。

11) public int hashCode()

华为机密,未经许可不得扩散 Page 31 , Total 41 第 31 页,共 41 页

Page 32: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书说明:返回当前对象的 hashCode,对应同一个真实世界平面的对象返回相同值。该方法适用

于类似 HashMap 的哈希表中。2.2.1.23 ARPoint

描述:表示当前 AREngine正在跟踪的空间中的点,派生自 ARTrackableBase。该对象通过 ARsession.createAnchor(ARPose)创建,或者是 ARFrame.histTest(float,float)返回的值中包含与点云碰撞的结果。

接口:1) public OrientationMode getOrientationMode()

说明:返回当前的方向模式。OrientationMode 描述INITIALIZED_TO_IDENTITY 初始状态,与世界坐标一致ESTIMATED_SURFACE_NORMAL 与附近估计的平面一致

2) ARPose getPose()

说明:获取点的位姿。2.2.1.24 ARPointCloud

描述:点云类,记录场景中的所有特征点,包含点的位置及其对应的置信度。 接口:1) public FloatBuffer getPoints()

说 明 : 获 取 点 云 中 所 有 点 的 坐 标 x y z , 以 及 置 信度。 数 据格式 为[x0,y0,z0,c0,x1,y1,z1,c1]。其坐标值都在世界坐标系下。

2) public long getTimestampNs()

说明:获取检测到当前特征点云的时间,以纳秒为单位。3) public void release()

说明:释放点云。2.2.1.25 ARPose

描述:位姿数据类,包含平移向量和旋转向量(四元组)。在 HUAWEI AR Engine 中,其用于描述物体从局部坐标系向世界坐标系的转换,局部坐标通过该类的对象转化成世 界 坐 标 系下的 坐 标 。 HUAWEI AR Engine 中 的 世 界 坐 标 系 是右手坐 标 系(与OpenGL 一致)。该类的对象等价于 OpenGL 中的变换矩阵。

华为机密,未经许可不得扩散 Page 32 , Total 41 第 32 页,共 41 页

Page 33: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书 接口:1) public static final ARPose IDENTITY

说明:单位位姿(从世界坐标系到世界坐标系的转移)。2) public ARPose(float[] translation, float[] rotation)

说明:通过特定的平移向量和旋转向量构造位姿类,其中 translation 是从目的坐标系到局部坐标系的位移向量,rotation 是 Hamilton 四元组。

3) public ARPose compose(ARPose rhs)

说明:返回 this 与 rhs 的复合。一个点通过该方法返回的 pose 的变换等价于先通过 rhs 变换,然后 通 过 this 变换。 返 回 结 果满足如下关 系 , result.toMatrix() ==

this.toMatrix() * rhs.toMatrix()。4) public ARPose extractRotation ()

说明:返回仅包含 this旋转向量的 pose。5) public ARPose extractTranslation ()

说明:返回仅包含 this 平移向量的 pose。6) public void getRotationQuaternion (float[] dest, int offset)

说明:获取旋转四元组,放入 dest 中,初始偏移为 offset。dest 为存放结果的数组,其中的数据存放顺序为 x、y、z、w。

7) public void getTranslation (float[] dest, int offset)

说明:获取平移向量,放入 dest 中,初始偏移为 offset。8) public float[] getTransformedAxis (int axis, float scale)

说明:返回局部坐标系的某个坐标轴轴向量, axis 的取值 0=X, 1=Y, 2=Z ;scale

为轴向量长度。9) public void getTransformedAxis (int axis, float scale, float[] dest, int offset)

说明:获取局部坐标系的某个坐标轴轴向量, axis 的取值 0=X, 1=Y, 2=Z ;scale

为轴向量的长度;结果存入 dest 数组中,初始偏移为 offset

10) public float[] getXAxis ()

11) public float[] getYAxis ()

12) public float[] getZAxis ()

说明:分别返回 X、Y、Z 轴的轴向量,返回数组的长度为 3

13) public ARPose inverse ()

华为机密,未经许可不得扩散 Page 33 , Total 41 第 33 页,共 41 页

Page 34: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书说明:返回执行相反转换的 pose(世界坐标系->局部坐标系)

14) public static ARPose makeInterpolated (ARPose a, ARPose b, float t)

说明:返回 a 与 b 的插值 pose,在平移向量上执行线性插值,在旋转向量上执行球面线性插值。result = (1-t)*a+t*b。t 为插值的取值范围为[0,1]。

15) public static ARPose makeRotation (float[] quaternion)

16) public static ARPose makeRotation (float x, float y, float z, float w)

说明:根据提供的旋转向量构造 pose。平移向量为 0。17) public static ARPose makeTranslation (float[] translation)

18) public static ARPose makeTranslation (float tx, float ty, float tz)

说明:根据提供的平移向量构造 pose。旋转向量为 0。19) public float qw ()

20) public float qx ()

21) public float qy ()

22) public float qz ()

说明:分别返回四元组的 w、x、y、z 分量。23) public void rotateVector (float[] vectorIn, int inOffset, float[] vectorOut, int outOffset)

说明:根据 this 的旋转向量,旋转局部坐标系的向量,不执行平移。vectorIn 是输入的向量,inOffset 是其初始偏移;vectorOut 是输出向量,outOffset 是其初始偏移。

24) public void toMatrix(float[] dest, int offset)

说明:将位姿数据转换成 4X4 的矩阵,dest 为存放数组,其中的数据按照列优先存储。25) public float[] transformPoint (float[] x)

说明:将局部坐标系的点坐标转化成世界坐标系的点坐标。x 的坐标有 3 个分量。等价于 result=this.toMatrix()*x。返回数组的长度为 3。

26) public void transformPoint (float[] pointIn, int inOffset, float[] pointOut, int outOffset)

说明:将局部坐标系的点坐标转化成世界坐标系的点坐标。输入点的坐标为pointIn[inOffset..inOffset+2],结果放入 pointOut[outOffset..outOffset+2]。

27) public float tx ()

28) public float ty ()

29) public float tz ()

说明:返回平移向量的 x、y、z 分量。 华为机密,未经许可不得扩散 Page 34 , Total 41 第 34 页,共 41 页

Page 35: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书2.2.1.26 ARSceneMesh

描述:用于环境 Mesh 跟踪时返回跟踪结果的类, 结果包括 Mesh顶点坐标,三角形下标等。

接口:1) public ShortBuffer getSceneDepth()

说明:获取环境 mesh 当前帧对应优化后的深度图。2) public int getSceneDepthHeight()

说明:获取深度图的高。3) public int getSceneDepthWidth()

说明:获取深度图的宽。4) public FloatBuffer getVertices()

说明:返回环境 mesh顶点坐标数组。 5) public IntBuffer getTriangleIndices()

说明:返回环境 mesh三角面顶点下标的数组。6) public void release()

说明:释放 ARSceneMesh占用的资源,在获取 mesh 数据操作结束后调用,否则可能导致内存泄露。

2.2.1.27 ARSession

描述:该类管理 HUAWEI AR Engine 的系统状态,是 HUAWEI AR Engine SDK 的重要API。通过该类,用户可以创建 session,配置 session,启动、暂停和停止,还可以获取每一帧的数据以及相机的位姿参数。

接口:1) public ARSession(Activity activity)

说明:创建与 activity绑定的 Session。该方法可能抛出三种异常:Exception 描述ARUnavailableServiceNotInstalledException 设备上没有安装 AR Engine ServiceARUnavailableServiceApkTooOldException 设备上安装的 AR Engine Service 版

本过旧,与 SDK 版本不符ARUnavailableClientSdkTooOldException 应用使用的 SDK 版本过旧,与 AR

Engine Service 版本不符

华为机密,未经许可不得扩散 Page 35 , Total 41 第 35 页,共 41 页

Page 36: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书2) public void configure(ARConfigBase config)

说明 :配 置 session。注意:由于设备能力差异 ,在 调用 该函数后 , config 中的 使能项EnableItem 可 能 会 被 service 尝试修 改 成设备支持 的选项。 应 用 应 该 在 调 用 后 使 用config.getEnableItem()检查对应 的设置项以便获取 当前 Session 的使 能项。 该方 法可 能抛 出ARUnsupportedConfigurationException 异常,用来表示设置的 config 不支持。

3) public ARAnchor createAnchor(ARPose pose)

说明:使用 pose 在物理世界中创建一个跟踪的锚点。4) public Collection<ARAnchor> getAllAnchors()

说 明 : 获 取 所 有 锚 点 , 包括 TrackingState 为 PAUSED , TRACKING 和STOPPED。应用应该仅绘制 TRACKING 状态的锚点,删除 STOPPED 状态的锚点。

5) public Collection<ARPlane> getAllPlanes()(已过时)说 明 : 获 取 所 有 检 测 到 的 平 面 , 如 果 ARConfig.PlaneFindingMode 为

DISABLED,则返回空。6) public <T extends ARTrackable> Collection<T> getAllTrackables(Class<T> filterType)

说明:获取所有指定类型的可跟踪对像集合,使用方法如:Collection<ARFace> allFaces =

mSession.getAllTrackables(ARPlane.class);

7) public ARCameraConfig getCameraConfig()

说明:返回当前 Session 对应的相机配置实例。8) public void getProjectionMatrix(float[] dest, int offset, float near, float far)(已过时)说明:返回投影矩阵,该矩阵用于在相机预览的图像中渲染虚拟物体和平面。 dest 为存放矩

阵的数组,offset 为初始偏移,near 为近裁剪面的距离,far 为远裁剪面的距离(单位为米)。请使用 ARCamera上的对应接口。

9) public boolean isSupported(ARConfig config)

说明:已过时。注意:目前该函数仅返回 true。10) public void pause ()

说明:暂停 HUAWEI AR Engine ,停止相机预览流,不清除平面和锚点数据,释放相机(否则其他应用无法使用相机服务),不会断开与服务端的连接。调用后需要使用 resume()恢复。

11) public void removeAnchors(Collection<ARAnchor> anchors) (已过时)说明:删除 anchors 中的锚点。

华为机密,未经许可不得扩散 Page 36 , Total 41 第 36 页,共 41 页

Page 37: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书12) public void resume()

说明:开始或者恢复 AR Engine ARSession。13) public void resume(ARConfig config)(已过时)

说明:根据 config恢复 session,有两种使用场景:启动服务;服务被暂停后重启。注意:调用了 ARSession.stop之后,该方法不能恢复。 该方法可能抛出两种异常:Exception 描述

ARCameraPermissionDeniedException 当前应用没有相机权限ARUnsupportedConfigurationException 传入的 config 不支持

14) public void setCameraTextureName(int textureId)

说 明 :设置 可 用 于存储相 机 预 览流数 据 的 openGL textureId , 应 用 调 用ARSession.update()后,HUAWEI AR Engine 会更新相机预览到纹理 textureId 中。textureId 使用时需要指定为 GL_TEXTURE_EXTERNAL_OES。

15) public void setDisplayGeometry(float width, float height) (已过时)说明:设置显示的高和宽(以像素为单位)。该高和宽通常是显示 view 的高和宽,

如果不一致,会导致显示相机预览出错。16) public void setDisplayGeometry(int displayRotation, int widthPx, int heightPx)

说明:设置显示界面的旋转、宽和高。17) public void stop()

说明:停止 HUAWEI AR Engine ,停止相机预览流,清除平面和锚点数据,并释放相机,终止本次会话。调用后,如果要再次启动,需要新建 ARSession。

18) public ARFrame update()

说明:更新 HUAWEI AR Engine 的系统状态,包括:接收新的相机预览画面,更新设备的位置,更新锚点的位置,更新检测到的平面等。如果 ARConfig.UpdateMode 为 BLOCKING,那么该函数会阻塞至有新的帧可用。该方法可能抛出如下异常:

Exception 描述ARSessionPausedException ARSession 在暂停状态时调用了 update 方法ARMissingGlContextException 当前线程没有 GL上下文ARTextureNotSetException 在调用 update 方法前没有调用

setCameraTextureName设置接收相机预览流的纹理

华为机密,未经许可不得扩散 Page 37 , Total 41 第 37 页,共 41 页

Page 38: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书2.2.1.28 ARTrackable

描述:定义可跟踪对像的接口类,用于描述跟踪状态:enum TrackingState{ TRACKING,

PAUSED, STOPPED}。TrackingState 描述TRACKING 正在跟踪,相关的数据是有效的PAUSED 暂停跟踪,相关的数据是不准确的,不应该被使用STOPPED 停止跟踪,相关的数据是无效的,可以被删除

2.2.1.29 ARTrackableBase

描述:所有可跟踪对像类的基类,实现了 ARTrackable 接口。 接口:1) ARAnchor createAnchor(ARPose pose);

说明:从一个 ARPose创建一个 ARAnchor,该锚点将和当前的 Trackable绑定。在不支持的Trackable 类型上调动该接口,则返回值为 NULL。

2) public Collection<ARAnchor> getAnchors()

说明:获取当前可跟踪对像上绑定的所有 ARAnchor。3) ARTrackable.TrackingState getTrackingState();

说明:获取当前 Trackable 的跟踪状态。2.2.1.30 ARWorldBodyTrackingConfig

描述:用于运动跟踪和人体骨骼跟踪同时运行时配置 session,派生自 ARConfigBase。只能使用后置相机,默认对焦无穷远。

接口:1) public void setPlaneFindingMode(PlaneFindingMode findingMode)

说明:设置要识别的平面的类型。2) public PlaneFindingMode getPlaneFindingMode()

说明:获取设置的要识别的平面的类型。3) public void setAugmentedImageDatabase (ARAugmentedImageDatabase

augImgDatabase)

说明:设置使用图片库。4) public ARAugmentedImageDatabase getAugmentedImageDatabase()

说明:获取当前配置使用的图片库。

华为机密,未经许可不得扩散 Page 38 , Total 41 第 38 页,共 41 页

Page 39: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书2.2.1.31 ARWorldTrackingConfig

描述:用于运动跟踪时配置 session,派生自 ARConfigBase。只能使用后置相机,默认对焦到无穷远。

接口:1) public void setPlaneFindingMode (PlaneFindingMode planeFindingMode)

说明:设置平面检测模式。2) public PlaneFindingMode getPlaneFindingMode()

说明:获取当前平面检测模式。3) public void setAugmentedImageDatabase (ARAugmentedImageDatabase

augImgDatabase)

说明:设置使用图片库。4) public ARAugmentedImageDatabase getAugmentedImageDatabase()

说明:获取当前配置使用的图片库。2.2.2 异常类

2.2.2.1 ARCameraNotAvailableException

描述:继承 IllegalComponentStateException,用于表明当前相机为不可用状态。2.2.2.2 ARCameraPermissionDeniedException

描述:继承 RuntimeException,在 ARSession.resume(configuration)调用中抛出,用于表明当前应用没有获得相机权限。

2.2.2.3 ARDeadlineExceededException

描述:获取失败,因为正在获取的对象已经释放。2.2.2.4 ARFatalException

描述:继承RuntimeException ,当 HUAWEI AR Engine遇到不能恢复的错误时,抛出该异常。

2.2.2.5 ARMissingGlContextException

描述:继承 IllegalStateException,当线程缺少OpenGL ES上下文时抛出。2.2.2.6 ARNotTrackingException

华为机密,未经许可不得扩散 Page 39 , Total 41 第 39 页,共 41 页

Page 40: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书 描述:继承 RuntimeException,当一个操作需要某个对象处于 TRACKING 状态(而实际

不处于该状态)时抛出2.2.2.7 ARNotYetAvailableException

描述:由于获取的对象尚不可用,因此获取失败。2.2.2.8 ARResourceExhaustedException

描述:获取失败,因为已经获取的对象太多。2.2.2.9 ARSessionNotPausedException

描述:继承 IllegalStateException,当一个操作需要 HUAWEI AR Engine 停止(而实际不处于该状态)时抛出.

2.2.2.10 ARSessionPausedException

描述:继承 IllegalStateException,当一个操作需要 HUAWEI AR Engine 运行(而实际不处于该状态)时抛出。例如:在启动后未调用 ARSession.resume(),而是直接调用ARSession.update();或者在调用 ARSession.pause()后,未调用 ARSession.resume

前,调用了 ARSession.update(),会抛出该异常。2.2.2.11 ARTextureNotSetException

描 述 :继承 IllegalStateException , 当 第 一次调 用 ARSession.update 前 , 没 有 调 用ARSession. setCameraTextureName()时,抛出该异常。

2.2.2.12 ARUnavailableClientSdkTooOldException

描述:应用中使用的 HUAWEI AR Engine SDK 的版本低于当前安装的 Service 要求的最小版本时抛出该异常。

2.2.2.13 ARUnavailableConnectServerTimeOutException

描述:连接服务器超时。通用在 AREnginesApk.requestInstall(Activity,boolean)中抛出。2.2.2.14 ARUnavailableDeviceNotCompatibleException

描述:当检测到当前硬件设备不支持 HUAWEI AR Engine 时,抛出该异常。2.2.2.15 ARUnavailableEmuiNotCompatibleException

描述:当检测到当前 EMUI 版本不支持 HUAWEI AR Engine 时,抛出该异常。2.2.2.16 ARUnavailableException

华为机密,未经许可不得扩散 Page 40 , Total 41 第 40 页,共 41 页

Page 41: Huawei Technologies Coobs.cn-north-1.myhwclouds.com › consumer › docattac… · Web viewHUAWEI AR Engine SDK接口说明书 华为机密,未经许可不得扩散 Page 8 , Total

HUAWEI AR Engine SDK 接口说明书 描述:继承 RuntimeException,用于表明 HUAWEI AR Engine 不可用的异常,其子类包

括 : ARUnavailableClientSdkTooOldException,

ARUnavailableServiceApkTooOldException,

ARUnavailableDeviceNotCompatibleException,

ARUnavailableEmuiNotCompatibleException,

ARUnavailableServiceNotInstalledException。2.2.2.17 ARUnavailableServiceApkTooOldException

描述:设备上安装的 Service 的版本低于应用使用的 HUAWEI AR Engine SDK 要求的最小版本时抛出该异常。

2.2.2.18 ARUnavailableServiceNotInstalledException

描述:当检测到设备没有安装 Service 时,抛出该异常。2.2.2.19 ARUnavailableUserDeclinedInstallationException

描述:在用户先前取消安装后调用 requestInstall 时引发。2.2.2.20 ARUnSupportedConfigurationException

描述:继承 RuntimeException,在 ARSession.configure(ARConfigBase)调用中抛出,用于表明传入的配置不支持。

华为机密,未经许可不得扩散 Page 41 , Total 41 第 41 页,共 41 页