本文整理汇总了C++中Vehicle::FindGeom方法的典型用法代码示例。如果您正苦于以下问题:C++ Vehicle::FindGeom方法的具体用法?C++ Vehicle::FindGeom怎么用?C++ Vehicle::FindGeom使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Vehicle
的用法示例。
在下文中一共展示了Vehicle::FindGeom方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ShowAllParts
void StructureMgrSingleton::ShowAllParts()
{
FeaStructure* fea_struct = GetFeaStruct( m_CurrStructIndex );
Vehicle* veh = VehicleMgr.GetVehicle();
if ( fea_struct && veh )
{
string parent_id = fea_struct->GetParentGeomID();
veh->HideAll();
Geom* parent = veh->FindGeom( parent_id );
if ( parent )
{
parent->SetSetFlag( 1, true ); //add to shown
parent->SetSetFlag( 2, false ); //remove from show
}
vector < FeaPart* > part_vec = fea_struct->GetFeaPartVec();
for ( size_t i = 0; i < part_vec.size(); i++ )
{
part_vec[i]->m_DrawFeaPartFlag.Set( true );
}
vector < SubSurface* > ss_vec = fea_struct->GetFeaSubSurfVec();
for ( size_t i = 0; i < ss_vec.size(); i++ )
{
ss_vec[i]->m_DrawFeaPartFlag.Set( true );
}
}
}
示例2: GetGeom
//==== Get the geom pointer matching a given comp_id ====//
Geom* SubSurfaceMgrSingleton::GetGeom( string comp_id )
{
Vehicle* veh = VehicleMgr.GetVehicle();
if ( !veh )
{
return NULL;
}
return veh->FindGeom( comp_id );
}
示例3: AddParm
//==== Add Parm To Current Custom Geom ====//
string CustomGeomMgrSingleton::AddParm( int type, const string & name, const string & group )
{
Vehicle* veh = VehicleMgr.GetVehicle();
Geom* gptr = veh->FindGeom( m_CurrGeom );
//==== Check If Geom is Valid and Correct Type ====//
if ( gptr && gptr->GetType().m_Type == CUSTOM_GEOM_TYPE )
{
CustomGeom* custom_geom = dynamic_cast<CustomGeom*>( gptr );
return custom_geom->AddParm( type, name, group );
}
return string();
}
示例4: InitGeom
//==== Init Custom Geom ====//
void CustomGeomMgrSingleton::InitGeom( const string& id, const string& module_name )
{
Vehicle* veh = VehicleMgr.GetVehicle();
Geom* gptr = veh->FindGeom( id );
//==== Check If Geom is Valid and Correct Type ====//
if ( gptr && gptr->GetType().m_Type == CUSTOM_GEOM_TYPE )
{
m_CurrGeom = id;
CustomGeom* custom_geom = dynamic_cast<CustomGeom*>( gptr );
custom_geom->SetScriptModuleName( module_name );
custom_geom->InitGeom();
m_ModuleGeomIDMap[ module_name ] = id;
}
}
示例5: UpdateDrawObjs
void SubSurface::UpdateDrawObjs()
{
if ( !m_UpdateDrawFlag )
{
return;
}
Vehicle* veh = VehicleMgr.GetVehicle();
if ( !veh )
{
return;
}
Geom* geom = veh->FindGeom( m_CompID );
m_DrawObjVec.clear();
if ( geom )
{
vector< VspSurf > surf_vec;
geom->GetSurfVec( surf_vec );
int ncopy = geom->GetNumSymmCopies();
m_DrawObjVec.resize( m_LVec.size()*ncopy, DrawObj() );
int ind = 0;
for ( int ls = 0 ; ls < ( int )m_LVec.size() ; ls++ )
{
int num_pnts = CompNumDrawPnts( geom );
int *num_pnts_ptr = NULL;
if ( num_pnts > 0 )
{
num_pnts_ptr = &num_pnts;
}
int isurf = m_MainSurfIndx();
vector < int > symms = geom->GetSymmIndexs( isurf );
assert( ncopy == symms.size() );
for ( int s = 0 ; s < ncopy ; s++ )
{
m_LVec[ls].UpdateDrawObj( &surf_vec[symms[s]], geom, m_DrawObjVec[ind], num_pnts_ptr );
ind++;
}
}
}
}
示例6: Update
bool VSPAEROScreen::Update()
{
Vehicle *veh = VehicleMgr.GetVehicle();
VSPAEROMgr.Update();
if( veh )
{
//check if the degenfile name has changed
string t_ModelNameBase = VSPAEROMgr.m_ModelNameBase; //m_ModelNameBase is built from calling veh->getExportFileName();
if( !t_ModelNameBase.empty() && strcmp( m_ModelNameBasePrevious.c_str(), t_ModelNameBase.c_str() ) != 0 )
{
ReadSetup();
}
m_ModelNameBasePrevious = t_ModelNameBase;
// Reference Wing Choice
// find & list all Wing type geometries
vector <string> geomVec = veh->GetGeomVec();
m_RefWingChoice.ClearItems();
m_WingGeomVec.clear();
map <string, int> WingCompIDMap;
int iwing = 0;
for ( int i = 0 ; i < ( int )geomVec.size() ; i++ )
{
char str[256];
Geom* g = veh->FindGeom( geomVec[i] );
if ( g )
{
sprintf( str, "%d_%s", i, g->GetName().c_str() );
if( g->GetType().m_Type == MS_WING_GEOM_TYPE )
{
m_RefWingChoice.AddItem( str );
WingCompIDMap[ geomVec[i] ] = iwing;
m_WingGeomVec.push_back( geomVec[i] );
iwing ++;
}
}
}
m_RefWingChoice.UpdateItems();
// Update selected value
string refGeomID = VSPAEROMgr.m_RefGeomID;
if( refGeomID.length() == 0 && m_WingGeomVec.size() > 0 )
{
// Handle case default case.
refGeomID = m_WingGeomVec[0];
VSPAEROMgr.m_RefGeomID = refGeomID;
// Re-trigger reference quantity update with default component.
VSPAEROMgr.Update();
}
m_RefWingChoice.SetVal( WingCompIDMap[ refGeomID ] );
// Update available set choices
m_GeomSetChoice.ClearItems();
m_CGSetChoice.ClearItems();
vector <string> setVec = veh->GetSetNameVec();
for ( int iSet = 0; iSet < setVec.size(); iSet++ )
{
m_GeomSetChoice.AddItem( setVec[iSet] );
m_CGSetChoice.AddItem( setVec[iSet] );
}
m_GeomSetChoice.UpdateItems();
m_CGSetChoice.UpdateItems();
m_GeomSetChoice.SetVal( VSPAEROMgr.m_GeomSet() );
m_CGSetChoice.SetVal( VSPAEROMgr.m_CGGeomSet() );
// Case Setup
m_AeroMethodToggleGroup.Update( VSPAEROMgr.m_AnalysisMethod.GetID() );
switch ( VSPAEROMgr.m_AnalysisMethod.Get() )
{
case vsp::VSPAERO_ANALYSIS_METHOD::VORTEX_LATTICE:
m_DegenFileName.Activate();
m_DegenFileButton.Activate();
m_CompGeomFileName.Deactivate();
m_CompGeomFileButton.Deactivate();
break;
case vsp::VSPAERO_ANALYSIS_METHOD::PANEL:
m_DegenFileName.Deactivate();
m_DegenFileButton.Deactivate();
m_CompGeomFileName.Activate();
m_CompGeomFileButton.Activate();
break;
default:
//do nothing; this should not be reachable
break;
}
//.........这里部分代码省略.........