constructor()

in src/component/tag/tag/OutlineTag.ts [58:94]


    constructor(id: string, geometry: VertexGeometry, options?: OutlineTagOptions) {
        super(id, geometry);

        options = !!options ? options : {};

        const domain: TagDomain = options.domain != null && geometry instanceof PolygonGeometry ?
            options.domain : TagDomain.TwoDimensional;

        const twoDimensionalPolygon: boolean = this._twoDimensionalPolygon(domain, geometry);

        this._domain = domain;
        this._editable = options.editable == null || twoDimensionalPolygon ? false : options.editable;
        this._fillColor = options.fillColor == null ? 0xFFFFFF : options.fillColor;
        this._fillOpacity = options.fillOpacity == null ? 0.0 : options.fillOpacity;
        this._icon = options.icon === undefined ? null : options.icon;
        this._iconFloat = options.iconFloat == null ? Alignment.Center : options.iconFloat;
        this._iconIndex = options.iconIndex == null ? 3 : options.iconIndex;
        this._indicateVertices = options.indicateVertices == null ? true : options.indicateVertices;
        this._lineColor = options.lineColor == null ? 0xFFFFFF : options.lineColor;
        this._lineOpacity = options.lineOpacity == null ? 1 : options.lineOpacity;
        this._lineWidth = options.lineWidth == null ? 1 : options.lineWidth;
        this._text = options.text === undefined ? null : options.text;
        this._textColor = options.textColor == null ? 0xFFFFFF : options.textColor;

        this._click$ = new Subject<OutlineTag>();

        this._click$
            .subscribe(
                (): void => {
                    const type: TagEventType = "click";
                    const event: TagStateEvent = {
                        target: this,
                        type,
                    };
                    this.fire(type, event);
                });
    }