constructor(
        x,
        y,
        scope = globalScope,
        dir = "LEFT",
        bitWidth = 1,
        identifier
    ) {
        super(x, y, scope, dir, bitWidth);
        /* this is done in this.baseSetup() now
        this.scope['Tunnel'].push(this);
        */
        this.rectangleObject = false;
        this.centerElement = true;
        this.xSize = 10;
        this.plotValues = [];
        this.inp1 = new Node(0, 0, 0, this);
        this.checked = false; // has this tunnel been checked by another paired tunnel
        this.setIdentifier(identifier || "T");
        this.setBounds();
        // if tunnels with this's identifier exist, then set the bitwidth to that of those tunnels
        if(this.scope.tunnelList[this.identifier].length > 0) {
            this.newBitWidth(this.scope.tunnelList[this.identifier][0].bitWidth);
        }
    }
@class
Tunnel
@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=} bitWidth - bit width per node.
@param {string=} identifier - number of input nodes
@category modules