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.
*/
export class IgrScatterTriangulationSeries extends IgrSeries {
    constructor(props) {
        super(props);
    }
    get i() {
        return this._implementation;
    }
    /**
     * The name of the property from which to extract the X-coordinate for each item in the ItemsSource.
    */
    get xMemberPath() {
        return this.i.mp;
    }
    set xMemberPath(v) {
        this.i.mp = v;
    }
    /**
     * The name of the property from which to extract the Y-coordinate for each item in the ItemsSource.
    */
    get yMemberPath() {
        return this.i.mt;
    }
    set yMemberPath(v) {
        this.i.mt = v;
    }
    /**
     * The X-Axis for this series.
    */
    get xAxis() {
        if (this.i.lr == null) {
            return null;
        }
        if (!this.i.lr.externalObject) {
            let e = new IgrNumericXAxis(null);
            e._implementation = this.i.lr;
            this.i.lr.externalObject = e;
        }
        return this.i.lr.externalObject;
    }
    set xAxis(v) {
        v == null ? this.i.lr = null : this.i.lr = v.i;
    }
    /**
     * The Y-Axis for this series.
    */
    get yAxis() {
        if (this.i.ls == null) {
            return null;
        }
        if (!this.i.ls.externalObject) {
            let e = new IgrNumericYAxis(null);
            e._implementation = this.i.ls;
            this.i.ls.externalObject = e;
        }
        return this.i.ls.externalObject;
    }
    set yAxis(v) {
        v == null ? this.i.ls = null : this.i.ls = v.i;
    }
    /**
     * 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 triangleVertexMemberPath1() {
        return this.i.mh;
    }
    set triangleVertexMemberPath1(v) {
        this.i.mh = v;
    }
    /**
     * 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 triangleVertexMemberPath2() {
        return this.i.mj;
    }
    set triangleVertexMemberPath2(v) {
        this.i.mj = v;
    }
    /**
     * 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 triangleVertexMemberPath3() {
        return this.i.ml;
    }
    set triangleVertexMemberPath3(v) {
        this.i.ml = v;
    }
    /**
     * Determine if object can be used as YAxis
    
    * @param axis  * The object to check
    */
    canUseAsYAxis(axis) {
        let iv = this.i.l9(axis);
        return (iv);
    }
    /**
     * Determine if object can be used as XAxis
    
    * @param axis  * The object to check
    */
    canUseAsXAxis(axis) {
        let iv = this.i.l8(axis);
        return (iv);
    }
}
