UNPKG

@ar-js-org/ar.js-threejs

Version:

AR.js (THREEx, ARjs) modular package - Typescript version

149 lines (125 loc) 6.01 kB
import { Context } from "../Context"; // TODO context build-dependent /** * Create an debug UI for an ARjs.Anchor * * @param {ARjs.Anchor} arAnchor - the anchor to user */ export class SessionDebugUI { private domElement: any; constructor(arSession: any) { var trackingBackend = arSession.arContext.parameters.trackingBackend; this.domElement = document.createElement("div"); this.domElement.style.color = "rgba(0,0,0,0.9)"; this.domElement.style.backgroundColor = "rgba(127,127,127,0.5)"; this.domElement.style.display = "block"; this.domElement.style.padding = "0.5em"; this.domElement.style.position = "fixed"; this.domElement.style.left = "5px"; this.domElement.style.bottom = "10px"; this.domElement.style.textAlign = "right"; ////////////////////////////////////////////////////////////////////////////// // current-tracking-backend ////////////////////////////////////////////////////////////////////////////// var domElement = document.createElement("span"); domElement.style.display = "block"; domElement.innerHTML = "<b>trackingBackend</b> : " + trackingBackend; this.domElement.appendChild(domElement); }; /** * Url of augmented-website service - if === '' then dont include augmented-website link * @type {String} */ static AugmentedWebsiteURL = "https://webxr.io/augmented-website"; } ////////////////////////////////////////////////////////////////////////////// // AnchorDebugUI ////////////////////////////////////////////////////////////////////////////// /** * Create an debug UI for an ARjs.Anchor * * @param {ARjs.Anchor} arAnchor - the anchor to user */ export class AnchorDebugUI { private domElement: any; constructor (arAnchor: any){ var arSession = arAnchor.arSession; var trackingBackend = arSession.arContext.parameters.trackingBackend; this.domElement = document.createElement("div"); this.domElement.style.color = "rgba(0,0,0,0.9)"; this.domElement.style.backgroundColor = "rgba(127,127,127,0.5)"; this.domElement.style.display = "inline-block"; this.domElement.style.padding = "0.5em"; this.domElement.style.margin = "0.5em"; this.domElement.style.textAlign = "left"; ////////////////////////////////////////////////////////////////////////////// // current-tracking-backend ////////////////////////////////////////////////////////////////////////////// var spanDomElement = document.createElement("span"); spanDomElement.style.display = "block"; spanDomElement.style.padding = "0.5em"; spanDomElement.style.color = "rgba(0,0,0,0.9)"; spanDomElement.style.backgroundColor = "rgba(127,127,127,0.5)"; spanDomElement.style.position = "fixed"; spanDomElement.style.left = "5px"; spanDomElement.style.bottom = "40px"; this.domElement.appendChild(spanDomElement); spanDomElement.innerHTML = "<b>markersAreaEnabled</b> :" + arAnchor.parameters.markersAreaEnabled; ////////////////////////////////////////////////////////////////////////////// // toggle-marker-helper ////////////////////////////////////////////////////////////////////////////// if (arAnchor.parameters.markersAreaEnabled) { var buttonDomElement = document.createElement("button"); buttonDomElement.style.display = "block"; this.domElement.style.padding = "0.5em"; this.domElement.style.position = "fixed"; this.domElement.style.textAlign = "left"; this.domElement.appendChild(buttonDomElement); buttonDomElement.id = "buttonToggleMarkerHelpers"; buttonDomElement.innerHTML = "toggle-marker-helper"; //buttonDomElement.href = "javascript:void(0)"; var subMarkerHelpersVisible = false; buttonDomElement.addEventListener("click", function () { subMarkerHelpersVisible = subMarkerHelpersVisible ? false : true; }); } ////////////////////////////////////////////////////////////////////////////// // Learn-new-marker-area ////////////////////////////////////////////////////////////////////////////// if (arAnchor.parameters.markersAreaEnabled) { var button2DomElement = document.createElement("button"); button2DomElement.style.display = "block"; this.domElement.appendChild(button2DomElement); button2DomElement.id = "buttonMarkersAreaLearner"; button2DomElement.innerHTML = "Learn-new-marker-area"; //button2DomElement.href = "javascript:void(0)"; button2DomElement.addEventListener("click", function () { if (AnchorDebugUI.MarkersAreaLearnerURL !== null) { var learnerURL = AnchorDebugUI.MarkersAreaLearnerURL; } else { var learnerURL: any = Context.baseURL + "examples/multi-markers/examples/learner.html"; } }); } ////////////////////////////////////////////////////////////////////////////// // Reset-marker-area ////////////////////////////////////////////////////////////////////////////// if (arAnchor.parameters.markersAreaEnabled) { var button3domElement = document.createElement("button"); button3domElement.style.display = "block"; this.domElement.appendChild(button3domElement); button3domElement.id = "buttonMarkersAreaReset"; button3domElement.innerHTML = "Reset-marker-area"; //button3domElement.href = "javascript:void(0)"; button3domElement.addEventListener("click", function () { location.reload(); }); } }; /** * url for the markers-area learner. if not set, take the default one * @type {String} */ static MarkersAreaLearnerURL: any = null; }