67 lines
2.7 KiB
TypeScript
67 lines
2.7 KiB
TypeScript
import { Vector3 } from "three";
|
|
import { IntersectResult } from "../GraphicsSystem/IntersectWith";
|
|
import { Circle } from "./Entity/Circle";
|
|
import { Curve } from "./Entity/Curve";
|
|
import { Polyline } from "./Entity/Polyline";
|
|
export declare class Contour {
|
|
private _Curve;
|
|
protected SetCurve(cu: Polyline | Circle): void;
|
|
/**会将传入的闭合轮廓改为逆时针 */
|
|
static CreateContour(cus: Curve[] | Polyline | Circle, needLink?: boolean): Contour;
|
|
get Curve(): Polyline | Circle;
|
|
get Area(): number;
|
|
get BoundingBox(): import("../Geometry/Box").Box3Ext;
|
|
/**
|
|
* 不等比例缩放
|
|
* @param {number} ref 缩放参考值,大于该值的点缩放
|
|
* @param {number} dist 缩放距离
|
|
* @param {string} dir x y z
|
|
*/
|
|
UnEqualProportionScale(ref: number, dist: number, dir: "x" | "y"): boolean;
|
|
Clone(): Contour;
|
|
IntersectionBoolOperation(target: Contour): Contour[];
|
|
UnionBoolOperation(target: Contour): {
|
|
contours: Contour[];
|
|
holes: Contour[];
|
|
};
|
|
SubstactBoolOperation(target: Contour): Contour[];
|
|
/**
|
|
* 计算与目标轮廓布尔运算后的结果曲线.
|
|
*/
|
|
GetIntersetAndUnionList(target: Contour): {
|
|
intersectionList: Curve[];
|
|
unionList: Curve[];
|
|
};
|
|
GetSubtractList(target: Contour): Polyline[];
|
|
GetSubtractListByMoreTargets(targets: Contour[]): {
|
|
holes: Contour[];
|
|
outlines: Contour[];
|
|
};
|
|
GetSubListWithCus(targets: Contour[]): {
|
|
holes: Polyline[];
|
|
subtractList: Polyline[];
|
|
};
|
|
/**
|
|
* 获得全部闭合曲线
|
|
* @若传入二维曲线数据,将默认子数组为闭合曲线段
|
|
*/
|
|
static GetAllContour(cus: Curve[] | Curve[][]): Contour[];
|
|
/**
|
|
* 合并曲线组成为多段线
|
|
* @param cus 曲线组
|
|
* @param [needLink=true] 需要解析成首尾连接状态
|
|
* @returns 单一曲线,如果返回超过1个,其他的将被遗弃.
|
|
*/
|
|
static Combine(cus: Curve[], needLink?: boolean, tolerance?: number): Curve;
|
|
get Shape(): THREE.Shape;
|
|
/**
|
|
* 判断是否完全包含曲线
|
|
* @param smallCurve 传入的这个曲线不能比本轮廓还大(这个需要自己优化?)
|
|
* @returns
|
|
*/
|
|
ContainerCurve(smallCurve: Polyline | Circle | Curve, isAreaCheckd?: boolean, ipts?: IntersectResult[]): boolean;
|
|
Equal(tar: Contour): boolean;
|
|
}
|
|
export declare function fastCurveInCurve2(bigCurve: Polyline | Circle, smallCurve: Curve, iPt?: Vector3): boolean;
|
|
export declare function CurveContainerCurve(bigCurve: Polyline | Circle, smallCurve: Polyline | Circle | Curve, ipts?: IntersectResult[], fuzz?: number): boolean;
|
|
//# sourceMappingURL=Contour.d.ts.map
|