Newer
Older
AegisforEcosystem / next / AR.js-3.4.0 / three.js / src / new-api / arjs-utils.js
@KAOKA Daisuke KAOKA Daisuke on 31 May 2022 1 KB into AR.js
import * as THREE from "three";

const Utils = {};

/**
 * Create a default rendering camera for this trackingBackend. They may be modified later. to fit physical camera parameters
 *
 * @param {string} trackingBackend - the tracking to user
 * @return {THREE.Camera} the created camera
 */
Utils.createDefaultCamera = function (trackingMethod) {
  var trackingBackend =
    this.parseTrackingMethod(trackingMethod).trackingBackend;
  // Create a camera
  if (trackingBackend === "artoolkit") {
    var camera = new THREE.Camera();
  } else console.assert(false, "unknown trackingBackend: " + trackingBackend);

  return camera;
};

/**
 * parse tracking method
 *
 * @param {String} trackingMethod - the tracking method to parse
 * @return {Object} - various field of the tracking method
 */
Utils.parseTrackingMethod = function (trackingMethod) {
  if (trackingMethod === "best") {
    trackingMethod = "area-artoolkit";
  }

  if (trackingMethod.startsWith("area-")) {
    return {
      trackingBackend: trackingMethod.replace("area-", ""),
      markersAreaEnabled: true,
    };
  } else {
    return {
      trackingBackend: trackingMethod,
      markersAreaEnabled: false,
    };
  }
};

export default Utils;