Facebook
From Melodic Duck, 4 Months ago, written in JavaScript.
Embed
Download Paste or View Raw
Hits: 84
  1. var ServerInformation = {
  2.     OBJECTDATA_SERVER: 'https://api.npoint.io/ee41beb1a64f4118728b'
  3.     // OBJECTDATA_SERVER_ARG_NAME: "nama_objek",
  4.     // OBJECTDATA_SERVER_ARG_DESC: "description"
  5. };
  6.  
  7. var World = {
  8.     loaded: false,
  9.     drawables: [],
  10.     objectData: [],
  11.  
  12.  
  13.     init: function initFn() {
  14.         World.requestDataFromServer();
  15.     },
  16.  
  17.     loadObjectsFromJsonData: function loadObjectsFromJsonDataFn(data) {
  18.         for (var currentObjectNr = 0; currentObjectNr < data.length; currentObjectNr++) {
  19.             var singleObject = {
  20.                 id: data[currentObjectNr].id,
  21.                 objectName: data[currentObjectNr].objectName,
  22.                 objectDesc: data[currentObjectNr].objectDesc,
  23.                 wtoURL: data[currentObjectNr].wtoURL
  24.             };
  25.  
  26.             World.objectData.push(singleObject);
  27.  
  28.             console.log(World.objectData[currentObjectNr].objectName)
  29.         }
  30.  
  31.         // World.createLabels()
  32.         World.createTracker();
  33.     },
  34.  
  35.  
  36.  
  37.     // createLabels: function createLabelsFn() {
  38.  
  39.     //     for (var i = 0; i < World.objectData.length; i++) {
  40.  
  41.     //         // var titleLabel = $('#object-title');
  42.     //         // var descriptionLabel = $('#object-desc');
  43.     //         // var titleLabel = new AR.Label(World.objectData[i].objectName, 0.4);
  44.     //         // var descriptionLabel = new AR.Label(World.objectData[i].objectDesc, 0.3);
  45.  
  46.  
  47.     //         $('#object-title').html(World.objectData[i].objectName)
  48.  
  49.  
  50.  
  51.     //         // World.allCurrentModels = [];
  52.     //         // World.allCurrentModels = World.allCurrentModels.concat([titleLabel, descriptionLabel]);
  53.     //         // World.objectTrackable.drawables.addCamDrawable(World.allCurrentModels);
  54.  
  55.  
  56.     //     }
  57.  
  58.  
  59.     // },
  60.  
  61.     createTracker: function createTrackerFn() {
  62.         for (var i = 0; i < World.objectData.length; i++) {
  63.  
  64.  
  65.             this.targetCollectionResource = new AR.TargetCollectionResource(World.objectData[i].wtoURL, {
  66.                 onError: World.onError
  67.             });
  68.  
  69.             this.tracker = new AR.ObjectTracker(this.targetCollectionResource, {
  70.                 onError: World.onError
  71.             });
  72.             $('#object-title').html(World.objectData[i].objectName)
  73.             // $('#object-title').append(World.objectData[i].objectName)
  74.  
  75.             // this.objectTrackable = new AR.ObjectTrackable(this.tracker, World.objectData[i].targetName, {
  76.             this.objectTrackable = new AR.ObjectTrackable(this.tracker, '*', {
  77.                 drawables: {
  78.                     cam: World.drawables
  79.  
  80.                 },
  81.  
  82.                 onObjectRecognized: World.objectRecognized,
  83.                 onObjectLost: World.objectLost,
  84.                 onError: World.onError
  85.             });
  86.             console.log(World.objectData[i].wtoURL)
  87.         }
  88.  
  89.     },
  90.  
  91.     requestDataFromServer: function requestDataFromServerFn() {
  92.         /* Set helper var to avoid requesting places while loading. */
  93.         World.isRequestingData = true;
  94.  
  95.  
  96.         /* Server-url to JSON content provider. */
  97.         var serverUrl = ServerInformation.OBJECTDATA_SERVER;
  98.  
  99.         var jqxhr = $.getJSON(serverUrl, function (data) {
  100.                 World.loadObjectsFromJsonData(data);
  101.             })
  102.             .error(function (err) {
  103.  
  104.                 World.isRequestingData = false;
  105.             })
  106.             .complete(function () {
  107.                 World.isRequestingData = false;
  108.             });
  109.     },
  110.  
  111.     objectRecognized: function objectRecognizedFn() {
  112.         World.hideInfoBar();
  113.         $('#popupBasic').popup('open');
  114.         World.setAugmentationsEnabled(true);
  115.  
  116.     },
  117.  
  118.     objectLost: function objectLostFn() {
  119.         $('#popupBasic').popup('close');
  120.         World.setAugmentationsEnabled(false);
  121.     },
  122.  
  123.     setAugmentationsEnabled: function setAugmentationsEnabledFn(enabled) {
  124.         for (var i = 0; i < World.drawables.length; i++) {
  125.             World.drawables[i].enabled = enabled;
  126.         }
  127.     },
  128.  
  129.     onError: function onErrorFn(error) {
  130.         alert(error);
  131.     },
  132.  
  133.     hideInfoBar: function hideInfoBarFn() {
  134.         document.getElementById('infoBox').style.display = 'none';
  135.     },
  136.  
  137.     showInfoBar: function worldLoadedFn() {
  138.         document.getElementById('infoBox').style.display = 'table';
  139.         document.getElementById('loadingMessage').style.display = 'none';
  140.     }
  141. };
  142.  
  143. World.init();