OpenVSP API Documentation 3.42.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
194
195#if !defined(VSPAPI__INCLUDED_)
196#define VSPAPI__INCLUDED_
197
198#ifdef SWIG
199%feature("autodoc", 1);
200%feature("doxygen:ignore:forcpponly", range="end");
201%feature("doxygen:ignore:beginPythonOnly", range="end:endPythonOnly", contents="parse");
202
203#endif
204
205#include "Defines.h"
206
207#include "APIErrorMgr.h"
208#include "APIUpdateCountMgr.h"
209#include "Vec3d.h"
210#include "Matrix4d.h"
211
212#include <string>
213#include <stack>
214#include <vector>
215
216
217using std::string;
218using std::stack;
219using std::vector;
220
221namespace vsp
222{
223
224//======================== API Functions ================================//
251
252extern void VSPCheckSetup();
253
285
286extern void VSPRenew();
287
288
329
330extern void Update( bool update_managers = true );
331
339
340extern void VSPExit( int error_code );
341
349
350extern void VSPCrash( int crash_type );
351
363
365
366
389
390extern std::string GetVSPVersion();
391
422
424
455
457
488
490
515
516extern std::string GetVSPExePath();
517
518
548
549extern bool SetVSPAEROPath( const std::string & path );
550
576
577extern std::string GetVSPAEROPath();
578
609
610extern bool CheckForVSPAERO( const std::string & path );
611
641
642extern bool SetVSPHelpPath( const std::string & path );
643
668
669extern std::string GetVSPHelpPath();
670
699
700extern bool CheckForVSPHelp( const std::string & path );
701
702extern void RegisterCFDMeshAnalyses();
703
704
705//======================== File I/O ================================//
764
765extern void ReadVSPFile( const std::string & file_name );
766
826
827extern void WriteVSPFile( const std::string & file_name, int set = SET_ALL );
828
887
888extern void SetVSP3FileName( const std::string & file_name );
889
934
935extern std::string GetVSPFileName();
936
962
963extern void ClearVSPModel();
964
974
975extern void InsertVSPFile( const std::string & file_name, const std::string & parent_geom_id );
976
977
1015
1016extern 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 = "" );
1017
1029
1030extern std::string ImportFile( const std::string & file_name, int file_type, const std::string & parent );
1031
1032
1062
1063extern void SetBEMPropID( const string & prop_id );
1064
1065
1066//======================== Design Files ================================//
1067
1075
1076extern void ReadApplyDESFile( const std::string & file_name );
1077
1085
1086extern void WriteDESFile( const std::string & file_name );
1087
1095
1096extern void ReadApplyXDDMFile( const std::string & file_name );
1097
1105
1106extern void WriteXDDMFile( const std::string & file_name );
1107
1115
1116extern int GetNumDesignVars();
1117
1127
1128extern void AddDesignVar( const std::string & parm_id, int type );
1129
1136
1138
1147
1148extern std::string GetDesignVar( int index );
1149
1159
1160extern int GetDesignVarType( int index );
1161
1162
1163//======================== Computations ================================//
1192
1193extern void SetComputationFileName( int file_type, const std::string & file_name );
1194
1235
1236extern std::string ComputeMassProps( int set, int num_slices, int idir );
1237
1276
1277extern std::string ComputeCompGeom( int set, bool half_mesh, int file_export_types );
1278
1325
1326extern std::string ComputePlaneSlice( int set, int num_slices, const vec3d & norm, bool auto_bnd,
1327
1328 double start_bnd = 0, double end_bnd = 0, bool measureduct = false );
1357
1358extern void ComputeDegenGeom( int set, int file_export_types );
1359
1391
1392extern void ComputeCFDMesh( int set, int degenset, int file_export_types );
1393
1414
1415extern void SetCFDMeshVal( int type, double val );
1416
1450
1451extern void SetCFDWakeFlag( const std::string & geom_id, bool flag );
1452
1480
1482
1506
1507extern void AddDefaultSources();
1508
1544
1545extern void AddCFDSource( int type, const std::string & geom_id, int surf_index,
1546
1547 double l1, double r1, double u1, double w1,
1548 double l2 = 0, double r2 = 0, double u2 = 0, double w2 = 0 );
1549
1557
1558extern string GetVSPAERORefWingID();
1559
1616
1617extern string SetVSPAERORefWingID( const std::string & geom_id );
1618
1619
1620//======================== Analysis ================================//
1621
1644
1645extern int GetNumAnalysis();
1646
1678
1679extern std::vector<std::string> ListAnalysis();
1680
1717
1718extern std::vector<std::string> GetAnalysisInputNames( const std::string & analysis );
1719
1743
1744extern std::string GetAnalysisDoc( const std::string & analysis );
1745
1761
1762extern std::string GetAnalysisInputDoc( const std::string & analysis, const std::string & name );
1763
1787
1788extern std::string ExecAnalysis( const std::string & analysis );
1789
1790
1800
1801extern int GetNumAnalysisInputData( const std::string & analysis, const std::string & name );
1802
1837
1838extern int GetAnalysisInputType( const std::string & analysis, const std::string & name );
1839
1878
1879extern const std::vector< int > & GetIntAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1880
1911
1912extern const std::vector< double > & GetDoubleAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1913
1944
1945extern const std::vector<std::string> & GetStringAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1946
1979
1980extern const std::vector< vec3d > & GetVec3dAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1981
1982
2009
2010extern void SetAnalysisInputDefaults( const std::string & analysis );
2011
2050
2051extern void SetIntAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< int > & indata, int index = 0 );
2052
2093
2094extern void SetDoubleAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< double > & indata, int index = 0 );
2095
2126
2127extern void SetStringAnalysisInput( const std::string & analysis, const std::string & name, const std::vector<std::string> & indata, int index = 0 );
2128
2161
2162extern void SetVec3dAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< vec3d > & indata, int index = 0 );
2163
2164
2191
2192extern void PrintAnalysisInputs( const std::string & analysis_name );
2193
2220
2221extern void PrintAnalysisDocs( const std::string & analysis_name );
2222
2223//======================== Attributes ================================//
2224
2247
2249
2272
2274
2298
2299extern vector < string > FindAllAttributes();
2300
2301
2302
2327
2328extern vector < string > FindAttributesByName( const string & search_str );
2329
2354
2355extern string FindAttributeByName( const string & search_str, int index );
2356
2384
2385extern string FindAttributeInCollection( const string & obj_id, const string & search_str, int index );
2386
2463
2464extern vector< string > FindAttributeNamesInCollection(const string & collID );
2465
2542
2543extern vector< string > FindAttributesInCollection(const string & collID );
2544
2619
2620extern vector< string > FindAttributedObjects();
2621
2647
2648extern int GetObjectType(const string & attachID);
2649
2675
2676extern string GetObjectTypeName(const string & attachID);
2677
2703
2704extern string GetObjectName(const string & attachID);
2705
2706
2744
2745extern string GetObjectParent( const string & id );
2746
2774
2775extern string GetChildCollection(const string & attachID );
2776
2800
2801extern string GetGeomSetCollection( const int & index );
2802
2832
2833extern string GetAttributeName( const string & attrID );
2834
2866
2867extern string GetAttributeID(const string & collID, const string & attributeName, int index);
2868
2894
2895extern string GetAttributeDoc(const string & attrID);
2896
2931
2932extern int GetAttributeType( const string & attrID );
2933
2958
2959extern string GetAttributeTypeName(const string & attrID);
2960
2985
2986extern vector< int > GetAttributeBoolVal(const string & attrID);
2987
3012
3013extern vector< int > GetAttributeIntVal(const string & attrID);
3014
3039
3040extern vector< double > GetAttributeDoubleVal(const string & attrID);
3041
3066
3067extern vector< string > GetAttributeStringVal(const string & attrID);
3068
3104
3105extern vector < double > GetAttributeParmVal( const string &attrID );
3106
3142
3143extern vector < string > GetAttributeParmName( const string &attrID );
3144
3169
3170extern vector< vec3d > GetAttributeVec3dVal(const string & attrID);
3171
3196
3197extern vector< vector < int > > GetAttributeIntMatrixVal(const string & attrID);
3198
3223
3224extern vector< vector < double > > GetAttributeDoubleMatrixVal(const string & attrID);
3225
3251
3252extern void SetAttributeName( const string & attrID, const string & name );
3253
3279
3280
3281extern void SetAttributeDoc( const string & attrID, const string & doc );
3282
3308
3309extern void SetAttributeBool( const string & attrID, bool value );
3310
3336
3337extern void SetAttributeInt( const string & attrID, int value );
3338
3364
3365extern void SetAttributeDouble( const string & attrID, double value );
3366
3392
3393extern void SetAttributeString( const string & attrID, const string & value );
3394
3420
3421extern void SetAttributeVec3d( const string & attrID, const vector < vec3d > value );
3422
3448
3449extern void SetAttributeIntMatrix( const string & attrID, const vector< vector< int > > value );
3450
3476
3477extern void SetAttributeDoubleMatrix( const string & attrID, const vector< vector< double > > value );
3478
3502
3503extern void DeleteAttribute( const string & attrID );
3504
3532
3533extern string AddAttributeBool( const string & collID, const string & attributeName, bool value );
3534
3562
3563extern string AddAttributeInt( const string & collID, const string & attributeName, const int value );
3564
3592
3593extern string AddAttributeDouble( const string & collID, const string & attributeName, const double value);
3594
3622
3623extern string AddAttributeString( const string & collID, const string & attributeName, const string & value );
3624
3658
3659extern string AddAttributeParm( const string &collID, const string &attributeName, const string &parmID );
3660
3689
3690extern string AddAttributeVec3d( const string & collID, const string & attributeName, const vector < vec3d > value );
3691
3720
3721extern string AddAttributeIntMatrix( const string & collID, const string & attributeName, const vector < vector < int > > value );
3722
3751
3752extern string AddAttributeDoubleMatrix( const string & collID, const string & attributeName, const vector < vector < double > > value );
3753
3779
3780extern string AddAttributeGroup( const string & collID, const string & attributeName );
3781
3804
3805extern int CopyAttribute( const string & attrID );
3806
3837
3838extern void CutAttribute( const string & attrID );
3839
3865
3866extern vector < string > PasteAttribute( const string & coll_id );
3867
3868//======================== Results ================================//
3904
3905extern std::vector<std::string> GetAllResultsNames();
3906
3940
3941extern std::vector<std::string> GetAllDataNames( const std::string & results_id );
3942
3968
3969extern int GetNumResults( const std::string & name );
3970
4010
4011extern std::string GetResultsName(const std::string & results_id );
4012
4052
4053extern std::string GetResultsSetDoc( const std::string & results_id );
4054
4055extern std::string GetResultsEntryDoc( const std::string & results_id, const std::string & data_name );
4056
4087
4088extern std::string FindResultsID( const std::string & name, int index = 0 );
4089
4126
4127extern std::string FindLatestResultsID( const std::string & name );
4128
4175
4176extern int GetNumData( const std::string & results_id, const std::string & data_name );
4177
4218
4219extern int GetResultsType( const std::string & results_id, const std::string & data_name );
4220
4268
4269extern const std::vector< int > & GetIntResults( const std::string & id, const std::string & name, int index = 0 );
4270
4308
4309extern const std::vector< double > & GetDoubleResults( const std::string & id, const std::string & name, int index = 0 );
4310
4321
4322extern const std::vector< std::vector< double > > & GetDoubleMatResults( const std::string & id, const std:: string & name, int index = 0 );
4323
4359
4360extern const std::vector<std::string> & GetStringResults( const std::string & id, const std::string & name, int index = 0 );
4361
4417
4418extern const std::vector< vec3d > & GetVec3dResults( const std::string & id, const std::string & name, int index = 0 );
4419
4460
4461extern std::string CreateGeomResults( const std::string & geom_id, const std::string & name );
4462
4500
4501extern void DeleteAllResults();
4502
4541
4542extern void DeleteResult( const std::string & id );
4543
4577
4578extern void WriteResultsCSVFile( const std::string & id, const std::string & file_name );
4579
4614
4615extern void PrintResults( const std::string &results_id );
4616
4651
4652extern void PrintResultsDocs( const std::string &results_id );
4653
4687
4688extern void WriteTestResults();
4689
4690//======================== GUI Functions ================================//
4691
4712
4713extern void InitGUI();
4714
4737
4738extern void StartGUI();
4739
4772
4774
4803
4805
4836
4837extern void StopGUI();
4838
4865
4866extern void PopupMsg( const std::string &msg );
4867
4906
4907extern void UpdateGUI();
4908
4941
4942extern bool IsGUIBuild();
4943
4990
4991extern void Lock( );
4992
5036
5037extern void Unlock( );
5038
5039
5070
5071extern bool IsEventLoopRunning( );
5072
5105
5106extern void ScreenGrab( const string & fname, int w, int h, bool transparentBG, bool autocrop = false );
5107
5126
5127extern void SetViewAxis( bool vaxis );
5128
5147
5148extern void SetShowBorders( bool brdr );
5149
5174
5175extern void SetGeomDrawType(const string &geom_id, int type);
5176
5202
5203extern void SetGeomWireColor( const string &geom_id, int r, int g, int b );
5204
5229
5230extern void SetGeomDisplayType(const string &geom_id, int type);
5231
5254
5255extern void SetGeomMaterialName( const string &geom_id, const string &name );
5256
5288
5289extern void AddMaterial( const string &name, const vec3d & ambient, const vec3d & diffuse, const vec3d & specular, const vec3d & emissive, const double & alpha, const double & shininess );
5290
5317
5318extern vector < string > GetMaterialNames();
5319
5340
5341extern void SetBackground( double r, double g, double b );
5342
5361
5362extern void SetAllViews( int view );
5363
5382
5383extern void SetView( int viewport, int view );
5384
5402
5403extern void FitAllViews();
5404
5422
5423extern void ResetViews();
5424
5444
5445extern void SetWindowLayout( int r, int c );
5446
5465
5466extern void SetGUIElementDisable( int e, bool state );
5467
5486
5487extern void SetGUIScreenDisable( int s, bool state );
5488
5507extern void SetGeomScreenDisable( int s, bool state );
5508
5509
5510//======================== Geom Functions ================================//
5541
5542extern std::vector<std::string> GetGeomTypes();
5543
5566
5567extern std::string AddGeom( const std::string & type, const std::string & parent = std::string() );
5568
5604
5605extern void UpdateGeom( const std::string & geom_id );
5606
5637
5638extern void DeleteGeom( const std::string & geom_id );
5639
5672
5673extern void DeleteGeomVec( const std::vector< std::string > & del_vec );
5674
5714
5715extern void CutGeomToClipboard( const std::string & geom_id );
5716
5756
5757extern void CopyGeomToClipboard( const std::string & geom_id );
5758
5798
5799extern std::vector<std::string> PasteGeomClipboard( const std::string & parent = std::string() );
5800
5833
5834extern std::vector<std::string> FindGeoms();
5835
5874
5875extern std::vector<std::string> FindGeomsWithName( const std::string & name );
5876
5920
5921extern std::string FindGeom( const std::string & name, int index );
5922
5960
5961extern void SetGeomName( const std::string & geom_id, const std::string & name );
5962
5996
5997extern std::string GetGeomName( const std::string & geom_id );
5998
6032
6033extern std::vector<std::string> GetGeomParmIDs( const std::string & geom_id );
6034
6064
6065extern std::string GetGeomTypeName( const std::string & geom_id );
6066
6098
6099extern std::string GetParm( const std::string & geom_id, const std::string & name, const std::string & group );
6100
6134
6135extern std::string GetGeomParent( const std::string& geom_id );
6136
6185
6186extern std::vector< std::string > GetGeomChildren( const std::string& geom_id );
6187
6217
6218extern int GetNumXSecSurfs( const std::string & geom_id );
6219
6258
6259extern int GetNumMainSurfs( const std::string & geom_id );
6260
6299
6300extern int GetTotalNumSurfs( const std::string& geom_id );
6301
6333
6334extern int GetGeomVSPSurfType( const std::string& geom_id, int main_surf_ind = 0 );
6335
6367
6368extern int GetGeomVSPSurfCfdType( const std::string& geom_id, int main_surf_ind = 0 );
6369
6409
6410extern vec3d GetGeomBBoxMax( const std::string& geom_id, int main_surf_ind = 0, bool ref_frame_is_absolute = true );
6411
6451
6452extern vec3d GetGeomBBoxMin( const std::string& geom_id, int main_surf_ind = 0, bool ref_frame_is_absolute = true );
6453
6454
6455//======================== SubSurface Functions ================================//
6488
6489extern std::string AddSubSurf( const std::string & geom_id, int type, int surfindex = 0 );
6490
6531
6532extern std::string GetSubSurf( const std::string & geom_id, int index );
6533
6574
6575extern std::vector<std::string> GetSubSurf( const std::string & geom_id, const std::string & name );
6576
6622
6623extern void DeleteSubSurf( const std::string & geom_id, const std::string & sub_id );
6624
6669
6670extern void DeleteSubSurf( const std::string & sub_id );
6671
6704
6705extern void SetSubSurfName(const std::string & geom_id, const std::string & sub_id, const std::string & name);
6706
6738
6739extern void SetSubSurfName( const std::string & sub_id, const std::string & name );
6740
6777
6778extern std::string GetSubSurfName( const std::string & geom_id, const std::string & sub_id );
6779
6815
6816extern std::string GetSubSurfName( const std::string & sub_id );
6817
6855
6856extern int GetSubSurfIndex( const std::string & sub_id );
6857
6920
6921extern std::vector<std::string> GetSubSurfIDVec( const std::string & geom_id );
6922
6930
6931extern std::vector<std::string> GetAllSubSurfIDs();
6932
6970
6971extern int GetNumSubSurf( const std::string & geom_id );
6972
7036
7037extern int GetSubSurfType( const std::string & sub_id );
7038
7083
7084extern std::vector<std::string> GetSubSurfParmIDs( const std::string & sub_id );
7085
7086
7117
7118extern int AddFeaStruct( const std::string & geom_id, bool init_skin = true, int surfindex = 0 );
7119
7155
7156extern void SetFeaMeshStructIndex( int struct_index );
7157
7193
7194extern void DeleteFeaStruct( const std::string & geom_id, int fea_struct_ind );
7195
7228
7229extern std::string GetFeaStructID( const std::string & geom_id, int fea_struct_ind );
7230
7274
7275extern int GetFeaStructIndex( const std::string & struct_id );
7276
7314
7315extern std::string GetFeaStructParentGeomID( const std::string & struct_id );
7316
7360
7361extern std::string GetFeaStructName( const std::string & geom_id, int fea_struct_ind );
7362
7410
7411extern void SetFeaStructName( const std::string & geom_id, int fea_struct_ind, const std::string & name );
7412
7448
7449extern std::vector< std::string > GetFeaStructIDVec();
7450
7489
7490extern void SetFeaPartName( const std::string & part_id, const std::string & name );
7491
7536
7537extern std::string AddFeaPart( const std::string & geom_id, int fea_struct_ind, int type );
7538
7585
7586extern void DeleteFeaPart( const std::string & geom_id, int fea_struct_ind, const std::string & part_id );
7587
7639
7640extern std::string GetFeaPartID( const std::string & fea_struct_id, int fea_part_index );
7641
7691
7692extern std::string GetFeaPartName( const std::string & part_id );
7693
7737
7738extern int GetFeaPartType( const std::string & part_id );
7739
7784
7785extern std::vector< std::string > GetFeaPartIDVec( const std::string & fea_struct_id );
7786
7831
7832extern std::vector< std::string > GetFeaSubSurfIDVec( const std::string & fea_struct_id );
7833
7902
7903extern void SetFeaPartPerpendicularSparID( const std::string& part_id, const std::string& perpendicular_spar_id );
7904
7972
7973extern std::string GetFeaPartPerpendicularSparID( const std::string& part_id );
7974
8013
8014extern void SetFeaSubSurfName( const std::string & subsurf_id, const std::string & name );
8015
8063
8064extern std::string GetFeaSubSurfName( const std::string & subsurf_id );
8065
8110
8111extern std::string AddFeaSubSurf( const std::string & geom_id, int fea_struct_ind, int type );
8112
8159
8160extern void DeleteFeaSubSurf( const std::string & geom_id, int fea_struct_ind, const std::string & ss_id );
8161
8216
8217extern int GetFeaSubSurfIndex( const string & ss_id );
8218
8256
8257extern int NumFeaStructures();
8258
8308
8309extern int NumFeaParts( const std::string & fea_struct_id );
8310
8359
8360extern int NumFeaSubSurfs( const std::string & fea_struct_id );
8361
8402
8403extern std::string AddFeaBC( const string & fea_struct_id, int type = -1 );
8404
8448
8449extern void DelFeaBC( const string & fea_struct_id, const std::string &bc_id );
8450
8494
8495extern std::vector< std::string > GetFeaBCIDVec( const string & fea_struct_id );
8496
8540
8541extern int NumFeaBCs( const string & fea_struct_id );
8542
8567
8568extern std::string AddFeaMaterial();
8569
8597
8598extern std::string AddFeaProperty( int property_type = 0 );
8599
8641
8642extern void SetFeaMeshVal( const std::string & geom_id, int fea_struct_ind, int type, double val );
8643
8693
8694extern void SetFeaMeshFileName( const std::string & geom_id, int fea_struct_ind, int file_type, const string & file_name );
8695
8746
8747extern void ComputeFeaMesh( const std::string & geom_id, int fea_struct_ind, int file_type );
8748
8798
8799extern void ComputeFeaMesh( const std::string & struct_id, int file_type );
8800
8801
8840
8841extern void CutXSec( const std::string & geom_id, int index );
8842
8877
8878extern void CopyXSec( const std::string & geom_id, int index );
8879
8914
8915extern void PasteXSec( const std::string & geom_id, int index );
8916
8944
8945extern void InsertXSec( const std::string & geom_id, int index, int type );
8946
8947
8948//======================== Wing Section Functions ===================//
8949
8979
8980extern void SplitWingXSec( const string & wing_id, int section_index );
8981
9029
9030extern void SetDriverGroup( const std::string & geom_id, int section_index, int driver_0, int driver_1 = -1, int driver_2 = -1 );
9031
9032
9033//======================== XSecSurf ================================//
9062
9063extern std::string GetXSecSurf( const std::string & geom_id, int index );
9064
9115
9116extern int GetNumXSec( const std::string & xsec_surf_id );
9117
9152
9153extern std::string GetXSec( const std::string & xsec_surf_id, int xsec_index );
9154
9204
9205extern void ChangeXSecShape( const std::string & xsec_surf_id, int xsec_index, int type );
9206
9215
9216extern void SetXSecSurfGlobalXForm( const std::string & xsec_surf_id, const Matrix4d & mat );
9217
9226
9227extern Matrix4d GetXSecSurfGlobalXForm( const std::string & xsec_surf_id );
9228
9229
9230//======================== XSec ================================//
9271
9272extern int GetXSecShape( const std::string& xsec_id );
9273
9312
9313extern double GetXSecWidth( const std::string& xsec_id );
9314
9353
9354extern double GetXSecHeight( const std::string& xsec_id );
9355
9396
9397extern void SetXSecWidthHeight( const std::string& xsec_id, double w, double h );
9398
9437
9438extern void SetXSecWidth( const std::string& xsec_id, double w );
9439
9478
9479extern void SetXSecHeight( const std::string& xsec_id, double h );
9480
9518
9519extern std::vector<std::string> GetXSecParmIDs( const std::string& xsec_id );
9520
9563
9564extern std::string GetXSecParm( const std::string& xsec_id, const std::string& name );
9565
9605
9606extern std::vector<vec3d> ReadFileXSec( const std::string& xsec_id, const std::string& file_name );
9607
9660
9661extern void SetXSecPnts( const std::string& xsec_id, std::vector< vec3d > & pnt_vec );
9662
9704
9705extern vec3d ComputeXSecPnt( const std::string& xsec_id, double fract );
9706
9747
9748extern vec3d ComputeXSecTan( const std::string& xsec_id, double fract );
9749
9790
9791extern void ResetXSecSkinParms( const std::string& xsec_id );
9792
9833
9834extern void SetXSecContinuity( const std::string& xsec_id, int cx );
9835
9885
9886extern void SetXSecTanAngles( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
9887
9937
9938extern void SetXSecTanSlews( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
9939
9991
9992extern void SetXSecTanStrengths( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
9993
10045
10046extern void SetXSecCurvatures( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
10047
10085
10086extern void ReadFileAirfoil( const std::string& xsec_id, const std::string& file_name );
10087
10142
10143extern void SetAirfoilUpperPnts( const std::string& xsec_id, const std::vector< vec3d > & up_pnt_vec );
10144
10199
10200extern void SetAirfoilLowerPnts( const std::string& xsec_id, const std::vector< vec3d > & low_pnt_vec );
10201
10265
10266extern void SetAirfoilPnts( const std::string& xsec_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
10267
10315
10316extern std::vector<vec3d> GetHersheyBarLiftDist( const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag = false );
10317
10365
10366extern std::vector<vec3d> GetHersheyBarDragDist( const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag = false );
10367
10419
10420extern std::vector<vec3d> GetVKTAirfoilPnts( const int &npts, const double &alpha, const double &epsilon, const double &kappa, const double &tau );
10421
10474
10475extern std::vector<double> GetVKTAirfoilCpDist( const double &alpha, const double &epsilon, const double &kappa, const double &tau, const std::vector<vec3d> &xyz_data );
10476
10490
10491extern std::vector<vec3d> GetEllipsoidSurfPnts( const vec3d &center, const vec3d &abc_rad, int u_npts = 20, int w_npts = 20 );
10492
10501
10502extern std::vector<vec3d> GetFeatureLinePnts( const string& geom_id );
10503
10585
10586extern std::vector<double> GetEllipsoidCpDist( const std::vector<vec3d> &surf_pnt_vec, const vec3d &abc_rad, const vec3d &V_inf );
10587
10588extern double IntegrateEllipsoidFlow( const vec3d &abc_rad, const int &abc_index );
10589
10632
10633extern std::vector<vec3d> GetAirfoilUpperPnts( const std::string& xsec_id );
10634
10677
10678extern std::vector<vec3d> GetAirfoilLowerPnts( const std::string& xsec_id );
10679
10689
10690extern std::vector<double> GetUpperCSTCoefs( const std::string& xsec_id );
10691
10701
10702extern std::vector<double> GetLowerCSTCoefs( const std::string& xsec_id );
10703
10713
10714extern int GetUpperCSTDegree( const std::string& xsec_id );
10715
10725
10726extern int GetLowerCSTDegree( const std::string& xsec_id );
10727
10738
10739extern void SetUpperCST( const std::string& xsec_id, int deg, const std::vector<double> &coefs );
10740
10751
10752extern void SetLowerCST( const std::string& xsec_id, int deg, const std::vector<double> &coefs );
10753
10762
10763extern void PromoteCSTUpper( const std::string& xsec_id );
10764
10773
10774extern void PromoteCSTLower( const std::string& xsec_id );
10775
10784
10785extern void DemoteCSTUpper( const std::string& xsec_id );
10786
10795
10796extern void DemoteCSTLower( const std::string& xsec_id );
10797
10807
10808extern void FitAfCST( const std::string & xsec_surf_id, int xsec_index, int deg );
10809
10810//======================== Background3D Functions ======================//
10811
10848
10849extern string AddBackground3D();
10850
10887
10889
10941
10942extern vector < string > GetAllBackground3Ds();
10943
10974
10976
11007
11009
11049
11051
11092
11093extern void DelBackground3D( const string &id );
11094
11135
11136extern vector < string > GetAllBackground3DRelativePaths();
11137
11177
11178extern vector < string > GetAllBackground3DAbsolutePaths();
11179
11215
11216extern string GetBackground3DRelativePath( const string &id );
11217
11252
11253extern string GetBackground3DAbsolutePath( const string &id );
11254
11290
11291extern void SetBackground3DRelativePath( const string &id, const string &fname );
11292
11327
11328extern void SetBackground3DAbsolutePath( const string &id, const string &fname );
11329
11330//======================== BOR Functions ======================//
11361
11362extern void ChangeBORXSecShape( const string & bor_id, int type );
11363
11393
11394extern int GetBORXSecShape( const string & bor_id );
11395
11426
11427extern std::vector<vec3d> ReadBORFileXSec( const std::string& bor_id, const std::string& file_name );
11428
11472
11473extern void SetBORXSecPnts( const std::string& bor_id, std::vector< vec3d > & pnt_vec );
11474
11507
11508extern vec3d ComputeBORXSecPnt( const std::string& bor_id, double fract );
11509
11540
11541extern vec3d ComputeBORXSecTan( const std::string& bor_id, double fract );
11542
11572
11573extern void ReadBORFileAirfoil( const std::string& bor_id, const std::string& file_name );
11574
11621
11622extern void SetBORAirfoilUpperPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec );
11623
11670
11671extern void SetBORAirfoilLowerPnts( const std::string& bor_id, const std::vector< vec3d > & low_pnt_vec );
11672
11728
11729extern void SetBORAirfoilPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
11730
11765
11766extern std::vector<vec3d> GetBORAirfoilUpperPnts( const std::string& bor_id );
11767
11802
11803extern std::vector<vec3d> GetBORAirfoilLowerPnts( const std::string& bor_id );
11804
11814
11815extern std::vector<double> GetBORUpperCSTCoefs( const std::string& bor_id );
11816
11826
11827extern std::vector<double> GetBORLowerCSTCoefs( const std::string& bor_id );
11828
11838
11839extern int GetBORUpperCSTDegree( const std::string& bor_id );
11840
11850
11851extern int GetBORLowerCSTDegree( const std::string& bor_id );
11852
11863
11864extern void SetBORUpperCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
11865
11876
11877extern void SetBORLowerCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
11878
11887
11888extern void PromoteBORCSTUpper( const std::string& bor_id );
11889
11898
11899extern void PromoteBORCSTLower( const std::string& bor_id );
11900
11909
11910extern void DemoteBORCSTUpper( const std::string& bor_id );
11911
11920
11921extern void DemoteBORCSTLower( const std::string& bor_id );
11922
11931
11932extern void FitBORAfCST( const std::string & bor_id, int deg );
11933
11934
11935//======================== FoilSurf Functions ======================//
11969
11970extern void WriteBezierAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
11971
12005
12006extern void WriteSeligAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
12007
12017
12018extern std::vector < vec3d > GetAirfoilCoordinates( const std::string & geom_id, const double &foilsurf_u );
12019
12020
12021//======================== Edit Curve XSec Functions ======================//
12069
12070extern void EditXSecInitShape( const std::string & xsec_id );
12071
12117
12118extern void EditXSecConvertTo( const std::string & xsec_id, const int & newtype );
12119
12175
12176extern std::vector < double > GetEditXSecUVec( const std::string& xsec_id );
12177
12226
12227extern std::vector < vec3d > GetEditXSecCtrlVec( const std::string & xsec_id, bool non_dimensional = true );
12228
12335
12336extern 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 );
12337
12403
12404extern void EditXSecDelPnt( const std::string & xsec_id, const int & indx );
12405
12470
12471extern int EditXSecSplit01( const std::string & xsec_id, const double & u );
12472
12552
12553extern void MoveEditXSecPnt( const std::string & xsec_id, const int & indx, const vec3d & new_pnt );
12554
12604
12605extern void ConvertXSecToEdit( const std::string & geom_id, const int & indx = 0 );
12606
12662
12663extern std::vector < bool > GetEditXSecFixedUVec( const std::string& xsec_id );
12664
12720
12721extern void SetEditXSecFixedUVec( const std::string& xsec_id, std::vector < bool > fixed_u_vec );
12722
12778
12779extern void ReparameterizeEditXSec( const std::string & xsec_id );
12780
12781
12782//======================== Sets ================================//
12802
12803extern int GetNumSets();
12804
12831
12832extern void SetSetName( int index, const std::string& name );
12833
12860
12861extern std::string GetSetName( int index );
12862
12895
12896extern std::vector<std::string> GetGeomSetAtIndex( int index );
12897
12929
12930extern std::vector<std::string> GetGeomSet( const std::string & name );
12931
12957
12958extern int GetSetIndex( const std::string & name );
12959
12992
12993extern bool GetSetFlag( const std::string & geom_id, int set_index );
12994
13027
13028extern void SetSetFlag( const std::string & geom_id, int set_index, bool flag );
13029
13073
13074extern void CopyPasteSet( int copyIndex, int pasteIndex );
13075
13076
13077//======================== Group Modifications ================================//
13109
13110extern void ScaleSet( int set_index, double scale );
13111
13145
13146extern void RotateSet( int set_index, double x_rot_deg, double y_rot_deg, double z_rot_deg );
13147
13179
13180extern void TranslateSet( int set_index, const vec3d &translation_vec );
13181
13219
13220extern 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 );
13221
13222
13223//======================== Parm Functions ================================//
13253
13254extern bool ValidParm( const std::string & id );
13255
13303
13304extern double SetParmVal( const std::string & parm_id, double val );
13305
13355
13356extern double SetParmVal( const std::string & geom_id, const std::string & name, const std::string & group, double val );
13357
13393
13394extern double SetParmValLimits( const std::string & parm_id, double val, double lower_limit, double upper_limit );
13395
13427
13428extern double SetParmValUpdate( const std::string & parm_id, double val );
13429
13463
13464extern double SetParmValUpdate( const std::string & geom_id, const std::string & parm_name, const std::string & parm_group_name, double val );
13465
13511
13512extern double GetParmVal( const std::string & parm_id );
13513
13561
13562extern double GetParmVal( const std::string & geom_id, const std::string & name, const std::string & group );
13563
13593
13594extern int GetIntParmVal( const std::string & parm_id );
13595
13625
13626extern bool GetBoolParmVal( const std::string & parm_id );
13627
13678
13679extern void SetParmUpperLimit( const std::string & parm_id, double val );
13680
13710
13711extern double GetParmUpperLimit( const std::string & parm_id );
13712
13763
13764extern void SetParmLowerLimit( const std::string & parm_id, double val );
13765
13795
13796extern double GetParmLowerLimit( const std::string & parm_id );
13797
13840
13841extern int GetParmType( const std::string & parm_id );
13842
13899
13900extern std::string GetParmName( const std::string & parm_id );
13901
13944
13945extern std::string GetParmGroupName( const std::string & parm_id );
13946
13989
13990extern std::string GetParmDisplayGroupName( const std::string & parm_id );
13991
14037
14038extern std::string GetParmContainer( const std::string & parm_id );
14039
14071
14072extern void SetParmDescript( const std::string & parm_id, const std::string & desc );
14073
14107
14108extern std::string GetParmDescript( const std::string & parm_id );
14109
14143
14144extern std::string FindParm( const std::string & parm_container_id, const std::string& parm_name, const std::string& group_name );
14145
14146
14147//======================== Parm Container Functions ======================//
14148
14184
14185extern std::vector<std::string> FindContainers();
14186
14210
14211extern std::vector<std::string> FindContainersWithName( const std::string & name );
14212
14236
14237extern std::string FindContainer( const std::string & name, int index );
14238
14262
14263extern std::string GetContainerName( const std::string & parm_container_id );
14264
14303
14304extern std::vector<std::string> FindContainerGroupNames( const std::string & parm_container_id );
14305
14362
14363extern std::vector<std::string> FindContainerParmIDs( const std::string & parm_container_id );
14364
14385
14386extern std::string GetVehicleID();
14387
14388
14389//======================== User Parm Functions ======================//
14410
14411extern int GetNumUserParms();
14412
14433
14435
14471
14472extern std::vector < std::string > GetAllUserParms();
14473
14492
14493extern std::string GetUserParmContainer();
14494
14525
14526extern string AddUserParm(int type, const string & name, const string & group );
14527
14557
14558extern void DeleteUserParm( const std::string & id );
14559
14577
14578extern void DeleteAllUserParm();
14579
14580
14581//======================== Snap To Functions ======================//
14624
14625extern double ComputeMinClearanceDistance( const std::string & geom_id, int set = SET_ALL, bool useMode = false, const string &modeID = string() );
14626 // TODO: Validate inc_flag description
14673
14674extern 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() );
14675
14676
14677//======================== Variable Preset Functions ======================//
14678
14704
14705extern string AddVarPresetGroup( const std::string &group_name );
14706
14738
14739extern string AddVarPresetSetting( const std::string &group_id, const std::string &setting_name );
14740
14778
14779extern void AddVarPresetParm( const std::string &group_id, const std::string &parm_id );
14780
14822
14823extern void DeleteVarPresetGroup( const std::string &group_id );
14824
14867
14868extern void DeleteVarPresetSetting( const std::string &group_id, const std::string &setting_id );
14869
14912
14913extern void DeleteVarPresetParm( const std::string &group_id, const std::string &parm_id );
14914
14959
14960extern void SetVarPresetParmVal( const std::string &group_id, const std::string &setting_id, const std::string &parm_id, double parm_val );
14961
15006
15007extern double GetVarPresetParmVal( const std::string &group_id, const std::string &setting_id, const std::string &parm_id );
15008
15039
15040extern std::string GetGroupName( const std::string &group_id );
15041
15076
15077extern std::string GetSettingName( const std::string &setting_id );
15078
15109
15110extern void SetGroupName( const std::string &group_id, const std::string &group_name );
15111
15146
15147extern void SetSettingName( const std::string &setting_id, const std::string &setting_name );
15148
15190
15191extern std::vector< std::string > GetVarPresetGroups();
15192
15235
15236extern std::vector< std::string > GetVarPresetSettings( const std::string &group_id );
15237
15280
15281extern std::vector< std::string > GetVarPresetParmIDs( const std::string &group_id );
15282
15326
15327extern std::vector< double > GetVarPresetParmVals( const std::string &setting_id );
15328
15375
15376extern void SetVarPresetParmVals( const std::string &setting_id, const std::vector< double > &parm_vals );
15377
15420
15421extern void SaveVarPresetParmVals( const std::string &group_id, const std::string &setting_id );
15422
15469
15470extern void ApplyVarPresetSetting( const std::string &group_id, const std::string &setting_id );
15471
15472//======================== Mode Functions ======================//
15473
15628
15629extern string CreateAndAddMode( const string & name, int normal_set, int degen_set );
15630
15786
15787extern int GetNumModes();
15788
15944
15945extern vector < string > GetAllModes();
15946
16102
16103extern void DelMode( const string &mid );
16104
16259
16260extern void DelAllModes();
16261
16413
16414extern void ApplyModeSettings( const string &mid );
16415
16571
16572extern void ShowOnlyMode( const string &mid );
16573
16727
16728extern void ModeAddGroupSetting( const string &mid, const string &gid, const string &sid );
16729
16887
16888extern string ModeGetGroup( const string &mid, int indx );
16889
17047
17048extern string ModeGetSetting( const string &mid, int indx );
17049
17206
17207extern vector < string > ModeGetAllGroups( const string &mid );
17208
17365
17366extern vector < string > ModeGetAllSettings( const string &mid );
17367
17524
17525extern void RemoveGroupSetting( const string &mid, int indx );
17526
17682
17683extern void RemoveAllGroupSettings( const string &mid );
17684
17685//======================== Parametric Curve Functions ======================//
17698
17699extern void SetPCurve( const std::string & geom_id, const int & pcurveid, const std::vector < double > & tvec,
17700
17701 const std::vector < double > & valvec, const int & newtype );
17712
17713extern void PCurveConvertTo( const std::string & geom_id, const int & pcurveid, const int & newtype );
17714
17725
17726extern int PCurveGetType( const std::string & geom_id, const int & pcurveid );
17727
17737
17738extern std::vector < double > PCurveGetTVec( const std::string & geom_id, const int & pcurveid );
17739
17749
17750extern std::vector < double > PCurveGetValVec( const std::string & geom_id, const int & pcurveid );
17751
17761
17762extern void PCurveDeletePt( const std::string & geom_id, const int & pcurveid, const int & indx );
17763
17774
17775extern int PCurveSplit( const std::string & geom_id, const int & pcurveid, const double & tsplit );
17776
17803
17804extern void ApproximateAllPropellerPCurves( const std::string & geom_id );
17805
17834
17835extern void ResetPropellerThicknessCurve( const std::string & geom_id );
17836
17837
17838//======================== VSPAERO Functions ======================//
17929
17931
17968
17970
18001
18002extern void AddAllToVSPAEROControlSurfaceGroup( int CSGroupIndex );
18003
18038
18039extern void RemoveAllFromVSPAEROControlSurfaceGroup( int CSGroupIndex );
18040
18091
18092extern std::vector < std::string > GetActiveCSNameVec( int CSGroupIndex );
18093
18137
18138extern std::vector < std::string > GetCompleteCSNameVec();
18139
18180
18181extern std::vector < std::string > GetAvailableCSNameVec( int CSGroupIndex );
18182
18222
18223extern void SetVSPAEROControlGroupName(const string & name, int CSGroupIndex);
18224
18263
18264extern std::string GetVSPAEROControlGroupName( int CSGroupIndex );
18265
18319
18320extern void AddSelectedToCSGroup( const vector <int> &selected, int CSGroupIndex);
18321
18384
18385extern void RemoveSelectedFromCSGroup( const vector <int> &selected, int CSGroupIndex);
18386
18441
18443
18444
18445//================ VSPAERO Actuator Disk and Unsteady Functions ==============//
18493
18494extern std::string FindActuatorDisk( int disk_index );
18495
18537
18539
18585
18586extern std::string FindUnsteadyGroup( int group_index );
18587
18622
18623extern std::string GetUnsteadyGroupName( int group_index );
18624
18667
18668extern std::vector < std::string > GetUnsteadyGroupCompIDs( int group_index );
18669
18712
18713extern std::vector < int > GetUnsteadyGroupSurfIndexes( int group_index );
18714
18765
18767
18819
18821
18822
18823//======================== Parasite Drag Tool Functions ======================//
18849
18850extern void AddExcrescence(const std::string & excresName, const int & excresType, const double & excresVal);
18851
18882
18883extern void DeleteExcrescence(const int & index);
18884
18891
18893
18919
18920extern void WriteAtmosphereCSVFile( const std::string & file_name, const int &atmos_type );
18921
18960
18961extern void CalcAtmosphere( const double & alt, const double & delta_temp, const int & atmos_type,
18962
18963 double & temp, double & pres, double & pres_ratio, double & rho_ratio );
18984
18985extern void WriteBodyFFCSVFile( const std::string & file_name );
18986
19007
19008extern void WriteWingFFCSVFile( const std::string & file_name );
19009 // TODO: Improve description
19030
19031extern void WriteCfEqnCSVFile( const std::string & file_name );
19032 // TODO: Improve description
19053
19054extern void WritePartialCfMethodCSVFile( const std::string & file_name );
19055
19056
19057//======================== Surface Query Functions ======================//
19100
19101extern vec3d CompPnt01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
19102
19145
19146extern vec3d CompNorm01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
19147
19190
19191extern vec3d CompTanU01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
19192
19235
19236extern vec3d CompTanW01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
19237
19287
19288extern void CompCurvature01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w,
19289 double &k1_out, double &k2_out, double &ka_out, double &kg_out);
19290
19353
19354extern double ProjPnt01(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &u_out, double &w_out);
19355
19425
19426extern double ProjPnt01I(const std::string &geom_id, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
19427
19497
19498extern 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);
19499
19500
19561
19562extern double AxisProjPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, double &u_out, double &w_out);
19563
19626
19627extern double AxisProjPnt01I(const std::string &geom_id, const int &iaxis, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
19628
19701
19702extern 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);
19703
19765
19766extern bool InsideSurf( const std::string &geom_id, const int &surf_indx, const vec3d &pt );
19767
19768
19814
19815extern vec3d CompPntRST( const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t );
19816
19872
19873extern double FindRST( const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &r_out, double &s_out, double &t_out );
19874
19942
19943extern 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 );
19944
19945
19992
19993extern 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 );
19994
20033
20034extern void ConvertRtoL( const std::string &geom_id, const int &surf_indx, const double &r, double &l_out );
20035
20082
20083extern 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 );
20122extern void ConvertLtoR( const std::string &geom_id, const int &surf_indx, const double &l, double &r_out );
20123
20161
20162extern void ConvertUtoEta( const std::string &geom_id, const double &u, double &eta_out );
20163
20201
20202extern void ConvertEtatoU( const std::string &geom_id, const double &eta, double &u_out );
20203
20204
20258
20259extern 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);
20260
20314
20315extern std::vector < vec3d > CompVecNorm01(const std::string &geom_id, const int &surf_indx, const std::vector < double > &us, const std::vector < double > &ws);
20316
20377
20378extern 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);
20379
20455
20456extern 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 );
20457
20555
20556extern 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 );
20557
20558
20659
20660extern 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 );
20661
20773
20774extern 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 );
20775
20848
20849extern std::vector < bool > VecInsideSurf( const std::string &geom_id, const int &surf_indx, const std::vector < vec3d > &pts );
20850
20851
20912
20913extern 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 );
20914
20986
20987extern 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 );
20988
21071
21072extern 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 );
21073
21074
21141
21142extern 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,
21143 std::vector < double > &l_out_vec, std::vector < double > &m_out_vec, std::vector < double > &n_out_vec );
21144
21210
21211extern 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,
21212 std::vector < double > &r_out_vec, std::vector < double > &s_out_vec, std::vector < double > &t_out_vec );
21213
21247
21248extern void GetUWTess01(const std::string &geom_id, const int &surf_indx, std::vector < double > &u_out_vec, std::vector < double > &w_out_vec);
21249
21250
21251//======================= Measure Functions ============================//
21299
21300extern string AddRuler( const string & startgeomid, int startsurfindx, double startu, double startw,
21301 const string & endgeomid, int endsurfindx, double endu, double endw, const string & name );
21357
21358extern std::vector < string > GetAllRulers();
21359
21406
21407extern void DelRuler( const string &id );
21408
21450
21451extern void DeleteAllRulers();
21452
21453
21489
21490extern string AddProbe( const string & geomid, int surfindx, double u, double w, const string & name );
21491
21530
21531extern std::vector < string > GetAllProbes();
21532
21573
21574extern void DelProbe( const string &id );
21575
21615
21616extern void DeleteAllProbes();
21617
21618
21619//======================= Advanced Link Functions ============================//
21620
21648
21649extern std::vector< std::string > GetAdvLinkNames();
21650
21697
21698extern int GetLinkIndex( const string & name );
21699
21763
21764extern void DelAdvLink( int index );
21765
21828
21829extern void DelAllAdvLinks();
21830
21875
21876extern void AddAdvLink( const string & name );
21877
21924
21925extern void AddAdvLinkInput( int index, const string & parm_id, const string & var_name );
21926
21973
21974extern void AddAdvLinkOutput( int index, const string & parm_id, const string & var_name );
21975
22033
22034extern void DelAdvLinkInput( int index, const string & var_name );
22035
22093
22094extern void DelAdvLinkOutput( int index, const string & var_name );
22095
22154
22155extern std::vector< std::string > GetAdvLinkInputNames( int index );
22156
22215
22216extern std::vector< std::string > GetAdvLinkInputParms( int index );
22217
22276
22277extern std::vector< std::string > GetAdvLinkOutputNames( int index );
22278
22337
22338extern std::vector< std::string > GetAdvLinkOutputParms( int index );
22339
22403
22404extern bool ValidateAdvLinkParms( int index );
22405
22451
22452extern void SetAdvLinkCode( int index, const string & code );
22453
22507
22508extern std::string GetAdvLinkCode( int index );
22509
22566
22567extern void SearchReplaceAdvLinkCode( int index, const string & from, const string & to );
22568
22628
22629extern bool BuildAdvLinkScript( int index );
22630
22631
22632} // End vsp namespace
22633
22634#endif // !defined(VSPAPI__INCLUDED_)
Definition Vec3d.h:235
bool CheckForVSPAERO(const std::string &path)
bool CheckForVSPHelp(const std::string &path)
int GetVSPVersionChange()
std::string GetVSPVersion()
int GetVSPVersionMinor()
bool SetVSPHelpPath(const std::string &path)
std::string GetVSPHelpPath()
bool SetVSPAEROPath(const std::string &path)
std::string GetVSPExePath()
std::string GetVSPAEROPath()
int GetVSPVersionMajor()
void VSPRenew()
void VSPCheckSetup()
std::vector< std::string > GetAnalysisInputNames(const std::string &analysis)
const std::vector< int > & GetIntAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
void SetIntAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< int > &indata, int index=0)
void PrintAnalysisDocs(const std::string &analysis_name)
std::string ExecAnalysis(const std::string &analysis)
int GetNumAnalysis()
std::vector< std::string > ListAnalysis()
void SetVec3dAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< vec3d > &indata, int index=0)
void SetStringAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< std::string > &indata, int index=0)
void PrintAnalysisInputs(const std::string &analysis_name)
int GetAnalysisInputType(const std::string &analysis, const std::string &name)
void SetAnalysisInputDefaults(const std::string &analysis)
const std::vector< double > & GetDoubleAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
std::string GetAnalysisDoc(const std::string &analysis)
const std::vector< vec3d > & GetVec3dAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
void SetDoubleAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< double > &indata, int index=0)
std::string GetAnalysisInputDoc(const std::string &analysis, const std::string &name)
const std::vector< std::string > & GetStringAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
int GetNumAnalysisInputData(const std::string &analysis, const std::string &name)
vector< string > GetAttributeStringVal(const string &attrID)
string GetAttributeID(const string &collID, const string &attributeName, int index)
string GetAttributeName(const string &attrID)
vector< double > GetAttributeDoubleVal(const string &attrID)
void SetAttributeBool(const string &attrID, bool value)
void SetAttributeVec3d(const string &attrID, const vector< vec3d > value)
vector< string > FindAttributedObjects()
string AddAttributeInt(const string &collID, const string &attributeName, const int 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)
string AddAttributeDoubleMatrix(const string &collID, const string &attributeName, const vector< vector< double > > value)
vector< string > FindAllAttributes()
string AddAttributeVec3d(const string &collID, const string &attributeName, const vector< vec3d > value)
string AddAttributeDouble(const string &collID, const string &attributeName, const double value)
vector< string > FindAttributeNamesInCollection(const string &collID)
void SetAttributeName(const string &attrID, const string &name)
vector< vec3d > GetAttributeVec3dVal(const string &attrID)
vector< string > FindAttributesByName(const string &search_str)
string GetGeomSetCollection(const int &index)
string AddAttributeIntMatrix(const string &collID, const string &attributeName, const vector< vector< int > > value)
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)
void SetAttributeDoubleMatrix(const string &attrID, const vector< vector< double > > 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)
vector< string > GetAttributeParmName(const string &attrID)
string AddAttributeBool(const string &collID, const string &attributeName, bool value)
string GetObjectTypeName(const string &attachID)
string FindAttributeByName(const string &search_str, int index)
string GetAttributeDoc(const string &attrID)
string FindAttributeInCollection(const string &obj_id, const string &search_str, int index)
void SetAttributeDoc(const string &attrID, const string &doc)
void SetAttributeInt(const string &attrID, int value)
int GetObjectType(const string &attachID)
void SetBORAirfoilUpperPnts(const std::string &bor_id, const std::vector< vec3d > &up_pnt_vec)
void ReadBORFileAirfoil(const std::string &bor_id, const std::string &file_name)
void FitBORAfCST(const std::string &bor_id, int deg)
std::vector< double > GetBORLowerCSTCoefs(const std::string &bor_id)
vec3d ComputeBORXSecPnt(const std::string &bor_id, double fract)
std::vector< vec3d > GetBORAirfoilLowerPnts(const std::string &bor_id)
void SetBORXSecPnts(const std::string &bor_id, std::vector< vec3d > &pnt_vec)
void PromoteBORCSTUpper(const std::string &bor_id)
void SetBORUpperCST(const std::string &bor_id, int deg, const std::vector< double > &coefs)
void SetBORLowerCST(const std::string &bor_id, int deg, const std::vector< double > &coefs)
void ChangeBORXSecShape(const string &bor_id, int type)
vec3d ComputeBORXSecTan(const std::string &bor_id, double fract)
int GetBORUpperCSTDegree(const std::string &bor_id)
void DemoteBORCSTLower(const std::string &bor_id)
void PromoteBORCSTLower(const std::string &bor_id)
int GetBORXSecShape(const string &bor_id)
std::vector< double > GetBORUpperCSTCoefs(const std::string &bor_id)
std::vector< vec3d > ReadBORFileXSec(const std::string &bor_id, const std::string &file_name)
std::vector< vec3d > GetBORAirfoilUpperPnts(const std::string &bor_id)
void DemoteBORCSTUpper(const std::string &bor_id)
int GetBORLowerCSTDegree(const std::string &bor_id)
void SetBORAirfoilPnts(const std::string &bor_id, const std::vector< vec3d > &up_pnt_vec, const std::vector< vec3d > &low_pnt_vec)
void SetBORAirfoilLowerPnts(const std::string &bor_id, const std::vector< vec3d > &low_pnt_vec)
void SetBackground3DRelativePath(const string &id, const string &fname)
void ShowAllBackground3Ds()
int GetNumBackground3Ds()
string AddBackground3D()
vector< string > GetAllBackground3DAbsolutePaths()
vector< string > GetAllBackground3Ds()
string GetBackground3DRelativePath(const string &id)
void SetBackground3DAbsolutePath(const string &id, const string &fname)
void DelBackground3D(const string &id)
vector< string > GetAllBackground3DRelativePaths()
void DelAllBackground3Ds()
string GetBackground3DAbsolutePath(const string &id)
void HideAllBackground3Ds()
void AddCFDSource(int type, const std::string &geom_id, int surf_index, double l1, double r1, double u1, double w1, double l2=0, double r2=0, double u2=0, double w2=0)
void DeleteAllCFDSources()
void ComputeCFDMesh(int set, int degenset, int file_export_types)
void SetCFDWakeFlag(const std::string &geom_id, bool flag)
void AddDefaultSources()
void SetCFDMeshVal(int type, double val)
void SetComputationFileName(int file_type, const std::string &file_name)
void AddSelectedToCSGroup(const vector< int > &selected, int CSGroupIndex)
void SetVSPAEROControlGroupName(const string &name, int CSGroupIndex)
std::vector< std::string > GetActiveCSNameVec(int CSGroupIndex)
void RemoveSelectedFromCSGroup(const vector< int > &selected, int CSGroupIndex)
void AddAllToVSPAEROControlSurfaceGroup(int CSGroupIndex)
std::vector< std::string > GetAvailableCSNameVec(int CSGroupIndex)
int CreateVSPAEROControlSurfaceGroup()
int GetNumControlSurfaceGroups()
std::string GetVSPAEROControlGroupName(int CSGroupIndex)
std::vector< std::string > GetCompleteCSNameVec()
void RemoveAllFromVSPAEROControlSurfaceGroup(int CSGroupIndex)
void AutoGroupVSPAEROControlSurfaces()
std::string ComputeCompGeom(int set, bool half_mesh, int file_export_types)
std::string ComputeMassProps(int set, int num_slices, int idir)
std::string ComputePlaneSlice(int set, int num_slices, const vec3d &norm, bool auto_bnd, double start_bnd=0, double end_bnd=0, bool measureduct=false)
void ComputeDegenGeom(int set, int file_export_types)
void WriteDESFile(const std::string &file_name)
int GetNumDesignVars()
void AddDesignVar(const std::string &parm_id, int type)
void DeleteAllDesignVars()
void ReadApplyXDDMFile(const std::string &file_name)
void ReadApplyDESFile(const std::string &file_name)
void WriteXDDMFile(const std::string &file_name)
std::string GetDesignVar(int index)
int GetDesignVarType(int index)
void MoveEditXSecPnt(const std::string &xsec_id, const int &indx, const vec3d &new_pnt)
void EditXSecDelPnt(const std::string &xsec_id, const int &indx)
void EditXSecConvertTo(const std::string &xsec_id, const int &newtype)
std::vector< bool > GetEditXSecFixedUVec(const std::string &xsec_id)
void ConvertXSecToEdit(const std::string &geom_id, const int &indx=0)
void SetEditXSecFixedUVec(const std::string &xsec_id, std::vector< bool > fixed_u_vec)
std::vector< vec3d > GetEditXSecCtrlVec(const std::string &xsec_id, bool non_dimensional=true)
void SetEditXSecPnts(const std::string &xsec_id, const std::vector< double > &u_vec, const std::vector< vec3d > &control_pts, const std::vector< double > &r_vec)
int EditXSecSplit01(const std::string &xsec_id, const double &u)
std::vector< double > GetEditXSecUVec(const std::string &xsec_id)
void EditXSecInitShape(const std::string &xsec_id)
void ReparameterizeEditXSec(const std::string &xsec_id)
@ SET_NONE
@ SET_ALL
std::string GetFeaPartID(const std::string &fea_struct_id, int fea_part_index)
std::string GetFeaStructName(const std::string &geom_id, int fea_struct_ind)
std::vector< std::string > GetFeaSubSurfIDVec(const std::string &fea_struct_id)
void DeleteFeaPart(const std::string &geom_id, int fea_struct_ind, const std::string &part_id)
std::vector< std::string > GetFeaStructIDVec()
void DeleteFeaSubSurf(const std::string &geom_id, int fea_struct_ind, const std::string &ss_id)
int GetFeaSubSurfIndex(const string &ss_id)
int GetFeaPartType(const std::string &part_id)
int NumFeaParts(const std::string &fea_struct_id)
int NumFeaSubSurfs(const std::string &fea_struct_id)
void SetFeaMeshStructIndex(int struct_index)
void SetFeaMeshVal(const std::string &geom_id, int fea_struct_ind, int type, double val)
std::string AddFeaBC(const string &fea_struct_id, int type=-1)
void DeleteFeaStruct(const std::string &geom_id, int fea_struct_ind)
int GetFeaStructIndex(const std::string &struct_id)
void SetFeaSubSurfName(const std::string &subsurf_id, const std::string &name)
std::vector< std::string > GetFeaPartIDVec(const std::string &fea_struct_id)
std::string GetFeaStructParentGeomID(const std::string &struct_id)
void SetFeaPartName(const std::string &part_id, const std::string &name)
void SetFeaStructName(const std::string &geom_id, int fea_struct_ind, const std::string &name)
void ComputeFeaMesh(const std::string &geom_id, int fea_struct_ind, int file_type)
std::string GetFeaPartName(const std::string &part_id)
std::string GetFeaPartPerpendicularSparID(const std::string &part_id)
std::string AddFeaSubSurf(const std::string &geom_id, int fea_struct_ind, int type)
std::vector< std::string > GetFeaBCIDVec(const string &fea_struct_id)
int NumFeaStructures()
std::string AddFeaProperty(int property_type=0)
void SetFeaMeshFileName(const std::string &geom_id, int fea_struct_ind, int file_type, const string &file_name)
void SetFeaPartPerpendicularSparID(const std::string &part_id, const std::string &perpendicular_spar_id)
void DelFeaBC(const string &fea_struct_id, const std::string &bc_id)
std::string AddFeaMaterial()
std::string AddFeaPart(const std::string &geom_id, int fea_struct_ind, int type)
int NumFeaBCs(const string &fea_struct_id)
std::string GetFeaSubSurfName(const std::string &subsurf_id)
int AddFeaStruct(const std::string &geom_id, bool init_skin=true, int surfindex=0)
std::string GetFeaStructID(const std::string &geom_id, int fea_struct_ind)
void ReadVSPFile(const std::string &file_name)
void SetVSP3FileName(const std::string &file_name)
void SetBEMPropID(const string &prop_id)
std::string ImportFile(const std::string &file_name, int file_type, const std::string &parent)
void WriteVSPFile(const std::string &file_name, int set=SET_ALL)
void InsertVSPFile(const std::string &file_name, const std::string &parent_geom_id)
std::string ExportFile(const std::string &file_name, int thick_set, int file_type, int subsFlag=1, int thin_set=vsp::SET_NONE, bool useMode=false, const string &modeID="")
void DeleteGeom(const std::string &geom_id)
std::string GetGeomName(const std::string &geom_id)
std::vector< std::string > GetGeomTypes()
vec3d GetGeomBBoxMax(const std::string &geom_id, int main_surf_ind=0, bool ref_frame_is_absolute=true)
std::vector< std::string > GetGeomParmIDs(const std::string &geom_id)
int GetGeomVSPSurfType(const std::string &geom_id, int main_surf_ind=0)
std::vector< std::string > FindGeomsWithName(const std::string &name)
std::string FindGeom(const std::string &name, int index)
int GetTotalNumSurfs(const std::string &geom_id)
void UpdateGeom(const std::string &geom_id)
std::string GetGeomParent(const std::string &geom_id)
void SetDriverGroup(const std::string &geom_id, int section_index, int driver_0, int driver_1=-1, int driver_2=-1)
int GetNumMainSurfs(const std::string &geom_id)
std::vector< std::string > PasteGeomClipboard(const std::string &parent=std::string())
void 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)
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)
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 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)
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 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 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)
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)
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)
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)