OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "config.h" | 5 #include "config.h" |
6 #include "modules/vr/VRHardwareUnit.h" | 6 #include "modules/vr/VRHardwareUnit.h" |
7 | 7 |
8 #include "modules/vr/HMDVRDevice.h" | 8 #include "modules/vr/HMDVRDevice.h" |
9 #include "modules/vr/NavigatorVRDevice.h" | 9 #include "modules/vr/NavigatorVRDevice.h" |
10 #include "modules/vr/PositionSensorVRDevice.h" | 10 #include "modules/vr/PositionSensorVRDevice.h" |
11 #include "modules/vr/VRController.h" | 11 #include "modules/vr/VRController.h" |
12 #include "modules/vr/VRDevice.h" | 12 #include "modules/vr/VRDevice.h" |
13 #include "public/platform/Platform.h" | 13 #include "public/platform/Platform.h" |
14 | 14 |
15 namespace blink { | 15 namespace blink { |
16 | 16 |
17 VRHardwareUnit::VRHardwareUnit(VRController* controller) | 17 VRHardwareUnit::VRHardwareUnit(NavigatorVRDevice* navigatorVRDevice) |
18 : m_nextDeviceId(1) | 18 : m_nextDeviceId(1) |
19 , m_frameIndex(0) | 19 , m_frameIndex(0) |
20 , m_controller(controller) | 20 , m_navigatorVRDevice(navigatorVRDevice) |
21 { | 21 { |
22 m_positionState = VRPositionState::create(); | 22 m_positionState = VRPositionState::create(); |
23 } | 23 } |
24 | 24 |
25 VRHardwareUnit::~VRHardwareUnit() | 25 VRHardwareUnit::~VRHardwareUnit() |
26 { | 26 { |
27 } | 27 } |
28 | 28 |
29 void VRHardwareUnit::updateFromWebVRDevice(const WebVRDevice& device) | 29 void VRHardwareUnit::updateFromWebVRDevice(const WebVRDevice& device) |
30 { | 30 { |
(...skipping 21 matching lines...) Expand all Loading... |
52 { | 52 { |
53 if (m_hmd) | 53 if (m_hmd) |
54 vrDevices.append(m_hmd); | 54 vrDevices.append(m_hmd); |
55 | 55 |
56 if (m_positionSensor) | 56 if (m_positionSensor) |
57 vrDevices.append(m_positionSensor); | 57 vrDevices.append(m_positionSensor); |
58 } | 58 } |
59 | 59 |
60 VRController* VRHardwareUnit::controller() | 60 VRController* VRHardwareUnit::controller() |
61 { | 61 { |
62 return m_controller; | 62 return m_navigatorVRDevice->controller(); |
63 } | 63 } |
64 | 64 |
65 VRPositionState* VRHardwareUnit::getSensorState() | 65 VRPositionState* VRHardwareUnit::getSensorState() |
66 { | 66 { |
67 WebHMDSensorState state; | 67 WebHMDSensorState state; |
68 m_controller->getSensorState(m_index, state); | 68 controller()->getSensorState(m_index, state); |
69 m_positionState->setState(state); | 69 m_positionState->setState(state); |
70 m_frameIndex = state.frameIndex; | 70 m_frameIndex = state.frameIndex; |
71 return m_positionState; | 71 return m_positionState; |
72 } | 72 } |
73 | 73 |
74 DEFINE_TRACE(VRHardwareUnit) | 74 DEFINE_TRACE(VRHardwareUnit) |
75 { | 75 { |
76 visitor->trace(m_controller); | 76 visitor->trace(m_navigatorVRDevice); |
77 visitor->trace(m_positionState); | 77 visitor->trace(m_positionState); |
78 visitor->trace(m_hmd); | 78 visitor->trace(m_hmd); |
79 visitor->trace(m_positionSensor); | 79 visitor->trace(m_positionSensor); |
80 } | 80 } |
81 | 81 |
82 } // namespace blink | 82 } // namespace blink |
OLD | NEW |