blob: 92b9dec4044e0cc1c46a4783069e8da73fb9473c [file] [log] [blame]
// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "device/vr/util/transform_utils.h"
#include "ui/gfx/geometry/decomposed_transform.h"
#include "ui/gfx/geometry/transform.h"
namespace device {
namespace vr_utils {
gfx::Transform VrPoseToTransform(const device::mojom::VRPose* pose) {
gfx::DecomposedTransform decomp;
if (pose->orientation) {
decomp.quaternion =
gfx::Quaternion(pose->orientation->x(), pose->orientation->y(),
pose->orientation->z(), pose->orientation->w());
}
if (pose->position) {
decomp.translate[0] = pose->position->x();
decomp.translate[1] = pose->position->y();
decomp.translate[2] = pose->position->z();
}
return gfx::Transform::Compose(decomp);
}
} // namespace vr_utils
} // namespace device