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

#include <route/legalize.hpp>

Public Attributes

double box_mm = 0.25
 a vertex stays within this distance of where it started
double margin_mm = 0.003
 clearance asked for beyond the rule (rounding to nanometres, the pairs between sweeps)
int sweeps = 300
 projection sweeps at most
double edge_mm = 0.035
 copper stays this far inside the board outline (plus the rule's edge clearance)
double subdivide_mm = 0
 > 0: every unlocked route track is cut into pieces of at most this length (at the vertices of same-net copper that lie on it, and evenly in between), so that a long straight track can bend where its neighbours are too close, instead of only moving as a whole; after the sweeps the vertices that stayed on a straight line are merged again.
std::uint64_t seed = 0
 != 0: the pairs are visited in another (seeded) order, which leaves other pinches unresolved: portfolio variants differ
std::vector< geom::Point > outline
 board outline polygon (Obstacles::outline()); empty = unbounded

Detailed Description

Definition at line 25 of file legalize.hpp.

Member Data Documentation

◆ box_mm

double tmk::route::LegalizeOptions::box_mm = 0.25

a vertex stays within this distance of where it started

Definition at line 26 of file legalize.hpp.

◆ edge_mm

double tmk::route::LegalizeOptions::edge_mm = 0.035

copper stays this far inside the board outline (plus the rule's edge clearance)

Definition at line 29 of file legalize.hpp.

◆ margin_mm

double tmk::route::LegalizeOptions::margin_mm = 0.003

clearance asked for beyond the rule (rounding to nanometres, the pairs between sweeps)

Definition at line 27 of file legalize.hpp.

◆ outline

std::vector<geom::Point> tmk::route::LegalizeOptions::outline

board outline polygon (Obstacles::outline()); empty = unbounded

Definition at line 35 of file legalize.hpp.

◆ seed

std::uint64_t tmk::route::LegalizeOptions::seed = 0

!= 0: the pairs are visited in another (seeded) order, which leaves other pinches unresolved: portfolio variants differ

Definition at line 34 of file legalize.hpp.

◆ subdivide_mm

double tmk::route::LegalizeOptions::subdivide_mm = 0

> 0: every unlocked route track is cut into pieces of at most this length (at the vertices of same-net copper that lie on it, and evenly in between), so that a long straight track can bend where its neighbours are too close, instead of only moving as a whole; after the sweeps the vertices that stayed on a straight line are merged again.

0 = the vertices the routes have (unchanged behaviour).

Definition at line 33 of file legalize.hpp.

◆ sweeps

int tmk::route::LegalizeOptions::sweeps = 300

projection sweeps at most

Definition at line 28 of file legalize.hpp.


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