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

28 lines
1.4 KiB
TypeScript

import { Geom3 } from "@jscad/modeling/src/geometries/types";
import { Box3, Material, Mesh } from "three";
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 type Solid3D = ExtrudeSolid | SweepSolid | ExtrudeHole;
export declare class CheckInterfereTool {
_MeshMaterial: Material;
constructor(_MeshMaterial?: Material);
static _SingleInstance: CheckInterfereTool;
static GetInstance(): CheckInterfereTool;
entitySet: Set<Solid3D>;
objMap: [Mesh, [Solid3D, Solid3D]][];
GetEntitys(selectEnts: (HardwareCompositeEntity | ExtrudeSolid | SweepSolid)[]): Solid3D[];
IsSkipEntity(en: Entity): boolean;
Check(selectEnts: (HardwareCompositeEntity | ExtrudeSolid | SweepSolid)[], progressCallBack?: (index: number, all: number) => void): Promise<[Mesh<import("three").Geometry | import("three").BufferGeometry, Material | Material[]>, [Solid3D, Solid3D]][]>;
Clear(): void;
csgCache: Map<Entity, Geom3>;
private GetCSG;
obbCache: Map<Entity, OBB>;
private GetOBB;
boxCache: Map<Entity, Box3>;
private GetBox;
}
//# sourceMappingURL=InterfereUtil.d.ts.map