files/en-us/web/api/xrtransientinputhittestresult/index.md
{{APIRef("WebXR Device API")}} {{secureContext_header}}{{SeeCompatTable}}
The XRTransientInputHitTestResult interface of the WebXR Device API contains an array of results of a hit test for transient input, grouped by input source.
You can get an array of XRHitTestResult objects for a frame by calling {{domxref("XRFrame.getHitTestResultsForTransientInput()")}}.
results array.None.
Two arrays are used to access transient input hit test results. First, you get an array of XRTransientInputHitTestResult objects by calling {{domxref("XRFrame.getHitTestResultsForTransientInput()")}}. Second, to get to the actual {{domxref("XRHitTestResult")}} objects for an input source, you dereference the results property on one of the XRTransientInputHitTestResult objects.
// frame loop
function onXRFrame(time, xrFrame) {
let hitTestResults = xrFrame.getHitTestResultsForTransientInput(
transientHitTestSource,
);
hitTestResults.forEach((resultsPerInputSource) => {
resultsPerInputSource.results.forEach((hitTest) => {
// do something with the hit test
hitTest.getPose(referenceSpace);
});
});
}
The {{domxref("XRTransientInputHitTestResult.inputSource", "inputSource")}} property allows you to filter hit test results by input source.
// frame loop
function onXRFrame(time, xrFrame) {
let hitTestResults = xrFrame.getHitTestResultsForTransientInput(
transientHitTestSource,
);
hitTestResults.forEach((resultsPerInputSource) => {
if (resultsPerInputSource.inputSource === myPreferredInputSource) {
// act on hit test results from the preferred input source
}
});
}
{{Specifications}}
{{Compat}}