OpenVSP API Documentation 3.50.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
2264
2265extern string AddGeometryAnalysis();
2266
2289
2290extern void DeleteGeometryAnalysis( const string &id );
2291
2320
2322
2354
2355extern vector < string > GetAllGeometryAnalysesIDVec();
2356
2357//======================== Attributes ================================//
2358
2382
2383extern string SummarizeAttributes();
2384
2407
2409
2437
2438extern vector < string > FindAllAttributes();
2439
2440
2441
2470
2471extern vector < string > FindAttributesByName( const string & search_str );
2472
2497
2498extern string FindAttributeByName( const string & search_str, int index );
2499
2528
2529extern string FindAttributeInCollection( const string & obj_id, const string & search_str, int index );
2530
2563
2564extern vector< string > FindAttributeNamesInCollection(const string & collID );
2565
2598
2599extern vector< string > FindAttributesInCollection(const string & collID );
2600
2629
2630extern vector< string > FindAttributedObjects();
2631
2662
2663extern int GetObjectType(const string & attachID);
2664
2694
2695extern string GetObjectTypeName(const string & attachID);
2696
2727
2728extern string GetObjectName(const string & attachID);
2729
2730
2784
2785extern string GetObjectParent( const string & id );
2786
2815
2816extern string GetChildCollection(const string & attachID );
2817
2841
2842extern string GetGeomSetCollection( const int & index );
2843
2878
2879extern string GetAttributeName( const string & attrID );
2880
2920
2921extern string GetAttributeID(const string & collID, const string & attributeName, int index);
2922
2950
2951extern string GetAttributeDoc(const string & attrID);
2952
2991
2992extern int GetAttributeType( const string & attrID );
2993
3022
3023extern string GetAttributeTypeName(const string & attrID);
3024
3070
3071extern vector< int > GetAttributeBoolVal(const string & attrID);
3072
3118
3119extern vector< int > GetAttributeIntVal(const string & attrID);
3120
3165
3166extern vector< double > GetAttributeDoubleVal(const string & attrID);
3167
3212
3213extern vector< string > GetAttributeStringVal(const string & attrID);
3214
3272
3273extern vector< string > GetAttributeParmID(const string & attrID);
3274
3334
3335extern vector < double > GetAttributeParmVal( const string &attrID );
3336
3395
3396extern vector < string > GetAttributeParmName( const string &attrID );
3397
3446
3447extern vector< vec3d > GetAttributeVec3dVal(const string & attrID);
3448
3502
3503extern vector< vector < int > > GetAttributeIntMatrixVal(const string & attrID);
3504
3552
3553extern vector< vector < double > > GetAttributeDoubleMatrixVal(const string & attrID);
3554
3607
3608extern void SetAttributeName( const string & attrID, const string & name );
3609
3663
3664
3665extern void SetAttributeDoc( const string & attrID, const string & doc );
3666
3719
3720extern void SetAttributeBool( const string & attrID, bool value );
3721
3774
3775extern void SetAttributeInt( const string & attrID, int value );
3776
3832
3833extern void SetAttributeDouble( const string & attrID, double value );
3834
3888
3889extern void SetAttributeString( const string & attrID, const string & value );
3890
3954
3955extern void SetAttributeParmID( const string & attrID, const string & value );
3956
4010
4011extern void SetAttributeVec3d( const string & attrID, const vector < vec3d > & value );
4012
4069
4070extern void SetAttributeIntMatrix( const string & attrID, const vector < vector < int > > & value );
4071
4128
4129extern void SetAttributeDoubleMatrix( const string & attrID, const vector< vector< double > > & value );
4130
4206
4207extern void DeleteAttribute( const string & attrID );
4208
4256
4257extern string AddAttributeBool( const string & collID, const string & attributeName, bool value );
4258
4307
4308extern string AddAttributeInt( const string & collID, const string & attributeName, int value );
4309
4360
4361extern string AddAttributeDouble( const string & collID, const string & attributeName, double value );
4362
4412
4413extern string AddAttributeString( const string & collID, const string & attributeName, const string & value );
4414
4475
4476extern string AddAttributeParm( const string &collID, const string &attributeName, const string &parmID );
4477
4530
4531extern string AddAttributeVec3d( const string & collID, const string & attributeName, const vector < vec3d > & value );
4532
4587
4588extern string AddAttributeIntMatrix( const string & collID, const string & attributeName, const vector < vector < int > > & value );
4589
4644
4645extern string AddAttributeDoubleMatrix( const string & collID, const string & attributeName, const vector < vector < double > > & value );
4646
4692
4693extern string AddAttributeGroup( const string & collID, const string & attributeName );
4694
4742
4743extern int CopyAttribute( const string & attrID );
4744
4814
4815extern void CutAttribute( const string & attrID );
4816
4901
4902extern vector < string > PasteAttribute( const string & coll_id );
4903
4904//======================== Results ================================//
4940
4941extern std::vector<std::string> GetAllResultsNames();
4942
4976
4977extern std::vector<std::string> GetAllDataNames( const std::string & results_id );
4978
5004
5005extern int GetNumResults( const std::string & name );
5006
5046
5047extern std::string GetResultsName(const std::string & results_id );
5048
5088
5089extern std::string GetResultsSetDoc( const std::string & results_id );
5090
5091extern std::string GetResultsEntryDoc( const std::string & results_id, const std::string & data_name );
5092
5123
5124extern std::string FindResultsID( const std::string & name, int index = 0 );
5125
5162
5163extern std::string FindLatestResultsID( const std::string & name );
5164
5211
5212extern int GetNumData( const std::string & results_id, const std::string & data_name );
5213
5254
5255extern int GetResultsType( const std::string & results_id, const std::string & data_name );
5256
5304
5305extern const std::vector< int > & GetIntResults( const std::string & id, const std::string & name, int index = 0 );
5306
5344
5345extern const std::vector< double > & GetDoubleResults( const std::string & id, const std::string & name, int index = 0 );
5346
5357
5358extern const std::vector< std::vector< double > > & GetDoubleMatResults( const std::string & id, const std:: string & name, int index = 0 );
5359
5395
5396extern const std::vector<std::string> & GetStringResults( const std::string & id, const std::string & name, int index = 0 );
5397
5453
5454extern const std::vector< vec3d > & GetVec3dResults( const std::string & id, const std::string & name, int index = 0 );
5455
5496
5497extern std::string CreateGeomResults( const std::string & geom_id, const std::string & name );
5498
5536
5537extern void DeleteAllResults();
5538
5577
5578extern void DeleteResult( const std::string & id );
5579
5613
5614extern void WriteResultsCSVFile( const std::string & id, const std::string & file_name );
5615
5650
5651extern void PrintResults( const std::string &results_id );
5652
5687
5688extern void PrintResultsDocs( const std::string &results_id );
5689
5723
5724extern void WriteTestResults();
5725
5726//======================== GUI Functions ================================//
5727
5748
5749extern void InitGUI();
5750
5773
5774extern void StartGUI();
5775
5808
5810
5839
5841
5872
5873extern void StopGUI();
5874
5901
5902extern void PopupMsg( const std::string &msg );
5903
5942
5943extern void UpdateGUI();
5944
5977
5978extern bool IsGUIBuild();
5979
6026
6027extern void Lock( );
6028
6072
6073extern void Unlock( );
6074
6075
6106
6107extern bool IsEventLoopRunning( );
6108
6141
6142extern void ScreenGrab( const string & fname, int w, int h, bool transparentBG, bool autocrop = false );
6143
6162
6163extern void SetViewAxis( bool vaxis );
6164
6183
6184extern void SetShowBorders( bool brdr );
6185
6210
6211extern void SetGeomDrawType(const string &geom_id, int type);
6212
6238
6239extern void SetGeomWireColor( const string &geom_id, int r, int g, int b );
6240
6265
6266extern void SetGeomDisplayType(const string &geom_id, int type);
6267
6290
6291extern void SetGeomMaterialName( const string &geom_id, const string &name );
6292
6324
6325extern void AddMaterial( const string &name, const vec3d & ambient, const vec3d & diffuse, const vec3d & specular, const vec3d & emissive, const double & alpha, const double & shininess );
6326
6353
6354extern vector < string > GetMaterialNames();
6355
6376
6377extern void SetBackground( double r, double g, double b );
6378
6397
6398extern void SetAllViews( int view );
6399
6419
6420extern void SetView( int viewport, int view );
6421
6439
6440extern void FitAllViews();
6441
6459
6460extern void ResetViews();
6461
6481
6482extern void SetWindowLayout( int r, int c );
6483
6502
6503extern void SetGUIElementDisable( int e, bool state );
6504
6523
6524extern void SetGUIScreenDisable( int s, bool state );
6525
6544extern void SetGeomScreenDisable( int s, bool state );
6545
6563
6564extern void HideScreen( int s );
6565
6583
6584extern void ShowScreen( int s );
6585
6586
6587//======================== Geom Functions ================================//
6618
6619extern std::vector<std::string> GetGeomTypes();
6620
6643
6644extern std::string AddGeom( const std::string & type, const std::string & parent = std::string() );
6645
6681
6682extern void UpdateGeom( const std::string & geom_id );
6683
6714
6715extern void DeleteGeom( const std::string & geom_id );
6716
6749
6750extern void DeleteGeomVec( const std::vector< std::string > & del_vec );
6751
6791
6792extern void CutGeomToClipboard( const std::string & geom_id );
6793
6833
6834extern void CopyGeomToClipboard( const std::string & geom_id );
6835
6875
6876extern std::vector<std::string> PasteGeomClipboard( const std::string & parent = std::string() );
6877
6910
6911extern std::vector<std::string> FindGeoms();
6912
6951
6952extern std::vector<std::string> FindGeomsWithName( const std::string & name );
6953
6997
6998extern std::string FindGeom( const std::string & name, int index );
6999
7037
7038extern void SetGeomName( const std::string & geom_id, const std::string & name );
7039
7073
7074extern std::string GetGeomName( const std::string & geom_id );
7075
7109
7110extern std::vector<std::string> GetGeomParmIDs( const std::string & geom_id );
7111
7141
7142extern std::string GetGeomTypeName( const std::string & geom_id );
7143
7175
7176extern std::string GetParm( const std::string & geom_id, const std::string & name, const std::string & group );
7177
7229
7230extern void SetGeomParent( const std::string& geom_id, const std::string& parent_id );
7231
7265
7266extern std::string GetGeomParent( const std::string& geom_id );
7267
7316
7317extern std::vector< std::string > GetGeomChildren( const std::string& geom_id );
7318
7348
7349extern int GetNumXSecSurfs( const std::string & geom_id );
7350
7389
7390extern int GetNumMainSurfs( const std::string & geom_id );
7391
7430
7431extern int GetTotalNumSurfs( const std::string& geom_id );
7432
7464
7465extern int GetGeomVSPSurfType( const std::string& geom_id, int main_surf_ind = 0 );
7466
7498
7499extern int GetGeomVSPSurfCfdType( const std::string& geom_id, int main_surf_ind = 0 );
7500
7540
7541extern vec3d GetGeomBBoxMax( const std::string& geom_id, int main_surf_ind = 0, bool ref_frame_is_absolute = true );
7542
7582
7583extern vec3d GetGeomBBoxMin( const std::string& geom_id, int main_surf_ind = 0, bool ref_frame_is_absolute = true );
7584
7585
7586//======================== SubSurface Functions ================================//
7619
7620extern std::string AddSubSurf( const std::string & geom_id, int type, int surfindex = 0 );
7621
7662
7663extern std::string GetSubSurf( const std::string & geom_id, int index );
7664
7705
7706extern std::vector<std::string> GetSubSurf( const std::string & geom_id, const std::string & name );
7707
7753
7754extern void DeleteSubSurf( const std::string & geom_id, const std::string & sub_id );
7755
7800
7801extern void DeleteSubSurf( const std::string & sub_id );
7802
7835
7836extern void SetSubSurfName(const std::string & geom_id, const std::string & sub_id, const std::string & name);
7837
7869
7870extern void SetSubSurfName( const std::string & sub_id, const std::string & name );
7871
7908
7909extern std::string GetSubSurfName( const std::string & geom_id, const std::string & sub_id );
7910
7946
7947extern std::string GetSubSurfName( const std::string & sub_id );
7948
7986
7987extern int GetSubSurfIndex( const std::string & sub_id );
7988
8051
8052extern std::vector<std::string> GetSubSurfIDVec( const std::string & geom_id );
8053
8061
8062extern std::vector<std::string> GetAllSubSurfIDs();
8063
8101
8102extern int GetNumSubSurf( const std::string & geom_id );
8103
8167
8168extern int GetSubSurfType( const std::string & sub_id );
8169
8214
8215extern std::vector<std::string> GetSubSurfParmIDs( const std::string & sub_id );
8216
8266
8267extern void IntersectSubSurf( const std::string & sub_id );
8268
8319
8320extern void SetIntersectSubSurfGeomID( const std::string & sub_id, const std::string & geom_id );
8321
8352
8353extern int AddFeaStruct( const std::string & geom_id, bool init_skin = true, int surfindex = 0 );
8354
8390
8391extern void SetFeaMeshStructIndex( int struct_index );
8392
8428
8429extern void DeleteFeaStruct( const std::string & geom_id, int fea_struct_ind );
8430
8463
8464extern std::string GetFeaStructID( const std::string & geom_id, int fea_struct_ind );
8465
8509
8510extern int GetFeaStructIndex( const std::string & struct_id );
8511
8549
8550extern std::string GetFeaStructParentGeomID( const std::string & struct_id );
8551
8595
8596extern std::string GetFeaStructName( const std::string & geom_id, int fea_struct_ind );
8597
8645
8646extern void SetFeaStructName( const std::string & geom_id, int fea_struct_ind, const std::string & name );
8647
8683
8684extern std::vector< std::string > GetFeaStructIDVec();
8685
8724
8725extern void SetFeaPartName( const std::string & part_id, const std::string & name );
8726
8771
8772extern std::string AddFeaPart( const std::string & geom_id, int fea_struct_ind, int type );
8773
8820
8821extern void DeleteFeaPart( const std::string & geom_id, int fea_struct_ind, const std::string & part_id );
8822
8874
8875extern std::string GetFeaPartID( const std::string & fea_struct_id, int fea_part_index );
8876
8926
8927extern std::string GetFeaPartName( const std::string & part_id );
8928
8972
8973extern int GetFeaPartType( const std::string & part_id );
8974
9019
9020extern std::vector< std::string > GetFeaPartIDVec( const std::string & fea_struct_id );
9021
9066
9067extern std::vector< std::string > GetFeaSubSurfIDVec( const std::string & fea_struct_id );
9068
9137
9138extern void SetFeaPartPerpendicularSparID( const std::string& part_id, const std::string& perpendicular_spar_id );
9139
9207
9208extern std::string GetFeaPartPerpendicularSparID( const std::string& part_id );
9209
9248
9249extern void SetFeaSubSurfName( const std::string & subsurf_id, const std::string & name );
9250
9298
9299extern std::string GetFeaSubSurfName( const std::string & subsurf_id );
9300
9345
9346extern std::string AddFeaSubSurf( const std::string & geom_id, int fea_struct_ind, int type );
9347
9394
9395extern void DeleteFeaSubSurf( const std::string & geom_id, int fea_struct_ind, const std::string & ss_id );
9396
9451
9452extern int GetFeaSubSurfIndex( const string & ss_id );
9453
9493
9494extern int GetFeaPolySparNumPt( const string & pspar_id );
9495
9537
9538extern string AddFeaPolySparPt( const string & pspar_id );
9539
9583
9584extern string InsertFeaPolySparPt( const string & pspar_id, int index );
9585
9634
9635extern void DelFeaPolySparPt( const string & pspar_id, int index );
9636
9682
9683extern void DelAllFeaPolySparPt( const string & pspar_id );
9684
9733
9734extern int MoveFeaPolySparPt( const string & pspar_id, int index, int reorder_type );
9735
9779
9780extern void SetFeaPolySparPtName( const string & pspar_id, int index, const string & name );
9781
9823
9824extern string GetFeaPolySparPtName( const string & pspar_id, int index );
9825
9876
9877extern string GetFeaPolySparPtID( const string & pspar_id, int index );
9878
9934
9935extern vector < string > GetAllFeaPolySparPtIDVec( const string & pspar_id );
9936
9974
9975extern int NumFeaStructures();
9976
10026
10027extern int NumFeaParts( const std::string & fea_struct_id );
10028
10077
10078extern int NumFeaSubSurfs( const std::string & fea_struct_id );
10079
10120
10121extern std::string AddFeaBC( const string & fea_struct_id, int type = -1 );
10122
10166
10167extern void DelFeaBC( const string & fea_struct_id, const std::string &bc_id );
10168
10212
10213extern std::vector< std::string > GetFeaBCIDVec( const string & fea_struct_id );
10214
10258
10259extern int NumFeaBCs( const string & fea_struct_id );
10260
10285
10286extern std::string AddFeaMaterial();
10287
10315
10316extern std::string AddFeaProperty( int property_type = 0 );
10317
10359
10360extern void SetFeaMeshVal( const std::string & geom_id, int fea_struct_ind, int type, double val );
10361
10411
10412extern void SetFeaMeshFileName( const std::string & geom_id, int fea_struct_ind, int file_type, const string & file_name );
10413
10464
10465extern void ComputeFeaMesh( const std::string & geom_id, int fea_struct_ind, int file_type );
10466
10516
10517extern void ComputeFeaMesh( const std::string & struct_id, int file_type );
10518
10576
10577extern void SetXSecAlias( const string & id, const string & alias );
10578
10636
10637extern string GetXSecAlias( const string & id );
10638
10696
10697extern void SetXSecCurveAlias( const string & id, const string & alias );
10698
10755
10756extern string GetXSecCurveAlias( const string & id );
10757
10796
10797extern void CutXSec( const std::string & geom_id, int index );
10798
10833
10834extern void CopyXSec( const std::string & geom_id, int index );
10835
10870
10871extern void PasteXSec( const std::string & geom_id, int index );
10872
10900
10901extern void InsertXSec( const std::string & geom_id, int index, int type );
10902
10903
10904//======================== Wing Section Functions ===================//
10905
10935
10936extern void SplitWingXSec( const string & wing_id, int section_index );
10937
10985
10986extern void SetDriverGroup( const std::string & geom_id, int section_index, int driver_0, int driver_1 = -1, int driver_2 = -1 );
10987
10988
10989//======================== XSecSurf ================================//
11018
11019extern std::string GetXSecSurf( const std::string & geom_id, int index );
11020
11071
11072extern int GetNumXSec( const std::string & xsec_surf_id );
11073
11108
11109extern std::string GetXSec( const std::string & xsec_surf_id, int xsec_index );
11110
11160
11161extern void ChangeXSecShape( const std::string & xsec_surf_id, int xsec_index, int type );
11162
11171
11172extern void SetXSecSurfGlobalXForm( const std::string & xsec_surf_id, const Matrix4d & mat );
11173
11182
11183extern Matrix4d GetXSecSurfGlobalXForm( const std::string & xsec_surf_id );
11184
11185
11186//======================== XSec ================================//
11227
11228extern int GetXSecShape( const std::string& xsec_id );
11229
11268
11269extern double GetXSecWidth( const std::string& xsec_id );
11270
11309
11310extern double GetXSecHeight( const std::string& xsec_id );
11311
11352
11353extern void SetXSecWidthHeight( const std::string& xsec_id, double w, double h );
11354
11393
11394extern void SetXSecWidth( const std::string& xsec_id, double w );
11395
11434
11435extern void SetXSecHeight( const std::string& xsec_id, double h );
11436
11474
11475extern std::vector<std::string> GetXSecParmIDs( const std::string& xsec_id );
11476
11519
11520extern std::string GetXSecParm( const std::string& xsec_id, const std::string& name );
11521
11561
11562extern std::vector<vec3d> ReadFileXSec( const std::string& xsec_id, const std::string& file_name );
11563
11616
11617extern void SetXSecPnts( const std::string& xsec_id, std::vector< vec3d > & pnt_vec );
11618
11660
11661extern vec3d ComputeXSecPnt( const std::string& xsec_id, double fract );
11662
11703
11704extern vec3d ComputeXSecTan( const std::string& xsec_id, double fract );
11705
11746
11747extern void ResetXSecSkinParms( const std::string& xsec_id );
11748
11789
11790extern void SetXSecContinuity( const std::string& xsec_id, int cx );
11791
11841
11842extern void SetXSecTanAngles( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
11843
11893
11894extern void SetXSecTanSlews( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
11895
11947
11948extern void SetXSecTanStrengths( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
11949
12001
12002extern void SetXSecCurvatures( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
12003
12041
12042extern void ReadFileAirfoil( const std::string& xsec_id, const std::string& file_name );
12043
12098
12099extern void SetAirfoilUpperPnts( const std::string& xsec_id, const std::vector< vec3d > & up_pnt_vec );
12100
12155
12156extern void SetAirfoilLowerPnts( const std::string& xsec_id, const std::vector< vec3d > & low_pnt_vec );
12157
12221
12222extern void SetAirfoilPnts( const std::string& xsec_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
12223
12271
12272extern std::vector<vec3d> GetHersheyBarLiftDist( const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag = false );
12273
12321
12322extern std::vector<vec3d> GetHersheyBarDragDist( const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag = false );
12323
12375
12376extern std::vector<vec3d> GetVKTAirfoilPnts( const int &npts, const double &alpha, const double &epsilon, const double &kappa, const double &tau );
12377
12430
12431extern std::vector<double> GetVKTAirfoilCpDist( const double &alpha, const double &epsilon, const double &kappa, const double &tau, const std::vector<vec3d> &xyz_data );
12432
12446
12447extern std::vector<vec3d> GetEllipsoidSurfPnts( const vec3d &center, const vec3d &abc_rad, int u_npts = 20, int w_npts = 20 );
12448
12457
12458extern std::vector<vec3d> GetFeatureLinePnts( const string& geom_id );
12459
12541
12542extern std::vector<double> GetEllipsoidCpDist( const std::vector<vec3d> &surf_pnt_vec, const vec3d &abc_rad, const vec3d &V_inf );
12543
12544extern double IntegrateEllipsoidFlow( const vec3d &abc_rad, const int &abc_index );
12545
12588
12589extern std::vector<vec3d> GetAirfoilUpperPnts( const std::string& xsec_id );
12590
12633
12634extern std::vector<vec3d> GetAirfoilLowerPnts( const std::string& xsec_id );
12635
12645
12646extern std::vector<double> GetUpperCSTCoefs( const std::string& xsec_id );
12647
12657
12658extern std::vector<double> GetLowerCSTCoefs( const std::string& xsec_id );
12659
12669
12670extern int GetUpperCSTDegree( const std::string& xsec_id );
12671
12681
12682extern int GetLowerCSTDegree( const std::string& xsec_id );
12683
12694
12695extern void SetUpperCST( const std::string& xsec_id, int deg, const std::vector<double> &coefs );
12696
12707
12708extern void SetLowerCST( const std::string& xsec_id, int deg, const std::vector<double> &coefs );
12709
12718
12719extern void PromoteCSTUpper( const std::string& xsec_id );
12720
12729
12730extern void PromoteCSTLower( const std::string& xsec_id );
12731
12740
12741extern void DemoteCSTUpper( const std::string& xsec_id );
12742
12751
12752extern void DemoteCSTLower( const std::string& xsec_id );
12753
12763
12764extern void FitAfCST( const std::string & xsec_surf_id, int xsec_index, int deg );
12765
12766//======================== Background3D Functions ======================//
12767
12804
12805extern string AddBackground3D();
12806
12843
12845
12897
12898extern vector < string > GetAllBackground3Ds();
12899
12930
12932
12963
12965
13005
13007
13048
13049extern void DelBackground3D( const string &id );
13050
13091
13092extern vector < string > GetAllBackground3DRelativePaths();
13093
13133
13134extern vector < string > GetAllBackground3DAbsolutePaths();
13135
13171
13172extern string GetBackground3DRelativePath( const string &id );
13173
13208
13209extern string GetBackground3DAbsolutePath( const string &id );
13210
13246
13247extern void SetBackground3DRelativePath( const string &id, const string &fname );
13248
13283
13284extern void SetBackground3DAbsolutePath( const string &id, const string &fname );
13285
13286
13287//======================== RoutingGeom Functions ======================//
13343
13344extern int GetNumRoutingPts( const string &routing_id );
13345
13400
13401extern string AddRoutingPt( const string &routing_id, const string &geom_id, int surf_index );
13402
13469
13470extern string InsertRoutingPt( const string &routing_id, int index, const string &geom_id, int surf_index );
13471
13527
13528extern void DelRoutingPt( const string &routing_id, int index );
13529
13585
13586extern void DelAllRoutingPt( const string &routing_id );
13587
13644
13645extern int MoveRoutingPt( const string &routing_id, int index, int reorder_type );
13646
13703
13704extern string GetRoutingPtID( const string &routing_id, int index );
13705
13761
13762extern vector < string > GetAllRoutingPtIds( const string &routing_id );
13763
13819
13820extern string GetRoutingPtParentID( const string & pt_id );
13821
13877
13878extern void SetRoutingPtParentID( const string & pt_id, const string &parent_id );
13879
13938
13939extern vec3d GetMainRoutingPtCoord( const string &pt_id );
13940
14000
14001extern vec3d GetRoutingPtCoord( const string &routing_id, int index, int symm_index );
14002
14061
14062extern vector < vec3d > GetAllRoutingPtCoords( const string &routing_id, int symm_index );
14063
14123
14124extern vector < vec3d > GetRoutingCurve( const string &routing_id, int symm_index );
14125
14126//======================== BOR Functions ======================//
14157
14158extern void ChangeBORXSecShape( const string & bor_id, int type );
14159
14189
14190extern int GetBORXSecShape( const string & bor_id );
14191
14222
14223extern std::vector<vec3d> ReadBORFileXSec( const std::string& bor_id, const std::string& file_name );
14224
14268
14269extern void SetBORXSecPnts( const std::string& bor_id, std::vector< vec3d > & pnt_vec );
14270
14303
14304extern vec3d ComputeBORXSecPnt( const std::string& bor_id, double fract );
14305
14336
14337extern vec3d ComputeBORXSecTan( const std::string& bor_id, double fract );
14338
14368
14369extern void ReadBORFileAirfoil( const std::string& bor_id, const std::string& file_name );
14370
14417
14418extern void SetBORAirfoilUpperPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec );
14419
14466
14467extern void SetBORAirfoilLowerPnts( const std::string& bor_id, const std::vector< vec3d > & low_pnt_vec );
14468
14524
14525extern void SetBORAirfoilPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
14526
14561
14562extern std::vector<vec3d> GetBORAirfoilUpperPnts( const std::string& bor_id );
14563
14598
14599extern std::vector<vec3d> GetBORAirfoilLowerPnts( const std::string& bor_id );
14600
14610
14611extern std::vector<double> GetBORUpperCSTCoefs( const std::string& bor_id );
14612
14622
14623extern std::vector<double> GetBORLowerCSTCoefs( const std::string& bor_id );
14624
14634
14635extern int GetBORUpperCSTDegree( const std::string& bor_id );
14636
14646
14647extern int GetBORLowerCSTDegree( const std::string& bor_id );
14648
14659
14660extern void SetBORUpperCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
14661
14672
14673extern void SetBORLowerCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
14674
14683
14684extern void PromoteBORCSTUpper( const std::string& bor_id );
14685
14694
14695extern void PromoteBORCSTLower( const std::string& bor_id );
14696
14705
14706extern void DemoteBORCSTUpper( const std::string& bor_id );
14707
14716
14717extern void DemoteBORCSTLower( const std::string& bor_id );
14718
14727
14728extern void FitBORAfCST( const std::string & bor_id, int deg );
14729
14730
14731//======================== FoilSurf Functions ======================//
14765
14766extern void WriteBezierAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
14767
14801
14802extern void WriteSeligAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
14803
14813
14814extern std::vector < vec3d > GetAirfoilCoordinates( const std::string & geom_id, const double &foilsurf_u );
14815
14816
14817//======================== Edit Curve XSec Functions ======================//
14865
14866extern void EditXSecInitShape( const std::string & xsec_id );
14867
14913
14914extern void EditXSecConvertTo( const std::string & xsec_id, const int & newtype );
14915
14971
14972extern std::vector < double > GetEditXSecUVec( const std::string& xsec_id );
14973
15022
15023extern std::vector < vec3d > GetEditXSecCtrlVec( const std::string & xsec_id, bool non_dimensional = true );
15024
15131
15132extern 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 );
15133
15199
15200extern void EditXSecDelPnt( const std::string & xsec_id, const int & indx );
15201
15266
15267extern int EditXSecSplit01( const std::string & xsec_id, const double & u );
15268
15348
15349extern void MoveEditXSecPnt( const std::string & xsec_id, const int & indx, const vec3d & new_pnt );
15350
15400
15401extern void ConvertXSecToEdit( const std::string & geom_id, const int & indx = 0 );
15402
15458
15459extern std::vector < bool > GetEditXSecFixedUVec( const std::string& xsec_id );
15460
15516
15517extern void SetEditXSecFixedUVec( const std::string& xsec_id, std::vector < bool > fixed_u_vec );
15518
15574
15575extern void ReparameterizeEditXSec( const std::string & xsec_id );
15576
15577
15578//======================== Sets ================================//
15598
15599extern int GetNumSets();
15600
15627
15628extern void SetSetName( int index, const std::string& name );
15629
15656
15657extern std::string GetSetName( int index );
15658
15691
15692extern std::vector<std::string> GetGeomSetAtIndex( int index );
15693
15725
15726extern std::vector<std::string> GetGeomSet( const std::string & name );
15727
15753
15754extern int GetSetIndex( const std::string & name );
15755
15788
15789extern bool GetSetFlag( const std::string & geom_id, int set_index );
15790
15823
15824extern void SetSetFlag( const std::string & geom_id, int set_index, bool flag );
15825
15869
15870extern void CopyPasteSet( int copyIndex, int pasteIndex );
15871
15907
15908extern bool GetBBoxSet( int set, double & xmin_out, double & ymin_out, double & zmin_out, double & xlen_out, double & ylen_out, double & zlen_out );
15909
15945
15946extern bool GetScaleIndependentBBoxSet( int set, double & xmin_out, double & ymin_out, double & zmin_out, double & xlen_out, double & ylen_out, double & zlen_out );
15947
15948//======================== Group Modifications ================================//
15980
15981extern void ScaleSet( int set_index, double scale );
15982
16016
16017extern void RotateSet( int set_index, double x_rot_deg, double y_rot_deg, double z_rot_deg );
16018
16050
16051extern void TranslateSet( int set_index, const vec3d &translation_vec );
16052
16090
16091extern 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 );
16092
16093
16094//======================== Parm Functions ================================//
16124
16125extern bool ValidParm( const std::string & id );
16126
16174
16175extern double SetParmVal( const std::string & parm_id, double val );
16176
16226
16227extern double SetParmVal( const std::string & geom_id, const std::string & name, const std::string & group, double val );
16228
16264
16265extern double SetParmValLimits( const std::string & parm_id, double val, double lower_limit, double upper_limit );
16266
16298
16299extern double SetParmValUpdate( const std::string & parm_id, double val );
16300
16334
16335extern double SetParmValUpdate( const std::string & geom_id, const std::string & parm_name, const std::string & parm_group_name, double val );
16336
16382
16383extern double GetParmVal( const std::string & parm_id );
16384
16432
16433extern double GetParmVal( const std::string & geom_id, const std::string & name, const std::string & group );
16434
16464
16465extern int GetIntParmVal( const std::string & parm_id );
16466
16496
16497extern bool GetBoolParmVal( const std::string & parm_id );
16498
16549
16550extern void SetParmUpperLimit( const std::string & parm_id, double val );
16551
16581
16582extern double GetParmUpperLimit( const std::string & parm_id );
16583
16634
16635extern void SetParmLowerLimit( const std::string & parm_id, double val );
16636
16666
16667extern double GetParmLowerLimit( const std::string & parm_id );
16668
16711
16712extern int GetParmType( const std::string & parm_id );
16713
16770
16771extern std::string GetParmName( const std::string & parm_id );
16772
16815
16816extern std::string GetParmGroupName( const std::string & parm_id );
16817
16860
16861extern std::string GetParmDisplayGroupName( const std::string & parm_id );
16862
16908
16909extern std::string GetParmContainer( const std::string & parm_id );
16910
16942
16943extern void SetParmDescript( const std::string & parm_id, const std::string & desc );
16944
16978
16979extern std::string GetParmDescript( const std::string & parm_id );
16980
17014
17015extern std::string FindParm( const std::string & parm_container_id, const std::string& parm_name, const std::string& group_name );
17016
17017
17018//======================== Parm Container Functions ======================//
17019
17055
17056extern std::vector<std::string> FindContainers();
17057
17081
17082extern std::vector<std::string> FindContainersWithName( const std::string & name );
17083
17107
17108extern std::string FindContainer( const std::string & name, int index );
17109
17133
17134extern std::string GetContainerName( const std::string & parm_container_id );
17135
17174
17175extern std::vector<std::string> FindContainerGroupNames( const std::string & parm_container_id );
17176
17233
17234extern std::vector<std::string> FindContainerParmIDs( const std::string & parm_container_id );
17235
17256
17257extern std::string GetVehicleID();
17258
17259
17260//======================== User Parm Functions ======================//
17281
17282extern int GetNumUserParms();
17283
17304
17306
17342
17343extern std::vector < std::string > GetAllUserParms();
17344
17363
17364extern std::string GetUserParmContainer();
17365
17396
17397extern string AddUserParm(int type, const string & name, const string & group );
17398
17428
17429extern void DeleteUserParm( const std::string & id );
17430
17448
17449extern void DeleteAllUserParm();
17450
17451
17452//======================== Snap To Functions ======================//
17495
17496extern double ComputeMinClearanceDistance( const std::string & geom_id, int set = SET_ALL, bool useMode = false, const string &modeID = string() );
17497 // TODO: Validate inc_flag description
17544
17545extern 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() );
17546
17547
17548//======================== Variable Preset Functions ======================//
17549
17575
17576extern string AddVarPresetGroup( const std::string &group_name );
17577
17609
17610extern string AddVarPresetSetting( const std::string &group_id, const std::string &setting_name );
17611
17649
17650extern void AddVarPresetParm( const std::string &group_id, const std::string &parm_id );
17651
17693
17694extern void DeleteVarPresetGroup( const std::string &group_id );
17695
17738
17739extern void DeleteVarPresetSetting( const std::string &group_id, const std::string &setting_id );
17740
17783
17784extern void DeleteVarPresetParm( const std::string &group_id, const std::string &parm_id );
17785
17830
17831extern void SetVarPresetParmVal( const std::string &group_id, const std::string &setting_id, const std::string &parm_id, double parm_val );
17832
17877
17878extern double GetVarPresetParmVal( const std::string &group_id, const std::string &setting_id, const std::string &parm_id );
17879
17910
17911extern std::string GetGroupName( const std::string &group_id );
17912
17947
17948extern std::string GetSettingName( const std::string &setting_id );
17949
17980
17981extern void SetGroupName( const std::string &group_id, const std::string &group_name );
17982
18017
18018extern void SetSettingName( const std::string &setting_id, const std::string &setting_name );
18019
18061
18062extern std::vector< std::string > GetVarPresetGroups();
18063
18106
18107extern std::vector< std::string > GetVarPresetSettings( const std::string &group_id );
18108
18151
18152extern std::vector< std::string > GetVarPresetParmIDs( const std::string &group_id );
18153
18197
18198extern std::vector< double > GetVarPresetParmVals( const std::string &setting_id );
18199
18246
18247extern void SetVarPresetParmVals( const std::string &setting_id, const std::vector< double > &parm_vals );
18248
18291
18292extern void SaveVarPresetParmVals( const std::string &group_id, const std::string &setting_id );
18293
18340
18341extern void ApplyVarPresetSetting( const std::string &group_id, const std::string &setting_id );
18342
18343//======================== Mode Functions ======================//
18344
18499
18500extern string CreateAndAddMode( const string & name, int normal_set, int degen_set );
18501
18657
18658extern int GetNumModes();
18659
18815
18816extern vector < string > GetAllModes();
18817
18973
18974extern void DelMode( const string &mid );
18975
19130
19131extern void DelAllModes();
19132
19284
19285extern void ApplyModeSettings( const string &mid );
19286
19442
19443extern void ShowOnlyMode( const string &mid );
19444
19598
19599extern void ModeAddGroupSetting( const string &mid, const string &gid, const string &sid );
19600
19758
19759extern string ModeGetGroup( const string &mid, int indx );
19760
19918
19919extern string ModeGetSetting( const string &mid, int indx );
19920
20077
20078extern vector < string > ModeGetAllGroups( const string &mid );
20079
20236
20237extern vector < string > ModeGetAllSettings( const string &mid );
20238
20395
20396extern void RemoveGroupSetting( const string &mid, int indx );
20397
20553
20554extern void RemoveAllGroupSettings( const string &mid );
20555
20556//======================== Parametric Curve Functions ======================//
20569
20570extern void SetPCurve( const std::string & geom_id, const int & pcurveid, const std::vector < double > & tvec,
20571
20572 const std::vector < double > & valvec, const int & newtype );
20583
20584extern void PCurveConvertTo( const std::string & geom_id, const int & pcurveid, const int & newtype );
20585
20596
20597extern int PCurveGetType( const std::string & geom_id, const int & pcurveid );
20598
20608
20609extern std::vector < double > PCurveGetTVec( const std::string & geom_id, const int & pcurveid );
20610
20620
20621extern std::vector < double > PCurveGetValVec( const std::string & geom_id, const int & pcurveid );
20622
20632
20633extern void PCurveDeletePt( const std::string & geom_id, const int & pcurveid, const int & indx );
20634
20645
20646extern int PCurveSplit( const std::string & geom_id, const int & pcurveid, const double & tsplit );
20647
20674
20675extern void ApproximateAllPropellerPCurves( const std::string & geom_id );
20676
20705
20706extern void ResetPropellerThicknessCurve( const std::string & geom_id );
20707
20708
20709//======================== VSPAERO Functions ======================//
20800
20802
20839
20841
20872
20873extern void AddAllToVSPAEROControlSurfaceGroup( int CSGroupIndex );
20874
20909
20910extern void RemoveAllFromVSPAEROControlSurfaceGroup( int CSGroupIndex );
20911
20962
20963extern std::vector < std::string > GetActiveCSNameVec( int CSGroupIndex );
20964
21008
21009extern std::vector < std::string > GetCompleteCSNameVec();
21010
21051
21052extern std::vector < std::string > GetAvailableCSNameVec( int CSGroupIndex );
21053
21093
21094extern void SetVSPAEROControlGroupName(const string & name, int CSGroupIndex);
21095
21134
21135extern std::string GetVSPAEROControlGroupName( int CSGroupIndex );
21136
21190
21191extern void AddSelectedToCSGroup( const vector <int> &selected, int CSGroupIndex);
21192
21255
21256extern void RemoveSelectedFromCSGroup( const vector <int> &selected, int CSGroupIndex);
21257
21312
21314
21315
21316//================ VSPAERO Actuator Disk and Unsteady Functions ==============//
21364
21365extern std::string FindActuatorDisk( int disk_index );
21366
21408
21410
21456
21457extern std::string FindUnsteadyGroup( int group_index );
21458
21493
21494extern std::string GetUnsteadyGroupName( int group_index );
21495
21538
21539extern std::vector < std::string > GetUnsteadyGroupCompIDs( int group_index );
21540
21583
21584extern std::vector < int > GetUnsteadyGroupSurfIndexes( int group_index );
21585
21636
21638
21690
21692
21693
21694//======================== Parasite Drag Tool Functions ======================//
21720
21721extern void AddExcrescence(const std::string & excresName, const int & excresType, const double & excresVal);
21722
21753
21754extern void DeleteExcrescence(const int & index);
21755
21762
21764
21790
21791extern void WriteAtmosphereCSVFile( const std::string & file_name, const int &atmos_type );
21792
21831
21832extern void CalcAtmosphere( const double & alt, const double & delta_temp, const int & atmos_type,
21833
21834 double & temp, double & pres, double & pres_ratio, double & rho_ratio );
21855
21856extern void WriteBodyFFCSVFile( const std::string & file_name );
21857
21878
21879extern void WriteWingFFCSVFile( const std::string & file_name );
21880 // TODO: Improve description
21901
21902extern void WriteCfEqnCSVFile( const std::string & file_name );
21903 // TODO: Improve description
21924
21925extern void WritePartialCfMethodCSVFile( const std::string & file_name );
21926
21927
21928//======================== Surface Query Functions ======================//
21971
21972extern vec3d CompPnt01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
21973
22016
22017extern vec3d CompNorm01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
22018
22061
22062extern vec3d CompTanU01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
22063
22106
22107extern vec3d CompTanW01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
22108
22158
22159extern void CompCurvature01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w,
22160 double &k1_out, double &k2_out, double &ka_out, double &kg_out);
22161
22224
22225extern double ProjPnt01(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &u_out, double &w_out);
22226
22296
22297extern double ProjPnt01I(const std::string &geom_id, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
22298
22368
22369extern 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);
22370
22371
22432
22433extern double AxisProjPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, double &u_out, double &w_out);
22434
22497
22498extern double AxisProjPnt01I(const std::string &geom_id, const int &iaxis, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
22499
22572
22573extern 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);
22574
22636
22637extern bool InsideSurf( const std::string &geom_id, const int &surf_indx, const vec3d &pt );
22638
22639
22685
22686extern vec3d CompPntRST( const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t );
22687
22743
22744extern double FindRST( const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &r_out, double &s_out, double &t_out );
22745
22813
22814extern 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 );
22815
22816
22863
22864extern 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 );
22865
22904
22905extern void ConvertRtoL( const std::string &geom_id, const int &surf_indx, const double &r, double &l_out );
22906
22953
22954extern 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 );
22993extern void ConvertLtoR( const std::string &geom_id, const int &surf_indx, const double &l, double &r_out );
22994
23032
23033extern void ConvertUtoEta( const std::string &geom_id, const double &u, double &eta_out );
23034
23072
23073extern void ConvertEtatoU( const std::string &geom_id, const double &eta, double &u_out );
23074
23075
23129
23130extern 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);
23131
23186
23187extern 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);
23188
23242
23243extern std::vector < vec3d > CompVecNorm01(const std::string &geom_id, const int &surf_indx, const std::vector < double > &us, const std::vector < double > &ws);
23244
23305
23306extern 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);
23307
23383
23384extern 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 );
23385
23483
23484extern 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 );
23485
23486
23587
23588extern 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 );
23589
23701
23702extern 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 );
23703
23776
23777extern std::vector < bool > VecInsideSurf( const std::string &geom_id, const int &surf_indx, const std::vector < vec3d > &pts );
23778
23779
23840
23841extern 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 );
23842
23914
23915extern 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 );
23916
23999
24000extern 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 );
24001
24002
24069
24070extern 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,
24071 std::vector < double > &l_out_vec, std::vector < double > &m_out_vec, std::vector < double > &n_out_vec );
24072
24138
24139extern 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,
24140 std::vector < double > &r_out_vec, std::vector < double > &s_out_vec, std::vector < double > &t_out_vec );
24141
24175
24176extern void GetUWTess01(const std::string &geom_id, const int &surf_indx, std::vector < double > &u_out_vec, std::vector < double > &w_out_vec);
24177
24178
24179//======================= Measure Functions ============================//
24227
24228extern string AddRuler( const string & startgeomid, int startsurfindx, double startu, double startw,
24229 const string & endgeomid, int endsurfindx, double endu, double endw, const string & name );
24285
24286extern std::vector < string > GetAllRulers();
24287
24334
24335extern void DelRuler( const string &id );
24336
24378
24379extern void DeleteAllRulers();
24380
24381
24417
24418extern string AddProbe( const string & geomid, int surfindx, double u, double w, const string & name );
24419
24458
24459extern std::vector < string > GetAllProbes();
24460
24501
24502extern void DelProbe( const string &id );
24503
24543
24544extern void DeleteAllProbes();
24545
24546
24547//======================= Advanced Link Functions ============================//
24548
24576
24577extern std::vector< std::string > GetAdvLinkNames();
24578
24625
24626extern int GetLinkIndex( const string & name );
24627
24691
24692extern void DelAdvLink( int index );
24693
24756
24757extern void DelAllAdvLinks();
24758
24803
24804extern void AddAdvLink( const string & name );
24805
24852
24853extern void AddAdvLinkInput( int index, const string & parm_id, const string & var_name );
24854
24901
24902extern void AddAdvLinkOutput( int index, const string & parm_id, const string & var_name );
24903
24961
24962extern void DelAdvLinkInput( int index, const string & var_name );
24963
25021
25022extern void DelAdvLinkOutput( int index, const string & var_name );
25023
25082
25083extern std::vector< std::string > GetAdvLinkInputNames( int index );
25084
25143
25144extern std::vector< std::string > GetAdvLinkInputParms( int index );
25145
25204
25205extern std::vector< std::string > GetAdvLinkOutputNames( int index );
25206
25265
25266extern std::vector< std::string > GetAdvLinkOutputParms( int index );
25267
25331
25332extern bool ValidateAdvLinkParms( int index );
25333
25379
25380extern void SetAdvLinkCode( int index, const string & code );
25381
25435
25436extern std::string GetAdvLinkCode( int index );
25437
25494
25495extern void SearchReplaceAdvLinkCode( int index, const string & from, const string & to );
25496
25556
25557extern bool BuildAdvLinkScript( int index );
25558
25559
25560} // End vsp namespace
25561
25562#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)
string AddGeometryAnalysis()
void DeleteAllGeometryAnalyses()
void PrintAnalysisDocs(const std::string &analysis_name)
std::string ExecAnalysis(const std::string &analysis)
int GetNumAnalysis()
std::vector< std::string > ListAnalysis()
void DeleteGeometryAnalysis(const string &id)
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)
vector< string > GetAllGeometryAnalysesIDVec()
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)
void DelAllFeaPolySparPt(const string &pspar_id)
std::vector< std::string > GetFeaStructIDVec()
int MoveFeaPolySparPt(const string &pspar_id, int index, int reorder_type)
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)
string GetFeaPolySparPtID(const string &pspar_id, int index)
int NumFeaSubSurfs(const std::string &fea_struct_id)
void SetFeaMeshStructIndex(int struct_index)
void DelFeaPolySparPt(const string &pspar_id, int 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)
int GetFeaPolySparNumPt(const string &pspar_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)
vector< string > GetAllFeaPolySparPtIDVec(const string &pspar_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)
string InsertFeaPolySparPt(const string &pspar_id, int index)
void SetFeaPolySparPtName(const string &pspar_id, int index, const string &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)
string GetFeaPolySparPtName(const string &pspar_id, int index)
int NumFeaBCs(const string &fea_struct_id)
string AddFeaPolySparPt(const string &pspar_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)