isValid() {
        let valid = true;
        // 1. Polygon is invalid if at least one face is not simple
        for (let face of this.faces) {
            if (!face.isSimple(this.edges)) {
                valid = false;
                break;
            }
        }
        // 2. TODO: check if no island inside island and no hole inside hole
        // 3. TODO: check the there is no intersection between faces
        return valid;
    }
/**
     * Return true if polygon is valid for boolean operations
     * Polygon is valid if <br/>
     * 1. All faces are simple polygons (there are no self-intersected polygons) <br/>
     * 2. All faces are orientable and there is no island inside island or hole inside hole - TODO <br/>
     * 3. There is no intersections between faces (excluding touching) - TODO <br/>
     * @returns {boolean}
     */
Return true if polygon is valid for boolean operations
Polygon is valid if 
1. All faces are simple polygons (there are no self-intersected polygons) 
2. All faces are orientable and there is no island inside island or hole inside hole - TODO 
3. There is no intersections between faces (excluding touching) - TODO 
@returns {boolean}
Return true if polygon is valid for boolean operations Polygon is valid if 1 . All faces are simple polygons ( there are no self - intersected polygons ) 2 . All faces are orientable and there is no island inside island or hole inside hole - TODO 3 . There is no intersections between faces ( excluding touching ) - TODO @returns { boolean }
isValid() {
        let valid = true;
        for (let face of this.faces) {
            if (!face.isSimple(this.edges)) {
                valid = false;
                break;
            }
        }
        return valid;
    }
isValid ( ) { let valid = true ; for ( let face of this . faces ) { if ( ! face . isSimple ( this . edges ) ) { valid = false ; break ; } } return valid ; }
Return true if polygon is valid for boolean operations
 Polygon is valid if <br/>
 1.
Return true if polygon is valid for boolean operations Polygon is valid if <br / > 1 .
// 1. Polygon is invalid if at least one face is not simple // 2. TODO: check if no island inside island and no hole inside hole // 3. TODO: check the there is no intersection between faces