【发布时间】:2016-05-21 12:55:05
【问题描述】:
更新:
我找到了重新本地化的行,但设备不本地化本身。加载 ADF 后,我总是返回状态代码 POSE_INITIALIZING。 Java Area_Description_Example 中的重新本地化也不起作用。有同样问题的人吗? 唯一具有重新本地化功能的应用是“Explorer”和“ADF Inspector”,但我没有它的源代码。
这是我的第一个问题的解决方案,加载 ADF 后检查重新本地化的代码:
TangoPoseData lastFramePose = mTango.getPoseAtTime(mRgbTimestampGlThread,
FRAME_PAIR);
if (lastFramePose.statusCode == TangoPoseData.POSE_VALID) {
// Device is re-located!
// Update the camera pose from the renderer
mRenderer.updateRenderCameraPose(lastFramePose);
mCameraPoseTimestamp = lastFramePose.timestamp;
} else {
Log.w(TAG, "Can't get device pose at time: " + mRgbTimestampGlThread);
}
旧:
在我的应用程序中,用户可以决定是开始新会话还是加载以前记录的 ADF(区域描述文件)。我加载了 ADF (adfUUID) 并将其添加到 Tango 类对象 (mTango) 中,如下所示:
TangoConfig config = mTango.getConfig(TangoConfig.CONFIG_TYPE_CURRENT);
config.putString(TangoConfig.KEY_STRING_AREADESCRIPTION, adfUUID);
mTango.setRuntimeConfig(config);
所以我现在的问题是,如何使用加载的 ADF 检查该区域是否已本地化?我想要一个坐标参考框架来启动加载的 ADF 的服务,而不是我的新会话。 这是我在 connectTango() 函数中的设置:
TangoConfig config = mTango.getConfig(TangoConfig.CONFIG_TYPE_DEFAULT);
config.putBoolean(TangoConfig.KEY_BOOLEAN_LOWLATENCYIMUINTEGRATION, true);
config.putBoolean(TangoConfig.KEY_BOOLEAN_DEPTH, true);
config.putBoolean(TangoConfig.KEY_BOOLEAN_LEARNINGMODE, true);
config.putBoolean(TangoConfig.KEY_BOOLEAN_COLORCAMERA, true);
mTango.connect(config);
我使用的帧对是:
private static final TangoCoordinateFramePair FRAME_PAIR = new TangoCoordinateFramePair(
TangoPoseData.COORDINATE_FRAME_AREA_DESCRIPTION,
TangoPoseData.COORDINATE_FRAME_DEVICE);
【问题讨论】:
标签: java android google-project-tango