UNPKG

@bezlepkin/nativescript-ar

Version:

NativeScript Augmented Reality plugin. ARKit on iOS and (with the help of Sceneform) ARCore on Android.

35 lines (34 loc) 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ARImage = void 0; const core_1 = require("@nativescript/core"); const arcommon_1 = require("./arcommon"); const pixelsPerMeter = 500; class ARImage extends arcommon_1.ARCommonNode { static create(options, renderer) { if (typeof options.image === "string") { if (options.image.indexOf("://") >= 0) { return core_1.ImageSource.fromUrl(options.image).then(function (image) { options.image = image; return ARImage.create(options, renderer); }); } options.image = core_1.ImageSource.fromFileOrResourceSync(options.image); } return new Promise(async (resolve, reject) => { const image = options.image.ios; if (!options.dimensions) { options.dimensions = { x: image.size.width / pixelsPerMeter, y: image.size.height / pixelsPerMeter }; } const dimensions = options.dimensions; const materialPlane = SCNPlane.planeWithWidthHeight(dimensions.x, dimensions.y); materialPlane.firstMaterial.diffuse.contents = image; materialPlane.firstMaterial.doubleSided = true; resolve(new ARImage(options, SCNNode.nodeWithGeometry(materialPlane), renderer)); }); } } exports.ARImage = ARImage;