webcad-ue4-api/types/DatabaseServices/Shape.d.ts
2024-10-29 17:14:43 +08:00

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