22.js 20 KB

1
  1. (window.webpackJsonpNVIV=window.webpackJsonpNVIV||[]).push([[22],{1676:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),r=n(3),l=n(2107),i=n(1891),o=n(624),s=n(1973),p=n(0),m=function(){function e(){}return e.ɵmod=p.ɵɵdefineNgModule({type:e}),e.ɵinj=p.ɵɵdefineInjector({factory:function(t){return new(t||e)},providers:[{provide:i.DEVELOPER_COMPONENT,useValue:l.DeveloperMenuPanelComponent}],imports:[[r.CommonModule,o.FormsModule,s.Ng5SliderModule]]}),e}();t.DeveloperModule=m,("undefined"==typeof ngJitMode||ngJitMode)&&p.ɵɵsetNgModuleScope(m,{declarations:[l.DeveloperMenuPanelComponent],imports:[r.CommonModule,o.FormsModule,s.Ng5SliderModule]}),p.ɵsetClassMetadata(m,[{type:a.NgModule,args:[{imports:[r.CommonModule,o.FormsModule,s.Ng5SliderModule],declarations:[l.DeveloperMenuPanelComponent],entryComponents:[l.DeveloperMenuPanelComponent],providers:[{provide:i.DEVELOPER_COMPONENT,useValue:l.DeveloperMenuPanelComponent}]}]}],null,null)},1693:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(8),r=n(230),l=n(0),i=function(){function e(e,t,n){this.loader=e,this.injector=t,this.vcr=n}return e.prototype.ngOnInit=function(){this.loadComponent().catch(a.handleWarning)},e.prototype.loadComponent=function(){var e=this;return r.runWithBaseHref((function(){return e.loader.load(e.modulePath).then((function(t){var n=t.create(e.injector),a=n.injector.get(e.componentId),r=n.componentFactoryResolver.resolveComponentFactory(a);return e.vcr.createComponent(r)}))}))},e.ɵfac=function(t){return new(t||e)(l.ɵɵdirectiveInject(l.NgModuleFactoryLoader),l.ɵɵdirectiveInject(l.Injector),l.ɵɵdirectiveInject(l.ViewContainerRef))},e.ɵdir=l.ɵɵdefineDirective({type:e}),e}();t.AbstractLazyComponent=i},1891:function(e,t,n){"use strict";var a,r=this&&this.__extends||(a=function(e,t){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}a(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var l=n(0),i=n(2),o=n(6),s=n(1693),p=n(0);t.DEVELOPER_COMPONENT="DEVELOPER_MENU_PANEL_COMPONENT";var m=function(e){function n(n,a,r){var l=e.call(this,n,a,r)||this;return l.modulePath="./DeveloperModule#DeveloperModule",l.componentId=t.DEVELOPER_COMPONENT,l}return r(n,e),n.ɵfac=function(e){return new(e||n)(p.ɵɵdirectiveInject(p.NgModuleFactoryLoader),p.ɵɵdirectiveInject(p.Injector),p.ɵɵdirectiveInject(p.ViewContainerRef))},n.ɵcmp=p.ɵɵdefineComponent({type:n,selectors:[["developer-lazy"]],features:[p.ɵɵInheritDefinitionFeature],decls:0,vars:0,template:function(e,t){},encapsulation:2}),n}(s.AbstractLazyComponent);t.DeveloperLazyComponent=m,p.ɵsetClassMetadata(m,[{type:l.Component,args:[{selector:"developer-lazy",template:""}]}],(function(){return[{type:p.NgModuleFactoryLoader},{type:p.Injector},{type:p.ViewContainerRef}]}),null),i.module("IVWebApp").directive("developerLazy",o.downgradeComponent({component:m}))},2107:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(2108);n(17);var a=n(0),r=n(2),l=n(6),i=(n(446),n(0)),o=n(17),s=n(446),p=n(3),m=n(624),c=n(1973);function d(e,t){if(1&e&&(i.ɵɵelementStart(0,"p"),i.ɵɵtext(1),i.ɵɵelement(2,"br"),i.ɵɵtext(3),i.ɵɵelement(4,"br"),i.ɵɵtext(5),i.ɵɵelement(6,"br"),i.ɵɵtext(7),i.ɵɵelementEnd()),2&e){var n=i.ɵɵnextContext();i.ɵɵadvance(1),i.ɵɵtextInterpolate2(" Image #",n.image.id,": file ",n.image.fileId,""),i.ɵɵadvance(2),i.ɵɵtextInterpolate2(" Dataset: ",n.image.dataset.name," (",n.image.dataset.title,")"),i.ɵɵadvance(2),i.ɵɵtextInterpolate1(" Depth Image Version: ",n.image.dataset.depthImageVersion,""),i.ɵɵadvance(2),i.ɵɵtextInterpolate1(" Depth Testing Supported: ",!!n.renderer.getContext().getExtension("EXT_frag_depth")," ")}}function g(e,t){1&e&&(i.ɵɵelementStart(0,"p"),i.ɵɵelementStart(1,"i"),i.ɵɵtext(2,"No image available"),i.ɵɵelementEnd(),i.ɵɵelementEnd())}function v(e,t){1&e&&(i.ɵɵelementStart(0,"div"),i.ɵɵelementStart(1,"i"),i.ɵɵtext(2,"Dataset has no depth images"),i.ɵɵelementEnd(),i.ɵɵelementEnd())}function u(e,t){if(1&e){var n=i.ɵɵgetCurrentView();i.ɵɵelementStart(0,"div",7),i.ɵɵelementStart(1,"div",8),i.ɵɵtext(2," Opacity "),i.ɵɵelementEnd(),i.ɵɵelementStart(3,"div",9),i.ɵɵelementStart(4,"ng5-slider",10),i.ɵɵlistener("valueChange",(function(e){return i.ɵɵrestoreView(n),i.ɵɵnextContext().cameraImageLayer.depthOverlaySettings.depthOpacity=e}))("valueChange",(function(){return i.ɵɵrestoreView(n),i.ɵɵnextContext().cameraImageLayer.updateDepthOverlay()})),i.ɵɵelementEnd(),i.ɵɵelementEnd(),i.ɵɵelementStart(5,"div",11),i.ɵɵelementStart(6,"input",12),i.ɵɵlistener("ngModelChange",(function(e){return i.ɵɵrestoreView(n),i.ɵɵnextContext().cameraImageLayer.depthOverlaySettings.depthOpacity=e}))("change",(function(){return i.ɵɵrestoreView(n),i.ɵɵnextContext().cameraImageLayer.updateDepthOverlay()})),i.ɵɵelementEnd(),i.ɵɵelementEnd(),i.ɵɵelementEnd()}if(2&e){var a=i.ɵɵnextContext();i.ɵɵadvance(4),i.ɵɵproperty("value",a.cameraImageLayer.depthOverlaySettings.depthOpacity)("options",a.opacityOptions),i.ɵɵadvance(2),i.ɵɵproperty("ngModel",a.cameraImageLayer.depthOverlaySettings.depthOpacity)}}function y(e,t){if(1&e){var n=i.ɵɵgetCurrentView();i.ɵɵelementStart(0,"div",7),i.ɵɵelementStart(1,"div",8),i.ɵɵtext(2," Max Distance "),i.ɵɵelementEnd(),i.ɵɵelementStart(3,"div",9),i.ɵɵelementStart(4,"ng5-slider",10),i.ɵɵlistener("valueChange",(function(e){return i.ɵɵrestoreView(n),i.ɵɵnextContext().cameraImageLayer.depthOverlaySettings.maxDistance=e}))("valueChange",(function(){return i.ɵɵrestoreView(n),i.ɵɵnextContext().cameraImageLayer.updateDepthOverlay()})),i.ɵɵelementEnd(),i.ɵɵelementEnd(),i.ɵɵelementStart(5,"div",11),i.ɵɵelementStart(6,"input",13),i.ɵɵlistener("ngModelChange",(function(e){return i.ɵɵrestoreView(n),i.ɵɵnextContext().cameraImageLayer.depthOverlaySettings.maxDistance=e}))("change",(function(){return i.ɵɵrestoreView(n),i.ɵɵnextContext().cameraImageLayer.updateDepthOverlay()})),i.ɵɵelementEnd(),i.ɵɵelementEnd(),i.ɵɵelementEnd()}if(2&e){var a=i.ɵɵnextContext();i.ɵɵadvance(4),i.ɵɵproperty("value",a.cameraImageLayer.depthOverlaySettings.maxDistance)("options",a.maxDistanceOptions),i.ɵɵadvance(2),i.ɵɵproperty("ngModel",a.cameraImageLayer.depthOverlaySettings.maxDistance)}}function f(e,t){if(1&e){var n=i.ɵɵgetCurrentView();i.ɵɵelementStart(0,"div",7),i.ɵɵelementStart(1,"div",8),i.ɵɵtext(2," Half Distance "),i.ɵɵelementEnd(),i.ɵɵelementStart(3,"div",9),i.ɵɵelementStart(4,"ng5-slider",10),i.ɵɵlistener("valueChange",(function(e){return i.ɵɵrestoreView(n),i.ɵɵnextContext().cameraImageLayer.depthOverlaySettings.halfDistance=e}))("valueChange",(function(){return i.ɵɵrestoreView(n),i.ɵɵnextContext().cameraImageLayer.updateDepthOverlay()})),i.ɵɵelementEnd(),i.ɵɵelementEnd(),i.ɵɵelementStart(5,"div",11),i.ɵɵelementStart(6,"input",14),i.ɵɵlistener("ngModelChange",(function(e){return i.ɵɵrestoreView(n),i.ɵɵnextContext().cameraImageLayer.depthOverlaySettings.halfDistance=e}))("change",(function(){return i.ɵɵrestoreView(n),i.ɵɵnextContext().cameraImageLayer.updateDepthOverlay()})),i.ɵɵelementEnd(),i.ɵɵelementEnd(),i.ɵɵelementEnd()}if(2&e){var a=i.ɵɵnextContext();i.ɵɵadvance(4),i.ɵɵproperty("value",a.cameraImageLayer.depthOverlaySettings.halfDistance)("options",a.getHalfDistanceOption(a.cameraImageLayer.depthOverlaySettings.maxDistance/2-.1)),i.ɵɵadvance(2),i.ɵɵpropertyInterpolate("max",a.cameraImageLayer.depthOverlaySettings.maxDistance/2-.1),i.ɵɵproperty("ngModel",a.cameraImageLayer.depthOverlaySettings.halfDistance)}}function h(e,t){if(1&e&&(i.ɵɵelementStart(0,"li"),i.ɵɵtext(1),i.ɵɵelementEnd()),2&e){var n=t.$implicit,a=i.ɵɵnextContext().$implicit;i.ɵɵadvance(1),i.ɵɵtextInterpolate2(" ",n,": ",a[n]," ")}}function x(e,t){if(1&e&&(i.ɵɵelementStart(0,"div",16),i.ɵɵelementStart(1,"div",17),i.ɵɵtext(2),i.ɵɵelementEnd(),i.ɵɵelementStart(3,"div",18),i.ɵɵelementStart(4,"ul"),i.ɵɵtemplate(5,h,2,2,"li",19),i.ɵɵelementEnd(),i.ɵɵelementEnd(),i.ɵɵelementEnd()),2&e){var n=t.$implicit,a=i.ɵɵnextContext(2);i.ɵɵadvance(2),i.ɵɵtextInterpolate1(" ",n.event," "),i.ɵɵadvance(3),i.ɵɵproperty("ngForOf",a.objectKeys(n))}}function b(e,t){if(1&e&&(i.ɵɵelementStart(0,"div"),i.ɵɵelementStart(1,"label",2),i.ɵɵtext(2,"Developer Events"),i.ɵɵelementEnd(),i.ɵɵtemplate(3,x,6,2,"div",15),i.ɵɵelementEnd()),2&e){var n=i.ɵɵnextContext();i.ɵɵadvance(3),i.ɵɵproperty("ngForOf",n.developerEvents)}}var I=function(){function e(e,t){this.ViewService=e,this.DeveloperEventService=t,this.objectKeys=Object.keys,this.opacityOptions={floor:0,ceil:1,step:.01,animate:!1},this.maxDistanceOptions={floor:1,ceil:100,step:.1,animate:!1},this.halfDistanceOptions={floor:.1,ceil:100,step:.1,animate:!1},this.cameraImageLayer=e.mainView.getCameraImageLayer(),e.mainView&&(this.webGlMain=e.mainView.renderStats),e.mapView&&(this.webGlMap=e.mapView.renderStats)}return Object.defineProperty(e.prototype,"image",{get:function(){return this.ViewService.mainView.getImage()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"renderer",{get:function(){return this.ViewService.mainView.renderer},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"developerEvents",{get:function(){return this.DeveloperEventService.eventsQueue},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasDeveloperEvents",{get:function(){return this.developerEvents.length>0},enumerable:!0,configurable:!0}),e.prototype.getHalfDistanceOption=function(e){if(e!==this.halfDistanceOptions.ceil){var t=Object.assign({},this.halfDistanceOptions);t.ceil=e,this.halfDistanceOptions=t}return this.halfDistanceOptions},e.ɵfac=function(t){return new(t||e)(i.ɵɵdirectiveInject(o.ViewService),i.ɵɵdirectiveInject(s.DeveloperEventService))},e.ɵcmp=i.ɵɵdefineComponent({type:e,selectors:[["developer-menu-panel-component"]],decls:34,vars:24,consts:[[1,"panel","panel-default","developer-menu"],[1,"panel-body"],[1,"form-label"],[4,"ngIf"],[2,"font-weight","normal","float","right"],["type","checkbox",3,"ngModel","ngModelChange","change"],["class","row",4,"ngIf"],[1,"row"],[1,"col-xs-4","align-text"],[1,"col-xs-4","align-slider","custom-slider"],[3,"value","options","valueChange"],[1,"col-xs-4","align-textbox"],["type","number","min","0","max","1","step","0.01",1,"form-control",3,"ngModel","ngModelChange","change"],["type","number","min","1","max","100","step","0.1",1,"form-control",3,"ngModel","ngModelChange","change"],["type","number","min","0.1","step","0.1",1,"form-control",3,"max","ngModel","ngModelChange","change"],["class","align-textbox",4,"ngFor","ngForOf"],[1,"align-textbox"],[1,"developer-event"],[1,"developer-event-details"],[4,"ngFor","ngForOf"]],template:function(e,t){1&e&&(i.ɵɵelementStart(0,"div",0),i.ɵɵelementStart(1,"div",1),i.ɵɵelementStart(2,"label",2),i.ɵɵtext(3,"WebGL Stats (Main View)"),i.ɵɵelementEnd(),i.ɵɵelementStart(4,"p"),i.ɵɵtext(5),i.ɵɵelement(6,"br"),i.ɵɵtext(7),i.ɵɵelement(8,"br"),i.ɵɵtext(9),i.ɵɵelementEnd(),i.ɵɵelementStart(10,"label",2),i.ɵɵtext(11,"WebGL Stats (Map View)"),i.ɵɵelementEnd(),i.ɵɵelementStart(12,"p"),i.ɵɵtext(13),i.ɵɵelement(14,"br"),i.ɵɵtext(15),i.ɵɵelement(16,"br"),i.ɵɵtext(17),i.ɵɵelementEnd(),i.ɵɵelementStart(18,"label",2),i.ɵɵtext(19,"Image Information"),i.ɵɵelementEnd(),i.ɵɵtemplate(20,d,8,6,"p",3),i.ɵɵtemplate(21,g,3,0,"p",3),i.ɵɵelementStart(22,"label",2),i.ɵɵtext(23,"Depth Image Visualization"),i.ɵɵelementEnd(),i.ɵɵelementStart(24,"label",4),i.ɵɵelementStart(25,"input",5),i.ɵɵlistener("ngModelChange",(function(e){return t.cameraImageLayer.depthOverlaySettings.hsv=e}))("change",(function(){return t.cameraImageLayer.updateDepthOverlay()})),i.ɵɵelementEnd(),i.ɵɵelementStart(26,"span"),i.ɵɵtext(27," Color"),i.ɵɵelementEnd(),i.ɵɵelementEnd(),i.ɵɵelement(28,"br"),i.ɵɵtemplate(29,v,3,0,"div",3),i.ɵɵtemplate(30,u,7,3,"div",6),i.ɵɵtemplate(31,y,7,3,"div",6),i.ɵɵtemplate(32,f,7,4,"div",6),i.ɵɵtemplate(33,b,4,1,"div",3),i.ɵɵelementEnd(),i.ɵɵelementEnd()),2&e&&(i.ɵɵadvance(5),i.ɵɵtextInterpolate1(" Frame #",t.webGlMain.frame,":"),i.ɵɵadvance(2),i.ɵɵtextInterpolate4(" ",t.webGlMain.calls," calls, ",t.webGlMain.lines," lines, ",t.webGlMain.triangles," triangles, ",t.webGlMain.points," points "),i.ɵɵadvance(2),i.ɵɵtextInterpolate3(" ",t.webGlMain.geometries," geometries, ",t.webGlMain.textures," textures, ",t.webGlMain.programs," programs "),i.ɵɵadvance(4),i.ɵɵtextInterpolate1(" Frame #",t.webGlMap.frame,":"),i.ɵɵadvance(2),i.ɵɵtextInterpolate4(" ",t.webGlMap.calls," calls, ",t.webGlMap.lines," lines, ",t.webGlMap.triangles," triangles, ",t.webGlMap.points," points "),i.ɵɵadvance(2),i.ɵɵtextInterpolate3(" ",t.webGlMap.geometries," geometries, ",t.webGlMap.textures," textures, ",t.webGlMap.programs," programs "),i.ɵɵadvance(3),i.ɵɵproperty("ngIf",t.image),i.ɵɵadvance(1),i.ɵɵproperty("ngIf",!t.image),i.ɵɵadvance(4),i.ɵɵproperty("ngModel",t.cameraImageLayer.depthOverlaySettings.hsv),i.ɵɵadvance(4),i.ɵɵproperty("ngIf",!(null!=t.cameraImageLayer.currentImage&&t.cameraImageLayer.currentImage.dataset.hasDepthImages)),i.ɵɵadvance(1),i.ɵɵproperty("ngIf",null==t.cameraImageLayer.currentImage?null:t.cameraImageLayer.currentImage.dataset.hasDepthImages),i.ɵɵadvance(1),i.ɵɵproperty("ngIf",null==t.cameraImageLayer.currentImage?null:t.cameraImageLayer.currentImage.dataset.hasDepthImages),i.ɵɵadvance(1),i.ɵɵproperty("ngIf",null==t.cameraImageLayer.currentImage?null:t.cameraImageLayer.currentImage.dataset.hasDepthImages),i.ɵɵadvance(1),i.ɵɵproperty("ngIf",t.hasDeveloperEvents))},directives:[p.NgIf,m.CheckboxControlValueAccessor,m.NgControlStatus,m.NgModel,c.ɵa,m.NumberValueAccessor,m.DefaultValueAccessor,p.NgForOf],styles:[".custom-slider .ng5-slider .ng5-slider-bar{background:#fff;height:12px;box-shadow:0 0 1px 1px #888} .custom-slider .ng5-slider .ng5-slider-pointer{width:15px;height:20px;top:-4px;bottom:auto;background-color:#f6f6f6;border-radius:3px;box-shadow:0 0 1px 1px #888} .custom-slider .ng5-slider .ng5-slider-bubble, .custom-slider .ng5-slider .ng5-slider-pointer:after{display:none} .custom-slider .ng5-slider .ng5-slider-tick{width:1px;height:10px;margin-left:4px;border-radius:0;background:#000;top:-1px}.row[_ngcontent-%COMP%] .align-slider[_ngcontent-%COMP%]{margin-top:-24px}.developer-event-details[_ngcontent-%COMP%]{display:none;padding:4px 0 4px 12px}.developer-event-details[_ngcontent-%COMP%]:hover{display:block}.developer-event[_ngcontent-%COMP%]{padding:4px}.developer-event[_ngcontent-%COMP%]:hover + div.developer-event-details[_ngcontent-%COMP%]{display:block}"]}),e}();t.DeveloperMenuPanelComponent=I,i.ɵsetClassMetadata(I,[{type:a.Component,args:[{selector:"developer-menu-panel-component",templateUrl:"DeveloperMenuPanel.ng.html",styleUrls:["DeveloperMenuPanel.ng.scss"]}]}],(function(){return[{type:o.ViewService},{type:s.DeveloperEventService}]}),null),r.module("IVWebApp").directive("developerMenuPanelComponent",l.downgradeComponent({component:I}))},2108:function(e,t,n){"use strict";n.r(t),t.default='<div class="panel panel-default developer-menu">\n\t<div class="panel-body">\n\t\t\x3c!-- WebGL Stats --\x3e\n\t\t<label class="form-label">WebGL Stats (Main View)</label>\n\t\t<p>\n\t\t\tFrame #{{webGlMain.frame}}:<br>\n\t\t\t{{webGlMain.calls}} calls, {{webGlMain.lines}} lines,\n\t\t\t{{webGlMain.triangles}} triangles,\n\t\t\t{{webGlMain.points}} points\n\t\t\t<br>\n\t\t\t{{webGlMain.geometries}} geometries, {{webGlMain.textures}} textures,\n\t\t\t{{webGlMain.programs}} programs\n\t\t</p>\n\n\t\t<label class="form-label">WebGL Stats (Map View)</label>\n\t\t<p>\n\t\t\tFrame #{{webGlMap.frame}}:<br>\n\t\t\t{{webGlMap.calls}} calls, {{webGlMap.lines}} lines,\n\t\t\t{{webGlMap.triangles}} triangles,\n\t\t\t{{webGlMap.points}} points\n\t\t\t<br>\n\t\t\t{{webGlMap.geometries}} geometries, {{webGlMap.textures}} textures,\n\t\t\t{{webGlMap.programs}} programs\n\t\t</p>\n\n\t\t\x3c!-- Image Info --\x3e\n\t\t<label class="form-label">Image Information</label>\n\t\t<p *ngIf="image">\n\t\t\tImage #{{image.id}}: file {{image.fileId}}<br>\n\t\t\tDataset: {{image.dataset.name}} ({{image.dataset.title}})<br>\n\t\t\tDepth Image Version: {{image.dataset.depthImageVersion}}<br>\n\t\t\tDepth Testing Supported: {{!!renderer.getContext().getExtension(\'EXT_frag_depth\')}}\n\t\t</p>\n\t\t<p *ngIf="!image">\n\t\t\t<i>No image available</i>\n\t\t</p>\n\n\t\t\x3c!-- Depth Image Display --\x3e\n\t\t<label class="form-label">Depth Image Visualization</label>\n\t\t<label style="font-weight: normal; float: right">\n\t\t\t<input type="checkbox"\n\t\t\t [(ngModel)]="cameraImageLayer.depthOverlaySettings.hsv"\n\t\t\t (change)="cameraImageLayer.updateDepthOverlay()"/>\n\t\t\t<span> Color</span>\n\t\t</label>\n\t\t<br>\n\t\t<div *ngIf="!cameraImageLayer.currentImage?.dataset.hasDepthImages">\n\t\t\t<i>Dataset has no depth images</i>\n\t\t</div>\n\t\t<div class="row" *ngIf="cameraImageLayer.currentImage?.dataset.hasDepthImages">\n\t\t\t<div class="col-xs-4 align-text">\n\t\t\t\tOpacity\n\t\t\t</div>\n\t\t\t<div class="col-xs-4 align-slider custom-slider">\n\t\t\t\t<ng5-slider\n\t\t\t\t\t\t[(value)]="cameraImageLayer.depthOverlaySettings.depthOpacity"\n\t\t\t\t\t\t(valueChange)="cameraImageLayer.updateDepthOverlay()"\n\t\t\t\t\t\t[options]="opacityOptions"></ng5-slider>\n\t\t\t</div>\n\t\t\t<div class="col-xs-4 align-textbox">\n\t\t\t\t<input type="number" class="form-control"\n\t\t\t\t min="0" max="1" step="0.01"\n\t\t\t\t [(ngModel)]="cameraImageLayer.depthOverlaySettings.depthOpacity"\n\t\t\t\t (change)="cameraImageLayer.updateDepthOverlay()"/>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class="row" *ngIf="cameraImageLayer.currentImage?.dataset.hasDepthImages">\n\t\t\t<div class="col-xs-4 align-text">\n\t\t\t\tMax Distance\n\t\t\t</div>\n\t\t\t<div class="col-xs-4 align-slider custom-slider">\n\t\t\t\t<ng5-slider [(value)]="cameraImageLayer.depthOverlaySettings.maxDistance"\n\t\t\t\t (valueChange)="cameraImageLayer.updateDepthOverlay()"\n\t\t\t\t [options]="maxDistanceOptions"></ng5-slider>\n\t\t\t</div>\n\t\t\t<div class="col-xs-4 align-textbox">\n\t\t\t\t<input type="number" class="form-control"\n\t\t\t\t min="1" max="100" step="0.1"\n\t\t\t\t [(ngModel)]="cameraImageLayer.depthOverlaySettings.maxDistance"\n\t\t\t\t (change)="cameraImageLayer.updateDepthOverlay()"/>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class="row" *ngIf="cameraImageLayer.currentImage?.dataset.hasDepthImages">\n\t\t\t<div class="col-xs-4 align-text">\n\t\t\t\tHalf Distance\n\t\t\t</div>\n\t\t\t<div class="col-xs-4 align-slider custom-slider">\n\t\t\t\t<ng5-slider\n\t\t\t\t\t\t[(value)]="cameraImageLayer.depthOverlaySettings.halfDistance"\n\t\t\t\t\t\t(valueChange)="cameraImageLayer.updateDepthOverlay()"\n\t\t\t\t\t\t[options]="getHalfDistanceOption(this.cameraImageLayer.depthOverlaySettings.maxDistance / 2 - .1)"></ng5-slider>\n\t\t\t</div>\n\t\t\t<div class="col-xs-4 align-textbox">\n\t\t\t\t<input type="number" class="form-control"\n\t\t\t\t min="0.1"\n\t\t\t\t max="{{cameraImageLayer.depthOverlaySettings.maxDistance / 2 - .1}}"\n\t\t\t\t step="0.1"\n\t\t\t\t [(ngModel)]="cameraImageLayer.depthOverlaySettings.halfDistance"\n\t\t\t\t (change)="cameraImageLayer.updateDepthOverlay()"/>\n\t\t\t</div>\n\t\t</div>\n\t\t<div *ngIf="hasDeveloperEvents">\n\t\t\t<label class="form-label">Developer Events</label>\n\t\t\t<div class="align-textbox" *ngFor="let event of developerEvents">\n\t\t\t\t<div class="developer-event">\n\t\t\t\t\t{{event["event"]}}\n\t\t\t\t</div>\n\t\t\t\t<div class="developer-event-details">\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li *ngFor="let key of objectKeys(event)">\n\t\t\t\t\t\t\t{{key}}: {{event[key]}}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n'}}]);