export class OCCTFillets {
    constructor(occ, och) {
        this.occ = occ;
        this.och = och;
    }
    filletEdges(inputs) {
        return this.och.filletsService.filletEdges(inputs);
    }
    filletEdgesList(inputs) {
        return this.och.filletsService.filletEdgesList(inputs);
    }
    filletEdgesListOneRadius(inputs) {
        return this.och.filletsService.filletEdgesListOneRadius(inputs);
    }
    filletEdgeVariableRadius(inputs) {
        return this.och.filletsService.filletEdgeVariableRadius(inputs);
    }
    filletEdgesVariableRadius(inputs) {
        return this.och.filletsService.filletEdgesVariableRadius(inputs);
    }
    filletEdgesSameVariableRadius(inputs) {
        return this.och.filletsService.filletEdgesSameVariableRadius(inputs);
    }
    chamferEdges(inputs) {
        return this.och.filletsService.chamferEdges(inputs);
    }
    chamferEdgesList(inputs) {
        return this.och.filletsService.chamferEdgesList(inputs);
    }
    chamferEdgeDistAngle(inputs) {
        return this.och.filletsService.chamferEdgeDistAngle(inputs);
    }
    chamferEdgesDistAngle(inputs) {
        return this.och.filletsService.chamferEdgesDistAngle(inputs);
    }
    chamferEdgesDistsAngles(inputs) {
        return this.och.filletsService.chamferEdgesDistsAngles(inputs);
    }
    chamferEdgeTwoDistances(inputs) {
        return this.och.filletsService.chamferEdgeTwoDistances(inputs);
    }
    chamferEdgesTwoDistances(inputs) {
        return this.och.filletsService.chamferEdgesTwoDistances(inputs);
    }
    chamferEdgesTwoDistancesLists(inputs) {
        return this.och.filletsService.chamferEdgesTwoDistancesLists(inputs);
    }
    filletTwoEdgesInPlaneIntoAWire(inputs) {
        const pln = this.och.entitiesService.gpPln(inputs.planeOrigin, inputs.planeDirection);
        const fil = new this.occ.ChFi2d_FilletAlgo_3(inputs.edge1, inputs.edge2, pln);
        fil.Perform(inputs.radius);
        const pt = this.och.entitiesService.gpPnt(inputs.planeOrigin);
        const edge1 = new this.occ.TopoDS_Edge();
        const edge2 = new this.occ.TopoDS_Edge();
        let solution = -1;
        if (inputs.solution !== undefined) {
            solution = inputs.solution;
        }
        const filletedEdge = fil.Result(pt, edge1, edge2, solution);
        const result = this.och.converterService.combineEdgesAndWiresIntoAWire({ shapes: [edge1, filletedEdge, edge2] });
        fil.delete();
        pt.delete();
        pln.delete();
        edge1.delete();
        edge2.delete();
        filletedEdge.delete();
        return result;
    }
    fillet3DWire(inputs) {
        return this.och.filletsService.fillet3DWire(inputs);
    }
    fillet2d(inputs) {
        return this.och.filletsService.fillet2d(inputs);
    }
}
