@typecad/typecad
Version:
🤖programmatically 💥create 🛰️hardware
19 lines (18 loc) • 1.2 kB
TypeScript
import { Component } from "../../component";
import { PCB } from "../../pcb/pcb";
import { IFilledZone, IKeepoutZone, IGrLine, IOutline } from "../../pcb/pcb_interfaces";
import { IRoutingObstacle } from "./routing_grid.js";
export declare class ObstacleBuilder {
static buildFromPCB(pcb: PCB, defaultClearance?: number, additionalComponents?: Component[], debug?: boolean): IRoutingObstacle[];
static buildFromComponent(component: Component, clearance: number): IRoutingObstacle | null;
static buildFromComponentPads(component: Component, clearance: number, pcb: PCB, debug?: boolean): IRoutingObstacle[];
private static buildFromPad;
static buildFromZone(zone: IFilledZone): IRoutingObstacle | null;
static buildFromKeepoutZone(zone: IKeepoutZone): IRoutingObstacle | null;
static buildFromTrack(track: IGrLine, width: number, clearance: number, net?: string, isManualRoute?: boolean): IRoutingObstacle;
static buildFromOutline(outline: IOutline, clearance: number): IRoutingObstacle | null;
private static buildFromVia;
private static extractComponentBounds;
private static buildSimpleComponentObstacle;
private static calculatePolygonBounds;
}