69 SCH_SCREEN* screen = m_schematic->RootScreen();
71 path.push_back( &m_schematic->Root() );
88 std::set<wxString>
group;
89 group.insert( wxT(
"1" ) );
90 group.insert( wxT(
"3" ) );
99 SCH_SHEET_LIST sheets = m_schematic->BuildSheetListSortedByPageNumbers();
100 BOOST_CHECK_NO_THROW( m_schematic->ConnectionGraph()->Recalculate( sheets,
true ) );
108 SCH_SCREEN* screen = m_schematic->RootScreen();
110 path.push_back( &m_schematic->Root() );
121 std::set<wxString>
group;
122 group.insert( wxT(
"5" ) );
123 group.insert( wxT(
"6" ) );
131 SCH_SHEET_LIST sheets = m_schematic->BuildSheetListSortedByPageNumbers();
132 BOOST_CHECK_NO_THROW( m_schematic->ConnectionGraph()->Recalculate( sheets,
true ) );
140 SCH_SCREEN* screen = m_schematic->RootScreen();
142 path.push_back( &m_schematic->Root() );
165 std::set<wxString>
group;
166 group.insert( wxT(
"1" ) );
167 group.insert( wxT(
"3" ) );
175 SCH_SHEET_LIST sheets = m_schematic->BuildSheetListSortedByPageNumbers();
176 m_schematic->ConnectionGraph()->Recalculate( sheets,
true );
187 bool connected =
false;
191 if( item == schPin3 )
198 BOOST_CHECK_MESSAGE( connected,
"Pins 1 and 3 should be connected via jumper pin group" );
210 SCH_SHEET_LIST sheets = m_schematic->BuildSheetListSortedByPageNumbers();
214 BOOST_CHECK_NO_THROW( m_schematic->ConnectionGraph()->Recalculate( sheets,
true ) );
Define a library symbol object.
const LIB_ID & GetLibId() const override
std::vector< std::set< wxString > > & JumperPinGroups()
Each jumper pin group is a set of pin numbers that should be treated as internally connected.
void AddDrawItem(SCH_ITEM *aItem, bool aSort=true)
Add a new draw aItem to the draw object list and sort according to aSort.
Instantiate the current locale within a scope in which you are expecting exceptions to be thrown.
Base class for any item which can be embedded within the SCHEMATIC container class,...
const SCH_ITEM_VEC & ConnectedItems(const SCH_SHEET_PATH &aPath)
Retrieve the set of items connected to this item on the given sheet.
void SetNumber(const wxString &aNumber)
void SetPosition(const VECTOR2I &aPos) override
void SetType(ELECTRICAL_PINTYPE aType)
void Append(SCH_ITEM *aItem, bool aUpdateLibSymbol=true)
A container for handling SCH_SHEET_PATH objects in a flattened hierarchy.
Handle access to a stack of flattened SCH_SHEET objects by way of a path for creating a flattened sch...
Sheet symbol placed in a schematic, and is the entry point for a sub schematic.
void SetScreen(SCH_SCREEN *aScreen)
Set the SCH_SCREEN associated with this sheet to aScreen.
void UpdatePins()
Updates the cache of SCH_PIN objects for each pin.
SCH_PIN * GetPin(const wxString &number) const
Find a symbol pin by number.
void LoadSchematic(SETTINGS_MANAGER &aSettingsManager, const wxString &aRelPath, std::unique_ptr< SCHEMATIC > &aSchematic)
@ PT_PASSIVE
pin for passive symbols: must be connected, and can be connected to any pin.
std::vector< FAB_LAYER_COLOR > dummy
Test for issue #23058: Jumper pin groups with out-of-bounds pin numbers cause crash.
std::unique_ptr< SCHEMATIC > m_schematic
SETTINGS_MANAGER m_settingsManager
JUMPER_PIN_GROUP_FIXTURE()
BOOST_REQUIRE(intersection.has_value()==c.ExpectedIntersection.has_value())
BOOST_FIXTURE_TEST_CASE(JumperPinGroupOutOfBounds, JUMPER_PIN_GROUP_FIXTURE)
VECTOR2< int32_t > VECTOR2I