TraceMaker
C++ API of the engine
Loading...
Searching...
No Matches
tmk::drc::CopperItem Struct Reference

#include <drc/copper.hpp>

Public Attributes

ItemKind kind = ItemKind::Track
int index = -1
 index in the board's pads/tracks/arcs/vias/zones/graphics vector
int sub = 0
 zone fill polygon index
model::NetId net = 0
model::LayerMask layers = 0
 copper layers the shape is on
std::vector< geom::Shape > shapes
 copper shape (identical on every layer in layers)
geom::Box box
int footprint = -1
model::Point pos
 reporting position
Coord width = 0
 tracks/arcs: width; vias: diameter
int owner = -1
 router connection that created this item (-1 = fixed copper)
bool removed = false
 ripped up (router working model only)
bool free_via = false
 via marked (free yes): its net is fixed for KiCad's net propagation
model::LayerMask span = 0
 Vias and pads whose copper KiCad removes on layers nothing connects to (model::UnconnectedLayers, doc 05 §60).
int bare_part = -1
int bare_of = -1

Detailed Description

Definition at line 14 of file copper.hpp.

Member Data Documentation

◆ bare_of

int tmk::drc::CopperItem::bare_of = -1

Definition at line 35 of file copper.hpp.

◆ bare_part

int tmk::drc::CopperItem::bare_part = -1

Definition at line 35 of file copper.hpp.

◆ box

geom::Box tmk::drc::CopperItem::box

Definition at line 21 of file copper.hpp.

◆ footprint

int tmk::drc::CopperItem::footprint = -1

Definition at line 22 of file copper.hpp.

◆ free_via

bool tmk::drc::CopperItem::free_via = false

via marked (free yes): its net is fixed for KiCad's net propagation

Definition at line 27 of file copper.hpp.

◆ index

int tmk::drc::CopperItem::index = -1

index in the board's pads/tracks/arcs/vias/zones/graphics vector

Definition at line 16 of file copper.hpp.

◆ kind

ItemKind tmk::drc::CopperItem::kind = ItemKind::Track

Definition at line 15 of file copper.hpp.

◆ layers

model::LayerMask tmk::drc::CopperItem::layers = 0

copper layers the shape is on

Definition at line 19 of file copper.hpp.

◆ net

model::NetId tmk::drc::CopperItem::net = 0

Definition at line 18 of file copper.hpp.

◆ owner

int tmk::drc::CopperItem::owner = -1

router connection that created this item (-1 = fixed copper)

Definition at line 25 of file copper.hpp.

◆ pos

model::Point tmk::drc::CopperItem::pos

reporting position

Definition at line 23 of file copper.hpp.

◆ removed

bool tmk::drc::CopperItem::removed = false

ripped up (router working model only)

Definition at line 26 of file copper.hpp.

◆ shapes

std::vector<geom::Shape> tmk::drc::CopperItem::shapes

copper shape (identical on every layer in layers)

Definition at line 20 of file copper.hpp.

◆ span

model::LayerMask tmk::drc::CopperItem::span = 0

Vias and pads whose copper KiCad removes on layers nothing connects to (model::UnconnectedLayers, doc 05 §60).

On those layers only the hole is left, and KiCad's clearance test takes the hole for the item's copper there. Such an item is split: the item with the copper (layers without the bare layers) and a second item of the same kind and index whose layers are the bare ones and whose shape is the hole. bare_part on the first points to the second, bare_of on the second to the first. The second is no node of the connectivity graph and is not reported on its own. span is the padstack's whole layer set (KiCad's GetLayerSet), which rule conditions see; 0 for items that are not split.

Definition at line 34 of file copper.hpp.

◆ sub

int tmk::drc::CopperItem::sub = 0

zone fill polygon index

Definition at line 17 of file copper.hpp.

◆ width

Coord tmk::drc::CopperItem::width = 0

tracks/arcs: width; vias: diameter

Definition at line 24 of file copper.hpp.


The documentation for this struct was generated from the following file: