本文整理汇总了C++中Geom::LoadIDAndChildren方法的典型用法代码示例。如果您正苦于以下问题:C++ Geom::LoadIDAndChildren方法的具体用法?C++ Geom::LoadIDAndChildren怎么用?C++ Geom::LoadIDAndChildren使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Geom
的用法示例。
在下文中一共展示了Geom::LoadIDAndChildren方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: NoShowActiveGeoms
//==== Show/NoShow Active Geoms and Children ====//
void ManageGeomScreen::NoShowActiveGeoms( bool flag )
{
//==== Load Active Geom IDs And Children ====//
vector<string> geom_id_vec;
vector<string> active_geom_vec = m_VehiclePtr->GetActiveGeomVec();
for ( int i = 0 ; i < ( int )active_geom_vec.size() ; i++ )
{
Geom* gPtr = m_VehiclePtr->FindGeom( active_geom_vec[i] );
if ( gPtr )
{
gPtr->LoadIDAndChildren( geom_id_vec );
}
}
//==== Set No Show Flag ====//
vector< Geom* > geom_vec = m_VehiclePtr->FindGeomVec( geom_id_vec );
for ( int i = 0 ; i < ( int )geom_vec.size() ; i++ )
{
if ( geom_vec[i] )
{
geom_vec[i]->SetSetFlag( SET_SHOWN , !flag );
geom_vec[i]->SetSetFlag( SET_NOT_SHOWN , flag );
}
}
//jrg FIX!!!
// aircraftPtr->triggerDraw();
LoadBrowser();
}
示例2: GeomBrowserCallback
//==== Item in Geom Browser Was Selected ====//
void ManageGeomScreen::GeomBrowserCallback()
{
//==== Find Vector of All Selections ====//
vector< string > selVec = GetSelectedBrowserItems();
//==== Find Last Selected Geom ====//
int last = m_GeomUI->geomBrowser->value();
if ( ( last >= 2 ) && Fl::event_state( FL_ALT ) ) // Select Children
{
Geom* lastSelGeom = m_VehiclePtr->FindGeom( m_DisplayedGeomVec[last - 2] );
if ( lastSelGeom )
{
vector<string> cVec;
lastSelGeom->LoadIDAndChildren( cVec );
for ( int i = 1 ; i < ( int )cVec.size(); i++ )
{
SelectGeomBrowser( cVec[i] );
selVec.push_back( cVec[i] );
}
}
}
//==== Check if Geom Already Selected ====//
m_CollapseFlag = false;
if ( m_LastSelectedGeomID != "NONE" && selVec.size() == 1 )
{
string lastSel = selVec[0];
if ( lastSel == m_LastSelectedGeomID )
{
m_CollapseFlag = true;
Geom* lastSelGeom = m_VehiclePtr->FindGeom( m_LastSelectedGeomID );
if ( lastSelGeom )
{
lastSelGeom->m_GuiDraw.ToggleDisplayChildrenFlag();
if ( lastSelGeom->GetChildIDVec().size() == 0 ) // No Children Dont Collapse
{
lastSelGeom->m_GuiDraw.SetDisplayChildrenFlag( true );
}
}
}
}
m_LastSelectedGeomID = "NONE";
if ( selVec.size() == 1 )
{
m_LastSelectedGeomID = selVec[0];
}
m_VehiclePtr->SetActiveGeomVec( selVec );
LoadActiveGeomOutput();
// m_ScreenMgr->UpdateAllScreens();
ShowHideGeomScreens();
//jrg FIX!!!
// aircraftPtr->triggerDraw();
}
示例3:
//==== Load Active Geom IDs and Children ===//
vector< string > ManageGeomScreen::GetActiveGeoms()
{
//==== Load Active Geom IDs And Children ====//
vector<string> geom_id_vec;
vector<string> active_geom_vec = m_VehiclePtr->GetActiveGeomVec();
for ( int i = 0 ; i < ( int )active_geom_vec.size() ; i++ )
{
Geom* gPtr = m_VehiclePtr->FindGeom( active_geom_vec[i] );
if ( gPtr )
{
if ( gPtr->m_GuiDraw.GetDisplayChildrenFlag() )
{
geom_id_vec.push_back( active_geom_vec[i] );
}
else
{
gPtr->LoadIDAndChildren( geom_id_vec );
}
}
}
return geom_id_vec;
}