OpenVSP API Documentation 3.47.0
Loading...
Searching...
No Matches
VSP_Geom_API.h
1//
2// This file is released under the terms of the NASA Open Source Agreement (NOSA)
3
4// version 1.3 as detailed in the LICENSE file which accompanies this software.
5//
6
7// API.h: interface for the Vehicle Class and Vehicle Mgr Singleton.
8// J.R Gloudemans
9//
11
198
199#if !defined(VSPAPI__INCLUDED_)
200#define VSPAPI__INCLUDED_
201
202#ifdef SWIG
203%feature("autodoc", 1);
204%feature("doxygen:ignore:forcpponly", range="end");
205%feature("doxygen:ignore:beginPythonOnly", range="end:endPythonOnly", contents="parse");
206
207#endif
208
209#include "APIDefines.h"
210
211#include <string>
212#include <stack>
213#include <vector>
214
215class vec3d;
216class Matrix4d;
217
218using std::string;
219using std::stack;
220using std::vector;
221
222namespace vsp
223{
224
225//======================== API Functions ================================//
252
253extern void VSPCheckSetup();
254
286
287extern void VSPRenew();
288
289
330
331extern void Update( bool update_managers = true );
332
340
341extern void VSPExit( int error_code );
342
350
351extern void VSPCrash( int crash_type );
352
364
366
367
390
391extern std::string GetVSPVersion();
392
423
425
456
458
489
491
516
517extern std::string GetVSPExePath();
518
519
549
550extern bool SetVSPAEROPath( const std::string & path );
551
577
578extern std::string GetVSPAEROPath();
579
610
611extern bool CheckForVSPAERO( const std::string & path );
612
642
643extern bool SetVSPHelpPath( const std::string & path );
644
669
670extern std::string GetVSPHelpPath();
671
700
701extern bool CheckForVSPHelp( const std::string & path );
702
703extern void RegisterCFDMeshAnalyses();
704
705extern void LimitedIntersectSurfaces( const vector < string > & geomvec, vector < vector < vec3d > > & ptchains, vector < vector < vec3d > > & uwchains );
706
707//======================== File I/O ================================//
766
767extern void ReadVSPFile( const std::string & file_name );
768
828
829extern void WriteVSPFile( const std::string & file_name, int set = SET_ALL );
830
889
890extern void SetVSP3FileName( const std::string & file_name );
891
936
937extern std::string GetVSPFileName();
938
964
965extern void ClearVSPModel();
966
976
977extern void InsertVSPFile( const std::string & file_name, const std::string & parent_geom_id );
978
979
1017
1018extern std::string ExportFile( const std::string & file_name, int thick_set, int file_type, int subsFlag = 1, int thin_set = vsp::SET_NONE, bool useMode = false, const string &modeID = "" );
1019
1031
1032extern std::string ImportFile( const std::string & file_name, int file_type, const std::string & parent );
1033
1034
1064
1065extern void SetBEMPropID( const string & prop_id );
1066
1067
1068//======================== Design Files ================================//
1069
1077
1078extern void ReadApplyDESFile( const std::string & file_name );
1079
1087
1088extern void WriteDESFile( const std::string & file_name );
1089
1097
1098extern void ReadApplyXDDMFile( const std::string & file_name );
1099
1107
1108extern void WriteXDDMFile( const std::string & file_name );
1109
1117
1118extern int GetNumDesignVars();
1119
1129
1130extern void AddDesignVar( const std::string & parm_id, int type );
1131
1138
1140
1149
1150extern std::string GetDesignVar( int index );
1151
1161
1162extern int GetDesignVarType( int index );
1163
1164
1165//======================== Computations ================================//
1194
1195extern void SetComputationFileName( int file_type, const std::string & file_name );
1196
1237
1238extern std::string ComputeMassProps( int set, int num_slices, int idir );
1239
1278
1279extern std::string ComputeCompGeom( int set, bool half_mesh, int file_export_types );
1280
1327
1328extern std::string ComputePlaneSlice( int set, int num_slices, const vec3d & norm, bool auto_bnd,
1329
1330 double start_bnd = 0, double end_bnd = 0, bool measureduct = false );
1359
1360extern void ComputeDegenGeom( int set, int file_export_types );
1361
1393
1394extern void ComputeCFDMesh( int set, int degenset, int file_export_types );
1395
1416
1417extern void SetCFDMeshVal( int type, double val );
1418
1452
1453extern void SetCFDWakeFlag( const std::string & geom_id, bool flag );
1454
1482
1484
1508
1509extern void AddDefaultSources();
1510
1546
1547extern void AddCFDSource( int type, const std::string & geom_id, int surf_index,
1548
1549 double l1, double r1, double u1, double w1,
1550 double l2 = 0, double r2 = 0, double u2 = 0, double w2 = 0 );
1551
1559
1560extern string GetVSPAERORefWingID();
1561
1618
1619extern string SetVSPAERORefWingID( const std::string & geom_id );
1620
1621
1622//======================== Analysis ================================//
1623
1646
1647extern int GetNumAnalysis();
1648
1680
1681extern std::vector<std::string> ListAnalysis();
1682
1719
1720extern std::vector<std::string> GetAnalysisInputNames( const std::string & analysis );
1721
1745
1746extern std::string GetAnalysisDoc( const std::string & analysis );
1747
1763
1764extern std::string GetAnalysisInputDoc( const std::string & analysis, const std::string & name );
1765
1789
1790extern std::string ExecAnalysis( const std::string & analysis );
1791
1792
1802
1803extern int GetNumAnalysisInputData( const std::string & analysis, const std::string & name );
1804
1839
1840extern int GetAnalysisInputType( const std::string & analysis, const std::string & name );
1841
1887
1888extern const std::vector< int > & GetIntAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1889
1920
1921extern const std::vector< double > & GetDoubleAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1922
1953
1954extern const std::vector<std::string> & GetStringAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1955
1988
1989extern const std::vector< vec3d > & GetVec3dAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1990
1991
2018
2019extern void SetAnalysisInputDefaults( const std::string & analysis );
2020
2066
2067extern void SetIntAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< int > & indata, int index = 0 );
2068
2109
2110extern void SetDoubleAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< double > & indata, int index = 0 );
2111
2142
2143extern void SetStringAnalysisInput( const std::string & analysis, const std::string & name, const std::vector<std::string> & indata, int index = 0 );
2144
2177
2178extern void SetVec3dAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< vec3d > & indata, int index = 0 );
2179
2180
2207
2208extern void PrintAnalysisInputs( const std::string & analysis_name );
2209
2236
2237extern void PrintAnalysisDocs( const std::string & analysis_name );
2238
2239//======================== Attributes ================================//
2240
2264
2265extern string SummarizeAttributes();
2266
2289
2291
2319
2320extern vector < string > FindAllAttributes();
2321
2322
2323
2352
2353extern vector < string > FindAttributesByName( const string & search_str );
2354
2379
2380extern string FindAttributeByName( const string & search_str, int index );
2381
2410
2411extern string FindAttributeInCollection( const string & obj_id, const string & search_str, int index );
2412
2445
2446extern vector< string > FindAttributeNamesInCollection(const string & collID );
2447
2480
2481extern vector< string > FindAttributesInCollection(const string & collID );
2482
2511
2512extern vector< string > FindAttributedObjects();
2513
2544
2545extern int GetObjectType(const string & attachID);
2546
2576
2577extern string GetObjectTypeName(const string & attachID);
2578
2609
2610extern string GetObjectName(const string & attachID);
2611
2612
2666
2667extern string GetObjectParent( const string & id );
2668
2697
2698extern string GetChildCollection(const string & attachID );
2699
2723
2724extern string GetGeomSetCollection( const int & index );
2725
2760
2761extern string GetAttributeName( const string & attrID );
2762
2802
2803extern string GetAttributeID(const string & collID, const string & attributeName, int index);
2804
2832
2833extern string GetAttributeDoc(const string & attrID);
2834
2873
2874extern int GetAttributeType( const string & attrID );
2875
2904
2905extern string GetAttributeTypeName(const string & attrID);
2906
2952
2953extern vector< int > GetAttributeBoolVal(const string & attrID);
2954
3000
3001extern vector< int > GetAttributeIntVal(const string & attrID);
3002
3047
3048extern vector< double > GetAttributeDoubleVal(const string & attrID);
3049
3094
3095extern vector< string > GetAttributeStringVal(const string & attrID);
3096
3154
3155extern vector< string > GetAttributeParmID(const string & attrID);
3156
3216
3217extern vector < double > GetAttributeParmVal( const string &attrID );
3218
3277
3278extern vector < string > GetAttributeParmName( const string &attrID );
3279
3328
3329extern vector< vec3d > GetAttributeVec3dVal(const string & attrID);
3330
3384
3385extern vector< vector < int > > GetAttributeIntMatrixVal(const string & attrID);
3386
3434
3435extern vector< vector < double > > GetAttributeDoubleMatrixVal(const string & attrID);
3436
3489
3490extern void SetAttributeName( const string & attrID, const string & name );
3491
3545
3546
3547extern void SetAttributeDoc( const string & attrID, const string & doc );
3548
3601
3602extern void SetAttributeBool( const string & attrID, bool value );
3603
3656
3657extern void SetAttributeInt( const string & attrID, int value );
3658
3714
3715extern void SetAttributeDouble( const string & attrID, double value );
3716
3770
3771extern void SetAttributeString( const string & attrID, const string & value );
3772
3836
3837extern void SetAttributeParmID( const string & attrID, const string & value );
3838
3892
3893extern void SetAttributeVec3d( const string & attrID, const vector < vec3d > & value );
3894
3951
3952extern void SetAttributeIntMatrix( const string & attrID, const vector < vector < int > > & value );
3953
4010
4011extern void SetAttributeDoubleMatrix( const string & attrID, const vector< vector< double > > & value );
4012
4088
4089extern void DeleteAttribute( const string & attrID );
4090
4138
4139extern string AddAttributeBool( const string & collID, const string & attributeName, bool value );
4140
4189
4190extern string AddAttributeInt( const string & collID, const string & attributeName, int value );
4191
4242
4243extern string AddAttributeDouble( const string & collID, const string & attributeName, double value );
4244
4294
4295extern string AddAttributeString( const string & collID, const string & attributeName, const string & value );
4296
4357
4358extern string AddAttributeParm( const string &collID, const string &attributeName, const string &parmID );
4359
4412
4413extern string AddAttributeVec3d( const string & collID, const string & attributeName, const vector < vec3d > & value );
4414
4469
4470extern string AddAttributeIntMatrix( const string & collID, const string & attributeName, const vector < vector < int > > & value );
4471
4526
4527extern string AddAttributeDoubleMatrix( const string & collID, const string & attributeName, const vector < vector < double > > & value );
4528
4574
4575extern string AddAttributeGroup( const string & collID, const string & attributeName );
4576
4624
4625extern int CopyAttribute( const string & attrID );
4626
4696
4697extern void CutAttribute( const string & attrID );
4698
4783
4784extern vector < string > PasteAttribute( const string & coll_id );
4785
4786//======================== Results ================================//
4822
4823extern std::vector<std::string> GetAllResultsNames();
4824
4858
4859extern std::vector<std::string> GetAllDataNames( const std::string & results_id );
4860
4886
4887extern int GetNumResults( const std::string & name );
4888
4928
4929extern std::string GetResultsName(const std::string & results_id );
4930
4970
4971extern std::string GetResultsSetDoc( const std::string & results_id );
4972
4973extern std::string GetResultsEntryDoc( const std::string & results_id, const std::string & data_name );
4974
5005
5006extern std::string FindResultsID( const std::string & name, int index = 0 );
5007
5044
5045extern std::string FindLatestResultsID( const std::string & name );
5046
5093
5094extern int GetNumData( const std::string & results_id, const std::string & data_name );
5095
5136
5137extern int GetResultsType( const std::string & results_id, const std::string & data_name );
5138
5186
5187extern const std::vector< int > & GetIntResults( const std::string & id, const std::string & name, int index = 0 );
5188
5226
5227extern const std::vector< double > & GetDoubleResults( const std::string & id, const std::string & name, int index = 0 );
5228
5239
5240extern const std::vector< std::vector< double > > & GetDoubleMatResults( const std::string & id, const std:: string & name, int index = 0 );
5241
5277
5278extern const std::vector<std::string> & GetStringResults( const std::string & id, const std::string & name, int index = 0 );
5279
5335
5336extern const std::vector< vec3d > & GetVec3dResults( const std::string & id, const std::string & name, int index = 0 );
5337
5378
5379extern std::string CreateGeomResults( const std::string & geom_id, const std::string & name );
5380
5418
5419extern void DeleteAllResults();
5420
5459
5460extern void DeleteResult( const std::string & id );
5461
5495
5496extern void WriteResultsCSVFile( const std::string & id, const std::string & file_name );
5497
5532
5533extern void PrintResults( const std::string &results_id );
5534
5569
5570extern void PrintResultsDocs( const std::string &results_id );
5571
5605
5606extern void WriteTestResults();
5607
5608//======================== GUI Functions ================================//
5609
5630
5631extern void InitGUI();
5632
5655
5656extern void StartGUI();
5657
5690
5692
5721
5723
5754
5755extern void StopGUI();
5756
5783
5784extern void PopupMsg( const std::string &msg );
5785
5824
5825extern void UpdateGUI();
5826
5859
5860extern bool IsGUIBuild();
5861
5908
5909extern void Lock( );
5910
5954
5955extern void Unlock( );
5956
5957
5988
5989extern bool IsEventLoopRunning( );
5990
6023
6024extern void ScreenGrab( const string & fname, int w, int h, bool transparentBG, bool autocrop = false );
6025
6044
6045extern void SetViewAxis( bool vaxis );
6046
6065
6066extern void SetShowBorders( bool brdr );
6067
6092
6093extern void SetGeomDrawType(const string &geom_id, int type);
6094
6120
6121extern void SetGeomWireColor( const string &geom_id, int r, int g, int b );
6122
6147
6148extern void SetGeomDisplayType(const string &geom_id, int type);
6149
6172
6173extern void SetGeomMaterialName( const string &geom_id, const string &name );
6174
6206
6207extern void AddMaterial( const string &name, const vec3d & ambient, const vec3d & diffuse, const vec3d & specular, const vec3d & emissive, const double & alpha, const double & shininess );
6208
6235
6236extern vector < string > GetMaterialNames();
6237
6258
6259extern void SetBackground( double r, double g, double b );
6260
6279
6280extern void SetAllViews( int view );
6281
6301
6302extern void SetView( int viewport, int view );
6303
6321
6322extern void FitAllViews();
6323
6341
6342extern void ResetViews();
6343
6363
6364extern void SetWindowLayout( int r, int c );
6365
6384
6385extern void SetGUIElementDisable( int e, bool state );
6386
6405
6406extern void SetGUIScreenDisable( int s, bool state );
6407
6426extern void SetGeomScreenDisable( int s, bool state );
6427
6445
6446extern void HideScreen( int s );
6447
6465
6466extern void ShowScreen( int s );
6467
6468
6469//======================== Geom Functions ================================//
6500
6501extern std::vector<std::string> GetGeomTypes();
6502
6525
6526extern std::string AddGeom( const std::string & type, const std::string & parent = std::string() );
6527
6563
6564extern void UpdateGeom( const std::string & geom_id );
6565
6596
6597extern void DeleteGeom( const std::string & geom_id );
6598
6631
6632extern void DeleteGeomVec( const std::vector< std::string > & del_vec );
6633
6673
6674extern void CutGeomToClipboard( const std::string & geom_id );
6675
6715
6716extern void CopyGeomToClipboard( const std::string & geom_id );
6717
6757
6758extern std::vector<std::string> PasteGeomClipboard( const std::string & parent = std::string() );
6759
6792
6793extern std::vector<std::string> FindGeoms();
6794
6833
6834extern std::vector<std::string> FindGeomsWithName( const std::string & name );
6835
6879
6880extern std::string FindGeom( const std::string & name, int index );
6881
6919
6920extern void SetGeomName( const std::string & geom_id, const std::string & name );
6921
6955
6956extern std::string GetGeomName( const std::string & geom_id );
6957
6991
6992extern std::vector<std::string> GetGeomParmIDs( const std::string & geom_id );
6993
7023
7024extern std::string GetGeomTypeName( const std::string & geom_id );
7025
7057
7058extern std::string GetParm( const std::string & geom_id, const std::string & name, const std::string & group );
7059
7111
7112extern void SetGeomParent( const std::string& geom_id, const std::string& parent_id );
7113
7147
7148extern std::string GetGeomParent( const std::string& geom_id );
7149
7198
7199extern std::vector< std::string > GetGeomChildren( const std::string& geom_id );
7200
7230
7231extern int GetNumXSecSurfs( const std::string & geom_id );
7232
7271
7272extern int GetNumMainSurfs( const std::string & geom_id );
7273
7312
7313extern int GetTotalNumSurfs( const std::string& geom_id );
7314
7346
7347extern int GetGeomVSPSurfType( const std::string& geom_id, int main_surf_ind = 0 );
7348
7380
7381extern int GetGeomVSPSurfCfdType( const std::string& geom_id, int main_surf_ind = 0 );
7382
7422
7423extern vec3d GetGeomBBoxMax( const std::string& geom_id, int main_surf_ind = 0, bool ref_frame_is_absolute = true );
7424
7464
7465extern vec3d GetGeomBBoxMin( const std::string& geom_id, int main_surf_ind = 0, bool ref_frame_is_absolute = true );
7466
7467
7468//======================== SubSurface Functions ================================//
7501
7502extern std::string AddSubSurf( const std::string & geom_id, int type, int surfindex = 0 );
7503
7544
7545extern std::string GetSubSurf( const std::string & geom_id, int index );
7546
7587
7588extern std::vector<std::string> GetSubSurf( const std::string & geom_id, const std::string & name );
7589
7635
7636extern void DeleteSubSurf( const std::string & geom_id, const std::string & sub_id );
7637
7682
7683extern void DeleteSubSurf( const std::string & sub_id );
7684
7717
7718extern void SetSubSurfName(const std::string & geom_id, const std::string & sub_id, const std::string & name);
7719
7751
7752extern void SetSubSurfName( const std::string & sub_id, const std::string & name );
7753
7790
7791extern std::string GetSubSurfName( const std::string & geom_id, const std::string & sub_id );
7792
7828
7829extern std::string GetSubSurfName( const std::string & sub_id );
7830
7868
7869extern int GetSubSurfIndex( const std::string & sub_id );
7870
7933
7934extern std::vector<std::string> GetSubSurfIDVec( const std::string & geom_id );
7935
7943
7944extern std::vector<std::string> GetAllSubSurfIDs();
7945
7983
7984extern int GetNumSubSurf( const std::string & geom_id );
7985
8049
8050extern int GetSubSurfType( const std::string & sub_id );
8051
8096
8097extern std::vector<std::string> GetSubSurfParmIDs( const std::string & sub_id );
8098
8148
8149extern void IntersectSubSurf( const std::string & sub_id );
8150
8201
8202extern void SetIntersectSubSurfGeomID( const std::string & sub_id, const std::string & geom_id );
8203
8234
8235extern int AddFeaStruct( const std::string & geom_id, bool init_skin = true, int surfindex = 0 );
8236
8272
8273extern void SetFeaMeshStructIndex( int struct_index );
8274
8310
8311extern void DeleteFeaStruct( const std::string & geom_id, int fea_struct_ind );
8312
8345
8346extern std::string GetFeaStructID( const std::string & geom_id, int fea_struct_ind );
8347
8391
8392extern int GetFeaStructIndex( const std::string & struct_id );
8393
8431
8432extern std::string GetFeaStructParentGeomID( const std::string & struct_id );
8433
8477
8478extern std::string GetFeaStructName( const std::string & geom_id, int fea_struct_ind );
8479
8527
8528extern void SetFeaStructName( const std::string & geom_id, int fea_struct_ind, const std::string & name );
8529
8565
8566extern std::vector< std::string > GetFeaStructIDVec();
8567
8606
8607extern void SetFeaPartName( const std::string & part_id, const std::string & name );
8608
8653
8654extern std::string AddFeaPart( const std::string & geom_id, int fea_struct_ind, int type );
8655
8702
8703extern void DeleteFeaPart( const std::string & geom_id, int fea_struct_ind, const std::string & part_id );
8704
8756
8757extern std::string GetFeaPartID( const std::string & fea_struct_id, int fea_part_index );
8758
8808
8809extern std::string GetFeaPartName( const std::string & part_id );
8810
8854
8855extern int GetFeaPartType( const std::string & part_id );
8856
8901
8902extern std::vector< std::string > GetFeaPartIDVec( const std::string & fea_struct_id );
8903
8948
8949extern std::vector< std::string > GetFeaSubSurfIDVec( const std::string & fea_struct_id );
8950
9019
9020extern void SetFeaPartPerpendicularSparID( const std::string& part_id, const std::string& perpendicular_spar_id );
9021
9089
9090extern std::string GetFeaPartPerpendicularSparID( const std::string& part_id );
9091
9130
9131extern void SetFeaSubSurfName( const std::string & subsurf_id, const std::string & name );
9132
9180
9181extern std::string GetFeaSubSurfName( const std::string & subsurf_id );
9182
9227
9228extern std::string AddFeaSubSurf( const std::string & geom_id, int fea_struct_ind, int type );
9229
9276
9277extern void DeleteFeaSubSurf( const std::string & geom_id, int fea_struct_ind, const std::string & ss_id );
9278
9333
9334extern int GetFeaSubSurfIndex( const string & ss_id );
9335
9373
9374extern int NumFeaStructures();
9375
9425
9426extern int NumFeaParts( const std::string & fea_struct_id );
9427
9476
9477extern int NumFeaSubSurfs( const std::string & fea_struct_id );
9478
9519
9520extern std::string AddFeaBC( const string & fea_struct_id, int type = -1 );
9521
9565
9566extern void DelFeaBC( const string & fea_struct_id, const std::string &bc_id );
9567
9611
9612extern std::vector< std::string > GetFeaBCIDVec( const string & fea_struct_id );
9613
9657
9658extern int NumFeaBCs( const string & fea_struct_id );
9659
9684
9685extern std::string AddFeaMaterial();
9686
9714
9715extern std::string AddFeaProperty( int property_type = 0 );
9716
9758
9759extern void SetFeaMeshVal( const std::string & geom_id, int fea_struct_ind, int type, double val );
9760
9810
9811extern void SetFeaMeshFileName( const std::string & geom_id, int fea_struct_ind, int file_type, const string & file_name );
9812
9863
9864extern void ComputeFeaMesh( const std::string & geom_id, int fea_struct_ind, int file_type );
9865
9915
9916extern void ComputeFeaMesh( const std::string & struct_id, int file_type );
9917
9975
9976extern void SetXSecAlias( const string & id, const string & alias );
9977
10035
10036extern string GetXSecAlias( const string & id );
10037
10095
10096extern void SetXSecCurveAlias( const string & id, const string & alias );
10097
10154
10155extern string GetXSecCurveAlias( const string & id );
10156
10195
10196extern void CutXSec( const std::string & geom_id, int index );
10197
10232
10233extern void CopyXSec( const std::string & geom_id, int index );
10234
10269
10270extern void PasteXSec( const std::string & geom_id, int index );
10271
10299
10300extern void InsertXSec( const std::string & geom_id, int index, int type );
10301
10302
10303//======================== Wing Section Functions ===================//
10304
10334
10335extern void SplitWingXSec( const string & wing_id, int section_index );
10336
10384
10385extern void SetDriverGroup( const std::string & geom_id, int section_index, int driver_0, int driver_1 = -1, int driver_2 = -1 );
10386
10387
10388//======================== XSecSurf ================================//
10417
10418extern std::string GetXSecSurf( const std::string & geom_id, int index );
10419
10470
10471extern int GetNumXSec( const std::string & xsec_surf_id );
10472
10507
10508extern std::string GetXSec( const std::string & xsec_surf_id, int xsec_index );
10509
10559
10560extern void ChangeXSecShape( const std::string & xsec_surf_id, int xsec_index, int type );
10561
10570
10571extern void SetXSecSurfGlobalXForm( const std::string & xsec_surf_id, const Matrix4d & mat );
10572
10581
10582extern Matrix4d GetXSecSurfGlobalXForm( const std::string & xsec_surf_id );
10583
10584
10585//======================== XSec ================================//
10626
10627extern int GetXSecShape( const std::string& xsec_id );
10628
10667
10668extern double GetXSecWidth( const std::string& xsec_id );
10669
10708
10709extern double GetXSecHeight( const std::string& xsec_id );
10710
10751
10752extern void SetXSecWidthHeight( const std::string& xsec_id, double w, double h );
10753
10792
10793extern void SetXSecWidth( const std::string& xsec_id, double w );
10794
10833
10834extern void SetXSecHeight( const std::string& xsec_id, double h );
10835
10873
10874extern std::vector<std::string> GetXSecParmIDs( const std::string& xsec_id );
10875
10918
10919extern std::string GetXSecParm( const std::string& xsec_id, const std::string& name );
10920
10960
10961extern std::vector<vec3d> ReadFileXSec( const std::string& xsec_id, const std::string& file_name );
10962
11015
11016extern void SetXSecPnts( const std::string& xsec_id, std::vector< vec3d > & pnt_vec );
11017
11059
11060extern vec3d ComputeXSecPnt( const std::string& xsec_id, double fract );
11061
11102
11103extern vec3d ComputeXSecTan( const std::string& xsec_id, double fract );
11104
11145
11146extern void ResetXSecSkinParms( const std::string& xsec_id );
11147
11188
11189extern void SetXSecContinuity( const std::string& xsec_id, int cx );
11190
11240
11241extern void SetXSecTanAngles( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
11242
11292
11293extern void SetXSecTanSlews( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
11294
11346
11347extern void SetXSecTanStrengths( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
11348
11400
11401extern void SetXSecCurvatures( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
11402
11440
11441extern void ReadFileAirfoil( const std::string& xsec_id, const std::string& file_name );
11442
11497
11498extern void SetAirfoilUpperPnts( const std::string& xsec_id, const std::vector< vec3d > & up_pnt_vec );
11499
11554
11555extern void SetAirfoilLowerPnts( const std::string& xsec_id, const std::vector< vec3d > & low_pnt_vec );
11556
11620
11621extern void SetAirfoilPnts( const std::string& xsec_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
11622
11670
11671extern std::vector<vec3d> GetHersheyBarLiftDist( const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag = false );
11672
11720
11721extern std::vector<vec3d> GetHersheyBarDragDist( const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag = false );
11722
11774
11775extern std::vector<vec3d> GetVKTAirfoilPnts( const int &npts, const double &alpha, const double &epsilon, const double &kappa, const double &tau );
11776
11829
11830extern std::vector<double> GetVKTAirfoilCpDist( const double &alpha, const double &epsilon, const double &kappa, const double &tau, const std::vector<vec3d> &xyz_data );
11831
11845
11846extern std::vector<vec3d> GetEllipsoidSurfPnts( const vec3d &center, const vec3d &abc_rad, int u_npts = 20, int w_npts = 20 );
11847
11856
11857extern std::vector<vec3d> GetFeatureLinePnts( const string& geom_id );
11858
11940
11941extern std::vector<double> GetEllipsoidCpDist( const std::vector<vec3d> &surf_pnt_vec, const vec3d &abc_rad, const vec3d &V_inf );
11942
11943extern double IntegrateEllipsoidFlow( const vec3d &abc_rad, const int &abc_index );
11944
11987
11988extern std::vector<vec3d> GetAirfoilUpperPnts( const std::string& xsec_id );
11989
12032
12033extern std::vector<vec3d> GetAirfoilLowerPnts( const std::string& xsec_id );
12034
12044
12045extern std::vector<double> GetUpperCSTCoefs( const std::string& xsec_id );
12046
12056
12057extern std::vector<double> GetLowerCSTCoefs( const std::string& xsec_id );
12058
12068
12069extern int GetUpperCSTDegree( const std::string& xsec_id );
12070
12080
12081extern int GetLowerCSTDegree( const std::string& xsec_id );
12082
12093
12094extern void SetUpperCST( const std::string& xsec_id, int deg, const std::vector<double> &coefs );
12095
12106
12107extern void SetLowerCST( const std::string& xsec_id, int deg, const std::vector<double> &coefs );
12108
12117
12118extern void PromoteCSTUpper( const std::string& xsec_id );
12119
12128
12129extern void PromoteCSTLower( const std::string& xsec_id );
12130
12139
12140extern void DemoteCSTUpper( const std::string& xsec_id );
12141
12150
12151extern void DemoteCSTLower( const std::string& xsec_id );
12152
12162
12163extern void FitAfCST( const std::string & xsec_surf_id, int xsec_index, int deg );
12164
12165//======================== Background3D Functions ======================//
12166
12203
12204extern string AddBackground3D();
12205
12242
12244
12296
12297extern vector < string > GetAllBackground3Ds();
12298
12329
12331
12362
12364
12404
12406
12447
12448extern void DelBackground3D( const string &id );
12449
12490
12491extern vector < string > GetAllBackground3DRelativePaths();
12492
12532
12533extern vector < string > GetAllBackground3DAbsolutePaths();
12534
12570
12571extern string GetBackground3DRelativePath( const string &id );
12572
12607
12608extern string GetBackground3DAbsolutePath( const string &id );
12609
12645
12646extern void SetBackground3DRelativePath( const string &id, const string &fname );
12647
12682
12683extern void SetBackground3DAbsolutePath( const string &id, const string &fname );
12684
12685
12686//======================== RoutingGeom Functions ======================//
12742
12743extern int GetNumRoutingPts( const string &routing_id );
12744
12799
12800extern string AddRoutingPt( const string &routing_id, const string &geom_id, int surf_index );
12801
12868
12869extern string InsertRoutingPt( const string &routing_id, int index, const string &geom_id, int surf_index );
12870
12926
12927extern void DelRoutingPt( const string &routing_id, int index );
12928
12984
12985extern void DelAllRoutingPt( const string &routing_id );
12986
13043
13044extern int MoveRoutingPt( const string &routing_id, int index, int reorder_type );
13045
13102
13103extern string GetRoutingPtID( const string &routing_id, int index );
13104
13160
13161extern vector < string > GetAllRoutingPtIds( const string &routing_id );
13162
13218
13219extern string GetRoutingPtParentID( const string & pt_id );
13220
13276
13277extern void SetRoutingPtParentID( const string & pt_id, const string &parent_id );
13278
13337
13338extern vec3d GetMainRoutingPtCoord( const string &pt_id );
13339
13399
13400extern vec3d GetRoutingPtCoord( const string &routing_id, int index, int symm_index );
13401
13460
13461extern vector < vec3d > GetAllRoutingPtCoords( const string &routing_id, int symm_index );
13462
13522
13523extern vector < vec3d > GetRoutingCurve( const string &routing_id, int symm_index );
13524
13525//======================== BOR Functions ======================//
13556
13557extern void ChangeBORXSecShape( const string & bor_id, int type );
13558
13588
13589extern int GetBORXSecShape( const string & bor_id );
13590
13621
13622extern std::vector<vec3d> ReadBORFileXSec( const std::string& bor_id, const std::string& file_name );
13623
13667
13668extern void SetBORXSecPnts( const std::string& bor_id, std::vector< vec3d > & pnt_vec );
13669
13702
13703extern vec3d ComputeBORXSecPnt( const std::string& bor_id, double fract );
13704
13735
13736extern vec3d ComputeBORXSecTan( const std::string& bor_id, double fract );
13737
13767
13768extern void ReadBORFileAirfoil( const std::string& bor_id, const std::string& file_name );
13769
13816
13817extern void SetBORAirfoilUpperPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec );
13818
13865
13866extern void SetBORAirfoilLowerPnts( const std::string& bor_id, const std::vector< vec3d > & low_pnt_vec );
13867
13923
13924extern void SetBORAirfoilPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
13925
13960
13961extern std::vector<vec3d> GetBORAirfoilUpperPnts( const std::string& bor_id );
13962
13997
13998extern std::vector<vec3d> GetBORAirfoilLowerPnts( const std::string& bor_id );
13999
14009
14010extern std::vector<double> GetBORUpperCSTCoefs( const std::string& bor_id );
14011
14021
14022extern std::vector<double> GetBORLowerCSTCoefs( const std::string& bor_id );
14023
14033
14034extern int GetBORUpperCSTDegree( const std::string& bor_id );
14035
14045
14046extern int GetBORLowerCSTDegree( const std::string& bor_id );
14047
14058
14059extern void SetBORUpperCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
14060
14071
14072extern void SetBORLowerCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
14073
14082
14083extern void PromoteBORCSTUpper( const std::string& bor_id );
14084
14093
14094extern void PromoteBORCSTLower( const std::string& bor_id );
14095
14104
14105extern void DemoteBORCSTUpper( const std::string& bor_id );
14106
14115
14116extern void DemoteBORCSTLower( const std::string& bor_id );
14117
14126
14127extern void FitBORAfCST( const std::string & bor_id, int deg );
14128
14129
14130//======================== FoilSurf Functions ======================//
14164
14165extern void WriteBezierAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
14166
14200
14201extern void WriteSeligAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
14202
14212
14213extern std::vector < vec3d > GetAirfoilCoordinates( const std::string & geom_id, const double &foilsurf_u );
14214
14215
14216//======================== Edit Curve XSec Functions ======================//
14264
14265extern void EditXSecInitShape( const std::string & xsec_id );
14266
14312
14313extern void EditXSecConvertTo( const std::string & xsec_id, const int & newtype );
14314
14370
14371extern std::vector < double > GetEditXSecUVec( const std::string& xsec_id );
14372
14421
14422extern std::vector < vec3d > GetEditXSecCtrlVec( const std::string & xsec_id, bool non_dimensional = true );
14423
14530
14531extern void SetEditXSecPnts( const std::string & xsec_id, const std::vector < double > &u_vec, const std::vector < vec3d > &control_pts, const std::vector < double > &r_vec );
14532
14598
14599extern void EditXSecDelPnt( const std::string & xsec_id, const int & indx );
14600
14665
14666extern int EditXSecSplit01( const std::string & xsec_id, const double & u );
14667
14747
14748extern void MoveEditXSecPnt( const std::string & xsec_id, const int & indx, const vec3d & new_pnt );
14749
14799
14800extern void ConvertXSecToEdit( const std::string & geom_id, const int & indx = 0 );
14801
14857
14858extern std::vector < bool > GetEditXSecFixedUVec( const std::string& xsec_id );
14859
14915
14916extern void SetEditXSecFixedUVec( const std::string& xsec_id, std::vector < bool > fixed_u_vec );
14917
14973
14974extern void ReparameterizeEditXSec( const std::string & xsec_id );
14975
14976
14977//======================== Sets ================================//
14997
14998extern int GetNumSets();
14999
15026
15027extern void SetSetName( int index, const std::string& name );
15028
15055
15056extern std::string GetSetName( int index );
15057
15090
15091extern std::vector<std::string> GetGeomSetAtIndex( int index );
15092
15124
15125extern std::vector<std::string> GetGeomSet( const std::string & name );
15126
15152
15153extern int GetSetIndex( const std::string & name );
15154
15187
15188extern bool GetSetFlag( const std::string & geom_id, int set_index );
15189
15222
15223extern void SetSetFlag( const std::string & geom_id, int set_index, bool flag );
15224
15268
15269extern void CopyPasteSet( int copyIndex, int pasteIndex );
15270
15306
15307extern bool GetBBoxSet( int set, double & xmin_out, double & ymin_out, double & zmin_out, double & xlen_out, double & ylen_out, double & zlen_out );
15308
15344
15345extern bool GetScaleIndependentBBoxSet( int set, double & xmin_out, double & ymin_out, double & zmin_out, double & xlen_out, double & ylen_out, double & zlen_out );
15346
15347//======================== Group Modifications ================================//
15379
15380extern void ScaleSet( int set_index, double scale );
15381
15415
15416extern void RotateSet( int set_index, double x_rot_deg, double y_rot_deg, double z_rot_deg );
15417
15449
15450extern void TranslateSet( int set_index, const vec3d &translation_vec );
15451
15489
15490extern void TransformSet( int set_index, const vec3d &translation_vec, double x_rot_deg, double y_rot_deg, double z_rot_deg, double scale, bool scale_translations_flag );
15491
15492
15493//======================== Parm Functions ================================//
15523
15524extern bool ValidParm( const std::string & id );
15525
15573
15574extern double SetParmVal( const std::string & parm_id, double val );
15575
15625
15626extern double SetParmVal( const std::string & geom_id, const std::string & name, const std::string & group, double val );
15627
15663
15664extern double SetParmValLimits( const std::string & parm_id, double val, double lower_limit, double upper_limit );
15665
15697
15698extern double SetParmValUpdate( const std::string & parm_id, double val );
15699
15733
15734extern double SetParmValUpdate( const std::string & geom_id, const std::string & parm_name, const std::string & parm_group_name, double val );
15735
15781
15782extern double GetParmVal( const std::string & parm_id );
15783
15831
15832extern double GetParmVal( const std::string & geom_id, const std::string & name, const std::string & group );
15833
15863
15864extern int GetIntParmVal( const std::string & parm_id );
15865
15895
15896extern bool GetBoolParmVal( const std::string & parm_id );
15897
15948
15949extern void SetParmUpperLimit( const std::string & parm_id, double val );
15950
15980
15981extern double GetParmUpperLimit( const std::string & parm_id );
15982
16033
16034extern void SetParmLowerLimit( const std::string & parm_id, double val );
16035
16065
16066extern double GetParmLowerLimit( const std::string & parm_id );
16067
16110
16111extern int GetParmType( const std::string & parm_id );
16112
16169
16170extern std::string GetParmName( const std::string & parm_id );
16171
16214
16215extern std::string GetParmGroupName( const std::string & parm_id );
16216
16259
16260extern std::string GetParmDisplayGroupName( const std::string & parm_id );
16261
16307
16308extern std::string GetParmContainer( const std::string & parm_id );
16309
16341
16342extern void SetParmDescript( const std::string & parm_id, const std::string & desc );
16343
16377
16378extern std::string GetParmDescript( const std::string & parm_id );
16379
16413
16414extern std::string FindParm( const std::string & parm_container_id, const std::string& parm_name, const std::string& group_name );
16415
16416
16417//======================== Parm Container Functions ======================//
16418
16454
16455extern std::vector<std::string> FindContainers();
16456
16480
16481extern std::vector<std::string> FindContainersWithName( const std::string & name );
16482
16506
16507extern std::string FindContainer( const std::string & name, int index );
16508
16532
16533extern std::string GetContainerName( const std::string & parm_container_id );
16534
16573
16574extern std::vector<std::string> FindContainerGroupNames( const std::string & parm_container_id );
16575
16632
16633extern std::vector<std::string> FindContainerParmIDs( const std::string & parm_container_id );
16634
16655
16656extern std::string GetVehicleID();
16657
16658
16659//======================== User Parm Functions ======================//
16680
16681extern int GetNumUserParms();
16682
16703
16705
16741
16742extern std::vector < std::string > GetAllUserParms();
16743
16762
16763extern std::string GetUserParmContainer();
16764
16795
16796extern string AddUserParm(int type, const string & name, const string & group );
16797
16827
16828extern void DeleteUserParm( const std::string & id );
16829
16847
16848extern void DeleteAllUserParm();
16849
16850
16851//======================== Snap To Functions ======================//
16894
16895extern double ComputeMinClearanceDistance( const std::string & geom_id, int set = SET_ALL, bool useMode = false, const string &modeID = string() );
16896 // TODO: Validate inc_flag description
16943
16944extern double SnapParm( const std::string & parm_id, double target_min_dist, bool inc_flag, int set = SET_ALL, bool useMode = false, const string &modeID = string() );
16945
16946
16947//======================== Variable Preset Functions ======================//
16948
16974
16975extern string AddVarPresetGroup( const std::string &group_name );
16976
17008
17009extern string AddVarPresetSetting( const std::string &group_id, const std::string &setting_name );
17010
17048
17049extern void AddVarPresetParm( const std::string &group_id, const std::string &parm_id );
17050
17092
17093extern void DeleteVarPresetGroup( const std::string &group_id );
17094
17137
17138extern void DeleteVarPresetSetting( const std::string &group_id, const std::string &setting_id );
17139
17182
17183extern void DeleteVarPresetParm( const std::string &group_id, const std::string &parm_id );
17184
17229
17230extern void SetVarPresetParmVal( const std::string &group_id, const std::string &setting_id, const std::string &parm_id, double parm_val );
17231
17276
17277extern double GetVarPresetParmVal( const std::string &group_id, const std::string &setting_id, const std::string &parm_id );
17278
17309
17310extern std::string GetGroupName( const std::string &group_id );
17311
17346
17347extern std::string GetSettingName( const std::string &setting_id );
17348
17379
17380extern void SetGroupName( const std::string &group_id, const std::string &group_name );
17381
17416
17417extern void SetSettingName( const std::string &setting_id, const std::string &setting_name );
17418
17460
17461extern std::vector< std::string > GetVarPresetGroups();
17462
17505
17506extern std::vector< std::string > GetVarPresetSettings( const std::string &group_id );
17507
17550
17551extern std::vector< std::string > GetVarPresetParmIDs( const std::string &group_id );
17552
17596
17597extern std::vector< double > GetVarPresetParmVals( const std::string &setting_id );
17598
17645
17646extern void SetVarPresetParmVals( const std::string &setting_id, const std::vector< double > &parm_vals );
17647
17690
17691extern void SaveVarPresetParmVals( const std::string &group_id, const std::string &setting_id );
17692
17739
17740extern void ApplyVarPresetSetting( const std::string &group_id, const std::string &setting_id );
17741
17742//======================== Mode Functions ======================//
17743
17898
17899extern string CreateAndAddMode( const string & name, int normal_set, int degen_set );
17900
18056
18057extern int GetNumModes();
18058
18214
18215extern vector < string > GetAllModes();
18216
18372
18373extern void DelMode( const string &mid );
18374
18529
18530extern void DelAllModes();
18531
18683
18684extern void ApplyModeSettings( const string &mid );
18685
18841
18842extern void ShowOnlyMode( const string &mid );
18843
18997
18998extern void ModeAddGroupSetting( const string &mid, const string &gid, const string &sid );
18999
19157
19158extern string ModeGetGroup( const string &mid, int indx );
19159
19317
19318extern string ModeGetSetting( const string &mid, int indx );
19319
19476
19477extern vector < string > ModeGetAllGroups( const string &mid );
19478
19635
19636extern vector < string > ModeGetAllSettings( const string &mid );
19637
19794
19795extern void RemoveGroupSetting( const string &mid, int indx );
19796
19952
19953extern void RemoveAllGroupSettings( const string &mid );
19954
19955//======================== Parametric Curve Functions ======================//
19968
19969extern void SetPCurve( const std::string & geom_id, const int & pcurveid, const std::vector < double > & tvec,
19970
19971 const std::vector < double > & valvec, const int & newtype );
19982
19983extern void PCurveConvertTo( const std::string & geom_id, const int & pcurveid, const int & newtype );
19984
19995
19996extern int PCurveGetType( const std::string & geom_id, const int & pcurveid );
19997
20007
20008extern std::vector < double > PCurveGetTVec( const std::string & geom_id, const int & pcurveid );
20009
20019
20020extern std::vector < double > PCurveGetValVec( const std::string & geom_id, const int & pcurveid );
20021
20031
20032extern void PCurveDeletePt( const std::string & geom_id, const int & pcurveid, const int & indx );
20033
20044
20045extern int PCurveSplit( const std::string & geom_id, const int & pcurveid, const double & tsplit );
20046
20073
20074extern void ApproximateAllPropellerPCurves( const std::string & geom_id );
20075
20104
20105extern void ResetPropellerThicknessCurve( const std::string & geom_id );
20106
20107
20108//======================== VSPAERO Functions ======================//
20199
20201
20238
20240
20271
20272extern void AddAllToVSPAEROControlSurfaceGroup( int CSGroupIndex );
20273
20308
20309extern void RemoveAllFromVSPAEROControlSurfaceGroup( int CSGroupIndex );
20310
20361
20362extern std::vector < std::string > GetActiveCSNameVec( int CSGroupIndex );
20363
20407
20408extern std::vector < std::string > GetCompleteCSNameVec();
20409
20450
20451extern std::vector < std::string > GetAvailableCSNameVec( int CSGroupIndex );
20452
20492
20493extern void SetVSPAEROControlGroupName(const string & name, int CSGroupIndex);
20494
20533
20534extern std::string GetVSPAEROControlGroupName( int CSGroupIndex );
20535
20589
20590extern void AddSelectedToCSGroup( const vector <int> &selected, int CSGroupIndex);
20591
20654
20655extern void RemoveSelectedFromCSGroup( const vector <int> &selected, int CSGroupIndex);
20656
20711
20713
20714
20715//================ VSPAERO Actuator Disk and Unsteady Functions ==============//
20763
20764extern std::string FindActuatorDisk( int disk_index );
20765
20807
20809
20855
20856extern std::string FindUnsteadyGroup( int group_index );
20857
20892
20893extern std::string GetUnsteadyGroupName( int group_index );
20894
20937
20938extern std::vector < std::string > GetUnsteadyGroupCompIDs( int group_index );
20939
20982
20983extern std::vector < int > GetUnsteadyGroupSurfIndexes( int group_index );
20984
21035
21037
21089
21091
21092
21093//======================== Parasite Drag Tool Functions ======================//
21119
21120extern void AddExcrescence(const std::string & excresName, const int & excresType, const double & excresVal);
21121
21152
21153extern void DeleteExcrescence(const int & index);
21154
21161
21163
21189
21190extern void WriteAtmosphereCSVFile( const std::string & file_name, const int &atmos_type );
21191
21230
21231extern void CalcAtmosphere( const double & alt, const double & delta_temp, const int & atmos_type,
21232
21233 double & temp, double & pres, double & pres_ratio, double & rho_ratio );
21254
21255extern void WriteBodyFFCSVFile( const std::string & file_name );
21256
21277
21278extern void WriteWingFFCSVFile( const std::string & file_name );
21279 // TODO: Improve description
21300
21301extern void WriteCfEqnCSVFile( const std::string & file_name );
21302 // TODO: Improve description
21323
21324extern void WritePartialCfMethodCSVFile( const std::string & file_name );
21325
21326
21327//======================== Surface Query Functions ======================//
21370
21371extern vec3d CompPnt01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
21372
21415
21416extern vec3d CompNorm01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
21417
21460
21461extern vec3d CompTanU01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
21462
21505
21506extern vec3d CompTanW01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
21507
21557
21558extern void CompCurvature01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w,
21559 double &k1_out, double &k2_out, double &ka_out, double &kg_out);
21560
21623
21624extern double ProjPnt01(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &u_out, double &w_out);
21625
21695
21696extern double ProjPnt01I(const std::string &geom_id, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
21697
21767
21768extern double ProjPnt01Guess(const std::string &geom_id, const int &surf_indx, const vec3d &pt, const double &u0, const double &w0, double &u_out, double &w_out);
21769
21770
21831
21832extern double AxisProjPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, double &u_out, double &w_out);
21833
21896
21897extern double AxisProjPnt01I(const std::string &geom_id, const int &iaxis, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
21898
21971
21972extern double AxisProjPnt01Guess(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, const double &u0, const double &w0, double &u_out, double &w_out);
21973
22035
22036extern bool InsideSurf( const std::string &geom_id, const int &surf_indx, const vec3d &pt );
22037
22038
22084
22085extern vec3d CompPntRST( const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t );
22086
22142
22143extern double FindRST( const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &r_out, double &s_out, double &t_out );
22144
22212
22213extern double FindRSTGuess( const std::string &geom_id, const int &surf_indx, const vec3d &pt, const double &r0, const double &s0, const double &t0, double &r_out, double &s_out, double &t_out );
22214
22215
22262
22263extern void ConvertRSTtoLMN( const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t, double &l_out, double &m_out, double &n_out );
22264
22303
22304extern void ConvertRtoL( const std::string &geom_id, const int &surf_indx, const double &r, double &l_out );
22305
22352
22353extern void ConvertLMNtoRST( const std::string &geom_id, const int &surf_indx, const double &l, const double &m, const double &n, double &r_out, double &s_out, double &t_out );
22392extern void ConvertLtoR( const std::string &geom_id, const int &surf_indx, const double &l, double &r_out );
22393
22431
22432extern void ConvertUtoEta( const std::string &geom_id, const double &u, double &eta_out );
22433
22471
22472extern void ConvertEtatoU( const std::string &geom_id, const double &eta, double &u_out );
22473
22474
22528
22529extern std::vector < vec3d > CompVecPnt01(const std::string &geom_id, const int &surf_indx, const std::vector < double > &u_in_vec, const std::vector < double > &w_in_vec);
22530
22585
22586extern std::vector < vec3d > CompVecDegenPnt01(const std::string &geom_id, const int &surf_indx, const int &degen_type, const std::vector < double > &u_in_vec, const std::vector < double > &w_in_vec);
22587
22641
22642extern std::vector < vec3d > CompVecNorm01(const std::string &geom_id, const int &surf_indx, const std::vector < double > &us, const std::vector < double > &ws);
22643
22704
22705extern void CompVecCurvature01(const std::string &geom_id, const int &surf_indx, const std::vector < double > &us, const std::vector < double > &ws, std::vector < double > &k1_out_vec, std::vector < double > &k2_out_vec, std::vector < double > &ka_out_vec, std::vector < double > &kg_out_vec);
22706
22782
22783extern void ProjVecPnt01(const std::string &geom_id, const int &surf_indx, const std::vector < vec3d > &pts, std::vector < double > &u_out_vec, std::vector < double > &w_out_vec, std::vector < double > &d_out_vec );
22784
22882
22883extern void ProjVecPnt01Guess(const std::string &geom_id, const int &surf_indx, const std::vector < vec3d > &pts, const std::vector < double > &u0s, const std::vector < double > &w0s, std::vector < double > &u_out_vec, std::vector < double > &w_out_vec, std::vector < double > &d_out_vec );
22884
22885
22986
22987extern void AxisProjVecPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const std::vector < vec3d > &pts, std::vector < double > &u_out_vec, std::vector < double > &w_out_vec, std::vector < double > &d_out_vec );
22988
23100
23101extern void AxisProjVecPnt01Guess(const std::string &geom_id, const int &surf_indx, const int &iaxis, const std::vector < vec3d > &pts, const std::vector < double > &u0s, const std::vector < double > &w0s, std::vector < double > &u_out_vec, std::vector < double > &w_out_vec, std::vector < double > &d_out_vec );
23102
23175
23176extern std::vector < bool > VecInsideSurf( const std::string &geom_id, const int &surf_indx, const std::vector < vec3d > &pts );
23177
23178
23239
23240extern std::vector < vec3d > CompVecPntRST( const std::string &geom_id, const int &surf_indx, const std::vector < double > &r_in_vec, const std::vector < double > &s_in_vec, const std::vector < double > &t_in_vec );
23241
23313
23314extern void FindRSTVec( const std::string &geom_id, const int &surf_indx, const std::vector < vec3d > &pts, std::vector < double > &r_out_vec, std::vector < double > &s_out_vec, std::vector < double > &t_out_vec, std::vector < double > &d_out_vec );
23315
23398
23399extern void FindRSTVecGuess( const std::string &geom_id, const int &surf_indx, const std::vector < vec3d > &pts, const std::vector < double > &r0s, const std::vector < double > &s0s, const std::vector < double > &t0s, std::vector < double > &r_out_vec, std::vector < double > &s_out_vec, std::vector < double > &t_out_vec, std::vector < double > &d_out_vec );
23400
23401
23468
23469extern void ConvertRSTtoLMNVec( const std::string &geom_id, const int &surf_indx, const std::vector < double > &r_vec, const std::vector < double > &s_vec, const std::vector < double > &t_vec,
23470 std::vector < double > &l_out_vec, std::vector < double > &m_out_vec, std::vector < double > &n_out_vec );
23471
23537
23538extern void ConvertLMNtoRSTVec( const std::string &geom_id, const int &surf_indx, const std::vector < double > &l_vec, const std::vector < double > &m_vec, const std::vector < double > &n_vec,
23539 std::vector < double > &r_out_vec, std::vector < double > &s_out_vec, std::vector < double > &t_out_vec );
23540
23574
23575extern void GetUWTess01(const std::string &geom_id, const int &surf_indx, std::vector < double > &u_out_vec, std::vector < double > &w_out_vec);
23576
23577
23578//======================= Measure Functions ============================//
23626
23627extern string AddRuler( const string & startgeomid, int startsurfindx, double startu, double startw,
23628 const string & endgeomid, int endsurfindx, double endu, double endw, const string & name );
23684
23685extern std::vector < string > GetAllRulers();
23686
23733
23734extern void DelRuler( const string &id );
23735
23777
23778extern void DeleteAllRulers();
23779
23780
23816
23817extern string AddProbe( const string & geomid, int surfindx, double u, double w, const string & name );
23818
23857
23858extern std::vector < string > GetAllProbes();
23859
23900
23901extern void DelProbe( const string &id );
23902
23942
23943extern void DeleteAllProbes();
23944
23945
23946//======================= Advanced Link Functions ============================//
23947
23975
23976extern std::vector< std::string > GetAdvLinkNames();
23977
24024
24025extern int GetLinkIndex( const string & name );
24026
24090
24091extern void DelAdvLink( int index );
24092
24155
24156extern void DelAllAdvLinks();
24157
24202
24203extern void AddAdvLink( const string & name );
24204
24251
24252extern void AddAdvLinkInput( int index, const string & parm_id, const string & var_name );
24253
24300
24301extern void AddAdvLinkOutput( int index, const string & parm_id, const string & var_name );
24302
24360
24361extern void DelAdvLinkInput( int index, const string & var_name );
24362
24420
24421extern void DelAdvLinkOutput( int index, const string & var_name );
24422
24481
24482extern std::vector< std::string > GetAdvLinkInputNames( int index );
24483
24542
24543extern std::vector< std::string > GetAdvLinkInputParms( int index );
24544
24603
24604extern std::vector< std::string > GetAdvLinkOutputNames( int index );
24605
24664
24665extern std::vector< std::string > GetAdvLinkOutputParms( int index );
24666
24730
24731extern bool ValidateAdvLinkParms( int index );
24732
24778
24779extern void SetAdvLinkCode( int index, const string & code );
24780
24834
24835extern std::string GetAdvLinkCode( int index );
24836
24893
24894extern void SearchReplaceAdvLinkCode( int index, const string & from, const string & to );
24895
24955
24956extern bool BuildAdvLinkScript( int index );
24957
24958
24959} // End vsp namespace
24960
24961#endif // !defined(VSPAPI__INCLUDED_)
Definition Vec3d.h:243
bool CheckForVSPAERO(const std::string &path)
bool CheckForVSPHelp(const std::string &path)
int GetVSPVersionChange()
std::string GetVSPVersion()
int GetVSPVersionMinor()
bool SetVSPHelpPath(const std::string &path)
std::string GetVSPHelpPath()
bool SetVSPAEROPath(const std::string &path)
std::string GetVSPExePath()
std::string GetVSPAEROPath()
int GetVSPVersionMajor()
void VSPRenew()
void VSPCheckSetup()
std::vector< std::string > GetAnalysisInputNames(const std::string &analysis)
const std::vector< int > & GetIntAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
void SetIntAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< int > &indata, int index=0)
void PrintAnalysisDocs(const std::string &analysis_name)
std::string ExecAnalysis(const std::string &analysis)
int GetNumAnalysis()
std::vector< std::string > ListAnalysis()
void SetVec3dAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< vec3d > &indata, int index=0)
void SetStringAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< std::string > &indata, int index=0)
void PrintAnalysisInputs(const std::string &analysis_name)
int GetAnalysisInputType(const std::string &analysis, const std::string &name)
void SetAnalysisInputDefaults(const std::string &analysis)
const std::vector< double > & GetDoubleAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
std::string GetAnalysisDoc(const std::string &analysis)
const std::vector< vec3d > & GetVec3dAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
void SetDoubleAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< double > &indata, int index=0)
std::string GetAnalysisInputDoc(const std::string &analysis, const std::string &name)
const std::vector< std::string > & GetStringAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
int GetNumAnalysisInputData(const std::string &analysis, const std::string &name)
vector< string > GetAttributeStringVal(const string &attrID)
string GetAttributeID(const string &collID, const string &attributeName, int index)
string GetAttributeName(const string &attrID)
vector< double > GetAttributeDoubleVal(const string &attrID)
void SetAttributeDoubleMatrix(const string &attrID, const vector< vector< double > > &value)
void SetAttributeParmID(const string &attrID, const string &value)
void SetAttributeBool(const string &attrID, bool value)
vector< string > FindAttributedObjects()
void SetAttributeVec3d(const string &attrID, const vector< vec3d > &value)
string AddAttributeString(const string &collID, const string &attributeName, const string &value)
vector< int > GetAttributeIntVal(const string &attrID)
vector< vector< double > > GetAttributeDoubleMatrixVal(const string &attrID)
void DeleteAttribute(const string &attrID)
void SetAttributeDouble(const string &attrID, double value)
vector< string > FindAllAttributes()
vector< string > FindAttributeNamesInCollection(const string &collID)
string AddAttributeIntMatrix(const string &collID, const string &attributeName, const vector< vector< int > > &value)
void SetAttributeName(const string &attrID, const string &name)
vector< string > GetAttributeParmID(const string &attrID)
string AddAttributeInt(const string &collID, const string &attributeName, int value)
vector< vec3d > GetAttributeVec3dVal(const string &attrID)
vector< string > FindAttributesByName(const string &search_str)
string GetGeomSetCollection(const int &index)
vector< int > GetAttributeBoolVal(const string &attrID)
string SummarizeAttributesAsTree()
string GetObjectName(const string &attachID)
int CopyAttribute(const string &attrID)
string GetAttributeTypeName(const string &attrID)
string GetChildCollection(const string &attachID)
string SummarizeAttributes()
void CutAttribute(const string &attrID)
string GetObjectParent(const string &id)
void SetAttributeString(const string &attrID, const string &value)
string AddAttributeGroup(const string &collID, const string &attributeName)
vector< string > FindAttributesInCollection(const string &collID)
vector< double > GetAttributeParmVal(const string &attrID)
string AddAttributeParm(const string &collID, const string &attributeName, const string &parmID)
void SetAttributeIntMatrix(const string &attrID, const vector< vector< int > > &value)
vector< vector< int > > GetAttributeIntMatrixVal(const string &attrID)
vector< string > PasteAttribute(const string &coll_id)
int GetAttributeType(const string &attrID)
string AddAttributeDouble(const string &collID, const string &attributeName, double value)
vector< string > GetAttributeParmName(const string &attrID)
string AddAttributeBool(const string &collID, const string &attributeName, bool value)
string AddAttributeDoubleMatrix(const string &collID, const string &attributeName, const vector< vector< double > > &value)
string GetObjectTypeName(const string &attachID)
string AddAttributeVec3d(const string &collID, const string &attributeName, const vector< vec3d > &value)
string FindAttributeByName(const string &search_str, int index)
string GetAttributeDoc(const string &attrID)
string FindAttributeInCollection(const string &obj_id, const string &search_str, int index)
void SetAttributeDoc(const string &attrID, const string &doc)
void SetAttributeInt(const string &attrID, int value)
int GetObjectType(const string &attachID)
void SetBORAirfoilUpperPnts(const std::string &bor_id, const std::vector< vec3d > &up_pnt_vec)
void ReadBORFileAirfoil(const std::string &bor_id, const std::string &file_name)
void FitBORAfCST(const std::string &bor_id, int deg)
std::vector< double > GetBORLowerCSTCoefs(const std::string &bor_id)
vec3d ComputeBORXSecPnt(const std::string &bor_id, double fract)
std::vector< vec3d > GetBORAirfoilLowerPnts(const std::string &bor_id)
void SetBORXSecPnts(const std::string &bor_id, std::vector< vec3d > &pnt_vec)
void PromoteBORCSTUpper(const std::string &bor_id)
void SetBORUpperCST(const std::string &bor_id, int deg, const std::vector< double > &coefs)
void SetBORLowerCST(const std::string &bor_id, int deg, const std::vector< double > &coefs)
void ChangeBORXSecShape(const string &bor_id, int type)
vec3d ComputeBORXSecTan(const std::string &bor_id, double fract)
int GetBORUpperCSTDegree(const std::string &bor_id)
void DemoteBORCSTLower(const std::string &bor_id)
void PromoteBORCSTLower(const std::string &bor_id)
int GetBORXSecShape(const string &bor_id)
std::vector< double > GetBORUpperCSTCoefs(const std::string &bor_id)
std::vector< vec3d > ReadBORFileXSec(const std::string &bor_id, const std::string &file_name)
std::vector< vec3d > GetBORAirfoilUpperPnts(const std::string &bor_id)
void DemoteBORCSTUpper(const std::string &bor_id)
int GetBORLowerCSTDegree(const std::string &bor_id)
void SetBORAirfoilPnts(const std::string &bor_id, const std::vector< vec3d > &up_pnt_vec, const std::vector< vec3d > &low_pnt_vec)
void SetBORAirfoilLowerPnts(const std::string &bor_id, const std::vector< vec3d > &low_pnt_vec)
void SetBackground3DRelativePath(const string &id, const string &fname)
void ShowAllBackground3Ds()
int GetNumBackground3Ds()
string AddBackground3D()
vector< string > GetAllBackground3DAbsolutePaths()
vector< string > GetAllBackground3Ds()
string GetBackground3DRelativePath(const string &id)
void SetBackground3DAbsolutePath(const string &id, const string &fname)
void DelBackground3D(const string &id)
vector< string > GetAllBackground3DRelativePaths()
void DelAllBackground3Ds()
string GetBackground3DAbsolutePath(const string &id)
void HideAllBackground3Ds()
void AddCFDSource(int type, const std::string &geom_id, int surf_index, double l1, double r1, double u1, double w1, double l2=0, double r2=0, double u2=0, double w2=0)
void DeleteAllCFDSources()
void ComputeCFDMesh(int set, int degenset, int file_export_types)
void SetCFDWakeFlag(const std::string &geom_id, bool flag)
void AddDefaultSources()
void SetCFDMeshVal(int type, double val)
void SetComputationFileName(int file_type, const std::string &file_name)
void AddSelectedToCSGroup(const vector< int > &selected, int CSGroupIndex)
void SetVSPAEROControlGroupName(const string &name, int CSGroupIndex)
std::vector< std::string > GetActiveCSNameVec(int CSGroupIndex)
void RemoveSelectedFromCSGroup(const vector< int > &selected, int CSGroupIndex)
void AddAllToVSPAEROControlSurfaceGroup(int CSGroupIndex)
std::vector< std::string > GetAvailableCSNameVec(int CSGroupIndex)
int CreateVSPAEROControlSurfaceGroup()
int GetNumControlSurfaceGroups()
std::string GetVSPAEROControlGroupName(int CSGroupIndex)
std::vector< std::string > GetCompleteCSNameVec()
void RemoveAllFromVSPAEROControlSurfaceGroup(int CSGroupIndex)
void AutoGroupVSPAEROControlSurfaces()
std::string ComputeCompGeom(int set, bool half_mesh, int file_export_types)
std::string ComputeMassProps(int set, int num_slices, int idir)
std::string ComputePlaneSlice(int set, int num_slices, const vec3d &norm, bool auto_bnd, double start_bnd=0, double end_bnd=0, bool measureduct=false)
void ComputeDegenGeom(int set, int file_export_types)
void WriteDESFile(const std::string &file_name)
int GetNumDesignVars()
void AddDesignVar(const std::string &parm_id, int type)
void DeleteAllDesignVars()
void ReadApplyXDDMFile(const std::string &file_name)
void ReadApplyDESFile(const std::string &file_name)
void WriteXDDMFile(const std::string &file_name)
std::string GetDesignVar(int index)
int GetDesignVarType(int index)
void MoveEditXSecPnt(const std::string &xsec_id, const int &indx, const vec3d &new_pnt)
void EditXSecDelPnt(const std::string &xsec_id, const int &indx)
void EditXSecConvertTo(const std::string &xsec_id, const int &newtype)
std::vector< bool > GetEditXSecFixedUVec(const std::string &xsec_id)
void ConvertXSecToEdit(const std::string &geom_id, const int &indx=0)
void SetEditXSecFixedUVec(const std::string &xsec_id, std::vector< bool > fixed_u_vec)
std::vector< vec3d > GetEditXSecCtrlVec(const std::string &xsec_id, bool non_dimensional=true)
void SetEditXSecPnts(const std::string &xsec_id, const std::vector< double > &u_vec, const std::vector< vec3d > &control_pts, const std::vector< double > &r_vec)
int EditXSecSplit01(const std::string &xsec_id, const double &u)
std::vector< double > GetEditXSecUVec(const std::string &xsec_id)
void EditXSecInitShape(const std::string &xsec_id)
void ReparameterizeEditXSec(const std::string &xsec_id)
@ SET_NONE
@ SET_ALL
std::string GetFeaPartID(const std::string &fea_struct_id, int fea_part_index)
std::string GetFeaStructName(const std::string &geom_id, int fea_struct_ind)
std::vector< std::string > GetFeaSubSurfIDVec(const std::string &fea_struct_id)
void DeleteFeaPart(const std::string &geom_id, int fea_struct_ind, const std::string &part_id)
std::vector< std::string > GetFeaStructIDVec()
void DeleteFeaSubSurf(const std::string &geom_id, int fea_struct_ind, const std::string &ss_id)
int GetFeaSubSurfIndex(const string &ss_id)
int GetFeaPartType(const std::string &part_id)
int NumFeaParts(const std::string &fea_struct_id)
int NumFeaSubSurfs(const std::string &fea_struct_id)
void SetFeaMeshStructIndex(int struct_index)
void SetFeaMeshVal(const std::string &geom_id, int fea_struct_ind, int type, double val)
std::string AddFeaBC(const string &fea_struct_id, int type=-1)
void DeleteFeaStruct(const std::string &geom_id, int fea_struct_ind)
int GetFeaStructIndex(const std::string &struct_id)
void SetFeaSubSurfName(const std::string &subsurf_id, const std::string &name)
std::vector< std::string > GetFeaPartIDVec(const std::string &fea_struct_id)
std::string GetFeaStructParentGeomID(const std::string &struct_id)
void SetFeaPartName(const std::string &part_id, const std::string &name)
void SetFeaStructName(const std::string &geom_id, int fea_struct_ind, const std::string &name)
void ComputeFeaMesh(const std::string &geom_id, int fea_struct_ind, int file_type)
std::string GetFeaPartName(const std::string &part_id)
std::string GetFeaPartPerpendicularSparID(const std::string &part_id)
std::string AddFeaSubSurf(const std::string &geom_id, int fea_struct_ind, int type)
std::vector< std::string > GetFeaBCIDVec(const string &fea_struct_id)
int NumFeaStructures()
std::string AddFeaProperty(int property_type=0)
void SetFeaMeshFileName(const std::string &geom_id, int fea_struct_ind, int file_type, const string &file_name)
void SetFeaPartPerpendicularSparID(const std::string &part_id, const std::string &perpendicular_spar_id)
void DelFeaBC(const string &fea_struct_id, const std::string &bc_id)
std::string AddFeaMaterial()
std::string AddFeaPart(const std::string &geom_id, int fea_struct_ind, int type)
int NumFeaBCs(const string &fea_struct_id)
std::string GetFeaSubSurfName(const std::string &subsurf_id)
int AddFeaStruct(const std::string &geom_id, bool init_skin=true, int surfindex=0)
std::string GetFeaStructID(const std::string &geom_id, int fea_struct_ind)
void ReadVSPFile(const std::string &file_name)
void SetVSP3FileName(const std::string &file_name)
void SetBEMPropID(const string &prop_id)
std::string ImportFile(const std::string &file_name, int file_type, const std::string &parent)
void WriteVSPFile(const std::string &file_name, int set=SET_ALL)
void InsertVSPFile(const std::string &file_name, const std::string &parent_geom_id)
std::string ExportFile(const std::string &file_name, int thick_set, int file_type, int subsFlag=1, int thin_set=vsp::SET_NONE, bool useMode=false, const string &modeID="")
void DeleteGeom(const std::string &geom_id)
std::string GetGeomName(const std::string &geom_id)
std::vector< std::string > GetGeomTypes()
vec3d GetGeomBBoxMax(const std::string &geom_id, int main_surf_ind=0, bool ref_frame_is_absolute=true)
std::vector< std::string > GetGeomParmIDs(const std::string &geom_id)
int GetGeomVSPSurfType(const std::string &geom_id, int main_surf_ind=0)
std::vector< std::string > FindGeomsWithName(const std::string &name)
std::string FindGeom(const std::string &name, int index)
int GetTotalNumSurfs(const std::string &geom_id)
void UpdateGeom(const std::string &geom_id)
std::string GetGeomParent(const std::string &geom_id)
void SetDriverGroup(const std::string &geom_id, int section_index, int driver_0, int driver_1=-1, int driver_2=-1)
int GetNumMainSurfs(const std::string &geom_id)
std::vector< std::string > PasteGeomClipboard(const std::string &parent=std::string())
void SetGeomParent(const std::string &geom_id, const std::string &parent_id)
void CutGeomToClipboard(const std::string &geom_id)
std::vector< std::string > FindGeoms()
void SetGeomName(const std::string &geom_id, const std::string &name)
std::vector< std::string > GetGeomChildren(const std::string &geom_id)
std::string AddGeom(const std::string &type, const std::string &parent=std::string())
std::string GetGeomTypeName(const std::string &geom_id)
vec3d GetGeomBBoxMin(const std::string &geom_id, int main_surf_ind=0, bool ref_frame_is_absolute=true)
void CopyGeomToClipboard(const std::string &geom_id)
int GetGeomVSPSurfCfdType(const std::string &geom_id, int main_surf_ind=0)
void DeleteGeomVec(const std::vector< std::string > &del_vec)
void SplitWingXSec(const string &wing_id, int section_index)
void TranslateSet(int set_index, const vec3d &translation_vec)
void TransformSet(int set_index, const vec3d &translation_vec, double x_rot_deg, double y_rot_deg, double z_rot_deg, double scale, bool scale_translations_flag)
void ScaleSet(int set_index, double scale)
void RotateSet(int set_index, double x_rot_deg, double y_rot_deg, double z_rot_deg)
string AddProbe(const string &geomid, int surfindx, double u, double w, const string &name)
void DeleteAllRulers()
void DeleteAllProbes()
void DelProbe(const string &id)
string AddRuler(const string &startgeomid, int startsurfindx, double startu, double startw, const string &endgeomid, int endsurfindx, double endu, double endw, const string &name)
std::vector< string > GetAllProbes()
std::vector< string > GetAllRulers()
void DelRuler(const string &id)
int GetNumModes()
void ApplyModeSettings(const string &mid)
void RemoveAllGroupSettings(const string &mid)
vector< string > ModeGetAllSettings(const string &mid)
void DelMode(const string &mid)
void ShowOnlyMode(const string &mid)
vector< string > GetAllModes()
void ModeAddGroupSetting(const string &mid, const string &gid, const string &sid)
string ModeGetSetting(const string &mid, int indx)
string CreateAndAddMode(const string &name, int normal_set, int degen_set)
void DelAllModes()
vector< string > ModeGetAllGroups(const string &mid)
string ModeGetGroup(const string &mid, int indx)
void RemoveGroupSetting(const string &mid, int indx)
void SetPCurve(const std::string &geom_id, const int &pcurveid, const std::vector< double > &tvec, const std::vector< double > &valvec, const int &newtype)
std::vector< double > PCurveGetValVec(const std::string &geom_id, const int &pcurveid)
std::vector< double > PCurveGetTVec(const std::string &geom_id, const int &pcurveid)
void ApproximateAllPropellerPCurves(const std::string &geom_id)
void PCurveDeletePt(const std::string &geom_id, const int &pcurveid, const int &indx)
void ResetPropellerThicknessCurve(const std::string &geom_id)
int PCurveSplit(const std::string &geom_id, const int &pcurveid, const double &tsplit)
int PCurveGetType(const std::string &geom_id, const int &pcurveid)
void PCurveConvertTo(const std::string &geom_id, const int &pcurveid, const int &newtype)
void WriteBodyFFCSVFile(const std::string &file_name)
void AddExcrescence(const std::string &excresName, const int &excresType, const double &excresVal)
void UpdateParasiteDrag()
void WriteCfEqnCSVFile(const std::string &file_name)
void WritePartialCfMethodCSVFile(const std::string &file_name)
void WriteAtmosphereCSVFile(const std::string &file_name, const int &atmos_type)
void WriteWingFFCSVFile(const std::string &file_name)
void CalcAtmosphere(const double &alt, const double &delta_temp, const int &atmos_type, double &temp, double &pres, double &pres_ratio, double &rho_ratio)
void DeleteExcrescence(const int &index)
std::string GetVehicleID()
std::string GetUserParmContainer()
std::vector< std::string > FindContainerGroupNames(const std::string &parm_container_id)
std::vector< std::string > GetAllUserParms()
void DeleteAllUserParm()
void DeleteUserParm(const std::string &id)
std::string FindContainer(const std::string &name, int index)
std::vector< std::string > FindContainerParmIDs(const std::string &parm_container_id)
int GetNumUserParms()
int GetNumPredefinedUserParms()
std::vector< std::string > FindContainers()
std::vector< std::string > FindContainersWithName(const std::string &name)
std::string GetContainerName(const std::string &parm_container_id)
string AddUserParm(int type, const string &name, const string &group)
std::string FindParm(const std::string &parm_container_id, const std::string &parm_name, const std::string &group_name)
void SetParmUpperLimit(const std::string &parm_id, double val)
double GetParmLowerLimit(const std::string &parm_id)
std::string GetParmName(const std::string &parm_id)
int GetParmType(const std::string &parm_id)
bool ValidParm(const std::string &id)
std::string GetParmDescript(const std::string &parm_id)
int GetIntParmVal(const std::string &parm_id)
double SetParmVal(const std::string &parm_id, double val)
double SetParmValUpdate(const std::string &parm_id, double val)
double GetParmVal(const std::string &parm_id)
std::string GetParm(const std::string &geom_id, const std::string &name, const std::string &group)
void SetParmDescript(const std::string &parm_id, const std::string &desc)
double GetParmUpperLimit(const std::string &parm_id)
void SetParmLowerLimit(const std::string &parm_id, double val)
double SetParmValLimits(const std::string &parm_id, double val, double lower_limit, double upper_limit)
std::string GetParmDisplayGroupName(const std::string &parm_id)
bool GetBoolParmVal(const std::string &parm_id)
std::string GetParmGroupName(const std::string &parm_id)
std::string GetParmContainer(const std::string &parm_id)
int GetNumResults(const std::string &name)
int GetNumData(const std::string &results_id, const std::string &data_name)
void PrintResults(const std::string &results_id)
const std::vector< vec3d > & GetVec3dResults(const std::string &id, const std::string &name, int index=0)
std::vector< std::string > GetAllResultsNames()
void DeleteResult(const std::string &id)
std::string FindLatestResultsID(const std::string &name)
const std::vector< int > & GetIntResults(const std::string &id, const std::string &name, int index=0)
std::string GetResultsName(const std::string &results_id)
const std::vector< std::vector< double > > & GetDoubleMatResults(const std::string &id, const std::string &name, int index=0)
const std::vector< double > & GetDoubleResults(const std::string &id, const std::string &name, int index=0)
int GetResultsType(const std::string &results_id, const std::string &data_name)
std::string GetResultsSetDoc(const std::string &results_id)
std::vector< std::string > GetAllDataNames(const std::string &results_id)
void WriteResultsCSVFile(const std::string &id, const std::string &file_name)
std::string FindResultsID(const std::string &name, int index=0)
void DeleteAllResults()
void WriteTestResults()
void PrintResultsDocs(const std::string &results_id)
std::string CreateGeomResults(const std::string &geom_id, const std::string &name)
const std::vector< std::string > & GetStringResults(const std::string &id, const std::string &name, int index=0)
void CopyPasteSet(int copyIndex, int pasteIndex)
void SetSetName(int index, const std::string &name)
bool GetSetFlag(const std::string &geom_id, int set_index)
std::vector< std::string > GetGeomSet(const std::string &name)
int GetSetIndex(const std::string &name)
std::vector< std::string > GetGeomSetAtIndex(int index)
bool GetScaleIndependentBBoxSet(int set, double &xmin_out, double &ymin_out, double &zmin_out, double &xlen_out, double &ylen_out, double &zlen_out)
bool GetBBoxSet(int set, double &xmin_out, double &ymin_out, double &zmin_out, double &xlen_out, double &ylen_out, double &zlen_out)
int GetNumSets()
void SetSetFlag(const std::string &geom_id, int set_index, bool flag)
std::string GetSetName(int index)
double SnapParm(const std::string &parm_id, double target_min_dist, bool inc_flag, int set=SET_ALL, bool useMode=false, const string &modeID=string())
double ComputeMinClearanceDistance(const std::string &geom_id, int set=SET_ALL, bool useMode=false, const string &modeID=string())
int GetNumSubSurf(const std::string &geom_id)
std::vector< std::string > GetSubSurfIDVec(const std::string &geom_id)
std::string GetSubSurfName(const std::string &geom_id, const std::string &sub_id)
std::vector< std::string > GetAllSubSurfIDs()
std::string AddSubSurf(const std::string &geom_id, int type, int surfindex=0)
void SetIntersectSubSurfGeomID(const std::string &sub_id, const std::string &geom_id)
void IntersectSubSurf(const std::string &sub_id)
void DeleteSubSurf(const std::string &geom_id, const std::string &sub_id)
int GetSubSurfType(const std::string &sub_id)
void SetSubSurfName(const std::string &geom_id, const std::string &sub_id, const std::string &name)
std::vector< std::string > GetSubSurfParmIDs(const std::string &sub_id)
int GetSubSurfIndex(const std::string &sub_id)
std::string GetSubSurf(const std::string &geom_id, int index)
void CompVecCurvature01(const std::string &geom_id, const int &surf_indx, const std::vector< double > &us, const std::vector< double > &ws, std::vector< double > &k1_out_vec, std::vector< double > &k2_out_vec, std::vector< double > &ka_out_vec, std::vector< double > &kg_out_vec)
vec3d CompTanU01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void AxisProjVecPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const std::vector< vec3d > &pts, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
double ProjPnt01(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &u_out, double &w_out)
vec3d CompPntRST(const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t)
void ConvertLMNtoRST(const std::string &geom_id, const int &surf_indx, const double &l, const double &m, const double &n, double &r_out, double &s_out, double &t_out)
void ProjVecPnt01Guess(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, const std::vector< double > &u0s, const std::vector< double > &w0s, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
void ProjVecPnt01(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
bool InsideSurf(const std::string &geom_id, const int &surf_indx, const vec3d &pt)
vec3d CompPnt01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void FindRSTVec(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, std::vector< double > &r_out_vec, std::vector< double > &s_out_vec, std::vector< double > &t_out_vec, std::vector< double > &d_out_vec)
double ProjPnt01Guess(const std::string &geom_id, const int &surf_indx, const vec3d &pt, const double &u0, const double &w0, double &u_out, double &w_out)
void ConvertLMNtoRSTVec(const std::string &geom_id, const int &surf_indx, const std::vector< double > &l_vec, const std::vector< double > &m_vec, const std::vector< double > &n_vec, std::vector< double > &r_out_vec, std::vector< double > &s_out_vec, std::vector< double > &t_out_vec)
void ConvertRSTtoLMN(const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t, double &l_out, double &m_out, double &n_out)
vec3d CompTanW01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void AxisProjVecPnt01Guess(const std::string &geom_id, const int &surf_indx, const int &iaxis, const std::vector< vec3d > &pts, const std::vector< double > &u0s, const std::vector< double > &w0s, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
void ConvertRSTtoLMNVec(const std::string &geom_id, const int &surf_indx, const std::vector< double > &r_vec, const std::vector< double > &s_vec, const std::vector< double > &t_vec, std::vector< double > &l_out_vec, std::vector< double > &m_out_vec, std::vector< double > &n_out_vec)
double ProjPnt01I(const std::string &geom_id, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out)
void FindRSTVecGuess(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, const std::vector< double > &r0s, const std::vector< double > &s0s, const std::vector< double > &t0s, std::vector< double > &r_out_vec, std::vector< double > &s_out_vec, std::vector< double > &t_out_vec, std::vector< double > &d_out_vec)
void ConvertRtoL(const std::string &geom_id, const int &surf_indx, const double &r, double &l_out)
std::vector< bool > VecInsideSurf(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts)
std::vector< vec3d > CompVecPntRST(const std::string &geom_id, const int &surf_indx, const std::vector< double > &r_in_vec, const std::vector< double > &s_in_vec, const std::vector< double > &t_in_vec)
double AxisProjPnt01Guess(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, const double &u0, const double &w0, double &u_out, double &w_out)
double AxisProjPnt01I(const std::string &geom_id, const int &iaxis, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out)
void CompCurvature01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w, double &k1_out, double &k2_out, double &ka_out, double &kg_out)
void ConvertLtoR(const std::string &geom_id, const int &surf_indx, const double &l, double &r_out)
std::vector< vec3d > CompVecDegenPnt01(const std::string &geom_id, const int &surf_indx, const int &degen_type, const std::vector< double > &u_in_vec, const std::vector< double > &w_in_vec)
void ConvertUtoEta(const std::string &geom_id, const double &u, double &eta_out)
double FindRST(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &r_out, double &s_out, double &t_out)
vec3d CompNorm01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void ConvertEtatoU(const std::string &geom_id, const double &eta, double &u_out)
std::vector< vec3d > CompVecNorm01(const std::string &geom_id, const int &surf_indx, const std::vector< double > &us, const std::vector< double > &ws)
std::vector< vec3d > CompVecPnt01(const std::string &geom_id, const int &surf_indx, const std::vector< double > &u_in_vec, const std::vector< double > &w_in_vec)
void GetUWTess01(const std::string &geom_id, const int &surf_indx, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec)
double FindRSTGuess(const std::string &geom_id, const int &surf_indx, const vec3d &pt, const double &r0, const double &s0, const double &t0, double &r_out, double &s_out, double &t_out)
double AxisProjPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, double &u_out, double &w_out)
int GetNumUnsteadyGroups()
std::string GetUnsteadyGroupName(int group_index)
int GetNumUnsteadyRotorGroups()
std::vector< int > GetUnsteadyGroupSurfIndexes(int group_index)
std::vector< std::string > GetUnsteadyGroupCompIDs(int group_index)
int GetNumActuatorDisks()
std::string FindActuatorDisk(int disk_index)
std::string FindUnsteadyGroup(int group_index)
string GetVSPAERORefWingID()
string SetVSPAERORefWingID(const std::string &geom_id)
string AddVarPresetSetting(const std::string &group_id, const std::string &setting_name)
void SetGroupName(const std::string &group_id, const std::string &group_name)
double GetVarPresetParmVal(const std::string &group_id, const std::string &setting_id, const std::string &parm_id)
void SetSettingName(const std::string &setting_id, const std::string &setting_name)
std::vector< double > GetVarPresetParmVals(const std::string &setting_id)
std::vector< std::string > GetVarPresetGroups()
void DeleteVarPresetGroup(const std::string &group_id)
void SetVarPresetParmVal(const std::string &group_id, const std::string &setting_id, const std::string &parm_id, double parm_val)
std::string GetSettingName(const std::string &setting_id)
void ApplyVarPresetSetting(const std::string &group_id, const std::string &setting_id)
std::vector< std::string > GetVarPresetParmIDs(const std::string &group_id)
void SetVarPresetParmVals(const std::string &setting_id, const std::vector< double > &parm_vals)
void AddVarPresetParm(const std::string &group_id, const std::string &parm_id)
void DeleteVarPresetParm(const std::string &group_id, const std::string &parm_id)
string AddVarPresetGroup(const std::string &group_name)
std::string GetGroupName(const std::string &group_id)
void SaveVarPresetParmVals(const std::string &group_id, const std::string &setting_id)
std::vector< std::string > GetVarPresetSettings(const std::string &group_id)
void DeleteVarPresetSetting(const std::string &group_id, const std::string &setting_id)
void VSPExit(int error_code)
int GetAndResetUpdateCount()
void Update(bool update_managers=true)
void ClearVSPModel()
std::string GetVSPFileName()
void VSPCrash(int crash_type)
void ResetViews()
void StopGUI()
void PopupMsg(const std::string &msg)
bool IsGUIBuild()
bool IsEventLoopRunning()
void SetViewAxis(bool vaxis)
void SetGeomMaterialName(const string &geom_id, const string &name)
void SetGeomDisplayType(const string &geom_id, int type)
void ShowScreen(int s)
void SetShowBorders(bool brdr)
vector< string > GetMaterialNames()
void Lock()
void SetGUIElementDisable(int e, bool state)
void SetWindowLayout(int r, int c)
void SetAllViews(int view)
void HideScreen(int s)
void SetView(int viewport, int view)
void InitGUI()
void SetGeomScreenDisable(int s, bool state)
void SetGeomDrawType(const string &geom_id, int type)
void UpdateGUI()
void Unlock()
void SetGeomWireColor(const string &geom_id, int r, int g, int b)
void StartGUI()
void FitAllViews()
void SetBackground(double r, double g, double b)
void DisableStopGUIMenuItem()
void ScreenGrab(const string &fname, int w, int h, bool transparentBG, bool autocrop=false)
void EnableStopGUIMenuItem()
void SetGUIScreenDisable(int s, bool state)
void AddMaterial(const string &name, const vec3d &ambient, const vec3d &diffuse, const vec3d &specular, const vec3d &emissive, const double &alpha, const double &shininess)
void InsertXSec(const std::string &geom_id, int index, int type)
std::vector< vec3d > ReadFileXSec(const std::string &xsec_id, const std::string &file_name)
void SetXSecContinuity(const std::string &xsec_id, int cx)
int GetLowerCSTDegree(const std::string &xsec_id)
void SetXSecWidthHeight(const std::string &xsec_id, double w, double h)
void SetXSecPnts(const std::string &xsec_id, std::vector< vec3d > &pnt_vec)
void DemoteCSTUpper(const std::string &xsec_id)
std::vector< vec3d > GetAirfoilLowerPnts(const std::string &xsec_id)
void SetXSecWidth(const std::string &xsec_id, double w)
double GetXSecWidth(const std::string &xsec_id)
std::vector< std::string > GetXSecParmIDs(const std::string &xsec_id)
std::vector< vec3d > GetFeatureLinePnts(const string &geom_id)
void SetXSecHeight(const std::string &xsec_id, double h)
void SetLowerCST(const std::string &xsec_id, int deg, const std::vector< double > &coefs)
void PasteXSec(const std::string &geom_id, int index)
std::vector< double > GetUpperCSTCoefs(const std::string &xsec_id)
vec3d ComputeXSecTan(const std::string &xsec_id, double fract)
void SetAirfoilPnts(const std::string &xsec_id, const std::vector< vec3d > &up_pnt_vec, const std::vector< vec3d > &low_pnt_vec)
void SetXSecCurveAlias(const string &id, const string &alias)
string GetXSecCurveAlias(const string &id)
std::string GetXSecParm(const std::string &xsec_id, const std::string &name)
std::vector< vec3d > GetAirfoilCoordinates(const std::string &geom_id, const double &foilsurf_u)
void PromoteCSTUpper(const std::string &xsec_id)
void PromoteCSTLower(const std::string &xsec_id)
std::vector< double > GetVKTAirfoilCpDist(const double &alpha, const double &epsilon, const double &kappa, const double &tau, const std::vector< vec3d > &xyz_data)
void DemoteCSTLower(const std::string &xsec_id)
void FitAfCST(const std::string &xsec_surf_id, int xsec_index, int deg)
void CopyXSec(const std::string &geom_id, int index)
vec3d ComputeXSecPnt(const std::string &xsec_id, double fract)
void SetXSecAlias(const string &id, const string &alias)
std::vector< double > GetLowerCSTCoefs(const std::string &xsec_id)
void SetXSecTanStrengths(const std::string &xsec_id, int side, double top, double right, double bottom, double left)
void ReadFileAirfoil(const std::string &xsec_id, const std::string &file_name)
string GetXSecAlias(const string &id)
void SetXSecTanAngles(const std::string &xsec_id, int side, double top, double right, double bottom, double left)
std::vector< vec3d > GetHersheyBarDragDist(const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag=false)
void ResetXSecSkinParms(const std::string &xsec_id)
std::vector< vec3d > GetAirfoilUpperPnts(const std::string &xsec_id)
std::vector< vec3d > GetHersheyBarLiftDist(const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag=false)
std::vector< vec3d > GetVKTAirfoilPnts(const int &npts, const double &alpha, const double &epsilon, const double &kappa, const double &tau)
std::vector< vec3d > GetEllipsoidSurfPnts(const vec3d &center, const vec3d &abc_rad, int u_npts=20, int w_npts=20)
void CutXSec(const std::string &geom_id, int index)
std::vector< double > GetEllipsoidCpDist(const std::vector< vec3d > &surf_pnt_vec, const vec3d &abc_rad, const vec3d &V_inf)
void SetAirfoilLowerPnts(const std::string &xsec_id, const std::vector< vec3d > &low_pnt_vec)
void SetAirfoilUpperPnts(const std::string &xsec_id, const std::vector< vec3d > &up_pnt_vec)
int GetXSecShape(const std::string &xsec_id)
void SetXSecTanSlews(const std::string &xsec_id, int side, double top, double right, double bottom, double left)
void WriteBezierAirfoil(const std::string &file_name, const std::string &geom_id, const double &foilsurf_u)
int GetUpperCSTDegree(const std::string &xsec_id)
void SetXSecCurvatures(const std::string &xsec_id, int side, double top, double right, double bottom, double left)
double GetXSecHeight(const std::string &xsec_id)
void WriteSeligAirfoil(const std::string &file_name, const std::string &geom_id, const double &foilsurf_u)
void SetUpperCST(const std::string &xsec_id, int deg, const std::vector< double > &coefs)
std::string GetXSecSurf(const std::string &geom_id, int index)
void SetXSecSurfGlobalXForm(const std::string &xsec_surf_id, const Matrix4d &mat)
std::string GetXSec(const std::string &xsec_surf_id, int xsec_index)
int GetNumXSecSurfs(const std::string &geom_id)
Matrix4d GetXSecSurfGlobalXForm(const std::string &xsec_surf_id)
int GetNumXSec(const std::string &xsec_surf_id)
void ChangeXSecShape(const std::string &xsec_surf_id, int xsec_index, int type)