XRRay: XRRay() constructor
The XRRay()
constructor creates a new XRRay
object which is a geometric ray described by an origin point and a direction vector.
Syntax
new XRRay()
new XRRay(origin)
new XRRay(origin, direction)
new XRRay(transform)
Parameters
origin
Optional
-
A point object defining the 3-dimensional point in space that the ray originates from, in meters. All dimensions are optional, however, if provided, the origin's w
property must be 1.0. The object is initialized to { x: 0.0, y: 0.0, z: 0.0, w: 1.0 }
by default.
direction
Optional
-
A vector object defining the ray's 3-dimensional directional vector. All dimensions are optional, however, if provided, the direction's w
property must be 0.0. The object is initialized to: { x: 0.0, y: 0.0, z: -1.0, w: 0.0 }
by default.
transform
Optional
-
An XRRigidTransform
object representing the position and orientation of the ray.
Return value
A newly-created XRRay
object.
Exceptions
-
TypeError
-
Thrown if one of the following conditions is met:
- all of
direction
's x
, y
, and z
coordinates are zero.
direction
's w
coordinate is not 0.0.
origin
's w
coordinate is not 1.0.
Examples
Creating XRRay
objects
The XRRay()
constructor allows to creating new rays by either providing an origin
point and a direction
vector, or by passing in an XRRigidTransform
object.
let ray1 = new XRRay();
let ray2 = new XRRay({ y: 0.5 });
let origin = { x: 10.0, y: 10.0, z: 10.0, w: 1.0 };
let direction = { x: 10.0, y: 0.0, z: 0.0, w: 0.0 };
let ray3 = new XRRay(origin, direction);
let ray4 = new XRRay(DOMPoint.fromPoint(origin), DOMPoint.fromPoint(direction));
let rigidTransform = new XRRigidTransform(
DOMPoint.fromPoint(origin),
DOMPoint.fromPoint(direction),
);
let ray5 = new XRRay(rigidTransform);
Specifications
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
XRRay |
81 |
81 |
No |
No |
68 |
No |
No |
81 |
No |
58 |
No |
13.0 |
See also