本文整理汇总了Java中com.google.atap.tangoservice.TangoCoordinateFramePair类的典型用法代码示例。如果您正苦于以下问题:Java TangoCoordinateFramePair类的具体用法?Java TangoCoordinateFramePair怎么用?Java TangoCoordinateFramePair使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
TangoCoordinateFramePair类属于com.google.atap.tangoservice包,在下文中一共展示了TangoCoordinateFramePair类的18个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: setupExtrinsics
import com.google.atap.tangoservice.TangoCoordinateFramePair; //导入依赖的package包/类
private static DeviceExtrinsics setupExtrinsics(Tango tango) {
// Create camera to IMU transform.
TangoCoordinateFramePair framePair = new TangoCoordinateFramePair();
framePair.baseFrame = TangoPoseData.COORDINATE_FRAME_IMU;
framePair.targetFrame = TangoPoseData.COORDINATE_FRAME_CAMERA_COLOR;
TangoPoseData imuToRgbPose = tango.getPoseAtTime(0.0, framePair);
// Create device to IMU transform.
framePair.targetFrame = TangoPoseData.COORDINATE_FRAME_DEVICE;
TangoPoseData imuToDevicePose = tango.getPoseAtTime(0.0, framePair);
// Create depth camera to IMU transform.
framePair.targetFrame = TangoPoseData.COORDINATE_FRAME_CAMERA_DEPTH;
TangoPoseData imuToDepthPose = tango.getPoseAtTime(0.0, framePair);
return new DeviceExtrinsics(imuToDevicePose, imuToRgbPose, imuToDepthPose);
}
开发者ID:inovex,项目名称:tango-ar-navigation-example,代码行数:18,代码来源:MainActivity.java
示例2: setUpExtrinsics
import com.google.atap.tangoservice.TangoCoordinateFramePair; //导入依赖的package包/类
/**
* Setup the extrinsics of the device.
*/
private void setUpExtrinsics() {
// Get device to imu matrix.
TangoPoseData device2IMUPose = new TangoPoseData();
TangoCoordinateFramePair framePair = new TangoCoordinateFramePair();
framePair.baseFrame = TangoPoseData.COORDINATE_FRAME_IMU;
framePair.targetFrame = TangoPoseData.COORDINATE_FRAME_DEVICE;
device2IMUPose = mTango.getPoseAtTime(0.0, framePair);
mRenderer.getModelMatCalculator().SetDevice2IMUMatrix(
device2IMUPose.getTranslationAsFloats(), device2IMUPose.getRotationAsFloats());
// Get color camera to imu matrix.
TangoPoseData color2IMUPose = new TangoPoseData();
framePair.baseFrame = TangoPoseData.COORDINATE_FRAME_IMU;
framePair.targetFrame = TangoPoseData.COORDINATE_FRAME_CAMERA_COLOR;
color2IMUPose = mTango.getPoseAtTime(0.0, framePair);
mRenderer.getModelMatCalculator().SetColorCamera2IMUMatrix(
color2IMUPose.getTranslationAsFloats(), color2IMUPose.getRotationAsFloats());
}
开发者ID:erlandsona,项目名称:Bat-Vision,代码行数:23,代码来源:MotionTrackingActivity.java
示例3: setupExtrinsics
import com.google.atap.tangoservice.TangoCoordinateFramePair; //导入依赖的package包/类
/**
* Calculates and stores the fixed transformations between the device and the various sensors
* to be used later for transformations between frames.
*/
private void setupExtrinsics() {
// Create Camera to IMU Transform
TangoCoordinateFramePair framePair = new TangoCoordinateFramePair();
framePair.baseFrame = TangoPoseData.COORDINATE_FRAME_IMU;
framePair.targetFrame = TangoPoseData.COORDINATE_FRAME_CAMERA_COLOR;
TangoPoseData imuTrgbPose = mTango.getPoseAtTime(0.0, framePair);
// Create Device to IMU Transform
framePair.targetFrame = TangoPoseData.COORDINATE_FRAME_DEVICE;
TangoPoseData imuTdevicePose = mTango.getPoseAtTime(0.0, framePair);
// Create Depth camera to IMU Transform
framePair.targetFrame = TangoPoseData.COORDINATE_FRAME_CAMERA_DEPTH;
TangoPoseData imuTdepthPose = mTango.getPoseAtTime(0.0, framePair);
mRenderer.setupExtrinsics(imuTdevicePose, imuTrgbPose, imuTdepthPose);
}
开发者ID:kupoko,项目名称:Tiresias,代码行数:22,代码来源:AugmentedRealityActivity.java
示例4: setTangoListeners
import com.google.atap.tangoservice.TangoCoordinateFramePair; //导入依赖的package包/类
/**
* Set up the callback listeners for the Tango service, then begin using the Motion
* Tracking API. This is called in response to the user clicking the 'Start' Button.
*/
private void setTangoListeners() {
// Lock configuration and connect to Tango.
// Select coordinate frame pair.
final ArrayList<TangoCoordinateFramePair> framePairs =
new ArrayList<TangoCoordinateFramePair>();
framePairs.add(new TangoCoordinateFramePair(
TangoPoseData.COORDINATE_FRAME_START_OF_SERVICE,
TangoPoseData.COORDINATE_FRAME_DEVICE));
// Listen for new Tango data
mTango.connectListener(framePairs, new OnTangoUpdateListener() {
@Override
public void onPoseAvailable(final TangoPoseData pose) {
// We are not using TangoPoseData for this application.
}
@Override
public void onXyzIjAvailable(TangoXyzIjData xyzIj) {
// We are not using onXyzIjAvailable for this app.
}
@Override
public void onPointCloudAvailable(final TangoPointCloudData pointCloudData) {
logPointCloud(pointCloudData);
}
@Override
public void onTangoEvent(final TangoEvent event) {
// Ignoring TangoEvents.
}
@Override
public void onFrameAvailable(int cameraId) {
// We are not using onFrameAvailable for this application.
}
});
}
开发者ID:max2dn,项目名称:TangoTest,代码行数:42,代码来源:HelloDepthPerceptionActivity.java
示例5: setTangoListeners
import com.google.atap.tangoservice.TangoCoordinateFramePair; //导入依赖的package包/类
/**
* Set up the callback listeners for the Tango service, then begin using the Motion
* Tracking API. This is called in response to the user clicking the 'Start' Button.
*/
private void setTangoListeners() {
// Lock configuration and connect to Tango
// Select coordinate frame pair
final ArrayList<TangoCoordinateFramePair> framePairs =
new ArrayList<TangoCoordinateFramePair>();
framePairs.add(new TangoCoordinateFramePair(
TangoPoseData.COORDINATE_FRAME_START_OF_SERVICE,
TangoPoseData.COORDINATE_FRAME_DEVICE));
// Listen for new Tango data
mTango.connectListener(framePairs, new OnTangoUpdateListener() {
@Override
public void onPoseAvailable(final TangoPoseData pose) {
logPose(pose);
}
@Override
public void onXyzIjAvailable(TangoXyzIjData xyzIj) {
// We are not using onXyzIjAvailable for this app.
}
@Override
public void onPointCloudAvailable(TangoPointCloudData pointCloud) {
// We are not using onPointCloudAvailable for this app.
}
@Override
public void onTangoEvent(final TangoEvent event) {
// Ignoring TangoEvents.
}
@Override
public void onFrameAvailable(int cameraId) {
// We are not using onFrameAvailable for this application.
}
});
}
开发者ID:max2dn,项目名称:TangoTest,代码行数:42,代码来源:HelloMotionTrackingActivity.java
示例6: setTangoListeners
import com.google.atap.tangoservice.TangoCoordinateFramePair; //导入依赖的package包/类
/**
* Set up the callback listeners for the Tango service, then begin using the Motion
* Tracking API. This is called in response to the user clicking the 'Start' Button.
*/
private void setTangoListeners() {
// Lock configuration and connect to Tango
// Select coordinate frame pair
final ArrayList<TangoCoordinateFramePair> framePairs =
new ArrayList<TangoCoordinateFramePair>();
framePairs.add(new TangoCoordinateFramePair(
TangoPoseData.COORDINATE_FRAME_START_OF_SERVICE,
TangoPoseData.COORDINATE_FRAME_DEVICE));
// Listen for new Tango data
mTango.connectListener(framePairs, new Tango.OnTangoUpdateListener() {
@Override
public void onPoseAvailable(final TangoPoseData pose) {
logPose(pose);
}
@Override
public void onXyzIjAvailable(TangoXyzIjData xyzIj) {
// We are not using onXyzIjAvailable for this app.
}
@Override
public void onPointCloudAvailable(TangoPointCloudData pointCloud) {
// We are not using onPointCloudAvailable for this app.
}
@Override
public void onTangoEvent(final TangoEvent event) {
// Ignoring TangoEvents.
}
@Override
public void onFrameAvailable(int cameraId) {
// We are not using onFrameAvailable for this application.
}
});
}
开发者ID:xiuxiu,项目名称:parrot_with_tango,代码行数:42,代码来源:DeviceListActivity.java
示例7: connectTango
import com.google.atap.tangoservice.TangoCoordinateFramePair; //导入依赖的package包/类
protected void connectTango() {
TangoUx.StartParams params = new TangoUx.StartParams();
tangoUx.start(params);
TangoConfig config = tango.getConfig(TangoConfig.CONFIG_TYPE_DEFAULT);
config.putBoolean(TangoConfig.KEY_BOOLEAN_LOWLATENCYIMUINTEGRATION, true);
config.putBoolean(TangoConfig.KEY_BOOLEAN_COLORCAMERA, true);
tango.connect(config);
ArrayList<TangoCoordinateFramePair> framePairs = new ArrayList<>();
framePairs.add(SOS_T_DEVICE_FRAME_PAIR);
framePairs.add(DEVICE_T_PREVIOUS_FRAME_PAIR);
tango.connectListener(framePairs, this);
setupCameraProperties(tango);
}
开发者ID:inovex,项目名称:tango-ar-navigation-example,代码行数:14,代码来源:MainActivity.java
示例8: startCameraPreview
import com.google.atap.tangoservice.TangoCoordinateFramePair; //导入依赖的package包/类
private void startCameraPreview() {
// Connect to color camera
tangoCameraPreview.connectToTangoCamera(mTango,
TangoCameraIntrinsics.TANGO_CAMERA_COLOR);
// Use default configuration for Tango Service.
TangoConfig config = mTango.getConfig(TangoConfig.CONFIG_TYPE_DEFAULT);
mTango.connect(config);
// No need to add any coordinate frame pairs since we are not using
// pose data. So just initialize.
ArrayList<TangoCoordinateFramePair> framePairs = new ArrayList<TangoCoordinateFramePair>();
mTango.connectListener(framePairs, new OnTangoUpdateListener() {
@Override
public void onPoseAvailable(TangoPoseData pose) {
// We are not using OnPoseAvailable for this app
}
@Override
public void onFrameAvailable(int cameraId) {
// Check if the frame available is for the camera we want and
// update its frame on the camera preview.
if (cameraId == TangoCameraIntrinsics.TANGO_CAMERA_COLOR) {
tangoCameraPreview.onFrameAvailable();
}
}
@Override
public void onXyzIjAvailable(TangoXyzIjData xyzIj) {
// We are not using OnPoseAvailable for this app
}
@Override
public void onTangoEvent(TangoEvent event) {
// We are not using OnPoseAvailable for this app
}
});
}
开发者ID:erlandsona,项目名称:Bat-Vision,代码行数:39,代码来源:MainActivity.java
示例9: setupExtrinsics
import com.google.atap.tangoservice.TangoCoordinateFramePair; //导入依赖的package包/类
private void setupExtrinsics() {
TangoCoordinateFramePair framePair = new TangoCoordinateFramePair();
framePair.baseFrame = TangoPoseData.COORDINATE_FRAME_IMU;
framePair.targetFrame = TangoPoseData.COORDINATE_FRAME_CAMERA_COLOR;
TangoPoseData imuTColorCameraPose = mTango.getPoseAtTime(0.0, framePair);
framePair.targetFrame = TangoPoseData.COORDINATE_FRAME_CAMERA_DEPTH;
TangoPoseData imuTDepthCameraPose = mTango.getPoseAtTime(0.0, framePair);
framePair.targetFrame = TangoPoseData.COORDINATE_FRAME_DEVICE;
TangoPoseData imuTDevicePose = mTango.getPoseAtTime(0.0, framePair);
mRenderer.setupExtrinsics(imuTDevicePose, imuTColorCameraPose, imuTDepthCameraPose);
}
开发者ID:kupoko,项目名称:Tiresias,代码行数:15,代码来源:PointCloudActivity.java
示例10: startCameraPreview
import com.google.atap.tangoservice.TangoCoordinateFramePair; //导入依赖的package包/类
private void startCameraPreview() {
// Connect to color camera
tangoCameraPreview.connectToTangoCamera(mTango,
TangoCameraIntrinsics.TANGO_CAMERA_COLOR);
// Use default configuration for Tango Service.
TangoConfig config = mTango.getConfig(TangoConfig.CONFIG_TYPE_DEFAULT);
mTango.connect(config);
mIsConnected = true;
// No need to add any coordinate frame pairs since we are not using
// pose data. So just initialize.
ArrayList<TangoCoordinateFramePair> framePairs = new ArrayList<TangoCoordinateFramePair>();
mTango.connectListener(framePairs, new OnTangoUpdateListener() {
@Override
public void onPoseAvailable(TangoPoseData pose) {
// We are not using OnPoseAvailable for this app
}
@Override
public void onFrameAvailable(int cameraId) {
// Check if the frame available is for the camera we want and
// update its frame on the camera preview.
if (cameraId == TangoCameraIntrinsics.TANGO_CAMERA_COLOR) {
tangoCameraPreview.onFrameAvailable();
}
}
@Override
public void onXyzIjAvailable(TangoXyzIjData xyzIj) {
// We are not using OnPoseAvailable for this app
}
@Override
public void onTangoEvent(TangoEvent event) {
// We are not using OnPoseAvailable for this app
}
});
}
开发者ID:kupoko,项目名称:Tiresias,代码行数:40,代码来源:MainActivity.java
示例11: doFitPlane
import com.google.atap.tangoservice.TangoCoordinateFramePair; //导入依赖的package包/类
/**
* Use the TangoSupport library with point cloud data to calculate the plane of
* the world feature pointed at the location the camera is looking at and update the
* renderer to show a 3D object in that location.
*/
private void doFitPlane(float u, float v) {
// Get the current device pose
TangoCoordinateFramePair framePair = new TangoCoordinateFramePair(
TangoPoseData.COORDINATE_FRAME_START_OF_SERVICE,
TangoPoseData.COORDINATE_FRAME_DEVICE);
TangoPoseData devicePose = mTango.getPoseAtTime(0.0, framePair);
// Perform plane fitting with the latest available point cloud data
TangoSupport.IntersectionPointPlaneModelPair planeModel =
mPointCloudManager.fitPlane(u, v, devicePose, mRenderer.getPoseCalculator());
mRenderer.updateObjectPose(planeModel.intersectionPoint, planeModel.planeModel, devicePose);
}
开发者ID:kupoko,项目名称:Tiresias,代码行数:18,代码来源:AugmentedRealityActivity.java
示例12: connectTango
import com.google.atap.tangoservice.TangoCoordinateFramePair; //导入依赖的package包/类
/**
* Configure the Tango service and connect it to callbacks.
*/
private void connectTango() {
// Use default configuration for Tango Service, plus low latency
// IMU integration and area learning.
TangoConfig config = mTango.getConfig(TangoConfig.CONFIG_TYPE_DEFAULT);
// NOTE: Low latency integration is necessary to achieve a precise alignment of virtual
// objects with the RBG image and produce a good AR effect.
config.putBoolean(TangoConfig.KEY_BOOLEAN_LOWLATENCYIMUINTEGRATION, true);
config.putBoolean(TangoConfig.KEY_BOOLEAN_DEPTH, true);
// NOTE: Area learning is necessary to achieve better precision is pose estimation
config.putBoolean(TangoConfig.KEY_BOOLEAN_LEARNINGMODE, true);
config.putBoolean(TangoConfig.KEY_BOOLEAN_COLORCAMERA, true);
mTango.connect(config);
// No need to add any coordinate frame pairs since we are not
// using pose data. So just initialize.
ArrayList<TangoCoordinateFramePair> framePairs = new ArrayList<TangoCoordinateFramePair>();
mTango.connectListener(framePairs, new OnTangoUpdateListener() {
@Override
public void onPoseAvailable(TangoPoseData pose) {
// We are not using OnPoseAvailable for this app.
}
@Override
public void onFrameAvailable(int cameraId) {
// Check if the frame available is for the camera we want and update its frame
// on the view.
if (cameraId == TangoCameraIntrinsics.TANGO_CAMERA_COLOR) {
// Mark a camera frame is available for rendering in the OpenGL thread
mIsFrameAvailableTangoThread.set(true);
mSurfaceView.requestRender();
}
}
@Override
public void onXyzIjAvailable(TangoXyzIjData xyzIj) {
// Save the cloud and point data for later use.
mPointCloudManager.updateXyzIj(xyzIj);
}
@Override
public void onTangoEvent(TangoEvent event) {
// We are not using OnTangoEvent for this app.
}
});
mIntrinsics = mTango.getCameraIntrinsics(TangoCameraIntrinsics.TANGO_CAMERA_COLOR);
}
开发者ID:tdb-alcorn,项目名称:defect-party,代码行数:51,代码来源:FloorplanActivity.java
示例13: setTangoListeners
import com.google.atap.tangoservice.TangoCoordinateFramePair; //导入依赖的package包/类
/**
* Set up the callback listeners for the Tango service, then begin using the Motion
* Tracking API. This is called in response to the user clicking the 'Start' Button.
*/
private void setTangoListeners() {
// Lock configuration and connect to Tango
// Select coordinate frame pair
ArrayList<TangoCoordinateFramePair> framePairs = new ArrayList<TangoCoordinateFramePair>();
// Listen for new Tango data
mTango.connectListener(framePairs, new OnTangoUpdateListener() {
@Override
public void onPoseAvailable(final TangoPoseData pose) {
// We are not using TangoPoseData for this application.
}
@Override
public void onXyzIjAvailable(TangoXyzIjData xyzIj) {
// We are not using onXyzIjAvailable for this app.
}
@Override
public void onPointCloudAvailable(final TangoPointCloudData pointCloudData) {
logPointCloud(pointCloudData);
}
@Override
public void onTangoEvent(final TangoEvent event) {
// Ignoring TangoEvents.
}
@Override
public void onFrameAvailable(int cameraId) {
// This will get called every time a new RGB camera frame is available to be
// rendered.
Log.d(TAG, "onFrameAvailable");
if (cameraId == TangoCameraIntrinsics.TANGO_CAMERA_COLOR) {
// Now that we are receiving onFrameAvailable callbacks, we can switch
// to RENDERMODE_WHEN_DIRTY to drive the render loop from this callback.
// This will result on a frame rate of approximately 30FPS, in synchrony with
// the RGB camera driver.
// If you need to render at a higher rate (i.e.: if you want to render complex
// animations smoothly) you can use RENDERMODE_CONTINUOUSLY throughout the
// application lifecycle.
if (mSurfaceView.getRenderMode() != GLSurfaceView.RENDERMODE_WHEN_DIRTY) {
mSurfaceView.setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);
}
// Note that the RGB data is not passed as a parameter here.
// Instead, this callback indicates that you can call
// the {@code updateTexture()} method to have the
// RGB data copied directly to the OpenGL texture at the native layer.
// Since that call needs to be done from the OpenGL thread, what we do here is
// set-up a flag to tell the OpenGL thread to do that in the next run.
// NOTE: Even if we are using a render by request method, this flag is still
// necessary since the OpenGL thread run requested below is not guaranteed
// to run in synchrony with this requesting call.
mIsFrameAvailableTangoThread.set(true);
// Trigger an OpenGL render to update the OpenGL scene with the new RGB data.
mSurfaceView.requestRender();
}
}
});
}
开发者ID:max2dn,项目名称:TangoTest,代码行数:66,代码来源:HelloVideoActivity.java
示例14: setTangoListeners
import com.google.atap.tangoservice.TangoCoordinateFramePair; //导入依赖的package包/类
/**
* Set up the TangoConfig and the listeners for the Tango service, then begin using the Motion
* Tracking API. This is called in response to the user clicking the 'Start' Button.
*/
private void setTangoListeners() {
// Lock configuration and connect to Tango
// Select coordinate frame pair
final ArrayList<TangoCoordinateFramePair> framePairs = new ArrayList<TangoCoordinateFramePair>();
framePairs.add(new TangoCoordinateFramePair(
TangoPoseData.COORDINATE_FRAME_START_OF_SERVICE,
TangoPoseData.COORDINATE_FRAME_DEVICE));
// Listen for new Tango data
mTango.connectListener(framePairs, new OnTangoUpdateListener() {
@Override
public void onPoseAvailable(final TangoPoseData pose) {
//Make sure to have atomic access to Tango Pose Data so that
//render loop doesn't interfere while Pose call back is updating
// the data.
synchronized (sharedLock) {
mPose = pose;
mDeltaTime = (float) (pose.timestamp - mPreviousTimeStamp) * SECS_TO_MILLISECS;
mPreviousTimeStamp = (float) pose.timestamp;
// Log whenever Motion Tracking enters an invalid state
if (!mIsAutoRecovery && (pose.statusCode == TangoPoseData.POSE_INVALID)) {
Log.w(TAG, "Invalid State");
}
if (mPreviousPoseStatus != pose.statusCode) {
count = 0;
}
count++;
mPreviousPoseStatus = pose.statusCode;
// Update the OpenGL renderable objects with the new Tango Pose
// data
float[] translation = pose.getTranslationAsFloats();
if(!mRenderer.isValid()){
return;
}
mRenderer.getTrajectory().updateTrajectory(translation);
mRenderer.getModelMatCalculator().updateModelMatrix(translation,
pose.getRotationAsFloats());
}
}
@Override
public void onXyzIjAvailable(TangoXyzIjData arg0) {
// We are not using TangoXyzIjData for this application
}
@Override
public void onTangoEvent(final TangoEvent event) {
runOnUiThread(new Runnable() {
@Override
public void run() {
mTangoEventTextView.setText(event.eventKey + ": " + event.eventValue);
}
});
}
@Override
public void onFrameAvailable(int cameraId) {
// We are not using onFrameAvailable for this application
}
});
}
开发者ID:erlandsona,项目名称:Bat-Vision,代码行数:66,代码来源:MotionTrackingActivity.java
示例15: setTangoListeners
import com.google.atap.tangoservice.TangoCoordinateFramePair; //导入依赖的package包/类
/**
* Set up the callback listeners for the Tango service, then begin using the Motion
* Tracking API. This is called in response to the user clicking the 'Start' Button.
*/
private void setTangoListeners() {
// Lock configuration and connect to Tango
// Select coordinate frame pair
final ArrayList<TangoCoordinateFramePair> framePairs = new ArrayList<TangoCoordinateFramePair>();
framePairs.add(new TangoCoordinateFramePair(
TangoPoseData.COORDINATE_FRAME_START_OF_SERVICE,
TangoPoseData.COORDINATE_FRAME_DEVICE));
// Listen for new Tango data
mTango.connectListener(framePairs, new OnTangoUpdateListener() {
@Override
public void onPoseAvailable(final TangoPoseData pose) {
// Update the OpenGL renderable objects with the new Tango Pose data.
// Note that locking for thread safe access with the OpenGL loop is done entirely
// in the renderer.
mRenderer.updateDevicePose(pose);
// Make sure to have atomic access to Tango Pose Data so that the UI
// the UI loop doesn't interfere while Pose call back is updating the data
synchronized (mUiThreadLock) {
mPose = pose;
//Now lets log some interesting statistics of Motion Tracking like
// Delta Time between two Poses, number of poses since the initialization state.
mDeltaTime = (float) (pose.timestamp - mPreviousTimeStamp) * SECS_TO_MILLISECS;
mPreviousTimeStamp = (float) pose.timestamp;
// Log whenever Motion Tracking enters an invalid state
if (!mIsAutoRecovery && (pose.statusCode == TangoPoseData.POSE_INVALID)) {
Log.w(TAG, "Invalid State");
}
if (mPreviousPoseStatus != pose.statusCode) {
mCount = 0;
}
mCount++;
mPreviousPoseStatus = pose.statusCode;
}
}
@Override
public void onXyzIjAvailable(TangoXyzIjData arg0) {
// We are not using TangoXyzIjData for this application
}
@Override
public void onTangoEvent(final TangoEvent event) {
runOnUiThread(new Runnable() {
@Override
public void run() {
mTangoEventTextView.setText(event.eventKey + ": " + event.eventValue);
}
});
}
@Override
public void onFrameAvailable(int cameraId) {
// We are not using onFrameAvailable for this application
}
});
}
开发者ID:kupoko,项目名称:Tiresias,代码行数:65,代码来源:MotionTrackingActivity.java
示例16: startAugmentedreality
import com.google.atap.tangoservice.TangoCoordinateFramePair; //导入依赖的package包/类
private void startAugmentedreality() {
if (!mIsConnected) {
mIsConnected = true;
// Connect to color camera
mGLView.connectToTangoCamera(mTango, TangoCameraIntrinsics.TANGO_CAMERA_COLOR);
// Use default configuration for Tango Service, plus low latency IMU integration.
TangoConfig config = mTango.getConfig(TangoConfig.CONFIG_TYPE_DEFAULT);
// NOTE: low latency integration is necessary to achieve a precise alignment of
// virtual objects with the RBG image and produce a good AR effect.
config.putBoolean(TangoConfig.KEY_BOOLEAN_LOWLATENCYIMUINTEGRATION, true);
config.putBoolean(TangoConfig.KEY_BOOLEAN_DEPTH, true);
mTango.connect(config);
// No need to add any coordinate frame pairs since we are not using
// pose data. So just initialize.
ArrayList<TangoCoordinateFramePair> framePairs = new ArrayList<TangoCoordinateFramePair>();
mTango.connectListener(framePairs, new OnTangoUpdateListener() {
@Override
public void onPoseAvailable(TangoPoseData pose) {
// We are not using OnPoseAvailable for this app
}
@Override
public void onFrameAvailable(int cameraId) {
// Check if the frame available is for the camera we want and
// update its frame on the view.
if (cameraId == TangoCameraIntrinsics.TANGO_CAMERA_COLOR) {
mGLView.onFrameAvailable();
}
}
@Override
public void onXyzIjAvailable(TangoXyzIjData xyzIj) {
// Get the device pose at the time the point cloud was acquired
TangoCoordinateFramePair framePair = new TangoCoordinateFramePair(
TangoPoseData.COORDINATE_FRAME_START_OF_SERVICE,
TangoPoseData.COORDINATE_FRAME_DEVICE);
TangoPoseData cloudPose = mTango.getPoseAtTime(xyzIj.timestamp, framePair);
// Save the cloud and point data for later use
mPointCloudManager.updateXyzIjData(xyzIj, cloudPose);
}
@Override
public void onTangoEvent(TangoEvent event) {
// We are not using OnPoseAvailable for this app
}
});
// Get extrinsics from device for use in transforms
// This needs to be done after connecting Tango and listeners
setupExtrinsics();
// Set-up point cloud plane fitting library helper class
mPointCloudManager = new PointCloudManager(mTango.getCameraIntrinsics(
TangoCameraIntrinsics.TANGO_CAMERA_COLOR));
}
}
开发者ID:kupoko,项目名称:Tiresias,代码行数:61,代码来源:AugmentedRealityActivity.java
示例17: setTangoListeners
import com.google.atap.tangoservice.TangoCoordinateFramePair; //导入依赖的package包/类
/**
* Set up the TangoConfig and the listeners for the Tango service, then begin using the Motion
* Tracking API. This is called in response to the user clicking the 'Start' Button.
*/
private void setTangoListeners() {
// Lock configuration and connect to Tango
// Select coordinate frame pair
final ArrayList<TangoCoordinateFramePair> framePairs = new ArrayList<TangoCoordinateFramePair>();
framePairs.add(new TangoCoordinateFramePair(
TangoPoseData.COORDINATE_FRAME_START_OF_SERVICE,
TangoPoseData.COORDINATE_FRAME_DEVICE));
// Listen for new Tango data
mTango.connectListener(framePairs, new OnTangoUpdateListener() {
@Override
public void onPoseAvailable(final TangoPoseData pose) {
//Make sure to have atomic access to Tango Pose Data so that
//render loop doesn't interfere while Pose call back is updating
// the data.
synchronized (sharedLock) {
mPose = pose;
mDeltaTime = (float) (pose.timestamp - mPreviousTimeStamp) * SECS_TO_MILLISECS;
mPreviousTimeStamp = (float) pose.timestamp;
// Log whenever Motion Tracking enters an invalid state
if (!mIsAutoRecovery && (pose.statusCode == TangoPoseData.POSE_INVALID)) {
Log.w(TAG, "Invalid State");
}
if (mPreviousPoseStatus != pose.statusCode) {
count = 0;
}
count++;
mPreviousPoseStatus = pose.statusCode;
// Update the OpenGL renderable objects with the new Tango Pose
// data
float[] translation = pose.getTranslationAsFloats();
if(!mRenderer.isValid()){
return;
}
mRenderer.getTrajectory().updateTrajectory(translation);
mRenderer.getModelMatCalculator().updateModelMatrix(translation,
pose.getRotationAsFloats());
mRenderer.updateViewMatrix();
}
}
@Override
public void onXyzIjAvailable(TangoXyzIjData arg0) {
// We are not using TangoXyzIjData for this application
}
@Override
public void onTangoEvent(final TangoEvent event) {
runOnUiThread(new Runnable() {
@Override
public void run() {
mTangoEventTextView.setText(event.eventKey + ": " + event.eventValue);
}
});
}
@Override
public void onFrameAvailable(int cameraId) {
// We are not using onFrameAvailable for this application
}
});
}
开发者ID:aroller,项目名称:tango-caminada,代码行数:67,代码来源:MotionTrackingActivity.java
示例18: setWorldFrameReference
import com.google.atap.tangoservice.TangoCoordinateFramePair; //导入依赖的package包/类
/**
* Sets up the coordinate frame to use as a device reference. It should be one of
* <code>TangoPoseData.COORDINATE_FRAME_START_OF_SERVICE</code> or
* <code>TangoPoseData.COORDINATE_FRAME_AREA_DESCRIPTION</code>.
*
* COORDINATE_FRAME_START_OF_SERVICE will be used by default.
*/
public void setWorldFrameReference(int worldFrameReference) {
TANGO_WORLD_T_DEVICE = new TangoCoordinateFramePair( worldFrameReference,
TangoPoseData.COORDINATE_FRAME_DEVICE);
}
开发者ID:kupoko,项目名称:Tiresias,代码行数:12,代码来源:TangoRajawaliRenderer.java
注:本文中的com.google.atap.tangoservice.TangoCoordinateFramePair类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论