blob: 87dae52103b0e56d3e3c4cb234ce798acdc11b90 [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef VRPose_h
#define VRPose_h
#include "bindings/core/v8/ScriptWrappable.h"
#include "core/dom/DOMHighResTimeStamp.h"
#include "core/dom/DOMTypedArray.h"
#include "device/vr/vr_service.mojom-blink.h"
#include "platform/heap/Handle.h"
#include "wtf/Forward.h"
namespace blink {
class VRPose final : public GarbageCollected<VRPose>, public ScriptWrappable {
DEFINE_WRAPPERTYPEINFO();
public:
static VRPose* create()
{
return new VRPose();
}
DOMHighResTimeStamp timestamp() const { return m_timestamp; }
DOMFloat32Array* orientation() const { return m_orientation; }
DOMFloat32Array* position() const { return m_position; }
DOMFloat32Array* angularVelocity() const { return m_angularVelocity; }
DOMFloat32Array* linearVelocity() const { return m_linearVelocity; }
DOMFloat32Array* angularAcceleration() const { return m_angularAcceleration; }
DOMFloat32Array* linearAcceleration() const { return m_linearAcceleration; }
void setPose(const device::blink::VRPosePtr&);
DECLARE_VIRTUAL_TRACE();
private:
VRPose();
DOMHighResTimeStamp m_timestamp;
Member<DOMFloat32Array> m_orientation;
Member<DOMFloat32Array> m_position;
Member<DOMFloat32Array> m_angularVelocity;
Member<DOMFloat32Array> m_linearVelocity;
Member<DOMFloat32Array> m_angularAcceleration;
Member<DOMFloat32Array> m_linearAcceleration;
};
} // namespace blink
#endif // VRPose_h