Source: objects/PixelLine.js

import { Utils } from '../common/Utils'
import { BaseLine } from './BaseLine';

/**
 * @class PixelLine
 * The pixel line object.
 * @memberof THING
 * @extends THING.BaseLine
 * @public
 */
class PixelLine extends BaseLine {

	static defaultTagArray = ['Line'];

	/**
	 * The pixel line object in scene.
	 * @param {Object} param The initial parameters.
	 */
	constructor(param = {}) {
		super(param);

		this._syncOptions(param);
	}

	// #region Private

	_syncOptions(param) {
		super.onSyncOptions(param);
	}

	// #endregion

	// #region Overrides

	onBeforeSetup(param) {
		param['renderableNode'] = param['renderableNode'] || Utils.createObject('PixelLine');

		super.onBeforeSetup(param);
	}

	onImportExternalData(external, options) {
		super.onImportExternalData(external, options);
		if (external) {
			this._syncOptions(external);
		}
	}

	// #endregion

	// #region Accessor

	// #endregion

	/**
	 * Check whether it's PixelLine type or inherit from it.
	 * @type {Boolean}
	 */
	get isPixelLine() {
		return true;
	}

}

export { PixelLine }