// @namespace var ARjs = ARjs || {} /** * Create an debug UI for an ARjs.Anchor * * @param {ARjs.Anchor} arAnchor - the anchor to user */ ARjs.SessionDebugUI = function(arSession, tangoPointCloud){ 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' ////////////////////////////////////////////////////////////////////////////// // add title ////////////////////////////////////////////////////////////////////////////// // var domElement = document.createElement('div') // domElement.style.display = 'block' // domElement.style.fontWeight = 'bold' // domElement.style.fontSize = '120%' // this.domElement.appendChild(domElement) // domElement.innerHTML = 'AR.js Session Debug' ////////////////////////////////////////////////////////////////////////////// // current-tracking-backend ////////////////////////////////////////////////////////////////////////////// var domElement = document.createElement('span') domElement.style.display = 'block' this.domElement.appendChild(domElement) domElement.innerHTML = 'trackingBackend : ' +trackingBackend ////////////////////////////////////////////////////////////////////////////// // augmented-websites ////////////////////////////////////////////////////////////////////////////// var domElement = document.createElement('a') domElement.innerHTML = 'Share on augmented-websites' domElement.style.display = 'block' domElement.setAttribute('target', '_blank') domElement.href = 'https://webxr.io/augmented-website?'+location.href this.domElement.appendChild(domElement) ////////////////////////////////////////////////////////////////////////////// // toggle-point-cloud ////////////////////////////////////////////////////////////////////////////// if( trackingBackend === 'tango' && tangoPointCloud ){ var domElement = document.createElement('button') this.domElement.appendChild(domElement) domElement.id= 'buttonTangoTogglePointCloud' domElement.innerHTML = 'toggle-point-cloud' domElement.href='javascript:void(0)' domElement.addEventListener('click', function(){ var scene = arSession.parameters.scene // TODO how tangoPointCloud, get connected here ??? // in arguments simply ? if( tangoPointCloud.object3d.parent ){ scene.remove(tangoPointCloud.object3d) }else{ scene.add(tangoPointCloud.object3d) } }) } } ////////////////////////////////////////////////////////////////////////////// // ARjs.AnchorDebugUI ////////////////////////////////////////////////////////////////////////////// /** * Create an debug UI for an ARjs.Anchor * * @param {ARjs.Anchor} arAnchor - the anchor to user */ ARjs.AnchorDebugUI = function(arAnchor){ var _this = this 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' ////////////////////////////////////////////////////////////////////////////// // add title ////////////////////////////////////////////////////////////////////////////// // var domElement = document.createElement('div') // domElement.style.display = 'block' // domElement.style.fontWeight = 'bold' // domElement.style.fontSize = '120%' // this.domElement.appendChild(domElement) // domElement.innerHTML = 'Anchor Marker Debug' ////////////////////////////////////////////////////////////////////////////// // current-tracking-backend ////////////////////////////////////////////////////////////////////////////// var domElement = document.createElement('span') domElement.style.display = 'block' this.domElement.appendChild(domElement) domElement.innerHTML = 'markersAreaEnabled :' +arAnchor.parameters.markersAreaEnabled ////////////////////////////////////////////////////////////////////////////// // toggle-marker-helper ////////////////////////////////////////////////////////////////////////////// if( arAnchor.parameters.markersAreaEnabled ){ var domElement = document.createElement('button') domElement.style.display = 'block' this.domElement.appendChild(domElement) domElement.id= 'buttonToggleMarkerHelpers' domElement.innerHTML = 'toggle-marker-helper' domElement.href='javascript:void(0)' var subMarkerHelpersVisible = false domElement.addEventListener('click', function(){ subMarkerHelpersVisible = subMarkerHelpersVisible ? false : true arAnchor.markersArea.setSubMarkersVisibility(subMarkerHelpersVisible) }) } ////////////////////////////////////////////////////////////////////////////// // Learn-new-marker-area ////////////////////////////////////////////////////////////////////////////// if( arAnchor.parameters.markersAreaEnabled ){ var domElement = document.createElement('button') domElement.style.display = 'block' this.domElement.appendChild(domElement) domElement.id = 'buttonMarkersAreaLearner' domElement.innerHTML = 'Learn-new-marker-area' domElement.href ='javascript:void(0)' domElement.addEventListener('click', function(){ var learnerBaseURL = ARjs.Context.baseURL + 'examples/multi-markers/examples/learner.html' ARjs.MarkersAreaUtils.navigateToLearnerPage(learnerBaseURL, trackingBackend) }) } ////////////////////////////////////////////////////////////////////////////// // Reset-marker-area ////////////////////////////////////////////////////////////////////////////// if( arAnchor.parameters.markersAreaEnabled ){ var domElement = document.createElement('button') domElement.style.display = 'block' this.domElement.appendChild(domElement) domElement.id = 'buttonMarkersAreaReset' domElement.innerHTML = 'Reset-marker-area' domElement.href ='javascript:void(0)' domElement.addEventListener('click', function(){ ARjs.MarkersAreaUtils.storeDefaultMultiMarkerFile(trackingBackend) location.reload() }) } }