25#include <math/vector2d.h>
27#include <geometry/shape_line_chain.h>
28#include <geometry/shape_segment.h>
29#include <geometry/shape_rect.h>
30#include <geometry/shape_simple.h>
34constexpr int HULL_MARGIN = 10;
41const SHAPE_LINE_CHAIN ArcHull(
const SHAPE_ARC& aSeg,
int aClearance,
int aWalkaroundThickness );
43const SHAPE_LINE_CHAIN OctagonalHull(
const VECTOR2I& aP0,
const VECTOR2I& aSize,
44 int aClearance,
int aChamfer );
46const SHAPE_LINE_CHAIN SegmentHull(
const SHAPE_SEGMENT& aSeg,
int aClearance,
47 int aWalkaroundThickness );
57const SHAPE_LINE_CHAIN ConvexHull(
const SHAPE_SIMPLE& aConvex,
int aClearance );
59SHAPE_RECT ApproximateSegmentAsRect(
const SHAPE_SEGMENT& aSeg );
61OPT_BOX2I ChangedArea(
const ITEM* aItemA,
const ITEM* aItemB );
62OPT_BOX2I ChangedArea(
const LINE& aLineA,
const LINE& aLineB );
64void HullIntersection(
const SHAPE_LINE_CHAIN& hull,
const SHAPE_LINE_CHAIN& line,
65 SHAPE_LINE_CHAIN::INTERSECTIONS& ips );
Base class for PNS router board items.
Definition pns_item.h:57
Represents a track on a PCB, connecting two non-trivial joints (that is, vias, pads,...
Definition pns_line.h:61