当前位置: 首页>>代码示例>>C++>>正文


C++ Vehicle::FindGeom方法代码示例

本文整理汇总了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 );
        }
    }
}
开发者ID:fernape,项目名称:OpenVSP,代码行数:32,代码来源:StructureMgr.cpp

示例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 );
}
开发者ID:tperry01,项目名称:OpenVSP,代码行数:11,代码来源:SubSurfaceMgr.cpp

示例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();
}
开发者ID:hensomc,项目名称:OpenVSP-1,代码行数:16,代码来源:CustomGeom.cpp

示例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;
    }
}
开发者ID:hensomc,项目名称:OpenVSP-1,代码行数:17,代码来源:CustomGeom.cpp

示例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++;
            }
        }
    }
}
开发者ID:cptdime,项目名称:OpenVSP,代码行数:44,代码来源:SubSurface.cpp

示例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;
        }
//.........这里部分代码省略.........
开发者ID:cptdime,项目名称:OpenVSP,代码行数:101,代码来源:VSPAEROScreen.cpp


注:本文中的Vehicle::FindGeom方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。