@bitbybit-dev/occt-worker
Version:
Bit By Bit Developers CAD algorithms using OpenCascade Technology kernel adapted for WebWorker
520 lines (519 loc) • 20.2 kB
TypeScript
import { Inputs } from "@bitbybit-dev/occt";
import { OCCTWorkerManager } from "../../../occ-worker/occ-worker-manager";
export declare class OCCTEdge {
private readonly occWorkerManager;
constructor(occWorkerManager: OCCTWorkerManager);
/**
* Creates linear edge from base line format {start: Point3, end: Point3}
* @param inputs base line
* @returns OpenCascade edge
* @group from base
* @shortname edge from base line
* @drawable true
*/
fromBaseLine(inputs: Inputs.OCCT.LineBaseDto): Promise<Inputs.OCCT.TopoDSEdgePointer>;
/**
* Creates linear edges from base lines format {start: Point3, end: Point3}[]
* @param inputs base lines
* @returns OpenCascade edges
* @group from base
* @shortname edges from base lines
* @drawable true
*/
fromBaseLines(inputs: Inputs.OCCT.LineBaseDto): Promise<Inputs.OCCT.TopoDSEdgePointer[]>;
/**
* Creates linear edge from base segment format [Point3, Point3]
* @param inputs base segment
* @returns OpenCascade edge
* @group from base
* @shortname edge from base segment
* @drawable true
*/
fromBaseSegment(inputs: Inputs.OCCT.SegmentBaseDto): Promise<Inputs.OCCT.TopoDSEdgePointer>;
/**
* Creates linear edge from base segments format [Point3, Point3][]
* @param inputs base segments
* @returns OpenCascade edges
* @group from base
* @shortname edges from base segments
* @drawable true
*/
fromBaseSegments(inputs: Inputs.OCCT.SegmentsBaseDto): Promise<Inputs.OCCT.TopoDSEdgePointer[]>;
/**
* Creates linear edges from collection of points
* @param inputs Points
* @returns OpenCascade edges
* @group from base
* @shortname edges from points
* @drawable true
*/
fromPoints(inputs: Inputs.OCCT.PointsDto): Promise<Inputs.OCCT.TopoDSEdgePointer[]>;
/**
* Creates linear edges from polyline definition
* @param inputs Polyline
* @returns OpenCascade edges
* @group from base
* @shortname edges from polyline
* @drawable true
*/
fromBasePolyline(inputs: Inputs.OCCT.PolylineBaseDto): Promise<Inputs.OCCT.TopoDSEdgePointer[]>;
/**
* Creates linear edges from triangle definition
* @param inputs Triangle
* @returns OpenCascade edges
* @group from base
* @shortname edges from triangle
* @drawable true
*/
fromBaseTriangle(inputs: Inputs.OCCT.TriangleBaseDto): Promise<Inputs.OCCT.TopoDSEdgePointer[]>;
/**
* Creates linear edges from mesh definition
* @param inputs Mesh
* @returns OpenCascade edges
* @group from base
* @shortname edges from mesh
* @drawable true
*/
fromBaseMesh(inputs: Inputs.OCCT.MeshBaseDto): Promise<Inputs.OCCT.TopoDSEdgePointer[]>;
/**
* Creates linear edge between two points
* @param inputs Two points between which edge should be created
* @returns OpenCascade edge
* @group primitives
* @shortname line
* @drawable true
*/
line(inputs: Inputs.OCCT.LineDto): Promise<Inputs.OCCT.TopoDSEdgePointer>;
/**
* Creates arc edge between three points
* @param inputs three points
* @returns OpenCascade edge
* @group primitives
* @shortname arc 3 points
* @drawable true
*/
arcThroughThreePoints(inputs: Inputs.OCCT.ArcEdgeThreePointsDto): Promise<Inputs.OCCT.TopoDSEdgePointer>;
/**
* Creates arc edge between two points given the tangent direction vector on first point.
* @param inputs two points and tangent vector
* @returns OpenCascade edge
* @group primitives
* @shortname arc 2 points tangent
* @drawable true
*/
arcThroughTwoPointsAndTangent(inputs: Inputs.OCCT.ArcEdgeTwoPointsTangentDto): Promise<Inputs.OCCT.TopoDSEdgePointer>;
/**
* Creates an arc edge between two points on a circle
* @param inputs two points and circle edge
* @returns OpenCascade edge
* @group primitives
* @shortname arc from circle and points
* @drawable true
*/
arcFromCircleAndTwoPoints(inputs: Inputs.OCCT.ArcEdgeCircleTwoPointsDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.OCCT.TopoDSEdgePointer>;
/**
* Creates an arc edge between two alpha angles on a circle
* @param inputs two angles and circle edge
* @returns OpenCascade edge
* @group primitives
* @shortname arc from circle and angles
* @drawable true
*/
arcFromCircleAndTwoAngles(inputs: Inputs.OCCT.ArcEdgeCircleTwoAnglesDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.OCCT.TopoDSEdgePointer>;
/**
* Creates an arc edge between the point on a circle and a given alpha angle
* @param inputs point, circle edge and alpha angle
* @returns OpenCascade edge
* @group primitives
* @shortname arc from circle point and angle
* @drawable true
*/
arcFromCirclePointAndAngle(inputs: Inputs.OCCT.ArcEdgeCirclePointAngleDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.OCCT.TopoDSEdgePointer>;
/**
* Creates OpenCascade circle edge
* @param inputs Circle parameters
* @returns OpenCascade circle edge
* @group primitives
* @shortname circle
* @drawable true
*/
createCircleEdge(inputs: Inputs.OCCT.CircleDto): Promise<Inputs.OCCT.TopoDSEdgePointer>;
/**
* Creates OpenCascade ellipse edge
* @param inputs Ellipse parameters
* @returns OpenCascade ellipse edge
* @group primitives
* @shortname ellipse
* @drawable true
*/
createEllipseEdge(inputs: Inputs.OCCT.EllipseDto): Promise<Inputs.OCCT.TopoDSEdgePointer>;
/**
* Removes internal faces for the shape
* @param inputs Shape
* @returns OpenCascade shape with no internal edges
* @group shapes
* @shortname remove internal
* @drawable true
*/
removeInternalEdges(inputs: Inputs.OCCT.ShapeDto<Inputs.OCCT.TopoDSShapePointer>): Promise<Inputs.OCCT.TopoDSShapePointer>;
/**
* Creates an edge from geom curve and geom surface
* @param inputs shapes are expected to contain 2 array elements - first is geom curve, second geom surface
* @returns OpenCascade TopoDS_Edge
* @group from
* @shortname 2d curve and surface
* @drawable true
*/
makeEdgeFromGeom2dCurveAndSurface(inputs: Inputs.OCCT.CurveAndSurfaceDto<Inputs.OCCT.Geom2dCurvePointer, Inputs.OCCT.GeomSurfacePointer>): Promise<Inputs.OCCT.TopoDSEdgePointer>;
/**
* Gets the edge by providing an index from the shape
* @param inputs Shape
* @returns OpenCascade edge
* @group get
* @shortname get edge
* @drawable true
*/
getEdge(inputs: Inputs.OCCT.EdgeIndexDto<Inputs.OCCT.TopoDSShapePointer>): Promise<Inputs.OCCT.TopoDSEdgePointer>;
/**
* Gets the edges of a shape in a list
* @param inputs Shape
* @returns OpenCascade edge list
* @group get
* @shortname get edges
* @drawable true
*/
getEdges(inputs: Inputs.OCCT.ShapeDto<Inputs.OCCT.TopoDSShapePointer>): Promise<Inputs.OCCT.TopoDSEdgePointer[]>;
/**
* Gets the edges of a wire ordered along the direction of the wire
* @param inputs wire shape
* @returns OpenCascade edge list
* @group get
* @shortname get edges along wire
* @drawable true
*/
getEdgesAlongWire(inputs: Inputs.OCCT.ShapeDto<Inputs.OCCT.TopoDSWirePointer>): Promise<Inputs.OCCT.TopoDSEdgePointer[]>;
/**
* Gets circular edges of a wire ordered along the direction of the wire
* @param inputs wire shape
* @returns OpenCascade edge list
* @group get
* @shortname get circular edges along wire
* @drawable true
*/
getCircularEdgesAlongWire(inputs: Inputs.OCCT.ShapeDto<Inputs.OCCT.TopoDSWirePointer>): Promise<Inputs.OCCT.TopoDSEdgePointer[]>;
/**
* Gets linear edges of a wire ordered along the direction of the wire
* @param inputs wire shape
* @returns OpenCascade edge list
* @group get
* @shortname get linear edges along wire
* @drawable true
*/
getLinearEdgesAlongWire(inputs: Inputs.OCCT.ShapeDto<Inputs.OCCT.TopoDSWirePointer>): Promise<Inputs.OCCT.TopoDSEdgePointer[]>;
/**
* Gets corner points of edges for a shape. There's no order guarantee here. All duplicates are removed, so when three edges form one corner, that will be represented by a single point in the list.
* @param inputs Shape that contains edges - wire, face, shell, solid
* @returns List of points
* @group get
* @shortname corners
* @drawable true
*/
getCornerPointsOfEdgesForShape(inputs: Inputs.OCCT.ShapeDto<Inputs.OCCT.TopoDSShapePointer>): Promise<Inputs.Base.Point3[]>;
/**
* Gets the edge length
* @param inputs edge
* @returns Length
* @group get
* @shortname edge length
* @drawable false
*/
getEdgeLength(inputs: Inputs.OCCT.ShapeDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<number>;
/**
* Gets the edge lengths of the shape
* @param inputs shape
* @returns Lengths
* @group get
* @shortname edge lengths of shape
* @drawable false
*/
getEdgeLengthsOfShape(inputs: Inputs.OCCT.ShapeDto<Inputs.OCCT.TopoDSShapePointer>): Promise<number[]>;
/**
* Gets the lengths of the edges
* @param inputs edges
* @returns Lengths
* @group get
* @shortname lengths
* @drawable false
*/
getEdgesLengths(inputs: Inputs.OCCT.ShapesDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<number[]>;
/**
* Gets the center of mass for the edge
* @param inputs edge
* @returns Point representing center of mass
* @group get
* @shortname center of mass
* @drawable true
*/
getEdgeCenterOfMass(inputs: Inputs.OCCT.ShapeDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.Base.Point3>;
/**
* Gets the centers of mass for the edges
* @param inputs edges
* @returns Points representing centers of mass
* @group get
* @shortname centers of mass
* @drawable true
*/
getEdgesCentersOfMass(inputs: Inputs.OCCT.ShapesDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.Base.Point3[]>;
/**
* Gets the center point of the circular edge. If edge is not circular, point will not be returned.
* @param inputs edge
* @returns Point representing center of the circular edge
* @group get circular edge
* @shortname get center of circular edge
* @drawable true
*/
getCircularEdgeCenterPoint(inputs: Inputs.OCCT.ShapeDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.Base.Point3>;
/**
* Gets the radius of the circular edge. If edge is not circular, radius will not be returned.
* @param inputs edge
* @returns Radius of the circular edge
* @group get circular edge
* @shortname get radius of circular edge
* @drawable false
*/
getCircularEdgeRadius(inputs: Inputs.OCCT.ShapeDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<number>;
/**
* Gets the direction vector of the plane of the circular edge. If edge is not circular, direction vector will not be returned.
* @param inputs edge
* @returns Direction vector of the circular edge
* @group get circular edge
* @shortname get plane direction of circular edge
* @drawable true
*/
getCircularEdgePlaneDirection(inputs: Inputs.OCCT.ShapeDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.Base.Vector3>;
/**
* Gets the point on edge at param
* @param input edge
* @returns Point on param
* @group extract
* @shortname point at param
* @drawable true
*/
pointOnEdgeAtParam(inputs: Inputs.OCCT.DataOnGeometryAtParamDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.Base.Point3>;
/**
* Gets the points on edges at param
* @param input edges
* @returns Points on param
* @group extract
* @shortname points on edges at param
* @drawable true
*/
pointsOnEdgesAtParam(inputs: Inputs.OCCT.DataOnGeometryesAtParamDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.Base.Point3[]>;
/**
* Gets the points of all edges from a shape in separate lists for each edge
* @param inputs Shape
* @returns OpenCascade points lists
* @group extract
* @shortname edges to points
* @drawable false
*/
edgesToPoints(inputs: Inputs.OCCT.EdgesToPointsDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.Base.Point3[][]>;
/**
* Computes reversed edge from input edge
* @param inputs Shape
* @returns OpenCascade edge
* @group get
* @shortname reversed edge
* @drawable true
*/
reversedEdge(inputs: Inputs.OCCT.ShapeDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.OCCT.TopoDSEdgePointer>;
/**
* Gets the tangent vector on edge at param
* @param input edge
* @returns Tangent vector on param
* @group extract
* @shortname tangent at param
* @drawable true
*/
tangentOnEdgeAtParam(inputs: Inputs.OCCT.DataOnGeometryAtParamDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.Base.Point3>;
/**
* Gets the tangent vectors on edges at param
* @param input edges
* @returns Tangent vectors on param
* @group extract
* @shortname tangents on edges at param
* @drawable true
*/
tangentsOnEdgesAtParam(inputs: Inputs.OCCT.DataOnGeometryesAtParamDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.Base.Point3[]>;
/**
* Gets the point on edge at length
* @param input edge and length
* @returns Point on edge
* @group extract
* @shortname point at length
* @drawable true
*/
pointOnEdgeAtLength(inputs: Inputs.OCCT.DataOnGeometryAtLengthDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.Base.Point3>;
/**
* Gets the points on edges at length
* @param input edges and length
* @returns Points on edges
* @group extract
* @shortname points at length
* @drawable true
*/
pointsOnEdgesAtLength(inputs: Inputs.OCCT.DataOnGeometryesAtLengthDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.Base.Point3[]>;
/**
* Gets the tangent vector on edge at length
* @param input edge and length
* @returns Tangent vector on edge
* @group extract
* @shortname tangent at length
* @drawable true
*/
tangentOnEdgeAtLength(inputs: Inputs.OCCT.DataOnGeometryAtLengthDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.Base.Point3>;
/**
* Gets the tangent vectors on edges at length
* @param input edges and length
* @returns Tangent vectors on edges
* @group extract
* @shortname tangents at length
* @drawable true
*/
tangentsOnEdgesAtLength(inputs: Inputs.OCCT.DataOnGeometryesAtLengthDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.Base.Point3[]>;
/**
* Gets the start point on edge
* @param input edge
* @returns Start point
* @group extract
* @shortname start point
* @drawable true
*/
startPointOnEdge(inputs: Inputs.OCCT.ShapeDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.Base.Point3>;
/**
* Gets the start points on edges
* @param input edges
* @returns Start points
* @group extract
* @shortname start points
* @drawable true
*/
startPointsOnEdges(inputs: Inputs.OCCT.ShapesDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.Base.Point3[]>;
/**
* Gets the end point on edge
* @param input edge
* @returns End point
* @group extract
* @shortname end point
* @drawable true
*/
endPointOnEdge(inputs: Inputs.OCCT.ShapeDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.Base.Point3>;
/**
* Gets the end points on edges
* @param input edges
* @returns End points
* @group extract
* @shortname end points
* @drawable true
*/
endPointsOnEdges(inputs: Inputs.OCCT.ShapesDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.Base.Point3[]>;
/**
* Divides edge by params to points
* @param input edge and division params
* @returns Points
* @group extract
* @shortname points by params
* @drawable true
*/
divideEdgeByParamsToPoints(inputs: Inputs.OCCT.DivideDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.Base.Point3[]>;
/**
* Divides edges by params to points
* @param input edges and division params
* @returns Points
* @group extract
* @shortname points by params on edges
* @drawable false
*/
divideEdgesByParamsToPoints(inputs: Inputs.OCCT.DivideShapesDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.Base.Point3[][]>;
/**
* Divides edge by length to points
* @param input edge and division params
* @returns Points
* @group extract
* @shortname points by distance
* @drawable true
*/
divideEdgeByEqualDistanceToPoints(inputs: Inputs.OCCT.DivideDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.Base.Point3[]>;
/**
* Divides edges by length to points
* @param input edges and division params
* @returns Points
* @group extract
* @shortname points by distance on edges
* @drawable false
*/
divideEdgesByEqualDistanceToPoints(inputs: Inputs.OCCT.DivideShapesDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.Base.Point3[][]>;
/**
* Creates lines from two given points till circle tangent locations
* @param input resulting lines
* @returns lines
* @group constraint
* @shortname tan lines from 2 pts to circle
* @drawable true
*/
constraintTanLinesFromTwoPtsToCircle(inputs: Inputs.OCCT.ConstraintTanLinesFromTwoPtsToCircleDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.OCCT.TopoDSShapePointer[]>;
/**
* Creates lines from a given point till circle tangent locations
* @param input resulting lines
* @returns lines
* @group constraint
* @shortname tan lines from pt to circle
* @drawable true
*/
constraintTanLinesFromPtToCircle(inputs: Inputs.OCCT.ConstraintTanLinesFromPtToCircleDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.OCCT.TopoDSShapePointer[]>;
/**
* Creates tangent lines between two circles.
* @param input resulting lines
* @returns lines
* @group constraint
* @shortname tan lines on two circles
* @drawable true
*/
constraintTanLinesOnTwoCircles(inputs: Inputs.OCCT.ConstraintTanLinesOnTwoCirclesDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.OCCT.TopoDSShapePointer[]>;
/**
* Creates tangent circles between two circles.
* @param input resulting circles
* @returns circles
* @group constraint
* @shortname tan circles on two circles
* @drawable true
*/
constraintTanCirclesOnTwoCircles(inputs: Inputs.OCCT.ConstraintTanCirclesOnTwoCirclesDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.OCCT.TopoDSShapePointer[]>;
/**
* Creates tangent circles between a point and a circle.
* @param input resulting circles
* @returns circles
* @group constraint
* @shortname tan circles on circle and pnt
* @drawable true
*/
constraintTanCirclesOnCircleAndPnt(inputs: Inputs.OCCT.ConstraintTanCirclesOnCircleAndPntDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<Inputs.OCCT.TopoDSShapePointer[]>;
/**
* Checks whether an edge is linear
* @param input edge
* @returns boolean if is linear
* @group is
* @shortname is edge linear
* @drawable false
*/
isEdgeLinear(inputs: Inputs.OCCT.ShapeDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<boolean>;
/**
* Checks whether an edge is circular
* @param input edge
* @returns boolean if is circular
* @group is
* @shortname is edge circular
* @drawable false
*/
isEdgeCircular(inputs: Inputs.OCCT.ShapeDto<Inputs.OCCT.TopoDSEdgePointer>): Promise<boolean>;
}