import { Geom_Surface, BitbybitOcctModule, TopoDS_Compound, TopoDS_Edge, TopoDS_Shape, TopoDS_Wire } from "../../../bitbybit-dev-occt/bitbybit-dev-occt"; import * as Inputs from "../../api/inputs"; import { Base } from "../../api/inputs"; import { ShapesHelperService } from "../../api/shapes-helper.service"; import { EdgesService } from "./edges.service"; import { ShapeGettersService } from "./shape-getters"; import { EntitiesService } from "./entities.service"; import { GeomService } from "./geom.service"; import { TransformsService } from "./transforms.service"; import { ConverterService } from "./converter.service"; import { EnumService } from "./enum.service"; import { TextWiresDataDto, ObjectDefinition } from "../../api/models/bucket"; import { OperationsService } from "./operations.service"; import { FilletsService } from "./fillets.service"; import { BaseBitByBit } from "../../base"; import { VectorHelperService } from "../../api/vector-helper.service"; export declare class WiresService { private readonly occ; private readonly base; private readonly shapesHelperService; private readonly shapeGettersService; private readonly transformsService; private readonly enumService; private readonly entitiesService; private readonly converterService; private readonly geomService; private readonly edgesService; private readonly vecHelper; private readonly fillets; private readonly operations; constructor(occ: BitbybitOcctModule, base: BaseBitByBit, shapesHelperService: ShapesHelperService, shapeGettersService: ShapeGettersService, transformsService: TransformsService, enumService: EnumService, entitiesService: EntitiesService, converterService: ConverterService, geomService: GeomService, edgesService: EdgesService, vecHelper: VectorHelperService, fillets: () => FilletsService, operations: () => OperationsService); /** The fillets service, resolved on use because it and this one refer to each other. */ get filletsService(): FilletsService; /** The operations service, resolved on use because it and this one refer to each other. */ get operationsService(): OperationsService; getWireLength(inputs: Inputs.OCCT.ShapeDto): number; getWiresLengths(inputs: Inputs.OCCT.ShapesDto): number[]; createRectangleWire(inputs: Inputs.OCCT.RectangleDto): TopoDS_Wire; createSquareWire(inputs: Inputs.OCCT.SquareDto): TopoDS_Wire; reversedWire(inputs: Inputs.OCCT.ShapeDto): TopoDS_Wire; reversedWireFromReversedEdges(inputs: Inputs.OCCT.ShapeDto): TopoDS_Wire; createChristmasTreeWire(inputs: Inputs.OCCT.ChristmasTreeDto): TopoDS_Shape; createStarWire(inputs: Inputs.OCCT.StarDto): TopoDS_Shape; createParallelogramWire(inputs: Inputs.OCCT.ParallelogramDto): TopoDS_Shape; createHeartWire(inputs: Inputs.OCCT.Heart2DDto): TopoDS_Shape; createNGonWire(inputs: Inputs.OCCT.NGonWireDto): TopoDS_Shape; createLPolygonWire(inputs: Inputs.OCCT.LPolygonDto): TopoDS_Shape; createIBeamProfileWire(inputs: Inputs.OCCT.IBeamProfileDto): TopoDS_Shape; createHBeamProfileWire(inputs: Inputs.OCCT.HBeamProfileDto): TopoDS_Shape; createTBeamProfileWire(inputs: Inputs.OCCT.TBeamProfileDto): TopoDS_Shape; createUBeamProfileWire(inputs: Inputs.OCCT.UBeamProfileDto): TopoDS_Shape; createPolygonWire(inputs: Inputs.OCCT.PolygonDto): TopoDS_Wire; createPolylineWire(inputs: Inputs.OCCT.PolylineDto): TopoDS_Wire; createLineWire(inputs: Inputs.OCCT.LineDto): TopoDS_Wire; createLineWireWithExtensions(inputs: Inputs.OCCT.LineWithExtensionsDto): TopoDS_Wire; private makeWireBetweenTwoPoints; divideWireByParamsToPoints(inputs: Inputs.OCCT.DivideDto): Inputs.Base.Point3[]; divideWireByEqualDistanceToPoints(inputs: Inputs.OCCT.DivideDto): Base.Point3[]; pointOnWireAtParam(inputs: Inputs.OCCT.DataOnGeometryAtParamDto): Base.Point3; tangentOnWireAtParam(inputs: Inputs.OCCT.DataOnGeometryAtParamDto): Base.Vector3; pointOnWireAtLength(inputs: Inputs.OCCT.DataOnGeometryAtLengthDto): Base.Point3; pointsOnWireAtLengths(inputs: Inputs.OCCT.DataOnGeometryAtLengthsDto): Base.Point3[]; pointsOnWireAtEqualLength(inputs: Inputs.OCCT.PointsOnWireAtEqualLengthDto): Base.Point3[]; pointsOnWireAtPatternOfLengths(inputs: Inputs.OCCT.PointsOnWireAtPatternOfLengthsDto): Base.Point3[]; tangentOnWireAtLength(inputs: Inputs.OCCT.DataOnGeometryAtLengthDto): Base.Vector3; private parametrizationToInt; /** * Build an interpolated BSpline wire with selectable parametrization, periodicity and optional * tangent constraints. Returns undefined if the interpolation fails. */ private buildInterpolatedWire; interpolatePoints(inputs: Inputs.OCCT.InterpolationDto): TopoDS_Wire; /** * Interpolate points with an achiral, symmetric, periodic (closed) curve. Catmull-Rom tangents * are loaded at their exact magnitude (no rescaling), so symmetric inputs (triangle, square, ...) * produce a genuinely mirror-symmetric curve that is C2 at the seam - no irregular first/last point. * @param inputs Points to interpolate and tolerance * @returns Symmetric periodic BSpline wire */ interpolatePointsSymmetric(inputs: Inputs.OCCT.InterpolateSymmetricDto): TopoDS_Wire; isWireClosed(inputs: Inputs.OCCT.ShapeDto): boolean; splitOnPoints(inputs: Inputs.OCCT.SplitWireOnPointsDto): TopoDS_Wire[]; createLines(inputs: Inputs.OCCT.LinesDto): TopoDS_Wire[] | TopoDS_Compound; createWireFromTwoCirclesTan(inputs: Inputs.OCCT.WireFromTwoCirclesTanDto): TopoDS_Wire; createZigZagBetweenTwoWires(inputs: Inputs.OCCT.ZigZagBetweenTwoWiresDto): TopoDS_Wire; createWiresBetweenStartEndPointsOfWiresAndEdges(inputs: Inputs.OCCT.WiresBetweenStartEndPointsOfWiresAndEdgesDto): TopoDS_Wire[]; createWiresBetweenSubdividedPointsOfWiresAndEdges(inputs: Inputs.OCCT.WiresBetweenSubdividedPointsOfWiresAndEdgesDto): TopoDS_Wire[]; private subdivideWireOrEdgeToPoints; private createWireFromPointsByType; getWireCenterOfMass(inputs: Inputs.OCCT.ShapeDto): Base.Point3; hexagonsInGrid(inputs: Inputs.OCCT.HexagonsInGridDto): TopoDS_Wire[]; createWireFromEdge(inputs: Inputs.OCCT.ShapeDto): TopoDS_Wire; createBSpline(inputs: Inputs.OCCT.BSplineDto): TopoDS_Wire; createBezier(inputs: Inputs.OCCT.BezierDto): TopoDS_Wire; createBezierWeights(inputs: Inputs.OCCT.BezierWeightsDto): TopoDS_Wire; addEdgesAndWiresToWire(inputs: Inputs.OCCT.ShapeShapesDto): TopoDS_Wire; startPointOnWire(inputs: Inputs.OCCT.ShapeDto): Base.Point3; midPointOnWire(inputs: Inputs.OCCT.ShapeDto): Base.Point3; endPointOnWire(inputs: Inputs.OCCT.ShapeDto): Base.Point3; textWires(inputs: Inputs.OCCT.TextWiresDto): TopoDS_Wire[]; textWiresWithData(inputs: Inputs.OCCT.TextWiresDto): ObjectDefinition, TopoDS_Shape>; /** * The parameter range of an edge, as the kernel's own helper reports it. An edge the helper * cannot read reports zero for both, which is what the callers below already treated as "no range". * @param edge edge to read * @returns first and last parameter */ private edgeParameterRange; placeWire(wire: TopoDS_Wire, surface: Geom_Surface): TopoDS_Wire; wiresToPoints(inputs: Inputs.OCCT.WiresToPointsDto): Inputs.Base.Point3[][]; createHelixWire(inputs: Inputs.OCCT.HelixWireDto): TopoDS_Wire; createHelixWireByTurns(inputs: Inputs.OCCT.HelixWireByTurnsDto): TopoDS_Wire; createTaperedHelixWire(inputs: Inputs.OCCT.TaperedHelixWireDto): TopoDS_Wire; createFlatSpiralWire(inputs: Inputs.OCCT.FlatSpiralWireDto): TopoDS_Wire; }