TraceMaker
C++ API of the engine
Loading...
Searching...
No Matches
obstacles.hpp File Reference

Obstacle model for routing: every copper item, hole, board edge and keepout, with exact legality tests that use the DRC's rule engine, so the router and the DRC can never disagree about what is legal. More...

#include <functional>
#include <memory>
#include <vector>
#include "drc/connectivity.hpp"
#include "drc/copper.hpp"
#include "drc/rule_engine.hpp"
#include "index/uniform_grid.hpp"
#include "model/board.hpp"
#include "model/rules.hpp"

Go to the source code of this file.

Classes

class  tmk::route::Obstacles

Namespaces

namespace  tmk
namespace  tmk::route

Functions

long double tmk::route::zone_fill_area (const drc::CopperModel &cm, const std::vector< int > &items)
 Filled area of zone fill items (nm^2), shoelace over each item's outline.

Variables

constexpr long double tmk::route::kPlaneTargetArea = 1e12L
 With soft zones a fill of at least this area that no pad touches is its net's plane: a connection target of its own (doc 05 ยง26).

Detailed Description

Obstacle model for routing: every copper item, hole, board edge and keepout, with exact legality tests that use the DRC's rule engine, so the router and the DRC can never disagree about what is legal.

Definition in file obstacles.hpp.