#include "third_party/blink/renderer/modules/xr/xr_ray.h"
#include <algorithm>
#include <cmath>
#include <utility>
#include "third_party/blink/renderer/bindings/core/v8/v8_dom_point_init.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_xr_ray_direction_init.h"
#include "third_party/blink/renderer/core/geometry/dom_point_read_only.h"
#include "third_party/blink/renderer/modules/xr/xr_rigid_transform.h"
#include "third_party/blink/renderer/modules/xr/xr_utils.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/wtf/math_extras.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
#include "ui/gfx/geometry/quaternion.h"
#include "ui/gfx/geometry/vector3d_f.h"
namespace {
constexpr char kInvalidWComponentInOrigin[] = …;
constexpr char kInvalidWComponentInDirection[] = …;
}
namespace blink {
XRRay::XRRay() { … }
XRRay::XRRay(XRRigidTransform* transform, ExceptionState& exception_state) { … }
XRRay::XRRay(DOMPointInit* origin,
XRRayDirectionInit* direction,
ExceptionState& exception_state) { … }
void XRRay::Set(const gfx::Transform& matrix, ExceptionState& exception_state) { … }
void XRRay::Set(gfx::Point3F origin,
gfx::Vector3dF direction,
ExceptionState& exception_state) { … }
XRRay* XRRay::Create(XRRigidTransform* transform,
ExceptionState& exception_state) { … }
XRRay* XRRay::Create(DOMPointInit* origin,
XRRayDirectionInit* direction,
ExceptionState& exception_state) { … }
XRRay::~XRRay() { … }
DOMFloat32Array* XRRay::matrix() { … }
gfx::Transform XRRay::RawMatrix() { … }
void XRRay::Trace(Visitor* visitor) const { … }
}