/*
THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE  AGREEMENT ("AGREEMENT") LOCATED HERE:
https://www.infragistics.com/legal/license/igultimate-la
https://www.infragistics.com/legal/license/igultimate-eula
GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE:  you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company.
*/
import { ValueType, toNullable, markStruct } from "igniteui-angular-core";
import { ST_GeomGuideName } from "./ST_GeomGuideName";
import { ST_Angle } from "./ST_Angle";
import { stringEmpty } from "igniteui-angular-core";
/**
 * @hidden
 */
export let ST_AdjAngle = /*@__PURE__*/ (() => {
    class ST_AdjAngle extends ValueType {
        constructor(a, ..._rest) {
            super();
            this.b = toNullable(ST_Angle.$, null);
            this.c = toNullable(ST_GeomGuideName.$, null);
            a = (a == void 0) ? 0 : a;
            switch (a) {
                case 0: break;
                case 1:
                    {
                        let c = _rest[0];
                        this.b = toNullable(ST_Angle.$, null);
                        this.c = toNullable(ST_GeomGuideName.$, new ST_GeomGuideName(1, c));
                    }
                    break;
                case 2:
                    {
                        let c = _rest[0];
                        this.b = toNullable(ST_Angle.$, c);
                        this.c = toNullable(ST_GeomGuideName.$, null);
                    }
                    break;
            }
        }
        get e() {
            return this.c;
        }
        get d() {
            return this.b;
        }
        static a(a) {
            let b = ST_Angle.m(a);
            if (b.hasValue) {
                return new ST_AdjAngle(2, b.value);
            }
            return new ST_AdjAngle(1, a);
        }
        static f(a) {
            if (a.d.hasValue) {
                return a.d.value.toString();
            }
            else if (a.e.hasValue) {
                return a.e.value.toString();
            }
            else {
                return stringEmpty();
            }
        }
    }
    ST_AdjAngle.$t = markStruct(ST_AdjAngle, 'ST_AdjAngle');
    return ST_AdjAngle;
})();
//# sourceMappingURL=ST_AdjAngle.js.map
