本文整理汇总了C++中SCH_ITEM::GetNetListItem方法的典型用法代码示例。如果您正苦于以下问题:C++ SCH_ITEM::GetNetListItem方法的具体用法?C++ SCH_ITEM::GetNetListItem怎么用?C++ SCH_ITEM::GetNetListItem使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SCH_ITEM
的用法示例。
在下文中一共展示了SCH_ITEM::GetNetListItem方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: BuildNetListInfo
bool NETLIST_OBJECT_LIST::BuildNetListInfo( SCH_SHEET_LIST& aSheets )
{
SCH_SHEET_PATH* sheet;
// Fill list with connected items from the flattened sheet list
for( unsigned i = 0; i < aSheets.size(); i++ )
{
sheet = &aSheets[i];
for( SCH_ITEM* item = sheet->LastScreen()->GetDrawItems(); item; item = item->Next() )
{
item->GetNetListItem( *this, sheet );
}
}
if( size() == 0 )
return false;
// Sort objects by Sheet
SortListbySheet();
sheet = &(GetItem( 0 )->m_SheetPath);
m_lastNetCode = m_lastBusNetCode = 1;
for( unsigned ii = 0, istart = 0; ii < size(); ii++ )
{
NETLIST_OBJECT* net_item = GetItem( ii );
if( net_item->m_SheetPath != *sheet ) // Sheet change
{
sheet = &(net_item->m_SheetPath);
istart = ii;
}
switch( net_item->m_Type )
{
case NET_ITEM_UNSPECIFIED:
wxMessageBox( wxT( "BuildNetListInfo() error" ) );
break;
case NET_PIN:
case NET_PINLABEL:
case NET_SHEETLABEL:
case NET_NOCONNECT:
if( net_item->GetNet() != 0 )
break;
case NET_SEGMENT:
// Test connections point to point type without bus.
if( net_item->GetNet() == 0 )
{
net_item->SetNet( m_lastNetCode );
m_lastNetCode++;
}
pointToPointConnect( net_item, IS_WIRE, istart );
break;
case NET_JUNCTION:
// Control of the junction outside BUS.
if( net_item->GetNet() == 0 )
{
net_item->SetNet( m_lastNetCode );
m_lastNetCode++;
}
segmentToPointConnect( net_item, IS_WIRE, istart );
// Control of the junction, on BUS.
if( net_item->m_BusNetCode == 0 )
{
net_item->m_BusNetCode = m_lastBusNetCode;
m_lastBusNetCode++;
}
segmentToPointConnect( net_item, IS_BUS, istart );
break;
case NET_LABEL:
case NET_HIERLABEL:
case NET_GLOBLABEL:
// Test connections type junction without bus.
if( net_item->GetNet() == 0 )
{
net_item->SetNet( m_lastNetCode );
m_lastNetCode++;
}
segmentToPointConnect( net_item, IS_WIRE, istart );
break;
case NET_SHEETBUSLABELMEMBER:
if( net_item->m_BusNetCode != 0 )
break;
case NET_BUS:
// Control type connections point to point mode bus
if( net_item->m_BusNetCode == 0 )
{
net_item->m_BusNetCode = m_lastBusNetCode;
//.........这里部分代码省略.........