/** * This is only used in the mobile app */ import { Helpers, $ } from "./Helpers"; import MountingPoint from "./MountingPoint"; import { DEBUG } from "./main"; declare var AR: any; // Wikitude is loaded from html var currentPoi: any = undefined; function _startAr(mpId: number): void { let $scope = Helpers.GetScope(); let mountingPoint: MountingPoint | undefined = undefined; for (let mp of $scope.objects.mountingPoints as MountingPoint[]) { if (mp.Id == mpId) { mountingPoint = mp; break; } } // Get correct mounting point mountingPoint = mountingPoint as MountingPoint; // Bruh. currentPoi = new AR.GeoObject( [ new AR.GeoLocation( mountingPoint.getLatLng().lat, mountingPoint.getLatLng().lng ) ], { drawables: { cam: [ new AR.ImageDrawable( new AR.ImageResource("img/armarker.png"), 2.5, { zOrder: 0, opacity: 1 } ), new AR.Label(mountingPoint.Name, 1, { zOrder: 1, style: { textColor: "#ffffff" } }) ], indicator: new AR.ImageDrawable( new AR.ImageResource("img/arindicator.png"), 0.1, { enabled: true, verticalAnchor: AR.CONST.VERTICAL_ANCHOR.TOP } ) } } ); // Create AR marker $scope.ar.current = mountingPoint.Name; $scope.ar.enabled = true; $scope.$apply(); ($("body") as HTMLBodyElement).style.backgroundColor = "transparent"; } function _endAr(): void { let $scope = Helpers.GetScope(); $scope.ar.current = ""; $scope.ar.enabled = false; currentPoi.destroy(); currentPoi = undefined; $scope.$apply(); ($("body") as HTMLBodyElement).style.backgroundColor = "white"; } //#region declare global { interface Window { AR: { StartAr: (mpId: number) => void; EndAr: () => void; }; } } window.AR = window.AR || { StartAr: _startAr, EndAr: _endAr }; //#endregion if (DEBUG) AR.logger.activateDebugMode();