/**
* @file ARgo JSDoc Type Definitions.<br/>
* This file includes type definitions for JSDoc only.
* VSCode gets intellisense for these types from their
* definition in @types/argo.
* @author Perikles C. Stephanidis <perikles@stephanidis.net>
* @copyright Doticca SRL 2019
* @version 1.0.0
*/
/**
* @typedef {import("AR").DrawableOptions} DrawableOptions
*/
/**
* @class
*/
class ModelLayout {
constructor() {
/**
* @member {number?} [scale]
* @memberof ModelLayout#
*/
this.scale = 0;
/**
* @member {Vector3?} [translate]
* @memberof ModelLayout#
*/
this.translate = new Vector3;
/**
* @member {Vector3?} [rotate]
* @memberof ModelLayout#
*/
this.rotate = new Vector3;
}
}
/**
* @class
* @classdesc Model instantiation options.
* @augments DrawableOptions
*/
class ARgoDrawableOptions {
constructor() {
/**
* @member {ModelLayout?} [defaultLayout]
* The default layout of the object in the AR environment.
* @memberof ARgoDrawableOptions#
*/
this.defaultLayout = new ModelLayout;
/**
* @member {ModelLayout?} [snapBeginLayout]
* The layout of the object at the beginning of
* a snapping animation (if any).
* @memberof ARgoDrawableOptions#
*/
this.snapBeginLayout = new ModelLayout;
/**
* @member {ModelLayout?} [snappedLayout]
* The layout of the object when snapped on screen.
* @memberof ARgoDrawableOptions#
*/
this.snappedLayout = new ModelLayout;
}
}