export class OCCTShell {
    constructor(occ, och) {
        this.occ = occ;
        this.och = och;
    }
    sewFaces(inputs) {
        const sew = new this.occ.BRepBuilderAPI_Sewing(inputs.tolerance, true, true, true, false);
        inputs.shapes.forEach(face => {
            sew.Add(face);
        });
        const messageProgress = new this.occ.Message_ProgressRange_1();
        sew.Perform(messageProgress);
        const res = sew.SewedShape();
        const result = this.och.getActualTypeOfShape(res);
        sew.delete();
        messageProgress.delete();
        res.delete();
        return result;
    }
    isClosed(inputs) {
        return this.occ.BRep_Tool.IsClosed_1(inputs.shape);
    }
    getShellSurfaceArea(inputs) {
        return this.och.getShellSurfaceArea(inputs);
    }
}
