contains(shape) {
        if (shape instanceof Flatten.Point) {
            let rel = ray_shoot(this, shape);
            return rel === INSIDE || rel === BOUNDARY;
        } else {
            return Relations.cover(this, shape);
        }
    }
/**
     * Returns true if polygon contains shape: no point of shape lay outside of the polygon,
     * false otherwise
     * @param {Shape} shape - test shape
     * @returns {boolean}
     */
Returns true if polygon contains shape: no point of shape lay outside of the polygon,
false otherwise
@param {Shape} shape - test shape
@returns {boolean}
Returns true if polygon contains shape : no point of shape lay outside of the polygon false otherwise @param { Shape } shape - test shape @returns { boolean }
contains(shape) {
        if (shape instanceof Flatten.Point) {
            let rel = ray_shoot(this, shape);
            return rel === INSIDE || rel === BOUNDARY;
        } else {
            return Relations.cover(this, shape);
        }
    }
contains ( shape ) { if ( shape instanceof Flatten . Point ) { let rel = ray_shoot ( this , shape ) ; return rel === INSIDE || rel === BOUNDARY ; } else { return Relations . cover ( this , shape ) ; } }
Returns true if polygon contains shape: no point of shape lay outside of the polygon,
 false otherwise
 @param {Shape} shape - test shape
 @returns {boolean}
Returns true if polygon contains shape : no point of shape lay outside of the polygon false otherwise @param { Shape } shape - test shape @returns { boolean }