import * as Inputs from "../../api/inputs/inputs";
export class OCCTEdge {
    constructor(occ, och) {
        this.occ = occ;
        this.och = och;
    }
    makeEdgeFromGeom2dCurveAndSurface(inputs) {
        return this.och.edgesService.makeEdgeFromGeom2dCurveAndSurface(inputs);
    }
    line(inputs) {
        return this.och.edgesService.lineEdge(inputs);
    }
    arcThroughThreePoints(inputs) {
        return this.och.edgesService.arcThroughThreePoints(inputs);
    }
    arcThroughTwoPointsAndTangent(inputs) {
        return this.och.edgesService.arcThroughTwoPointsAndTangent(inputs);
    }
    arcFromCircleAndTwoPoints(inputs) {
        return this.och.edgesService.arcFromCircleAndTwoPoints(inputs);
    }
    arcFromCircleAndTwoAngles(inputs) {
        return this.och.edgesService.arcFromCircleAndTwoAngles(inputs);
    }
    arcFromCirclePointAndAngle(inputs) {
        return this.och.edgesService.arcFromCirclePointAndAngle(inputs);
    }
    createCircleEdge(inputs) {
        return this.och.entitiesService.createCircle(inputs.radius, inputs.center, inputs.direction, Inputs.OCCT.typeSpecificityEnum.edge);
    }
    createEllipseEdge(inputs) {
        return this.och.entitiesService.createEllipse(inputs.radiusMinor, inputs.radiusMajor, inputs.center, inputs.direction, Inputs.OCCT.typeSpecificityEnum.edge);
    }
    removeInternalEdges(inputs) {
        const fusor = new this.occ.ShapeUpgrade_UnifySameDomain_2(inputs.shape, true, true, false);
        fusor.Build();
        const shape = fusor.Shape();
        fusor.delete();
        return shape;
    }
    getEdge(inputs) {
        return this.och.shapeGettersService.getEdge(inputs);
    }
    edgesToPoints(inputs) {
        return this.och.edgesService.edgesToPoints(inputs);
    }
    reversedEdge(inputs) {
        const edge = inputs.shape;
        const reversed = edge.Reversed();
        const result = this.och.converterService.getActualTypeOfShape(reversed);
        reversed.delete();
        return result;
    }
    pointOnEdgeAtParam(inputs) {
        return this.och.edgesService.pointOnEdgeAtParam(inputs);
    }
    tangentOnEdgeAtParam(inputs) {
        return this.och.edgesService.tangentOnEdgeAtParam(inputs);
    }
    startPointOnEdge(inputs) {
        return this.och.edgesService.startPointOnEdge(inputs);
    }
    endPointOnEdge(inputs) {
        return this.och.edgesService.endPointOnEdge(inputs);
    }
    pointOnEdgeAtLength(inputs) {
        return this.och.edgesService.pointOnEdgeAtLength(inputs);
    }
    tangentOnEdgeAtLength(inputs) {
        return this.och.edgesService.tangentOnEdgeAtLength(inputs);
    }
    divideEdgeByParamsToPoints(inputs) {
        return this.och.edgesService.divideEdgeByParamsToPoints(inputs);
    }
    divideEdgeByEqualDistanceToPoints(inputs) {
        return this.och.edgesService.divideEdgeByEqualDistanceToPoints(inputs);
    }
    getEdges(inputs) {
        return this.och.shapeGettersService.getEdges(inputs);
    }
    getEdgesAlongWire(inputs) {
        return this.och.edgesService.getEdgesAlongWire(inputs);
    }
    getCircularEdgesAlongWire(inputs) {
        return this.och.edgesService.getCircularEdgesAlongWire(inputs);
    }
    getLinearEdgesAlongWire(inputs) {
        return this.och.edgesService.getLinearEdgesAlongWire(inputs);
    }
    getEdgeLength(inputs) {
        return this.och.edgesService.getEdgeLength(inputs);
    }
    getEdgeLengthsOfShape(inputs) {
        return this.och.edgesService.getEdgeLengthsOfShape(inputs);
    }
    getEdgesLengths(inputs) {
        return this.och.edgesService.getEdgesLengths(inputs);
    }
    getEdgeCenterOfMass(inputs) {
        return this.och.geomService.getLinearCenterOfMass(inputs);
    }
    getEdgesCentersOfMass(inputs) {
        return this.och.edgesService.getEdgesCentersOfMass(inputs);
    }
    getCornerPointsOfEdgesForShape(inputs) {
        return this.och.edgesService.getCornerPointsOfEdgesForShape(inputs);
    }
    getCircularEdgeCenterPoint(inputs) {
        return this.och.edgesService.getCircularEdgeCenterPoint(inputs);
    }
    getCircularEdgeRadius(inputs) {
        return this.och.edgesService.getCircularEdgeRadius(inputs);
    }
    getCircularEdgePlaneDirection(inputs) {
        return this.och.edgesService.getCircularEdgePlaneDirection(inputs);
    }
    constraintTanLinesFromTwoPtsToCircle(inputs) {
        return this.och.edgesService.constraintTanLinesFromTwoPtsToCircle(inputs);
    }
    constraintTanLinesFromPtToCircle(inputs) {
        return this.och.edgesService.constraintTanLinesFromPtToCircle(inputs);
    }
    constraintTanLinesOnTwoCircles(inputs) {
        return this.och.edgesService.constraintTanLinesOnTwoCircles(inputs);
    }
    constraintTanCirclesOnTwoCircles(inputs) {
        return this.och.edgesService.constraintTanCirclesOnTwoCircles(inputs);
    }
    constraintTanCirclesOnCircleAndPnt(inputs) {
        return this.och.edgesService.constraintTanCirclesOnCircleAndPnt(inputs);
    }
}
