import * as tslib_1 from "tslib";
import { IgrNumericXAxis } from "./igr-numeric-x-axis";
import { IgrNumericYAxis } from "./igr-numeric-y-axis";
import { IgrSeries } from "./igr-series";
/**
 * Base class for series which triangulate XY data prior to rendering.
*/
var IgrScatterTriangulationSeries = /** @class */ (function (_super) {
    tslib_1.__extends(IgrScatterTriangulationSeries, _super);
    function IgrScatterTriangulationSeries(props) {
        return _super.call(this, props) || this;
    }
    Object.defineProperty(IgrScatterTriangulationSeries.prototype, "i", {
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrScatterTriangulationSeries.prototype, "xMemberPath", {
        /**
         * The name of the property from which to extract the X-coordinate for each item in the ItemsSource.
        */
        get: function () {
            return this.i.mp;
        },
        set: function (v) {
            this.i.mp = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrScatterTriangulationSeries.prototype, "yMemberPath", {
        /**
         * The name of the property from which to extract the Y-coordinate for each item in the ItemsSource.
        */
        get: function () {
            return this.i.mt;
        },
        set: function (v) {
            this.i.mt = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrScatterTriangulationSeries.prototype, "xAxis", {
        /**
         * The X-Axis for this series.
        */
        get: function () {
            if (this.i.lr == null) {
                return null;
            }
            if (!this.i.lr.externalObject) {
                var e = new IgrNumericXAxis(null);
                e._implementation = this.i.lr;
                this.i.lr.externalObject = e;
            }
            return this.i.lr.externalObject;
        },
        set: function (v) {
            v == null ? this.i.lr = null : this.i.lr = v.i;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrScatterTriangulationSeries.prototype, "yAxis", {
        /**
         * The Y-Axis for this series.
        */
        get: function () {
            if (this.i.ls == null) {
                return null;
            }
            if (!this.i.ls.externalObject) {
                var e = new IgrNumericYAxis(null);
                e._implementation = this.i.ls;
                this.i.ls.externalObject = e;
            }
            return this.i.ls.externalObject;
        },
        set: function (v) {
            v == null ? this.i.ls = null : this.i.ls = v.i;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrScatterTriangulationSeries.prototype, "triangleVertexMemberPath1", {
        /**
         * The name of the property of the TrianglesSource items which, for each triangle, contains the index of the first vertex point in the ItemsSource.
        */
        get: function () {
            return this.i.mh;
        },
        set: function (v) {
            this.i.mh = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrScatterTriangulationSeries.prototype, "triangleVertexMemberPath2", {
        /**
         * The name of the property of the TrianglesSource items which, for each triangle, contains the index of the second vertex point in the ItemsSource.
        */
        get: function () {
            return this.i.mj;
        },
        set: function (v) {
            this.i.mj = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrScatterTriangulationSeries.prototype, "triangleVertexMemberPath3", {
        /**
         * The name of the property of the TrianglesSource items which, for each triangle, contains the index of the third vertex point in the ItemsSource.
        */
        get: function () {
            return this.i.ml;
        },
        set: function (v) {
            this.i.ml = v;
        },
        enumerable: true,
        configurable: true
    });
    /**
     * Determine if object can be used as YAxis
    
    * @param axis  * The object to check
    */
    IgrScatterTriangulationSeries.prototype.canUseAsYAxis = function (axis) {
        var iv = this.i.l9(axis);
        return (iv);
    };
    /**
     * Determine if object can be used as XAxis
    
    * @param axis  * The object to check
    */
    IgrScatterTriangulationSeries.prototype.canUseAsXAxis = function (axis) {
        var iv = this.i.l8(axis);
        return (iv);
    };
    return IgrScatterTriangulationSeries;
}(IgrSeries));
export { IgrScatterTriangulationSeries };
