webcad-api/types/Common/InterfereUtil.d.ts
2020-09-24 11:04:12 +08:00

23 lines
1.3 KiB
TypeScript

import { Box3, Geometry, Mesh } from "three";
import { CSG } from "../csg/core/CSG";
import { ExtrudeHole } from "../DatabaseServices/3DSolid/ExtrudeHole";
import { SweepSolid } from "../DatabaseServices/3DSolid/SweepSolid";
import { Entity } from "../DatabaseServices/Entity/Entity";
import { ExtrudeSolid } from "../DatabaseServices/Entity/Extrude";
import { HardwareCompositeEntity } from "../DatabaseServices/Hardware/HardwareCompositeEntity";
import { OBB } from "../Geometry/OBB/obb";
export declare type Solid3D = ExtrudeSolid | SweepSolid | ExtrudeHole;
export declare class CheckInterfereTool {
entitySet: Set<Solid3D>;
objMap: Map<Mesh, [Solid3D, Solid3D]>;
GetEntitys(selectEnts: (HardwareCompositeEntity | ExtrudeSolid | SweepSolid)[]): Solid3D[];
Check(selectEnts: (HardwareCompositeEntity | ExtrudeSolid | SweepSolid)[], progressCallBack?: (index: number, all: number) => void): Promise<Map<Mesh<Geometry | import("three").BufferGeometry, import("three").Material | import("three").Material[]>, [Solid3D, Solid3D]>>;
csgCache: Map<Entity, CSG>;
private GetCSG;
obbCache: Map<Entity, OBB>;
private GetOBB;
boxCache: Map<Entity, Box3>;
private GetBox;
}
export declare const checkInterfereTool: CheckInterfereTool;
//# sourceMappingURL=InterfereUtil.d.ts.map