@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
20 lines (19 loc) • 994 B
TypeScript
import { EntityGroupType } from '../../EntityGroupCollection';
import { CadGeometryType, OpenCascadeInstance, TopoDS_Edge, TopoDS_Shape, TopoDS_Vertex, TopoDS_Wire } from './CadCommon';
import { CadObject } from './CadObject';
type YieldedEntity = TopoDS_Vertex | TopoDS_Edge | TopoDS_Wire;
type EntityCallback<E extends YieldedEntity> = (entity: E, index: number) => void;
type TraverseEntitiesFunction<E extends YieldedEntity> = (oc: OpenCascadeInstance, shape: TopoDS_Shape, callback: EntityCallback<E>) => void;
interface TraverseOptions<E extends YieldedEntity> {
groupName: string;
groupType: EntityGroupType;
object: CadObject<CadGeometryType>;
shape: TopoDS_Shape;
traverseFunction: TraverseEntitiesFunction<E>;
onEntityTraversed: EntityCallback<E>;
onEntityNotInGroupTraversed?: EntityCallback<E>;
}
export declare class CadEntityGroupCollection {
static traverseEntitiesInGroup<E extends YieldedEntity>(options: TraverseOptions<E>): void;
}
export {};