71 lines
2.6 KiB
TypeScript
71 lines
2.6 KiB
TypeScript
import { Matrix3, Matrix4, Shape as TShape, Vector3 } from 'three';
|
|
import { ObjectSnapMode } from '../Editor/ObjectSnapMode';
|
|
import { CADFiler } from './CADFiler';
|
|
import { Contour } from './Contour';
|
|
import { Curve } from './Entity/Curve';
|
|
export declare class Shape {
|
|
private _Outline;
|
|
private _Holes;
|
|
private _DisplayAccuracy;
|
|
constructor(_Outline?: Contour, _Holes?: Contour[]);
|
|
get DisplayAccuracy(): number;
|
|
set DisplayAccuracy(v: number);
|
|
get Outline(): Contour;
|
|
get Holes(): Contour[];
|
|
get Area(): number;
|
|
get BoundingBox(): import("../Geometry/Box").Box3Ext;
|
|
set Outline(con: Contour);
|
|
set Holes(holes: Contour[]);
|
|
get Shape(): TShape;
|
|
get Position(): Vector3;
|
|
set Position(p: Vector3);
|
|
Z0(): this;
|
|
MatrixPlanarizere(): void;
|
|
ApplyMatrix(m: Matrix4): this;
|
|
ApplyScaleMatrix(m: Matrix4): this;
|
|
Explode(): Curve[];
|
|
Clone(): Shape;
|
|
SetColor(color: number): void;
|
|
GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform?: Matrix3): Vector3[];
|
|
GetGripPoints(): Vector3[];
|
|
MoveGripPoints(indexList: Array<number>, vec: Vector3): void;
|
|
GetStretchPoints(): Vector3[];
|
|
MoveStretchPoints(indexList: Array<number>, vec: Vector3): void;
|
|
IntersectionBoolOperation(targetShape: Shape): Shape[];
|
|
UnionBoolOperation(targetShape: Shape, checkIntersect?: boolean): Shape[];
|
|
/**
|
|
* 如果完全被减掉,就返回0个.其他的返回1个或者n个
|
|
* @param targetShapes 已经是合并后的形状数组
|
|
*/
|
|
SubstactBoolOperation(targetShapes: Shape[]): Shape[];
|
|
Equal(targetShape: Shape): boolean;
|
|
private targetOutlinesSubHoles;
|
|
/**
|
|
* 目标轮廓减去洞
|
|
*
|
|
* @private
|
|
* @param {Contour[]} tarContours 轮廓列表
|
|
* @param {Contour[]} holes 洞列表
|
|
* @returns {Contour[]} 新的轮廓列表
|
|
* @memberof Shape
|
|
*/
|
|
private targetOutlineSubHoleOutline;
|
|
static pairHoleAndOutline(contours: Contour[]): Shape[];
|
|
/**
|
|
* 合并洞,本质是使用(并集算法)将可以并集的洞合并在一起,减少洞的数量.
|
|
* canSidewipe 用于走刀,擦边的,包含的,是否合并
|
|
*/
|
|
static mergeContours(holes: Contour[], canSidewipe?: boolean): Contour[];
|
|
/**
|
|
* 移除被包含的洞.(移除无效的洞,已经被更大的洞包含)
|
|
*
|
|
* @private
|
|
* @param {Contour[]} tmpHoles 洞列表
|
|
* @returns {Contour[]} 返回的洞列表都不会互相包含.
|
|
* @memberof Shape
|
|
*/
|
|
private static removeBeContaineredHoles;
|
|
ReadFile(file: CADFiler): void;
|
|
WriteFile(file: CADFiler): void;
|
|
}
|
|
//# sourceMappingURL=Shape.d.ts.map
|