OpenVSP API Documentation 3.42.2
 
Loading...
Searching...
No Matches
Mode Functions

This group of API functions are used to manipulate Modes – a combination of Sets and Variable Presets Click here to return to the main page. More...

Functions

string vsp::CreateAndAddMode (const string &name, int normal_set, int degen_set)
 
int vsp::GetNumModes ()
 
vector< string > vsp::GetAllModes ()
 
void vsp::DelMode (const string &mid)
 
void vsp::DelAllModes ()
 
void vsp::ApplyModeSettings (const string &mid)
 
void vsp::ShowOnlyMode (const string &mid)
 
void vsp::ModeAddGroupSetting (const string &mid, const string &gid, const string &sid)
 
string vsp::ModeGetGroup (const string &mid, int indx)
 
string vsp::ModeGetSetting (const string &mid, int indx)
 
vector< string > vsp::ModeGetAllGroups (const string &mid)
 
vector< string > vsp::ModeGetAllSettings (const string &mid)
 
void vsp::RemoveGroupSetting (const string &mid, int indx)
 
void vsp::RemoveAllGroupSettings (const string &mid)
 

Detailed Description

Function Documentation

◆ ApplyModeSettings()

void vsp::ApplyModeSettings ( const string & mid)
extern

Apply Parm settings corresponding to a Mode.

// Illustrating use of Modes requires substantial setup of the model including components, sets, and variable presets.
//
// Setup boiler plate.
string pod1 = AddGeom( "POD", "" );
string wing = AddGeom( "WING", pod1 );
SetParmVal( wing, "Trans_Attach_Flag", "Attach", ATTACH_TRANS_LMN );
SetParmVal( wing, "L_Attach_Location", "Attach", 0.35 );
SetSetName( SET_FIRST_USER, "NonLifting" );
SetSetName( SET_FIRST_USER + 1, "Lifting" );
SetSetFlag( pod1, SET_FIRST_USER, true );
SetSetFlag( wing, SET_FIRST_USER + 1, true );
string gid = AddVarPresetGroup( "Tess" );
string p1 = FindParm( pod1, "Tess_U", "Shape" );
AddVarPresetParm( gid, p1 );
string p2 = FindParm( pod1, "Tess_W", "Shape" );
AddVarPresetParm( gid, p2 );
string sid = AddVarPresetSetting( gid, "Default" );
string sid1 = AddVarPresetSetting( gid, "Coarse" );
SetVarPresetParmVal( gid, sid1, p1, 3 );
SetVarPresetParmVal( gid, sid1, p2, 5 );
string sid2 = AddVarPresetSetting( gid, "Fine" );
SetVarPresetParmVal( gid, sid, p1, 35 );
SetVarPresetParmVal( gid, sid, p2, 21 );
string gid2 = AddVarPresetGroup( "Design" );
string p3 = FindParm( pod1, "Length", "Design" );
AddVarPresetParm( gid2, p3 );
string p4 = FindParm( pod1, "FineRatio", "Design" );
AddVarPresetParm( gid2, p4 );
string sid3 = AddVarPresetSetting( gid2, "Normal" );
SaveVarPresetParmVals( gid2, sid3 );
string sid4 = AddVarPresetSetting( gid2, "ShortFat" );
SetVarPresetParmVal( gid2, sid4, p3, 3.0 );
SetVarPresetParmVal( gid2, sid4, p4, 5.0 );
string sid5 = AddVarPresetSetting( gid2, "LongThin" );
SetVarPresetParmVal( gid2, sid5, p3, 20.0 );
SetVarPresetParmVal( gid2, sid5, p4, 35.0 );
// End of setup boiler plate.
string mid1 = CreateAndAddMode( "FatWetAreas", SET_ALL, SET_NONE );
ModeAddGroupSetting( mid1, gid, sid1 );
ModeAddGroupSetting( mid1, gid2, sid4 );
string mid2 = CreateAndAddMode( "ThinAero", SET_FIRST_USER, SET_FIRST_USER + 1 );
ModeAddGroupSetting( mid2, gid, sid2 );
ModeAddGroupSetting( mid1, gid2, sid5 );
@ ATTACH_TRANS_LMN
Definition APIDefines.h:85
@ SET_NONE
@ SET_FIRST_USER
@ SET_ALL
std::string AddGeom(const std::string &type, const std::string &parent=std::string())
void ApplyModeSettings(const string &mid)
void ModeAddGroupSetting(const string &mid, const string &gid, const string &sid)
string CreateAndAddMode(const string &name, int normal_set, int degen_set)
std::string FindParm(const std::string &parm_container_id, const std::string &parm_name, const std::string &group_name)
double SetParmVal(const std::string &parm_id, double val)
void SetSetName(int index, const std::string &name)
void SetSetFlag(const std::string &geom_id, int set_index, bool flag)
string AddVarPresetSetting(const std::string &group_id, const std::string &setting_name)
void SetVarPresetParmVal(const std::string &group_id, const std::string &setting_id, const std::string &parm_id, double parm_val)
void AddVarPresetParm(const std::string &group_id, const std::string &parm_id)
string AddVarPresetGroup(const std::string &group_name)
void SaveVarPresetParmVals(const std::string &group_id, const std::string &setting_id)
void Update(bool update_managers=true)
Parameters
[in]midstring Mode ID of mode to apply

◆ CreateAndAddMode()

string vsp::CreateAndAddMode ( const string & name,
int normal_set,
int degen_set )
extern

Create a Mode – a combination of Sets and Variable Presets

// Illustrating use of Modes requires substantial setup of the model including components, sets, and variable presets.
//
// Setup boiler plate.
string pod1 = AddGeom( "POD", "" );
string wing = AddGeom( "WING", pod1 );
SetParmVal( wing, "Trans_Attach_Flag", "Attach", ATTACH_TRANS_LMN );
SetParmVal( wing, "L_Attach_Location", "Attach", 0.35 );
SetSetName( SET_FIRST_USER, "NonLifting" );
SetSetName( SET_FIRST_USER + 1, "Lifting" );
SetSetFlag( pod1, SET_FIRST_USER, true );
SetSetFlag( wing, SET_FIRST_USER + 1, true );
string gid = AddVarPresetGroup( "Tess" );
string p1 = FindParm( pod1, "Tess_U", "Shape" );
AddVarPresetParm( gid, p1 );
string p2 = FindParm( pod1, "Tess_W", "Shape" );
AddVarPresetParm( gid, p2 );
string sid = AddVarPresetSetting( gid, "Default" );
string sid1 = AddVarPresetSetting( gid, "Coarse" );
SetVarPresetParmVal( gid, sid1, p1, 3 );
SetVarPresetParmVal( gid, sid1, p2, 5 );
string sid2 = AddVarPresetSetting( gid, "Fine" );
SetVarPresetParmVal( gid, sid, p1, 35 );
SetVarPresetParmVal( gid, sid, p2, 21 );
string gid2 = AddVarPresetGroup( "Design" );
string p3 = FindParm( pod1, "Length", "Design" );
AddVarPresetParm( gid2, p3 );
string p4 = FindParm( pod1, "FineRatio", "Design" );
AddVarPresetParm( gid2, p4 );
string sid3 = AddVarPresetSetting( gid2, "Normal" );
SaveVarPresetParmVals( gid2, sid3 );
string sid4 = AddVarPresetSetting( gid2, "ShortFat" );
SetVarPresetParmVal( gid2, sid4, p3, 3.0 );
SetVarPresetParmVal( gid2, sid4, p4, 5.0 );
string sid5 = AddVarPresetSetting( gid2, "LongThin" );
SetVarPresetParmVal( gid2, sid5, p3, 20.0 );
SetVarPresetParmVal( gid2, sid5, p4, 35.0 );
// End of setup boiler plate.
string mid1 = CreateAndAddMode( "FatWetAreas", SET_ALL, SET_NONE );
ModeAddGroupSetting( mid1, gid, sid1 );
ModeAddGroupSetting( mid1, gid2, sid4 );
string mid2 = CreateAndAddMode( "ThinAero", SET_FIRST_USER, SET_FIRST_USER + 1 );
ModeAddGroupSetting( mid2, gid, sid2 );
ModeAddGroupSetting( mid1, gid2, sid5 );
Parameters
[in]namestring Name for new Mode
[in]normal_setint Normal set for Mode
[in]degen_setint Degen set for Mode
Returns
string Mode ID for new Mode

◆ DelAllModes()

void vsp::DelAllModes ( )
extern

Delete all modes from the model.

// Illustrating use of Modes requires substantial setup of the model including components, sets, and variable presets.
//
// Setup boiler plate.
string pod1 = AddGeom( "POD", "" );
string wing = AddGeom( "WING", pod1 );
SetParmVal( wing, "Trans_Attach_Flag", "Attach", ATTACH_TRANS_LMN );
SetParmVal( wing, "L_Attach_Location", "Attach", 0.35 );
SetSetName( SET_FIRST_USER, "NonLifting" );
SetSetName( SET_FIRST_USER + 1, "Lifting" );
SetSetFlag( pod1, SET_FIRST_USER, true );
SetSetFlag( wing, SET_FIRST_USER + 1, true );
string gid = AddVarPresetGroup( "Tess" );
string p1 = FindParm( pod1, "Tess_U", "Shape" );
AddVarPresetParm( gid, p1 );
string p2 = FindParm( pod1, "Tess_W", "Shape" );
AddVarPresetParm( gid, p2 );
string sid = AddVarPresetSetting( gid, "Default" );
string sid1 = AddVarPresetSetting( gid, "Coarse" );
SetVarPresetParmVal( gid, sid1, p1, 3 );
SetVarPresetParmVal( gid, sid1, p2, 5 );
string sid2 = AddVarPresetSetting( gid, "Fine" );
SetVarPresetParmVal( gid, sid, p1, 35 );
SetVarPresetParmVal( gid, sid, p2, 21 );
string gid2 = AddVarPresetGroup( "Design" );
string p3 = FindParm( pod1, "Length", "Design" );
AddVarPresetParm( gid2, p3 );
string p4 = FindParm( pod1, "FineRatio", "Design" );
AddVarPresetParm( gid2, p4 );
string sid3 = AddVarPresetSetting( gid2, "Normal" );
SaveVarPresetParmVals( gid2, sid3 );
string sid4 = AddVarPresetSetting( gid2, "ShortFat" );
SetVarPresetParmVal( gid2, sid4, p3, 3.0 );
SetVarPresetParmVal( gid2, sid4, p4, 5.0 );
string sid5 = AddVarPresetSetting( gid2, "LongThin" );
SetVarPresetParmVal( gid2, sid5, p3, 20.0 );
SetVarPresetParmVal( gid2, sid5, p4, 35.0 );
// End of setup boiler plate.
string mid1 = CreateAndAddMode( "FatWetAreas", SET_ALL, SET_NONE );
ModeAddGroupSetting( mid1, gid, sid1 );
ModeAddGroupSetting( mid1, gid2, sid4 );
string mid2 = CreateAndAddMode( "ThinAero", SET_FIRST_USER, SET_FIRST_USER + 1 );
ModeAddGroupSetting( mid2, gid, sid2 );
ModeAddGroupSetting( mid1, gid2, sid5 );
void DelAllModes()

◆ DelMode()

void vsp::DelMode ( const string & mid)
extern

Delete a mode from the model.

// Illustrating use of Modes requires substantial setup of the model including components, sets, and variable presets.
//
// Setup boiler plate.
string pod1 = AddGeom( "POD", "" );
string wing = AddGeom( "WING", pod1 );
SetParmVal( wing, "Trans_Attach_Flag", "Attach", ATTACH_TRANS_LMN );
SetParmVal( wing, "L_Attach_Location", "Attach", 0.35 );
SetSetName( SET_FIRST_USER, "NonLifting" );
SetSetName( SET_FIRST_USER + 1, "Lifting" );
SetSetFlag( pod1, SET_FIRST_USER, true );
SetSetFlag( wing, SET_FIRST_USER + 1, true );
string gid = AddVarPresetGroup( "Tess" );
string p1 = FindParm( pod1, "Tess_U", "Shape" );
AddVarPresetParm( gid, p1 );
string p2 = FindParm( pod1, "Tess_W", "Shape" );
AddVarPresetParm( gid, p2 );
string sid = AddVarPresetSetting( gid, "Default" );
string sid1 = AddVarPresetSetting( gid, "Coarse" );
SetVarPresetParmVal( gid, sid1, p1, 3 );
SetVarPresetParmVal( gid, sid1, p2, 5 );
string sid2 = AddVarPresetSetting( gid, "Fine" );
SetVarPresetParmVal( gid, sid, p1, 35 );
SetVarPresetParmVal( gid, sid, p2, 21 );
string gid2 = AddVarPresetGroup( "Design" );
string p3 = FindParm( pod1, "Length", "Design" );
AddVarPresetParm( gid2, p3 );
string p4 = FindParm( pod1, "FineRatio", "Design" );
AddVarPresetParm( gid2, p4 );
string sid3 = AddVarPresetSetting( gid2, "Normal" );
SaveVarPresetParmVals( gid2, sid3 );
string sid4 = AddVarPresetSetting( gid2, "ShortFat" );
SetVarPresetParmVal( gid2, sid4, p3, 3.0 );
SetVarPresetParmVal( gid2, sid4, p4, 5.0 );
string sid5 = AddVarPresetSetting( gid2, "LongThin" );
SetVarPresetParmVal( gid2, sid5, p3, 20.0 );
SetVarPresetParmVal( gid2, sid5, p4, 35.0 );
// End of setup boiler plate.
string mid1 = CreateAndAddMode( "FatWetAreas", SET_ALL, SET_NONE );
ModeAddGroupSetting( mid1, gid, sid1 );
ModeAddGroupSetting( mid1, gid2, sid4 );
string mid2 = CreateAndAddMode( "ThinAero", SET_FIRST_USER, SET_FIRST_USER + 1 );
ModeAddGroupSetting( mid2, gid, sid2 );
ModeAddGroupSetting( mid1, gid2, sid5 );
DelMode( mid1 );
void DelMode(const string &mid)
Parameters
[in]midstring Mode ID of mode to delete

◆ GetAllModes()

vector< string > vsp::GetAllModes ( )
extern

Get all ModeID's in model.

// Illustrating use of Modes requires substantial setup of the model including components, sets, and variable presets.
//
// Setup boiler plate.
string pod1 = AddGeom( "POD", "" );
string wing = AddGeom( "WING", pod1 );
SetParmVal( wing, "Trans_Attach_Flag", "Attach", ATTACH_TRANS_LMN );
SetParmVal( wing, "L_Attach_Location", "Attach", 0.35 );
SetSetName( SET_FIRST_USER, "NonLifting" );
SetSetName( SET_FIRST_USER + 1, "Lifting" );
SetSetFlag( pod1, SET_FIRST_USER, true );
SetSetFlag( wing, SET_FIRST_USER + 1, true );
string gid = AddVarPresetGroup( "Tess" );
string p1 = FindParm( pod1, "Tess_U", "Shape" );
AddVarPresetParm( gid, p1 );
string p2 = FindParm( pod1, "Tess_W", "Shape" );
AddVarPresetParm( gid, p2 );
string sid = AddVarPresetSetting( gid, "Default" );
string sid1 = AddVarPresetSetting( gid, "Coarse" );
SetVarPresetParmVal( gid, sid1, p1, 3 );
SetVarPresetParmVal( gid, sid1, p2, 5 );
string sid2 = AddVarPresetSetting( gid, "Fine" );
SetVarPresetParmVal( gid, sid, p1, 35 );
SetVarPresetParmVal( gid, sid, p2, 21 );
string gid2 = AddVarPresetGroup( "Design" );
string p3 = FindParm( pod1, "Length", "Design" );
AddVarPresetParm( gid2, p3 );
string p4 = FindParm( pod1, "FineRatio", "Design" );
AddVarPresetParm( gid2, p4 );
string sid3 = AddVarPresetSetting( gid2, "Normal" );
SaveVarPresetParmVals( gid2, sid3 );
string sid4 = AddVarPresetSetting( gid2, "ShortFat" );
SetVarPresetParmVal( gid2, sid4, p3, 3.0 );
SetVarPresetParmVal( gid2, sid4, p4, 5.0 );
string sid5 = AddVarPresetSetting( gid2, "LongThin" );
SetVarPresetParmVal( gid2, sid5, p3, 20.0 );
SetVarPresetParmVal( gid2, sid5, p4, 35.0 );
// End of setup boiler plate.
string mid1 = CreateAndAddMode( "FatWetAreas", SET_ALL, SET_NONE );
ModeAddGroupSetting( mid1, gid, sid1 );
ModeAddGroupSetting( mid1, gid2, sid4 );
string mid2 = CreateAndAddMode( "ThinAero", SET_FIRST_USER, SET_FIRST_USER + 1 );
ModeAddGroupSetting( mid2, gid, sid2 );
ModeAddGroupSetting( mid1, gid2, sid5 );
array<string> modids = GetAllModes();
vector< string > GetAllModes()
Returns
array<string> array of Mode IDs

◆ GetNumModes()

int vsp::GetNumModes ( )
extern

Get number of Modes in model.

// Illustrating use of Modes requires substantial setup of the model including components, sets, and variable presets.
//
// Setup boiler plate.
string pod1 = AddGeom( "POD", "" );
string wing = AddGeom( "WING", pod1 );
SetParmVal( wing, "Trans_Attach_Flag", "Attach", ATTACH_TRANS_LMN );
SetParmVal( wing, "L_Attach_Location", "Attach", 0.35 );
SetSetName( SET_FIRST_USER, "NonLifting" );
SetSetName( SET_FIRST_USER + 1, "Lifting" );
SetSetFlag( pod1, SET_FIRST_USER, true );
SetSetFlag( wing, SET_FIRST_USER + 1, true );
string gid = AddVarPresetGroup( "Tess" );
string p1 = FindParm( pod1, "Tess_U", "Shape" );
AddVarPresetParm( gid, p1 );
string p2 = FindParm( pod1, "Tess_W", "Shape" );
AddVarPresetParm( gid, p2 );
string sid = AddVarPresetSetting( gid, "Default" );
string sid1 = AddVarPresetSetting( gid, "Coarse" );
SetVarPresetParmVal( gid, sid1, p1, 3 );
SetVarPresetParmVal( gid, sid1, p2, 5 );
string sid2 = AddVarPresetSetting( gid, "Fine" );
SetVarPresetParmVal( gid, sid, p1, 35 );
SetVarPresetParmVal( gid, sid, p2, 21 );
string gid2 = AddVarPresetGroup( "Design" );
string p3 = FindParm( pod1, "Length", "Design" );
AddVarPresetParm( gid2, p3 );
string p4 = FindParm( pod1, "FineRatio", "Design" );
AddVarPresetParm( gid2, p4 );
string sid3 = AddVarPresetSetting( gid2, "Normal" );
SaveVarPresetParmVals( gid2, sid3 );
string sid4 = AddVarPresetSetting( gid2, "ShortFat" );
SetVarPresetParmVal( gid2, sid4, p3, 3.0 );
SetVarPresetParmVal( gid2, sid4, p4, 5.0 );
string sid5 = AddVarPresetSetting( gid2, "LongThin" );
SetVarPresetParmVal( gid2, sid5, p3, 20.0 );
SetVarPresetParmVal( gid2, sid5, p4, 35.0 );
// End of setup boiler plate.
string mid1 = CreateAndAddMode( "FatWetAreas", SET_ALL, SET_NONE );
ModeAddGroupSetting( mid1, gid, sid1 );
ModeAddGroupSetting( mid1, gid2, sid4 );
string mid2 = CreateAndAddMode( "ThinAero", SET_FIRST_USER, SET_FIRST_USER + 1 );
ModeAddGroupSetting( mid2, gid, sid2 );
ModeAddGroupSetting( mid1, gid2, sid5 );
int nmod = GetNumModes();
int GetNumModes()
Returns
int Number of Modes in model.

◆ ModeAddGroupSetting()

void vsp::ModeAddGroupSetting ( const string & mid,
const string & gid,
const string & sid )
extern

Add a variable preset group and setting to a mode.

// Illustrating use of Modes requires substantial setup of the model including components, sets, and variable presets.
//
// Setup boiler plate.
string pod1 = AddGeom( "POD", "" );
string wing = AddGeom( "WING", pod1 );
SetParmVal( wing, "Trans_Attach_Flag", "Attach", ATTACH_TRANS_LMN );
SetParmVal( wing, "L_Attach_Location", "Attach", 0.35 );
SetSetName( SET_FIRST_USER, "NonLifting" );
SetSetName( SET_FIRST_USER + 1, "Lifting" );
SetSetFlag( pod1, SET_FIRST_USER, true );
SetSetFlag( wing, SET_FIRST_USER + 1, true );
string gid = AddVarPresetGroup( "Tess" );
string p1 = FindParm( pod1, "Tess_U", "Shape" );
AddVarPresetParm( gid, p1 );
string p2 = FindParm( pod1, "Tess_W", "Shape" );
AddVarPresetParm( gid, p2 );
string sid = AddVarPresetSetting( gid, "Default" );
string sid1 = AddVarPresetSetting( gid, "Coarse" );
SetVarPresetParmVal( gid, sid1, p1, 3 );
SetVarPresetParmVal( gid, sid1, p2, 5 );
string sid2 = AddVarPresetSetting( gid, "Fine" );
SetVarPresetParmVal( gid, sid, p1, 35 );
SetVarPresetParmVal( gid, sid, p2, 21 );
string gid2 = AddVarPresetGroup( "Design" );
string p3 = FindParm( pod1, "Length", "Design" );
AddVarPresetParm( gid2, p3 );
string p4 = FindParm( pod1, "FineRatio", "Design" );
AddVarPresetParm( gid2, p4 );
string sid3 = AddVarPresetSetting( gid2, "Normal" );
SaveVarPresetParmVals( gid2, sid3 );
string sid4 = AddVarPresetSetting( gid2, "ShortFat" );
SetVarPresetParmVal( gid2, sid4, p3, 3.0 );
SetVarPresetParmVal( gid2, sid4, p4, 5.0 );
string sid5 = AddVarPresetSetting( gid2, "LongThin" );
SetVarPresetParmVal( gid2, sid5, p3, 20.0 );
SetVarPresetParmVal( gid2, sid5, p4, 35.0 );
// End of setup boiler plate.
string mid1 = CreateAndAddMode( "FatWetAreas", SET_ALL, SET_NONE );
ModeAddGroupSetting( mid1, gid, sid1 );
ModeAddGroupSetting( mid1, gid2, sid4 );
string mid2 = CreateAndAddMode( "ThinAero", SET_FIRST_USER, SET_FIRST_USER + 1 );
ModeAddGroupSetting( mid2, gid, sid2 );
ModeAddGroupSetting( mid1, gid2, sid5 );
Parameters
[in]midstring Mode ID to add variable preset to
[in]gidstring Variable preset group ID to add to mode
[in]sidstring Variable preset setting ID to add to mode

◆ ModeGetAllGroups()

vector< string > vsp::ModeGetAllGroups ( const string & mid)
extern

Get all var preset group IDs in model.

// Illustrating use of Modes requires substantial setup of the model including components, sets, and variable presets.
//
// Setup boiler plate.
string pod1 = AddGeom( "POD", "" );
string wing = AddGeom( "WING", pod1 );
SetParmVal( wing, "Trans_Attach_Flag", "Attach", ATTACH_TRANS_LMN );
SetParmVal( wing, "L_Attach_Location", "Attach", 0.35 );
SetSetName( SET_FIRST_USER, "NonLifting" );
SetSetName( SET_FIRST_USER + 1, "Lifting" );
SetSetFlag( pod1, SET_FIRST_USER, true );
SetSetFlag( wing, SET_FIRST_USER + 1, true );
string gid = AddVarPresetGroup( "Tess" );
string p1 = FindParm( pod1, "Tess_U", "Shape" );
AddVarPresetParm( gid, p1 );
string p2 = FindParm( pod1, "Tess_W", "Shape" );
AddVarPresetParm( gid, p2 );
string sid = AddVarPresetSetting( gid, "Default" );
string sid1 = AddVarPresetSetting( gid, "Coarse" );
SetVarPresetParmVal( gid, sid1, p1, 3 );
SetVarPresetParmVal( gid, sid1, p2, 5 );
string sid2 = AddVarPresetSetting( gid, "Fine" );
SetVarPresetParmVal( gid, sid, p1, 35 );
SetVarPresetParmVal( gid, sid, p2, 21 );
string gid2 = AddVarPresetGroup( "Design" );
string p3 = FindParm( pod1, "Length", "Design" );
AddVarPresetParm( gid2, p3 );
string p4 = FindParm( pod1, "FineRatio", "Design" );
AddVarPresetParm( gid2, p4 );
string sid3 = AddVarPresetSetting( gid2, "Normal" );
SaveVarPresetParmVals( gid2, sid3 );
string sid4 = AddVarPresetSetting( gid2, "ShortFat" );
SetVarPresetParmVal( gid2, sid4, p3, 3.0 );
SetVarPresetParmVal( gid2, sid4, p4, 5.0 );
string sid5 = AddVarPresetSetting( gid2, "LongThin" );
SetVarPresetParmVal( gid2, sid5, p3, 20.0 );
SetVarPresetParmVal( gid2, sid5, p4, 35.0 );
// End of setup boiler plate.
string mid1 = CreateAndAddMode( "FatWetAreas", SET_ALL, SET_NONE );
ModeAddGroupSetting( mid1, gid, sid1 );
ModeAddGroupSetting( mid1, gid2, sid4 );
string mid2 = CreateAndAddMode( "ThinAero", SET_FIRST_USER, SET_FIRST_USER + 1 );
ModeAddGroupSetting( mid2, gid, sid2 );
ModeAddGroupSetting( mid1, gid2, sid5 );
array<string> gids = ModeGetAllGroups( mid1 );
vector< string > ModeGetAllGroups(const string &mid)
Parameters
[in]midstring Mode ID to return all group IDs
Returns
array<string> array of Group IDs

◆ ModeGetAllSettings()

vector< string > vsp::ModeGetAllSettings ( const string & mid)
extern

Get all var preset setting IDs in model.

// Illustrating use of Modes requires substantial setup of the model including components, sets, and variable presets.
//
// Setup boiler plate.
string pod1 = AddGeom( "POD", "" );
string wing = AddGeom( "WING", pod1 );
SetParmVal( wing, "Trans_Attach_Flag", "Attach", ATTACH_TRANS_LMN );
SetParmVal( wing, "L_Attach_Location", "Attach", 0.35 );
SetSetName( SET_FIRST_USER, "NonLifting" );
SetSetName( SET_FIRST_USER + 1, "Lifting" );
SetSetFlag( pod1, SET_FIRST_USER, true );
SetSetFlag( wing, SET_FIRST_USER + 1, true );
string gid = AddVarPresetGroup( "Tess" );
string p1 = FindParm( pod1, "Tess_U", "Shape" );
AddVarPresetParm( gid, p1 );
string p2 = FindParm( pod1, "Tess_W", "Shape" );
AddVarPresetParm( gid, p2 );
string sid = AddVarPresetSetting( gid, "Default" );
string sid1 = AddVarPresetSetting( gid, "Coarse" );
SetVarPresetParmVal( gid, sid1, p1, 3 );
SetVarPresetParmVal( gid, sid1, p2, 5 );
string sid2 = AddVarPresetSetting( gid, "Fine" );
SetVarPresetParmVal( gid, sid, p1, 35 );
SetVarPresetParmVal( gid, sid, p2, 21 );
string gid2 = AddVarPresetGroup( "Design" );
string p3 = FindParm( pod1, "Length", "Design" );
AddVarPresetParm( gid2, p3 );
string p4 = FindParm( pod1, "FineRatio", "Design" );
AddVarPresetParm( gid2, p4 );
string sid3 = AddVarPresetSetting( gid2, "Normal" );
SaveVarPresetParmVals( gid2, sid3 );
string sid4 = AddVarPresetSetting( gid2, "ShortFat" );
SetVarPresetParmVal( gid2, sid4, p3, 3.0 );
SetVarPresetParmVal( gid2, sid4, p4, 5.0 );
string sid5 = AddVarPresetSetting( gid2, "LongThin" );
SetVarPresetParmVal( gid2, sid5, p3, 20.0 );
SetVarPresetParmVal( gid2, sid5, p4, 35.0 );
// End of setup boiler plate.
string mid1 = CreateAndAddMode( "FatWetAreas", SET_ALL, SET_NONE );
ModeAddGroupSetting( mid1, gid, sid1 );
ModeAddGroupSetting( mid1, gid2, sid4 );
string mid2 = CreateAndAddMode( "ThinAero", SET_FIRST_USER, SET_FIRST_USER + 1 );
ModeAddGroupSetting( mid2, gid, sid2 );
ModeAddGroupSetting( mid1, gid2, sid5 );
array<string> sids = ModeGetAllSettings( mid1 );
vector< string > ModeGetAllSettings(const string &mid)
Parameters
[in]midstring Mode ID to return all group IDs
Returns
array<string> array of Group IDs

◆ ModeGetGroup()

string vsp::ModeGetGroup ( const string & mid,
int indx )
extern

Get the group ID of var preset indx from a mode.

// Illustrating use of Modes requires substantial setup of the model including components, sets, and variable presets.
//
// Setup boiler plate.
string pod1 = AddGeom( "POD", "" );
string wing = AddGeom( "WING", pod1 );
SetParmVal( wing, "Trans_Attach_Flag", "Attach", ATTACH_TRANS_LMN );
SetParmVal( wing, "L_Attach_Location", "Attach", 0.35 );
SetSetName( SET_FIRST_USER, "NonLifting" );
SetSetName( SET_FIRST_USER + 1, "Lifting" );
SetSetFlag( pod1, SET_FIRST_USER, true );
SetSetFlag( wing, SET_FIRST_USER + 1, true );
string gid = AddVarPresetGroup( "Tess" );
string p1 = FindParm( pod1, "Tess_U", "Shape" );
AddVarPresetParm( gid, p1 );
string p2 = FindParm( pod1, "Tess_W", "Shape" );
AddVarPresetParm( gid, p2 );
string sid = AddVarPresetSetting( gid, "Default" );
string sid1 = AddVarPresetSetting( gid, "Coarse" );
SetVarPresetParmVal( gid, sid1, p1, 3 );
SetVarPresetParmVal( gid, sid1, p2, 5 );
string sid2 = AddVarPresetSetting( gid, "Fine" );
SetVarPresetParmVal( gid, sid, p1, 35 );
SetVarPresetParmVal( gid, sid, p2, 21 );
string gid2 = AddVarPresetGroup( "Design" );
string p3 = FindParm( pod1, "Length", "Design" );
AddVarPresetParm( gid2, p3 );
string p4 = FindParm( pod1, "FineRatio", "Design" );
AddVarPresetParm( gid2, p4 );
string sid3 = AddVarPresetSetting( gid2, "Normal" );
SaveVarPresetParmVals( gid2, sid3 );
string sid4 = AddVarPresetSetting( gid2, "ShortFat" );
SetVarPresetParmVal( gid2, sid4, p3, 3.0 );
SetVarPresetParmVal( gid2, sid4, p4, 5.0 );
string sid5 = AddVarPresetSetting( gid2, "LongThin" );
SetVarPresetParmVal( gid2, sid5, p3, 20.0 );
SetVarPresetParmVal( gid2, sid5, p4, 35.0 );
// End of setup boiler plate.
string mid1 = CreateAndAddMode( "FatWetAreas", SET_ALL, SET_NONE );
ModeAddGroupSetting( mid1, gid, sid1 );
ModeAddGroupSetting( mid1, gid2, sid4 );
string mid2 = CreateAndAddMode( "ThinAero", SET_FIRST_USER, SET_FIRST_USER + 1 );
ModeAddGroupSetting( mid2, gid, sid2 );
ModeAddGroupSetting( mid1, gid2, sid5 );
string gid3 = ModeGetGroup( mid1, 0 );
string ModeGetGroup(const string &mid, int indx)
Parameters
[in]midstring Mode ID to return GroupID
[in]indxint Index of Variable preset to return GroupID
Returns
string Group ID for Mode Variable preset indx

◆ ModeGetSetting()

string vsp::ModeGetSetting ( const string & mid,
int indx )
extern

Get the setting ID of var preset indx from a mode.

// Illustrating use of Modes requires substantial setup of the model including components, sets, and variable presets.
//
// Setup boiler plate.
string pod1 = AddGeom( "POD", "" );
string wing = AddGeom( "WING", pod1 );
SetParmVal( wing, "Trans_Attach_Flag", "Attach", ATTACH_TRANS_LMN );
SetParmVal( wing, "L_Attach_Location", "Attach", 0.35 );
SetSetName( SET_FIRST_USER, "NonLifting" );
SetSetName( SET_FIRST_USER + 1, "Lifting" );
SetSetFlag( pod1, SET_FIRST_USER, true );
SetSetFlag( wing, SET_FIRST_USER + 1, true );
string gid = AddVarPresetGroup( "Tess" );
string p1 = FindParm( pod1, "Tess_U", "Shape" );
AddVarPresetParm( gid, p1 );
string p2 = FindParm( pod1, "Tess_W", "Shape" );
AddVarPresetParm( gid, p2 );
string sid = AddVarPresetSetting( gid, "Default" );
string sid1 = AddVarPresetSetting( gid, "Coarse" );
SetVarPresetParmVal( gid, sid1, p1, 3 );
SetVarPresetParmVal( gid, sid1, p2, 5 );
string sid2 = AddVarPresetSetting( gid, "Fine" );
SetVarPresetParmVal( gid, sid, p1, 35 );
SetVarPresetParmVal( gid, sid, p2, 21 );
string gid2 = AddVarPresetGroup( "Design" );
string p3 = FindParm( pod1, "Length", "Design" );
AddVarPresetParm( gid2, p3 );
string p4 = FindParm( pod1, "FineRatio", "Design" );
AddVarPresetParm( gid2, p4 );
string sid3 = AddVarPresetSetting( gid2, "Normal" );
SaveVarPresetParmVals( gid2, sid3 );
string sid4 = AddVarPresetSetting( gid2, "ShortFat" );
SetVarPresetParmVal( gid2, sid4, p3, 3.0 );
SetVarPresetParmVal( gid2, sid4, p4, 5.0 );
string sid5 = AddVarPresetSetting( gid2, "LongThin" );
SetVarPresetParmVal( gid2, sid5, p3, 20.0 );
SetVarPresetParmVal( gid2, sid5, p4, 35.0 );
// End of setup boiler plate.
string mid1 = CreateAndAddMode( "FatWetAreas", SET_ALL, SET_NONE );
ModeAddGroupSetting( mid1, gid, sid1 );
ModeAddGroupSetting( mid1, gid2, sid4 );
string mid2 = CreateAndAddMode( "ThinAero", SET_FIRST_USER, SET_FIRST_USER + 1 );
ModeAddGroupSetting( mid2, gid, sid2 );
ModeAddGroupSetting( mid1, gid2, sid5 );
string sid6 = ModeGetSetting( mid1, 0 );
string ModeGetSetting(const string &mid, int indx)
Parameters
[in]midstring Mode ID to return settingID
[in]indxint Index of Variable preset to return SettingID
Returns
string Setting ID for Mode Variable preset indx

◆ RemoveAllGroupSettings()

void vsp::RemoveAllGroupSettings ( const string & mid)
extern

Remove all variable preset groups and settings from mode.

// Illustrating use of Modes requires substantial setup of the model including components, sets, and variable presets.
//
// Setup boiler plate.
string pod1 = AddGeom( "POD", "" );
string wing = AddGeom( "WING", pod1 );
SetParmVal( wing, "Trans_Attach_Flag", "Attach", ATTACH_TRANS_LMN );
SetParmVal( wing, "L_Attach_Location", "Attach", 0.35 );
SetSetName( SET_FIRST_USER, "NonLifting" );
SetSetName( SET_FIRST_USER + 1, "Lifting" );
SetSetFlag( pod1, SET_FIRST_USER, true );
SetSetFlag( wing, SET_FIRST_USER + 1, true );
string gid = AddVarPresetGroup( "Tess" );
string p1 = FindParm( pod1, "Tess_U", "Shape" );
AddVarPresetParm( gid, p1 );
string p2 = FindParm( pod1, "Tess_W", "Shape" );
AddVarPresetParm( gid, p2 );
string sid = AddVarPresetSetting( gid, "Default" );
string sid1 = AddVarPresetSetting( gid, "Coarse" );
SetVarPresetParmVal( gid, sid1, p1, 3 );
SetVarPresetParmVal( gid, sid1, p2, 5 );
string sid2 = AddVarPresetSetting( gid, "Fine" );
SetVarPresetParmVal( gid, sid, p1, 35 );
SetVarPresetParmVal( gid, sid, p2, 21 );
string gid2 = AddVarPresetGroup( "Design" );
string p3 = FindParm( pod1, "Length", "Design" );
AddVarPresetParm( gid2, p3 );
string p4 = FindParm( pod1, "FineRatio", "Design" );
AddVarPresetParm( gid2, p4 );
string sid3 = AddVarPresetSetting( gid2, "Normal" );
SaveVarPresetParmVals( gid2, sid3 );
string sid4 = AddVarPresetSetting( gid2, "ShortFat" );
SetVarPresetParmVal( gid2, sid4, p3, 3.0 );
SetVarPresetParmVal( gid2, sid4, p4, 5.0 );
string sid5 = AddVarPresetSetting( gid2, "LongThin" );
SetVarPresetParmVal( gid2, sid5, p3, 20.0 );
SetVarPresetParmVal( gid2, sid5, p4, 35.0 );
// End of setup boiler plate.
string mid1 = CreateAndAddMode( "FatWetAreas", SET_ALL, SET_NONE );
ModeAddGroupSetting( mid1, gid, sid1 );
ModeAddGroupSetting( mid1, gid2, sid4 );
string mid2 = CreateAndAddMode( "ThinAero", SET_FIRST_USER, SET_FIRST_USER + 1 );
ModeAddGroupSetting( mid2, gid, sid2 );
ModeAddGroupSetting( mid1, gid2, sid5 );
void RemoveAllGroupSettings(const string &mid)
Parameters
[in]midstring Mode ID to remove all variable presets from

◆ RemoveGroupSetting()

void vsp::RemoveGroupSetting ( const string & mid,
int indx )
extern

Remove the indx'th variable preset group and setting from the specified mode.

// Illustrating use of Modes requires substantial setup of the model including components, sets, and variable presets.
//
// Setup boiler plate.
string pod1 = AddGeom( "POD", "" );
string wing = AddGeom( "WING", pod1 );
SetParmVal( wing, "Trans_Attach_Flag", "Attach", ATTACH_TRANS_LMN );
SetParmVal( wing, "L_Attach_Location", "Attach", 0.35 );
SetSetName( SET_FIRST_USER, "NonLifting" );
SetSetName( SET_FIRST_USER + 1, "Lifting" );
SetSetFlag( pod1, SET_FIRST_USER, true );
SetSetFlag( wing, SET_FIRST_USER + 1, true );
string gid = AddVarPresetGroup( "Tess" );
string p1 = FindParm( pod1, "Tess_U", "Shape" );
AddVarPresetParm( gid, p1 );
string p2 = FindParm( pod1, "Tess_W", "Shape" );
AddVarPresetParm( gid, p2 );
string sid = AddVarPresetSetting( gid, "Default" );
string sid1 = AddVarPresetSetting( gid, "Coarse" );
SetVarPresetParmVal( gid, sid1, p1, 3 );
SetVarPresetParmVal( gid, sid1, p2, 5 );
string sid2 = AddVarPresetSetting( gid, "Fine" );
SetVarPresetParmVal( gid, sid, p1, 35 );
SetVarPresetParmVal( gid, sid, p2, 21 );
string gid2 = AddVarPresetGroup( "Design" );
string p3 = FindParm( pod1, "Length", "Design" );
AddVarPresetParm( gid2, p3 );
string p4 = FindParm( pod1, "FineRatio", "Design" );
AddVarPresetParm( gid2, p4 );
string sid3 = AddVarPresetSetting( gid2, "Normal" );
SaveVarPresetParmVals( gid2, sid3 );
string sid4 = AddVarPresetSetting( gid2, "ShortFat" );
SetVarPresetParmVal( gid2, sid4, p3, 3.0 );
SetVarPresetParmVal( gid2, sid4, p4, 5.0 );
string sid5 = AddVarPresetSetting( gid2, "LongThin" );
SetVarPresetParmVal( gid2, sid5, p3, 20.0 );
SetVarPresetParmVal( gid2, sid5, p4, 35.0 );
// End of setup boiler plate.
string mid1 = CreateAndAddMode( "FatWetAreas", SET_ALL, SET_NONE );
ModeAddGroupSetting( mid1, gid, sid1 );
ModeAddGroupSetting( mid1, gid2, sid4 );
string mid2 = CreateAndAddMode( "ThinAero", SET_FIRST_USER, SET_FIRST_USER + 1 );
ModeAddGroupSetting( mid2, gid, sid2 );
ModeAddGroupSetting( mid1, gid2, sid5 );
RemoveGroupSetting( mid1, 0 );
void RemoveGroupSetting(const string &mid, int indx)
Parameters
[in]midstring Mode ID to remove varible preset group and setting from
[in]indxint Index of Variable preset to remove

◆ ShowOnlyMode()

void vsp::ShowOnlyMode ( const string & mid)
extern

Show-only a mode in a model.

// Illustrating use of Modes requires substantial setup of the model including components, sets, and variable presets.
//
// Setup boiler plate.
string pod1 = AddGeom( "POD", "" );
string wing = AddGeom( "WING", pod1 );
SetParmVal( wing, "Trans_Attach_Flag", "Attach", ATTACH_TRANS_LMN );
SetParmVal( wing, "L_Attach_Location", "Attach", 0.35 );
SetSetName( SET_FIRST_USER, "NonLifting" );
SetSetName( SET_FIRST_USER + 1, "Lifting" );
SetSetFlag( pod1, SET_FIRST_USER, true );
SetSetFlag( wing, SET_FIRST_USER + 1, true );
string gid = AddVarPresetGroup( "Tess" );
string p1 = FindParm( pod1, "Tess_U", "Shape" );
AddVarPresetParm( gid, p1 );
string p2 = FindParm( pod1, "Tess_W", "Shape" );
AddVarPresetParm( gid, p2 );
string sid = AddVarPresetSetting( gid, "Default" );
string sid1 = AddVarPresetSetting( gid, "Coarse" );
SetVarPresetParmVal( gid, sid1, p1, 3 );
SetVarPresetParmVal( gid, sid1, p2, 5 );
string sid2 = AddVarPresetSetting( gid, "Fine" );
SetVarPresetParmVal( gid, sid, p1, 35 );
SetVarPresetParmVal( gid, sid, p2, 21 );
string gid2 = AddVarPresetGroup( "Design" );
string p3 = FindParm( pod1, "Length", "Design" );
AddVarPresetParm( gid2, p3 );
string p4 = FindParm( pod1, "FineRatio", "Design" );
AddVarPresetParm( gid2, p4 );
string sid3 = AddVarPresetSetting( gid2, "Normal" );
SaveVarPresetParmVals( gid2, sid3 );
string sid4 = AddVarPresetSetting( gid2, "ShortFat" );
SetVarPresetParmVal( gid2, sid4, p3, 3.0 );
SetVarPresetParmVal( gid2, sid4, p4, 5.0 );
string sid5 = AddVarPresetSetting( gid2, "LongThin" );
SetVarPresetParmVal( gid2, sid5, p3, 20.0 );
SetVarPresetParmVal( gid2, sid5, p4, 35.0 );
// End of setup boiler plate.
string mid1 = CreateAndAddMode( "FatWetAreas", SET_ALL, SET_NONE );
ModeAddGroupSetting( mid1, gid, sid1 );
ModeAddGroupSetting( mid1, gid2, sid4 );
string mid2 = CreateAndAddMode( "ThinAero", SET_FIRST_USER, SET_FIRST_USER + 1 );
ModeAddGroupSetting( mid2, gid, sid2 );
ModeAddGroupSetting( mid1, gid2, sid5 );
ShowOnlyMode( mid1 );
void ShowOnlyMode(const string &mid)
Parameters
[in]midstring Mode ID of mode to show-only