智能客服
你问我答,随时在线为你解决问题
提供AR Engine增强现实能力的相关接口。
AR的基础核心能力,包含:运动跟踪,环境跟踪,命中检测。
起始版本: 5.0.0(12)
名称 | 描述 |
|---|---|
声明用于访问AR Engine的API。提供AR Engine基本功能,包括运动跟踪,环境跟踪,命中检测。 |
名称 | 描述 |
|---|---|
struct AREngine_ClipPlaneDistance | 裁剪平面距离数据。 |
名称 | 描述 |
|---|---|
包围盒坐标集数组大小。 | |
位姿数据数组大小。 | |
变换矩阵数组大小。 | |
相机畸变参数的个数。 |
名称 | 描述 |
|---|---|
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_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_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 } | 接口返回错误码,用于表示一个接口的调用状态。 |
- const static int32_t ARENGINE_AABB_POINT_SIZE = 6
描述:
包围盒坐标集数组大小。
起始版本: 5.0.0(12)
- const static int32_t ARENGINE_POSE_RAW_SIZE = 7
描述:
位姿数据数组大小。
起始版本: 5.0.0(12)
- const static int32_t ARENGINE_VIEW_MATRIX_SIZE = 16
描述:
变换矩阵数组大小。
起始版本: 5.0.0(12)
- const static int32_t ARENGINE_DISTORTION_COUNT = 5
描述:
相机畸变参数的个数。
起始版本: 5.0.0(12)
- typedef struct AREngine_ARAnchor AREngine_ARAnchor
描述
表示锚点对象,描述与可跟踪对象关联的空间位置。
起始版本: 5.0.0(12)
- typedef struct AREngine_ARAnchorList AREngine_ARAnchorList
描述
表示锚点对象列表,包含一系列锚点对象
起始版本: 5.0.0(12)
- typedef struct AREngine_ARCamera AREngine_ARCamera
描述
表示当前帧对应的相机信息。
起始版本: 5.0.0(12)
- typedef struct AREngine_ARCameraConfig AREngine_ARCameraConfig
描述
提供相机的配置信息,如CPU图像的尺寸,GPU纹理的尺寸。
起始版本: 5.0.0(12)
- typedef struct AREngine_ARCameraIntrinsics AREngine_ARCameraIntrinsics
描述
表示相机内参,包括fx;fy;cx;cy;畸变参数。
起始版本: 5.0.0(12)
- typedef struct AREngine_ARConfig AREngine_ARConfig
描述
用于配置AREngine_ARSession的能力项(使用哪些能力、模式等)。
起始版本: 5.0.0(12)
- typedef struct AREngine_ARFrame AREngine_ARFrame
描述
表示AR Engine处理的一帧数据。
起始版本: 5.0.0(12)
- typedef struct AREngine_ARHitResult AREngine_ARHitResult
描述
表示命中检测结果对象,描述单个可跟踪对象的命中检测结果。
起始版本: 5.0.0(12)
- typedef struct AREngine_ARHitResultList AREngine_ARHitResultList
描述
表示命中检测结果列表,包含一系列命中检测的结果对象。
起始版本: 5.0.0(12)
- typedef struct AREngine_ARImage AREngine_ARImage
描述
相机视频流帧对象。
起始版本: 5.0.0(12)
- typedef struct AREngine_ARPlane AREngine_ARPlane
描述
表示平面对象,描述被检测到的可跟踪平面信息。
起始版本: 5.0.0(12)
- typedef struct AREngine_ARPoint AREngine_ARPoint
描述
表示点对象,描述被检测到的可跟踪点数据。
起始版本: 5.0.0(12)
- typedef struct AREngine_ARPointCloud AREngine_ARPointCloud
描述
表示可跟踪的3D点云的集合。
起始版本: 5.0.0(12)
- typedef struct AREngine_ARPose AREngine_ARPose
描述
表示位姿(平移+旋转),从一个坐标系到另一个坐标系的不可变的刚体变换。
起始版本: 5.0.0(12)
- typedef struct AREngine_ARSession AREngine_ARSession
描述
用于管理AR Engine的系统状态。
起始版本: 5.0.0(12)
- typedef struct AREngine_ARTarget AREngine_ARTarget
描述
表示物体对象,描述被检测到的可跟踪语义目标信息,例如语义平面。
起始版本: 5.0.0(12)
- typedef struct AREngine_ARTrackable AREngine_ARTrackable
描述
表示可跟踪对象,如点、平面等。
应用获取到此对象后,如需对此对象进行具体操作,如通过HMS_AREngine_ARPlane_GetCenterPose接口获取平面的中心点位置, 通过HMS_AREngine_ARPoint_GetPose接口获取点的位姿信息等, 可以根据可跟踪对象类型(通过HMS_AREngine_ARTrackable_GetType接口获取)转换成相应的对象, 如AREngine_ARPlane,AREngine_ARPoint等,转换方式可参考: AREngine_ARPlane *arPlane = reinterpret_cast<AREngine_ARPlane *>(trackable)。
起始版本: 5.0.0(12)
- typedef struct AREngine_ARTrackableList AREngine_ARTrackableList
描述
表示可跟踪对象列表,包含一系列可跟踪对象。
起始版本: 5.0.0(12)
- enum AREngine_ARFocusMode
描述
对焦模式。
起始版本: 5.0.0(12)
枚举值 | 描述 |
|---|---|
ARENGINE_FOCUS_MODE_FIXED | 固定对焦到无穷远。 |
ARENGINE_FOCUS_MODE_AUTO | 自动对焦模式。 |
- 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)和像素步长。 |
- 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 | 启用平面检测,包括水平和垂直平面。 |
- 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 | 不支持的类型。 |
- enum AREngine_ARPointOrientationMode
描述
朝向模式。
起始版本: 5.0.0(12)
枚举值 | 描述 |
|---|---|
ARENGINE_POINT_ORIENTATION_INITIALIZED_TO_IDENTITY | 与世界坐标系的朝向一致,但会稍作调整。 |
ARENGINE_POINT_ORIENTATION_ESTIMATED_SURFACE_NORMAL | 朝向由估计的平面法向量决定。 |
- 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度。 |
- 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 | 超级省电模式。 |
- enum AREngine_ARPreviewMode
描述
预览模式
起始版本: 5.0.0(12)
枚举值 | 描述 |
|---|---|
ARENGINE_PREVIEW_MODE_ENABLED | 开启相机预览。 |
ARENGINE_PREVIEW_MODE_DISABLED | 关闭相机预览,如:VR模式,不需要相机预览流。 在此模式下,通过HMS_AREngine_ARSession_SetCameraGLTexture接口设置的OpenGL纹理 将不会被更新。 |
- enum AREngine_ARSemanticMode
描述
语义模式。
起始版本: 5.0.0(12)
枚举值 | 描述 |
|---|---|
ARENGINE_SEMANTIC_MODE_NONE | 不使用语义。 |
ARENGINE_SEMANTIC_MODE_PLANE | 使用平面语义。 |
ARENGINE_SEMANTIC_MODE_TARGET | 使用物体语义。 |
- 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 | 床。 |
- 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 | 相机不可用状态。 |
- enum AREngine_ARTargetShapeLabel
描述
识别到的物体形状。
起始版本: 5.0.0(12)
枚举值 | 描述 |
|---|---|
ARENGINE_TARGET_SHAPE_UNKNOWN | 未知形状。 |
ARENGINE_TARGET_SHAPE_CUBE | 立方体形状。可以识别规则物体的包围框。 |
ARENGINE_TARGET_SHAPE_CIRCLE | 圆形形状。 |
ARENGINE_TARGET_SHAPE_RECTANGLE | 矩形形状。 |
- enum AREngine_ARTrackableType
描述
可跟踪对象类型,如平面、点等。
起始版本: 5.0.0(12)
枚举值 | 描述 |
|---|---|
ARENGINE_TRACKABLE_BASE | 基础可跟踪对象类型,可作为默认的AREngine_ARTrackableType类型。 |
ARENGINE_TRACKABLE_PLANE | 平面类可跟踪对象类型。 |
ARENGINE_TRACKABLE_POINT | 点类可跟踪对象类型。 |
ARENGINE_TRACKABLE_TARGET | 物体类可跟踪对象类型。 |
ARENGINE_TRACKABLE_INVALID | 无效的可跟踪对象类型。 |
- enum AREngine_ARTrackingState
描述
可跟踪对象的跟踪状态。
起始版本: 5.0.0(12)
枚举值 | 描述 |
|---|---|
ARENGINE_TRACKING_STATE_TRACKING | 跟踪状态:跟踪。 |
ARENGINE_TRACKING_STATE_PAUSED | 跟踪状态:暂停。 |
ARENGINE_TRACKING_STATE_STOPPED | 跟踪状态:停止。 |
- enum AREngine_ARTrackingStateReason
描述
可能的跟踪失败原因。
起始版本: 5.0.0(12)
枚举值 | 描述 |
|---|---|
ARENGINE_TRACKING_STATE_REASON_NONE | 跟踪失败原因:无。 |
ARENGINE_TRACKING_STATE_REASON_EXCESSIVE_MOTION | 跟踪失败原因:快速运动。 |
ARENGINE_TRACKING_STATE_REASON_INSUFFICIENT_FEATURES | 跟踪失败原因:视觉特征过少(如弱纹理)。 |
- enum AREngine_ARType
描述
AR能力类型。
起始版本: 5.0.0(12)
枚举值 | 描述 |
|---|---|
ARENGINE_TYPE_WORLD | 环境跟踪能力。 |
- 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方法立刻返回(如果没有新的帧,返回上一帧)。 |
- 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。
- 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。
- 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。
- void HMS_AREngine_ARAnchor_Release(AREngine_ARAnchor *anchor)
描述
释放指定锚点对象的内存。释放前需要先通知AR Engine停止跟踪并解绑锚点。
起始版本: 5.0.0(12)
参数:
名称 | 描述 |
|---|---|
anchor | 待释放的锚点对象,参见AREngine_ARAnchor。 |
- 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。
- 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。
- void HMS_AREngine_ARAnchorList_Destroy(AREngine_ARAnchorList *anchorList)
描述
释放一个锚点对象列表。
起始版本: 5.0.0(12)
参数:
名称 | 描述 |
|---|---|
anchorList | 待释放的锚点对象列表,参见AREngine_ARAnchorList。 |
- 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。
- 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。
- 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。
- 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。
- 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_ARStatus。
- 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。
- 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。
- 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。
- 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。 |
- 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。
- void HMS_AREngine_ARCameraConfig_Destroy(AREngine_ARCameraConfig *cameraConfig)
描述
释放相机配置对象。
起始版本: 5.0.0(12)
参数:
名称 | 描述 |
|---|---|
cameraConfig | 指向相机配置对象的指针,参见AREngine_ARCameraConfig。 |
- 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。
- 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。
- 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。
- void HMS_AREngine_ARCameraIntrinsics_Destroy(AREngine_ARCameraIntrinsics *intrinsics)
描述
释放指定的相机内参对象。
起始版本: 5.0.0(12)
参数:
名称 | 描述 |
|---|---|
intrinsics | 待释放的相机内参对象,参见AREngine_ARCameraIntrinsics。 |
- 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。
- 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。
- 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。
- 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。
- 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。
- void HMS_AREngine_ARConfig_Destroy(AREngine_ARConfig *config)
描述
释放指定的配置对象的内存空间。
起始版本: 5.0.0(12)
参数:
名称 | 描述 |
|---|---|
config | 待释放的配置对象,参见AREngine_ARConfig。 |
- 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。
- 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
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- void HMS_AREngine_ARFrame_Destroy(AREngine_ARFrame *frame)
描述
删除当前AREngine_ARFrame对象。
起始版本: 5.0.0(12)
参数:
名称 | 描述 |
|---|---|
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,代表未发生变化,否则为发生了变化。
起始版本: 5.0.0(12)
参数:
名称 | 描述 |
|---|---|
session | 与AR Engine服务交互的AREngine_ARSession对象。 |
frame | 当前帧对象,参见AREngine_ARFrame。 |
outGeometryChangeState | 显示(长宽和旋转)是否发生变化。0代表未发生变化,否则为发生了变化。 |
返回:
接口执行状态,参见AREngine_ARStatus。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- void HMS_AREngine_ARHitResult_Destroy(AREngine_ARHitResult *hitResult)
描述
释放命中检测结果对象使用的内存。
起始版本: 5.0.0(12)
参数:
名称 | 描述 |
|---|---|
hitResult | 待释放的命中检测结果对象,参见AREngine_ARHitResult。 |
- 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。
- AREngine_ARStatus HMS_AREngine_ARHitResult_GetHitPose(const AREngine_ARSession *session, const AREngine_ARHitResult *hitResult, AREngine_ARPose *outPose)
描述
获取交点的位姿,其平移向量是交点在世界坐标系的坐标,其旋转分量根据碰撞点的不同类型(平面交点、点云交点)而有不同的定义。
起始版本: 5.0.0(12)
参数:
名称 | 描述 |
|---|---|
session | 与AR Engine服务交互的AREngine_ARSession对象。 |
hitResult | 命中检测结果对象,参见AREngine_ARHitResult。 |
outPose | 交点的位姿,参见AREngine_ARPose。 |
返回:
接口执行状态,参见AREngine_ARStatus。
- 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。
- void HMS_AREngine_ARHitResultList_Destroy(AREngine_ARHitResultList *hitResultList)
描述
释放命中检测结果对象列表,以及其中的所有命中检测结果对象。
起始版本: 5.0.0(12)
参数:
名称 | 描述 |
|---|---|
hitResultList | 待释放的命中检测结果对象列表,参见AREngine_ARHitResultList。 |
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- void HMS_AREngine_ARImage_Release(AREngine_ARImage *image)
描述
释放当前帧的图像对象,由HMS_AREngine_ARFrame_AcquireCameraImage创建的对象。
起始版本: 5.0.0(12)
参数:
名称 | 描述 |
|---|---|
image | 当前帧图像对象,参见AREngine_ARImage。 |
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- void HMS_AREngine_ARPointCloud_Release(AREngine_ARPointCloud *pointCloud)
描述
释放点云对象使用的内存。
起始版本: 5.0.0(12)
参数:
名称 | 描述 |
|---|---|
pointCloud | 待释放的点云对象,参见AREngine_ARPointCloud。 |
- AREngine_ARStatus HMS_AREngine_ARPose_Create(const AREngine_ARSession *session, const float *poseRaw, const uint32_t poseRawSize, AREngine_ARPose **outPose)
描述
分配并初始化一个新的位姿对象。可以设置poseRaw为空,来创建未初始化的位姿对象,随后调用HMS_AREngine_ARPoint_GetPose、HMS_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。
- void HMS_AREngine_ARPose_Destroy (AREngine_ARPose *pose)
描述
释放位姿对象使用的内存。
起始版本: 5.0.0(12)
参数:
名称 | 描述 |
|---|---|
pose | 需要释放的位姿对象,参见AREngine_ARPose。 |
- 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。
- 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。
- 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。
- 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。
- 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。
- void HMS_AREngine_ARSession_Destroy(AREngine_ARSession *session)
描述
释放AREngine_ARSession会话使用的资源。
起始版本: 5.0.0(12)
参数:
名称 | 描述 |
|---|---|
session | 与AR Engine服务交互的AREngine_ARSession对象。 |
返回:
接口执行状态,参见AREngine_ARStatus。
- 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。
- 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。
- 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。
- AREngine_ARStatus HMS_AREngine_ARSession_Pause(AREngine_ARSession *session)
描述
暂停会话,停止相机预览流,不清除平面和锚点数据,释放相机(否则其他应用无法使用相机服务)。
起始版本: 5.0.0(12)
参数:
名称 | 描述 |
|---|---|
session | 与AR Engine服务交互的AREngine_ARSession对象。 |
返回:
接口执行状态,参见AREngine_ARStatus。
- 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。
- 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。
- 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。
- AREngine_ARStatus HMS_AREngine_ARSession_Stop(AREngine_ARSession *session)
描述
停止AR Engine,停止相机预览流,清除平面和锚点数据,并释放相机,终止本次会话。
调用后,如果要再次启动,需要新建AREngine_ARSession。
起始版本: 5.0.0(12)
参数:
名称 | 描述 |
|---|---|
session | 与AR Engine服务交互的AREngine_ARSession对象。 |
返回:
接口执行状态,参见AREngine_ARStatus。
- AREngine_ARStatus HMS_AREngine_ARSession_Update(AREngine_ARSession *session, AREngine_ARFrame *outFrame)
描述
更新AR Engine的计算结果。
应用应在需要获取最新的数据时调用此接口,如相机发生移动以后,使用此接口可以获取新的锚点坐标、平面坐标、相机获取的图像帧等。
如果HMS_AREngine_ARConfig_GetUpdateMode为ARENGINE_UPDATE_MODE_BLOCKING状态,那么该函数会阻塞至有新的帧可用。
起始版本: 5.0.0(12)
参数:
名称 | 描述 |
|---|---|
session | 与AR Engine服务交互的AREngine_ARSession对象。 |
outFrame | 更新后的帧对象,参见AREngine_ARFrame。 |
返回:
接口执行状态,参见AREngine_ARStatus。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- 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。
- void HMS_AREngine_ARTrackable_Release(AREngine_ARTrackable *trackable)
描述
释放可跟踪对象。
起始版本: 5.0.0(12)
参数:
名称 | 描述 |
|---|---|
trackable | 待释放的可跟踪对象,参见AREngine_ARTrackable。 |
- 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。
- 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。
- void HMS_AREngine_ARTrackableList_Destroy(AREngine_ARTrackableList *trackableList)
描述
释放可跟踪对象列表,以及它持有的所有锚点引用。
起始版本: 5.0.0(12)
参数:
名称 | 描述 |
|---|---|
trackableList | 待释放的可跟踪对象列表,参见AREngine_ARTrackableList。 |
- 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。