OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 package org.chromium.content.browser.input; | |
6 | |
7 import android.content.Context; | |
8 | |
9 import com.google.vrtoolkit.cardboard.CardboardDeviceParams; | |
10 import com.google.vrtoolkit.cardboard.FieldOfView; | |
11 import com.google.vrtoolkit.cardboard.HeadMountedDisplay; | |
12 import com.google.vrtoolkit.cardboard.HeadMountedDisplayManager; | |
13 import com.google.vrtoolkit.cardboard.ScreenParams; | |
14 import com.google.vrtoolkit.cardboard.sensors.HeadTracker; | |
15 | |
16 import org.chromium.base.CalledByNative; | |
17 import org.chromium.base.JNINamespace; | |
18 | |
19 /** | |
20 * This is the implementation of the C++ counterpart CardboardVRDevice. | |
21 */ | |
22 @JNINamespace("content") | |
23 class CardboardVRDevice { | |
24 private static final String TAG = "CardboardVRDevice"; | |
25 private HeadMountedDisplayManager mHMDManager; | |
26 private HeadTracker mHeadTracker; | |
27 private long mVrDevicePtr; | |
28 | |
29 @CalledByNative | |
30 private static CardboardVRDevice create(Context context, long vrDevicePtr) { | |
31 return new CardboardVRDevice(context, vrDevicePtr); | |
32 } | |
33 | |
34 private CardboardVRDevice(Context context, long vrDevicePtr) { | |
35 mVrDevicePtr = vrDevicePtr; | |
36 | |
37 mHMDManager = new HeadMountedDisplayManager(context); | |
Ted C
2015/03/28 00:56:04
Should we be calling things like this:
https://dev
| |
38 | |
39 mHeadTracker = HeadTracker.createFromContext(context); | |
40 mHeadTracker.setNeckModelEnabled(true); | |
41 mHeadTracker.startTracking(); | |
42 } | |
43 | |
44 @CalledByNative | |
45 private void getFieldOfView(float[] outFov) { | |
46 HeadMountedDisplay hmd = mHMDManager.getHeadMountedDisplay(); | |
47 CardboardDeviceParams deviceParams = hmd.getCardboardDeviceParams(); | |
48 FieldOfView fov = deviceParams.getLeftEyeMaxFov(); | |
49 outFov[0] = fov.getTop(); | |
50 outFov[1] = fov.getBottom(); | |
51 outFov[2] = fov.getLeft(); | |
52 outFov[3] = fov.getRight(); | |
53 } | |
54 | |
55 @CalledByNative | |
56 private float getIPD() { | |
Ted C
2015/03/28 00:56:04
java says to not capitalize acronyms
https://sour
| |
57 HeadMountedDisplay hmd = mHMDManager.getHeadMountedDisplay(); | |
58 CardboardDeviceParams deviceParams = hmd.getCardboardDeviceParams(); | |
59 return deviceParams.getInterLensDistance(); | |
60 } | |
61 | |
62 @CalledByNative | |
63 private String getDeviceName() { | |
64 HeadMountedDisplay hmd = mHMDManager.getHeadMountedDisplay(); | |
65 CardboardDeviceParams deviceParams = hmd.getCardboardDeviceParams(); | |
66 return deviceParams.getVendor() + " " + deviceParams.getModel(); | |
67 } | |
68 | |
69 @CalledByNative | |
70 private void getScreenSize(int[] outSize) { | |
71 HeadMountedDisplay hmd = mHMDManager.getHeadMountedDisplay(); | |
72 ScreenParams screenParams = hmd.getScreenParams(); | |
73 outSize[0] = screenParams.getWidth(); | |
74 outSize[1] = screenParams.getHeight(); | |
75 } | |
76 | |
77 @CalledByNative | |
78 private void getSensorState(float[] outMatrix) { | |
79 mHeadTracker.getLastHeadView(outMatrix, 0); | |
80 } | |
81 | |
82 @CalledByNative | |
83 private void stopTracking() { | |
84 mHeadTracker.stopTracking(); | |
85 } | |
86 | |
87 @CalledByNative | |
88 private void resetSensor() { | |
89 mHeadTracker.resetTracker(); | |
90 } | |
91 } | |
OLD | NEW |