Chromium Code Reviews| Index: third_party/WebKit/Source/modules/vr/VRPose.cpp |
| diff --git a/third_party/WebKit/Source/modules/vr/VRPose.cpp b/third_party/WebKit/Source/modules/vr/VRPose.cpp |
| index 91d71199d57e6693a9f760f9def7fff139012aae..f793c6171fe9f1ba62b85eeddd6bcd5658793d50 100644 |
| --- a/third_party/WebKit/Source/modules/vr/VRPose.cpp |
| +++ b/third_party/WebKit/Source/modules/vr/VRPose.cpp |
| @@ -8,27 +8,10 @@ namespace blink { |
| namespace { |
| -DOMFloat32Array* vecToFloat32Array(const mojom::blink::VRVector4Ptr& vec) |
| +DOMFloat32Array* mojoArrayToFloat32Array(const mojo::WTFArray<float>& vec) |
|
haraken
2016/05/18 23:50:01
Shall we:
- move this function to platform/mojo/M
|
| { |
| if (!vec.is_null()) { |
| - DOMFloat32Array* out = DOMFloat32Array::create(4); |
| - out->data()[0] = vec->x; |
| - out->data()[1] = vec->y; |
| - out->data()[2] = vec->z; |
| - out->data()[3] = vec->w; |
| - return out; |
| - } |
| - return nullptr; |
| -} |
| - |
| -DOMFloat32Array* vecToFloat32Array(const mojom::blink::VRVector3Ptr& vec) |
| -{ |
| - if (!vec.is_null()) { |
| - DOMFloat32Array* out = DOMFloat32Array::create(3); |
| - out->data()[0] = vec->x; |
| - out->data()[1] = vec->y; |
| - out->data()[2] = vec->z; |
| - return out; |
| + return DOMFloat32Array::create(&(vec.front()), vec.size()); |
|
esprehn
2016/05/18 21:55:29
This will crash if the vector is of size 0. Should
|
| } |
| return nullptr; |
| } |
| @@ -40,18 +23,18 @@ VRPose::VRPose() |
| { |
| } |
| -void VRPose::setPose(const mojom::blink::VRSensorStatePtr& state) |
| +void VRPose::setPose(const mojom::blink::VRPosePtr& state) |
| { |
| if (state.is_null()) |
| return; |
| m_timeStamp = state->timestamp; |
| - m_orientation = vecToFloat32Array(state->orientation); |
| - m_position = vecToFloat32Array(state->position); |
| - m_angularVelocity = vecToFloat32Array(state->angularVelocity); |
| - m_linearVelocity = vecToFloat32Array(state->linearVelocity); |
| - m_angularAcceleration = vecToFloat32Array(state->angularAcceleration); |
| - m_linearAcceleration = vecToFloat32Array(state->linearAcceleration); |
| + m_orientation = mojoArrayToFloat32Array(state->orientation); |
| + m_position = mojoArrayToFloat32Array(state->position); |
| + m_angularVelocity = mojoArrayToFloat32Array(state->angularVelocity); |
| + m_linearVelocity = mojoArrayToFloat32Array(state->linearVelocity); |
| + m_angularAcceleration = mojoArrayToFloat32Array(state->angularAcceleration); |
| + m_linearAcceleration = mojoArrayToFloat32Array(state->linearAcceleration); |
| } |
| DEFINE_TRACE(VRPose) |