nativescript-ar
Version:
NativeScript Augmented Reality plugin. ARKit on iOS and (with the help of Sceneform) ARCore on Android.
57 lines (56 loc) • 2.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var image_source_1 = require("tns-core-modules/image-source");
var utils = require("tns-core-modules/utils/utils");
var arcommon_1 = require("./arcommon");
var pixelsPerMeter = 500;
var ARImage = (function (_super) {
__extends(ARImage, _super);
function ARImage() {
return _super !== null && _super.apply(this, arguments) || this;
}
ARImage.create = function (options, fragment) {
var _this = this;
if (typeof options.image === "string") {
if (options.image.indexOf("://") >= 0) {
return image_source_1.fromUrl(options.image).then(function (image) {
options.image = image;
return ARImage.create(options, fragment);
});
}
options.image = image_source_1.fromFileOrResource(options.image);
}
return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
var image, context, imageView;
return __generator(this, function (_a) {
image = options.image.android;
context = utils.ad.getApplicationContext();
imageView = new android.widget.ImageView(context);
imageView.setImageBitmap(image);
com.google.ar.sceneform.rendering.ViewRenderable.builder()
.setView(context, imageView)
.build()
.thenAccept(new java.util.function.Consumer({
accept: function (renderable) {
if (options.dimensions) {
renderable.setSizer(new com.google.ar.sceneform.rendering.FixedWidthViewSizer(options.dimensions.x));
}
else {
renderable.setSizer(new com.google.ar.sceneform.rendering.DpToMetersViewSizer(pixelsPerMeter));
}
renderable.setVerticalAlignment(com.google.ar.sceneform.rendering.ViewRenderable.VerticalAlignment.CENTER);
var node = arcommon_1.ARCommonNode.createNode(options, fragment);
node.setRenderable(renderable);
resolve(new ARImage(options, node));
}
}))
.exceptionally(new java.util.function.Function({
apply: function (error) { return reject(error); }
}));
return [2];
});
}); });
};
return ARImage;
}(arcommon_1.ARCommonNode));
exports.ARImage = ARImage;