KiCad PCB EDA Suite
Loading...
Searching...
No Matches
pns_utils.cpp File Reference
#include "pns_utils.h"
#include "pns_line.h"
#include "pns_via.h"
#include "pns_router.h"
#include "pns_debug_decorator.h"
#include <geometry/shape_arc.h>
#include <geometry/shape_segment.h>
#include <math/box2.h>
#include <cmath>

Go to the source code of this file.

Namespaces

namespace  PNS
 Push and Shove diff pair dimensions (gap) settings dialog.
 

Functions

const SHAPE_LINE_CHAIN PNS::OctagonalHull (const VECTOR2I &aP0, const VECTOR2I &aSize, int aClearance, int aChamfer)
 
const SHAPE_LINE_CHAIN PNS::ArcHull (const SHAPE_ARC &aSeg, int aClearance, int aWalkaroundThickness)
 Various utility functions. More...
 
static bool PNS::IsSegment45Degree (const SEG &aS)
 
template<typename T >
int PNS::sgn (T val)
 
const SHAPE_LINE_CHAIN PNS::SegmentHull (const SHAPE_SEGMENT &aSeg, int aClearance, int aWalkaroundThickness)
 
static void PNS::MoveDiagonal (SEG &aDiagonal, const SHAPE_LINE_CHAIN &aVertices, int aClearance)
 
const SHAPE_LINE_CHAIN PNS::ConvexHull (const SHAPE_SIMPLE &aConvex, int aClearance)
 Function ConvexHull() More...
 
SHAPE_RECT PNS::ApproximateSegmentAsRect (const SHAPE_SEGMENT &aSeg)
 
OPT_BOX2I PNS::ChangedArea (const ITEM *aItemA, const ITEM *aItemB)
 
OPT_BOX2I PNS::ChangedArea (const LINE &aLineA, const LINE &aLineB)
 
void PNS::HullIntersection (const SHAPE_LINE_CHAIN &hull, const SHAPE_LINE_CHAIN &line, SHAPE_LINE_CHAIN::INTERSECTIONS &ips)
 
const SHAPE_LINE_CHAIN PNS::BuildHullForPrimitiveShape (const SHAPE *aShape, int aClearance, int aWalkaroundThickness)