24#ifndef DRC_RE_PANEL_MATCHER_H_
25#define DRC_RE_PANEL_MATCHER_H_
48 std::set<DRC_CONSTRAINT_T> aRequired,
49 std::set<DRC_CONSTRAINT_T> aOptional,
69 std::set<DRC_CONSTRAINT_T> aClaimed ) :
115 const std::set<DRC_CONSTRAINT_T>& aConstraints );
131 const std::set<DRC_CONSTRAINT_T>& aConstraints,
132 std::set<DRC_CONSTRAINT_T>* aClaimedOut );
DRC_RULE_EDITOR_CONSTRAINT_NAME GetPanelForConstraint(DRC_CONSTRAINT_T aConstraintType)
Get the panel type for a single constraint.
bool CanPanelLoad(DRC_RULE_EDITOR_CONSTRAINT_NAME aPanel, const std::set< DRC_CONSTRAINT_T > &aConstraints)
Check if a specific panel type can load a set of constraints.
std::vector< DRC_PANEL_MATCH > MatchRule(const DRC_RULE &aRule)
Match a DRC rule to one or more panel types.
bool matchesClaim(const DRC_PANEL_CLAIM &aClaim, const std::set< DRC_CONSTRAINT_T > &aConstraints, std::set< DRC_CONSTRAINT_T > *aClaimedOut)
std::vector< DRC_PANEL_CLAIM > m_claims
DRC_PANEL_MATCHER()
Panel Claim Priority System.
DRC_RULE_EDITOR_CONSTRAINT_NAME
Defines which constraint types a panel can claim.
std::set< DRC_CONSTRAINT_T > optionalConstraints
std::set< DRC_CONSTRAINT_T > requiredConstraints
DRC_RULE_EDITOR_CONSTRAINT_NAME panelType
DRC_PANEL_CLAIM(DRC_RULE_EDITOR_CONSTRAINT_NAME aPanel, std::set< DRC_CONSTRAINT_T > aRequired, std::set< DRC_CONSTRAINT_T > aOptional, int aPriority)
DRC_PANEL_MATCH(DRC_RULE_EDITOR_CONSTRAINT_NAME aPanel, std::set< DRC_CONSTRAINT_T > aClaimed)
std::set< DRC_CONSTRAINT_T > claimedConstraints
DRC_RULE_EDITOR_CONSTRAINT_NAME panelType