KiCad PCB EDA Suite
pns_line.h File Reference
#include <math/vector2d.h>
#include <geometry/direction45.h>
#include <geometry/seg.h>
#include <geometry/shape.h>
#include <geometry/shape_line_chain.h>
#include "pns_item.h"
#include "pns_via.h"

Go to the source code of this file.

Classes

class  PNS::LINE
 

Namespaces

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

Macros

#define PNS_HULL_MARGIN   10
 Class LINE. More...
 

Macro Definition Documentation

#define PNS_HULL_MARGIN   10

Class LINE.

Represents a track on a PCB, connecting two non-trivial joints (that is, vias, pads, junctions between multiple traces or two traces different widths and combinations of these). PNS_LINEs are NOT stored in the model (NODE). Instead, they are assembled on-the-fly, based on a via/pad/segment that belongs to/starts/ends them.

PNS_LINEs can be either loose (consisting of segments that do not belong to any NODE) or owned (with segments taken from a NODE) - these are returned by NODE::AssembleLine and friends.

A LINE may have a VIA attached at its end (i.e. the last point) - this is used by via dragging/force propagation stuff.

Definition at line 58 of file pns_line.h.

Referenced by PNS::DIFF_PAIR_PLACER::attemptWalk(), PNS::SHOVE::checkBumpDirection(), PNS_PCBNEW_RULE_RESOLVER::Clearance(), and PNS::SHOVE::onCollidingVia().