52 auto ruleArea = std::make_unique<SCH_RULE_AREA>();
57 ruleArea->_GetContainedItems().insert( line1.get() );
58 line1->AddRuleAreaToCache( ruleArea.get() );
60 ruleArea->_GetContainedItems().insert( line2.get() );
61 line2->AddRuleAreaToCache( ruleArea.get() );
87 auto ruleArea = std::make_unique<SCH_RULE_AREA>();
91 ruleArea->_GetContainedItems().insert( line1.get() );
92 line1->AddRuleAreaToCache( ruleArea.get() );
94 ruleArea->_GetContainedItems().insert( line2.get() );
95 line2->AddRuleAreaToCache( ruleArea.get() );
122 symbol->GetRawPins().push_back( std::make_unique<SCH_PIN>( symbol, wxT(
"1" ), wxEmptyString,
KIID() ) );
123 SCH_PIN*
pin = symbol->GetRawPins().front().get();
125 ruleArea->_GetContainedItems().insert(
pin );
126 pin->AddRuleAreaToCache( ruleArea );
127 ruleArea->_GetContainedDirectives().insert( directive );
128 directive->AddConnectedRuleArea( ruleArea );
130 screen.
Append( ruleArea );
131 screen.
Append( symbol,
false );
132 screen.
Append( directive );
134 std::unordered_set<SCH_SCREEN*> screens = { &screen };
137 BOOST_CHECK(
pin->GetRuleAreaCache().empty() );
138 BOOST_CHECK( directive->GetConnectedRuleAreas().empty() );
static std::vector< std::pair< SCH_RULE_AREA *, SCH_SCREEN * > > UpdateRuleAreasInScreens(std::unordered_set< SCH_SCREEN * > &screens, KIGFX::SCH_VIEW *view)
Update all rule area connectvity / caches in the given sheet paths.
BOOST_CHECK_EQUAL(result, "25.4")