constructor(
        x,
        y,
        scope = globalScope,
        dir = "LEFT",
        bitWidth = 1,
        layoutProperties
    ) {
        // Calling base class constructor
        super(x, y, scope, dir, bitWidth);
        /* this is done in this.baseSetup() now
        this.scope['Output'].push(this);
        */
        if (layoutProperties) {
            this.layoutProperties = layoutProperties;
        } else {
            this.layoutProperties = {};
            this.layoutProperties.x = scope.layout.width;
            this.layoutProperties.y = getNextPosition(
                scope.layout.width,
                scope
            );
            this.layoutProperties.id = generateId();
        }

        this.rectangleObject = false;
        this.directionFixed = true;
        this.orientationFixed = false;
        this.setDimensions(this.bitWidth * 10, 10);
        this.inp1 = new Node(this.bitWidth * 10, 0, 0, this);
    }
@class
Output
@extends CircuitElement
@param {number} x - x coordinate of element.
@param {number} y - y coordinate of element.
@param {Scope=} scope - Cirucit on which element is drawn
@param {string=} dir - direction of element
@param {number=} inputLength - number of input nodes
@param {number=} bitWidth - bit width per node.
@category modules