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

Positional custom-rule predicates. More...

#include <array>
#include <string>
#include <vector>
#include "drc/copper.hpp"

Go to the source code of this file.

Classes

struct  tmk::drc::CourtyardRegion
struct  tmk::drc::CourtyardEntry
struct  tmk::drc::CourtyardCache

Namespaces

namespace  tmk
namespace  tmk::drc

Functions

bool tmk::drc::area_matches (const CopperItem &item, const model::Zone &area, bool enclosed)
 Requires a common copper layer.
CourtyardCache tmk::drc::build_courtyards (const model::Board &board)
 Build once per board; invalid/unclosed contours leave the corresponding side empty and marked unreadable.
bool tmk::drc::footprint_selected (const std::string &selector, const std::string &reference, const std::string &lib_id)
 KiCad's footprint selector (testFootprintSelector): a reference wildcard, or, when the selector contains ':', a library-id wildcard.
bool tmk::drc::courtyard_matches (const CopperItem &item, const CourtyardCache &courtyards, const std::string &selector, const std::string &function)
 Function is intersectsCourtyard/intersectsFrontCourtyard/intersectsBackCourtyard.
std::vector< int > tmk::drc::courtyard_entries (const CourtyardCache &courtyards, const std::string &selector)
 The entries a footprint selector picks, in entry order, and the same test against them.
bool tmk::drc::courtyard_matches (const CopperItem &item, const CourtyardCache &courtyards, const std::vector< int > &entries, const std::string &function)

Detailed Description

Positional custom-rule predicates.

Shapes are tested as rounded cores, not boxes.

Definition in file rule_geometry.hpp.