isHover() {
        var mX = simulationArea.touch ? simulationArea.mouseDownX - this.x : simulationArea.mouseXf - this.x;
        var mY = simulationArea.touch ? this.y - simulationArea.mouseDownY : this.y - simulationArea.mouseYf;

        var rX = this.rightDimensionX;
        var lX = this.leftDimensionX;
        var uY = this.upDimensionY;
        var dY = this.downDimensionY;

        if (layoutModeGet()) {
            var mX = simulationArea.mouseXf - this.subcircuitMetadata.x;
            var mY = this.subcircuitMetadata.y - simulationArea.mouseYf;

            var rX = this.layoutProperties.rightDimensionX;
            var lX = this.layoutProperties.leftDimensionX;
            var uY = this.layoutProperties.upDimensionY;
            var dY = this.layoutProperties.downDimensionY;
       }

        if (!this.directionFixed && !this.overrideDirectionRotation) {
            if (this.direction === 'LEFT') {
                lX = this.rightDimensionX;
                rX = this.leftDimensionX;
            } else if (this.direction === 'DOWN') {
                lX = this.downDimensionY;
                rX = this.upDimensionY;
                uY = this.leftDimensionX;
                dY = this.rightDimensionX;
            } else if (this.direction === 'UP') {
                lX = this.downDimensionY;
                rX = this.upDimensionY;
                dY = this.leftDimensionX;
                uY = this.rightDimensionX;
            }
        }

        return -lX <= mX && mX <= rX && -dY <= mY && mY <= uY;
    }
The isHover method is used to check if the mouse is hovering over the object.
Return Value: true if mouse is hovering over object else false
NOT OVERRIDABLE