OpenVSP API Documentation 3.44.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 "Defines.h"
210
211#include "APIErrorMgr.h"
212#include "APIUpdateCountMgr.h"
213#include "Vec3d.h"
214#include "Matrix4d.h"
215
216#include <string>
217#include <stack>
218#include <vector>
219
220
221using std::string;
222using std::stack;
223using std::vector;
224
225namespace vsp
226{
227
228//======================== API Functions ================================//
255
256extern void VSPCheckSetup();
257
289
290extern void VSPRenew();
291
292
333
334extern void Update( bool update_managers = true );
335
343
344extern void VSPExit( int error_code );
345
353
354extern void VSPCrash( int crash_type );
355
367
369
370
393
394extern std::string GetVSPVersion();
395
426
428
459
461
492
494
519
520extern std::string GetVSPExePath();
521
522
552
553extern bool SetVSPAEROPath( const std::string & path );
554
580
581extern std::string GetVSPAEROPath();
582
613
614extern bool CheckForVSPAERO( const std::string & path );
615
645
646extern bool SetVSPHelpPath( const std::string & path );
647
672
673extern std::string GetVSPHelpPath();
674
703
704extern bool CheckForVSPHelp( const std::string & path );
705
706extern void RegisterCFDMeshAnalyses();
707
708
709//======================== File I/O ================================//
768
769extern void ReadVSPFile( const std::string & file_name );
770
830
831extern void WriteVSPFile( const std::string & file_name, int set = SET_ALL );
832
891
892extern void SetVSP3FileName( const std::string & file_name );
893
938
939extern std::string GetVSPFileName();
940
966
967extern void ClearVSPModel();
968
978
979extern void InsertVSPFile( const std::string & file_name, const std::string & parent_geom_id );
980
981
1019
1020extern 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 = "" );
1021
1033
1034extern std::string ImportFile( const std::string & file_name, int file_type, const std::string & parent );
1035
1036
1066
1067extern void SetBEMPropID( const string & prop_id );
1068
1069
1070//======================== Design Files ================================//
1071
1079
1080extern void ReadApplyDESFile( const std::string & file_name );
1081
1089
1090extern void WriteDESFile( const std::string & file_name );
1091
1099
1100extern void ReadApplyXDDMFile( const std::string & file_name );
1101
1109
1110extern void WriteXDDMFile( const std::string & file_name );
1111
1119
1120extern int GetNumDesignVars();
1121
1131
1132extern void AddDesignVar( const std::string & parm_id, int type );
1133
1140
1142
1151
1152extern std::string GetDesignVar( int index );
1153
1163
1164extern int GetDesignVarType( int index );
1165
1166
1167//======================== Computations ================================//
1196
1197extern void SetComputationFileName( int file_type, const std::string & file_name );
1198
1239
1240extern std::string ComputeMassProps( int set, int num_slices, int idir );
1241
1280
1281extern std::string ComputeCompGeom( int set, bool half_mesh, int file_export_types );
1282
1329
1330extern std::string ComputePlaneSlice( int set, int num_slices, const vec3d & norm, bool auto_bnd,
1331
1332 double start_bnd = 0, double end_bnd = 0, bool measureduct = false );
1361
1362extern void ComputeDegenGeom( int set, int file_export_types );
1363
1395
1396extern void ComputeCFDMesh( int set, int degenset, int file_export_types );
1397
1418
1419extern void SetCFDMeshVal( int type, double val );
1420
1454
1455extern void SetCFDWakeFlag( const std::string & geom_id, bool flag );
1456
1484
1486
1510
1511extern void AddDefaultSources();
1512
1548
1549extern void AddCFDSource( int type, const std::string & geom_id, int surf_index,
1550
1551 double l1, double r1, double u1, double w1,
1552 double l2 = 0, double r2 = 0, double u2 = 0, double w2 = 0 );
1553
1561
1562extern string GetVSPAERORefWingID();
1563
1620
1621extern string SetVSPAERORefWingID( const std::string & geom_id );
1622
1623
1624//======================== Analysis ================================//
1625
1648
1649extern int GetNumAnalysis();
1650
1682
1683extern std::vector<std::string> ListAnalysis();
1684
1721
1722extern std::vector<std::string> GetAnalysisInputNames( const std::string & analysis );
1723
1747
1748extern std::string GetAnalysisDoc( const std::string & analysis );
1749
1765
1766extern std::string GetAnalysisInputDoc( const std::string & analysis, const std::string & name );
1767
1791
1792extern std::string ExecAnalysis( const std::string & analysis );
1793
1794
1804
1805extern int GetNumAnalysisInputData( const std::string & analysis, const std::string & name );
1806
1841
1842extern int GetAnalysisInputType( const std::string & analysis, const std::string & name );
1843
1882
1883extern const std::vector< int > & GetIntAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1884
1915
1916extern const std::vector< double > & GetDoubleAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1917
1948
1949extern const std::vector<std::string> & GetStringAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1950
1983
1984extern const std::vector< vec3d > & GetVec3dAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1985
1986
2013
2014extern void SetAnalysisInputDefaults( const std::string & analysis );
2015
2054
2055extern void SetIntAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< int > & indata, int index = 0 );
2056
2097
2098extern void SetDoubleAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< double > & indata, int index = 0 );
2099
2130
2131extern void SetStringAnalysisInput( const std::string & analysis, const std::string & name, const std::vector<std::string> & indata, int index = 0 );
2132
2165
2166extern void SetVec3dAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< vec3d > & indata, int index = 0 );
2167
2168
2195
2196extern void PrintAnalysisInputs( const std::string & analysis_name );
2197
2224
2225extern void PrintAnalysisDocs( const std::string & analysis_name );
2226
2227//======================== Attributes ================================//
2228
2252
2253extern string SummarizeAttributes();
2254
2277
2279
2307
2308extern vector < string > FindAllAttributes();
2309
2310
2311
2340
2341extern vector < string > FindAttributesByName( const string & search_str );
2342
2367
2368extern string FindAttributeByName( const string & search_str, int index );
2369
2398
2399extern string FindAttributeInCollection( const string & obj_id, const string & search_str, int index );
2400
2433
2434extern vector< string > FindAttributeNamesInCollection(const string & collID );
2435
2468
2469extern vector< string > FindAttributesInCollection(const string & collID );
2470
2499
2500extern vector< string > FindAttributedObjects();
2501
2532
2533extern int GetObjectType(const string & attachID);
2534
2564
2565extern string GetObjectTypeName(const string & attachID);
2566
2597
2598extern string GetObjectName(const string & attachID);
2599
2600
2654
2655extern string GetObjectParent( const string & id );
2656
2685
2686extern string GetChildCollection(const string & attachID );
2687
2711
2712extern string GetGeomSetCollection( const int & index );
2713
2748
2749extern string GetAttributeName( const string & attrID );
2750
2790
2791extern string GetAttributeID(const string & collID, const string & attributeName, int index);
2792
2820
2821extern string GetAttributeDoc(const string & attrID);
2822
2861
2862extern int GetAttributeType( const string & attrID );
2863
2892
2893extern string GetAttributeTypeName(const string & attrID);
2894
2940
2941extern vector< int > GetAttributeBoolVal(const string & attrID);
2942
2988
2989extern vector< int > GetAttributeIntVal(const string & attrID);
2990
3035
3036extern vector< double > GetAttributeDoubleVal(const string & attrID);
3037
3082
3083extern vector< string > GetAttributeStringVal(const string & attrID);
3084
3142
3143extern vector< string > GetAttributeParmID(const string & attrID);
3144
3204
3205extern vector < double > GetAttributeParmVal( const string &attrID );
3206
3265
3266extern vector < string > GetAttributeParmName( const string &attrID );
3267
3316
3317extern vector< vec3d > GetAttributeVec3dVal(const string & attrID);
3318
3372
3373extern vector< vector < int > > GetAttributeIntMatrixVal(const string & attrID);
3374
3422
3423extern vector< vector < double > > GetAttributeDoubleMatrixVal(const string & attrID);
3424
3477
3478extern void SetAttributeName( const string & attrID, const string & name );
3479
3533
3534
3535extern void SetAttributeDoc( const string & attrID, const string & doc );
3536
3589
3590extern void SetAttributeBool( const string & attrID, bool value );
3591
3644
3645extern void SetAttributeInt( const string & attrID, int value );
3646
3702
3703extern void SetAttributeDouble( const string & attrID, double value );
3704
3758
3759extern void SetAttributeString( const string & attrID, const string & value );
3760
3824
3825extern void SetAttributeParmID( const string & attrID, const string & value );
3826
3880
3881extern void SetAttributeVec3d( const string & attrID, const vector < vec3d > & value );
3882
3939
3940extern void SetAttributeIntMatrix( const string & attrID, const vector < vector < int > > & value );
3941
3998
3999extern void SetAttributeDoubleMatrix( const string & attrID, const vector< vector< double > > & value );
4000
4076
4077extern void DeleteAttribute( const string & attrID );
4078
4126
4127extern string AddAttributeBool( const string & collID, const string & attributeName, bool value );
4128
4177
4178extern string AddAttributeInt( const string & collID, const string & attributeName, int value );
4179
4230
4231extern string AddAttributeDouble( const string & collID, const string & attributeName, double value );
4232
4282
4283extern string AddAttributeString( const string & collID, const string & attributeName, const string & value );
4284
4345
4346extern string AddAttributeParm( const string &collID, const string &attributeName, const string &parmID );
4347
4400
4401extern string AddAttributeVec3d( const string & collID, const string & attributeName, const vector < vec3d > & value );
4402
4457
4458extern string AddAttributeIntMatrix( const string & collID, const string & attributeName, const vector < vector < int > > & value );
4459
4514
4515extern string AddAttributeDoubleMatrix( const string & collID, const string & attributeName, const vector < vector < double > > & value );
4516
4562
4563extern string AddAttributeGroup( const string & collID, const string & attributeName );
4564
4612
4613extern int CopyAttribute( const string & attrID );
4614
4684
4685extern void CutAttribute( const string & attrID );
4686
4771
4772extern vector < string > PasteAttribute( const string & coll_id );
4773
4774//======================== Results ================================//
4810
4811extern std::vector<std::string> GetAllResultsNames();
4812
4846
4847extern std::vector<std::string> GetAllDataNames( const std::string & results_id );
4848
4874
4875extern int GetNumResults( const std::string & name );
4876
4916
4917extern std::string GetResultsName(const std::string & results_id );
4918
4958
4959extern std::string GetResultsSetDoc( const std::string & results_id );
4960
4961extern std::string GetResultsEntryDoc( const std::string & results_id, const std::string & data_name );
4962
4993
4994extern std::string FindResultsID( const std::string & name, int index = 0 );
4995
5032
5033extern std::string FindLatestResultsID( const std::string & name );
5034
5081
5082extern int GetNumData( const std::string & results_id, const std::string & data_name );
5083
5124
5125extern int GetResultsType( const std::string & results_id, const std::string & data_name );
5126
5174
5175extern const std::vector< int > & GetIntResults( const std::string & id, const std::string & name, int index = 0 );
5176
5214
5215extern const std::vector< double > & GetDoubleResults( const std::string & id, const std::string & name, int index = 0 );
5216
5227
5228extern const std::vector< std::vector< double > > & GetDoubleMatResults( const std::string & id, const std:: string & name, int index = 0 );
5229
5265
5266extern const std::vector<std::string> & GetStringResults( const std::string & id, const std::string & name, int index = 0 );
5267
5323
5324extern const std::vector< vec3d > & GetVec3dResults( const std::string & id, const std::string & name, int index = 0 );
5325
5366
5367extern std::string CreateGeomResults( const std::string & geom_id, const std::string & name );
5368
5406
5407extern void DeleteAllResults();
5408
5447
5448extern void DeleteResult( const std::string & id );
5449
5483
5484extern void WriteResultsCSVFile( const std::string & id, const std::string & file_name );
5485
5520
5521extern void PrintResults( const std::string &results_id );
5522
5557
5558extern void PrintResultsDocs( const std::string &results_id );
5559
5593
5594extern void WriteTestResults();
5595
5596//======================== GUI Functions ================================//
5597
5618
5619extern void InitGUI();
5620
5643
5644extern void StartGUI();
5645
5678
5680
5709
5711
5742
5743extern void StopGUI();
5744
5771
5772extern void PopupMsg( const std::string &msg );
5773
5812
5813extern void UpdateGUI();
5814
5847
5848extern bool IsGUIBuild();
5849
5896
5897extern void Lock( );
5898
5942
5943extern void Unlock( );
5944
5945
5976
5977extern bool IsEventLoopRunning( );
5978
6011
6012extern void ScreenGrab( const string & fname, int w, int h, bool transparentBG, bool autocrop = false );
6013
6032
6033extern void SetViewAxis( bool vaxis );
6034
6053
6054extern void SetShowBorders( bool brdr );
6055
6080
6081extern void SetGeomDrawType(const string &geom_id, int type);
6082
6108
6109extern void SetGeomWireColor( const string &geom_id, int r, int g, int b );
6110
6135
6136extern void SetGeomDisplayType(const string &geom_id, int type);
6137
6160
6161extern void SetGeomMaterialName( const string &geom_id, const string &name );
6162
6194
6195extern void AddMaterial( const string &name, const vec3d & ambient, const vec3d & diffuse, const vec3d & specular, const vec3d & emissive, const double & alpha, const double & shininess );
6196
6223
6224extern vector < string > GetMaterialNames();
6225
6246
6247extern void SetBackground( double r, double g, double b );
6248
6267
6268extern void SetAllViews( int view );
6269
6289
6290extern void SetView( int viewport, int view );
6291
6309
6310extern void FitAllViews();
6311
6329
6330extern void ResetViews();
6331
6351
6352extern void SetWindowLayout( int r, int c );
6353
6372
6373extern void SetGUIElementDisable( int e, bool state );
6374
6393
6394extern void SetGUIScreenDisable( int s, bool state );
6395
6414extern void SetGeomScreenDisable( int s, bool state );
6415
6433
6434extern void HideScreen( int s );
6435
6453
6454extern void ShowScreen( int s );
6455
6456
6457//======================== Geom Functions ================================//
6488
6489extern std::vector<std::string> GetGeomTypes();
6490
6513
6514extern std::string AddGeom( const std::string & type, const std::string & parent = std::string() );
6515
6551
6552extern void UpdateGeom( const std::string & geom_id );
6553
6584
6585extern void DeleteGeom( const std::string & geom_id );
6586
6619
6620extern void DeleteGeomVec( const std::vector< std::string > & del_vec );
6621
6661
6662extern void CutGeomToClipboard( const std::string & geom_id );
6663
6703
6704extern void CopyGeomToClipboard( const std::string & geom_id );
6705
6745
6746extern std::vector<std::string> PasteGeomClipboard( const std::string & parent = std::string() );
6747
6780
6781extern std::vector<std::string> FindGeoms();
6782
6821
6822extern std::vector<std::string> FindGeomsWithName( const std::string & name );
6823
6867
6868extern std::string FindGeom( const std::string & name, int index );
6869
6907
6908extern void SetGeomName( const std::string & geom_id, const std::string & name );
6909
6943
6944extern std::string GetGeomName( const std::string & geom_id );
6945
6979
6980extern std::vector<std::string> GetGeomParmIDs( const std::string & geom_id );
6981
7011
7012extern std::string GetGeomTypeName( const std::string & geom_id );
7013
7045
7046extern std::string GetParm( const std::string & geom_id, const std::string & name, const std::string & group );
7047
7099
7100extern void SetGeomParent( const std::string& geom_id, const std::string& parent_id );
7101
7135
7136extern std::string GetGeomParent( const std::string& geom_id );
7137
7186
7187extern std::vector< std::string > GetGeomChildren( const std::string& geom_id );
7188
7218
7219extern int GetNumXSecSurfs( const std::string & geom_id );
7220
7259
7260extern int GetNumMainSurfs( const std::string & geom_id );
7261
7300
7301extern int GetTotalNumSurfs( const std::string& geom_id );
7302
7334
7335extern int GetGeomVSPSurfType( const std::string& geom_id, int main_surf_ind = 0 );
7336
7368
7369extern int GetGeomVSPSurfCfdType( const std::string& geom_id, int main_surf_ind = 0 );
7370
7410
7411extern vec3d GetGeomBBoxMax( const std::string& geom_id, int main_surf_ind = 0, bool ref_frame_is_absolute = true );
7412
7452
7453extern vec3d GetGeomBBoxMin( const std::string& geom_id, int main_surf_ind = 0, bool ref_frame_is_absolute = true );
7454
7455
7456//======================== SubSurface Functions ================================//
7489
7490extern std::string AddSubSurf( const std::string & geom_id, int type, int surfindex = 0 );
7491
7532
7533extern std::string GetSubSurf( const std::string & geom_id, int index );
7534
7575
7576extern std::vector<std::string> GetSubSurf( const std::string & geom_id, const std::string & name );
7577
7623
7624extern void DeleteSubSurf( const std::string & geom_id, const std::string & sub_id );
7625
7670
7671extern void DeleteSubSurf( const std::string & sub_id );
7672
7705
7706extern void SetSubSurfName(const std::string & geom_id, const std::string & sub_id, const std::string & name);
7707
7739
7740extern void SetSubSurfName( const std::string & sub_id, const std::string & name );
7741
7778
7779extern std::string GetSubSurfName( const std::string & geom_id, const std::string & sub_id );
7780
7816
7817extern std::string GetSubSurfName( const std::string & sub_id );
7818
7856
7857extern int GetSubSurfIndex( const std::string & sub_id );
7858
7921
7922extern std::vector<std::string> GetSubSurfIDVec( const std::string & geom_id );
7923
7931
7932extern std::vector<std::string> GetAllSubSurfIDs();
7933
7971
7972extern int GetNumSubSurf( const std::string & geom_id );
7973
8037
8038extern int GetSubSurfType( const std::string & sub_id );
8039
8084
8085extern std::vector<std::string> GetSubSurfParmIDs( const std::string & sub_id );
8086
8087
8118
8119extern int AddFeaStruct( const std::string & geom_id, bool init_skin = true, int surfindex = 0 );
8120
8156
8157extern void SetFeaMeshStructIndex( int struct_index );
8158
8194
8195extern void DeleteFeaStruct( const std::string & geom_id, int fea_struct_ind );
8196
8229
8230extern std::string GetFeaStructID( const std::string & geom_id, int fea_struct_ind );
8231
8275
8276extern int GetFeaStructIndex( const std::string & struct_id );
8277
8315
8316extern std::string GetFeaStructParentGeomID( const std::string & struct_id );
8317
8361
8362extern std::string GetFeaStructName( const std::string & geom_id, int fea_struct_ind );
8363
8411
8412extern void SetFeaStructName( const std::string & geom_id, int fea_struct_ind, const std::string & name );
8413
8449
8450extern std::vector< std::string > GetFeaStructIDVec();
8451
8490
8491extern void SetFeaPartName( const std::string & part_id, const std::string & name );
8492
8537
8538extern std::string AddFeaPart( const std::string & geom_id, int fea_struct_ind, int type );
8539
8586
8587extern void DeleteFeaPart( const std::string & geom_id, int fea_struct_ind, const std::string & part_id );
8588
8640
8641extern std::string GetFeaPartID( const std::string & fea_struct_id, int fea_part_index );
8642
8692
8693extern std::string GetFeaPartName( const std::string & part_id );
8694
8738
8739extern int GetFeaPartType( const std::string & part_id );
8740
8785
8786extern std::vector< std::string > GetFeaPartIDVec( const std::string & fea_struct_id );
8787
8832
8833extern std::vector< std::string > GetFeaSubSurfIDVec( const std::string & fea_struct_id );
8834
8903
8904extern void SetFeaPartPerpendicularSparID( const std::string& part_id, const std::string& perpendicular_spar_id );
8905
8973
8974extern std::string GetFeaPartPerpendicularSparID( const std::string& part_id );
8975
9014
9015extern void SetFeaSubSurfName( const std::string & subsurf_id, const std::string & name );
9016
9064
9065extern std::string GetFeaSubSurfName( const std::string & subsurf_id );
9066
9111
9112extern std::string AddFeaSubSurf( const std::string & geom_id, int fea_struct_ind, int type );
9113
9160
9161extern void DeleteFeaSubSurf( const std::string & geom_id, int fea_struct_ind, const std::string & ss_id );
9162
9217
9218extern int GetFeaSubSurfIndex( const string & ss_id );
9219
9257
9258extern int NumFeaStructures();
9259
9309
9310extern int NumFeaParts( const std::string & fea_struct_id );
9311
9360
9361extern int NumFeaSubSurfs( const std::string & fea_struct_id );
9362
9403
9404extern std::string AddFeaBC( const string & fea_struct_id, int type = -1 );
9405
9449
9450extern void DelFeaBC( const string & fea_struct_id, const std::string &bc_id );
9451
9495
9496extern std::vector< std::string > GetFeaBCIDVec( const string & fea_struct_id );
9497
9541
9542extern int NumFeaBCs( const string & fea_struct_id );
9543
9568
9569extern std::string AddFeaMaterial();
9570
9598
9599extern std::string AddFeaProperty( int property_type = 0 );
9600
9642
9643extern void SetFeaMeshVal( const std::string & geom_id, int fea_struct_ind, int type, double val );
9644
9694
9695extern void SetFeaMeshFileName( const std::string & geom_id, int fea_struct_ind, int file_type, const string & file_name );
9696
9747
9748extern void ComputeFeaMesh( const std::string & geom_id, int fea_struct_ind, int file_type );
9749
9799
9800extern void ComputeFeaMesh( const std::string & struct_id, int file_type );
9801
9859
9860extern void SetXSecAlias( const string & id, const string & alias );
9861
9919
9920extern string GetXSecAlias( const string & id );
9921
9979
9980extern void SetXSecCurveAlias( const string & id, const string & alias );
9981
10038
10039extern string GetXSecCurveAlias( const string & id );
10040
10079
10080extern void CutXSec( const std::string & geom_id, int index );
10081
10116
10117extern void CopyXSec( const std::string & geom_id, int index );
10118
10153
10154extern void PasteXSec( const std::string & geom_id, int index );
10155
10183
10184extern void InsertXSec( const std::string & geom_id, int index, int type );
10185
10186
10187//======================== Wing Section Functions ===================//
10188
10218
10219extern void SplitWingXSec( const string & wing_id, int section_index );
10220
10268
10269extern void SetDriverGroup( const std::string & geom_id, int section_index, int driver_0, int driver_1 = -1, int driver_2 = -1 );
10270
10271
10272//======================== XSecSurf ================================//
10301
10302extern std::string GetXSecSurf( const std::string & geom_id, int index );
10303
10354
10355extern int GetNumXSec( const std::string & xsec_surf_id );
10356
10391
10392extern std::string GetXSec( const std::string & xsec_surf_id, int xsec_index );
10393
10443
10444extern void ChangeXSecShape( const std::string & xsec_surf_id, int xsec_index, int type );
10445
10454
10455extern void SetXSecSurfGlobalXForm( const std::string & xsec_surf_id, const Matrix4d & mat );
10456
10465
10466extern Matrix4d GetXSecSurfGlobalXForm( const std::string & xsec_surf_id );
10467
10468
10469//======================== XSec ================================//
10510
10511extern int GetXSecShape( const std::string& xsec_id );
10512
10551
10552extern double GetXSecWidth( const std::string& xsec_id );
10553
10592
10593extern double GetXSecHeight( const std::string& xsec_id );
10594
10635
10636extern void SetXSecWidthHeight( const std::string& xsec_id, double w, double h );
10637
10676
10677extern void SetXSecWidth( const std::string& xsec_id, double w );
10678
10717
10718extern void SetXSecHeight( const std::string& xsec_id, double h );
10719
10757
10758extern std::vector<std::string> GetXSecParmIDs( const std::string& xsec_id );
10759
10802
10803extern std::string GetXSecParm( const std::string& xsec_id, const std::string& name );
10804
10844
10845extern std::vector<vec3d> ReadFileXSec( const std::string& xsec_id, const std::string& file_name );
10846
10899
10900extern void SetXSecPnts( const std::string& xsec_id, std::vector< vec3d > & pnt_vec );
10901
10943
10944extern vec3d ComputeXSecPnt( const std::string& xsec_id, double fract );
10945
10986
10987extern vec3d ComputeXSecTan( const std::string& xsec_id, double fract );
10988
11029
11030extern void ResetXSecSkinParms( const std::string& xsec_id );
11031
11072
11073extern void SetXSecContinuity( const std::string& xsec_id, int cx );
11074
11124
11125extern void SetXSecTanAngles( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
11126
11176
11177extern void SetXSecTanSlews( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
11178
11230
11231extern void SetXSecTanStrengths( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
11232
11284
11285extern void SetXSecCurvatures( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
11286
11324
11325extern void ReadFileAirfoil( const std::string& xsec_id, const std::string& file_name );
11326
11381
11382extern void SetAirfoilUpperPnts( const std::string& xsec_id, const std::vector< vec3d > & up_pnt_vec );
11383
11438
11439extern void SetAirfoilLowerPnts( const std::string& xsec_id, const std::vector< vec3d > & low_pnt_vec );
11440
11504
11505extern void SetAirfoilPnts( const std::string& xsec_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
11506
11554
11555extern std::vector<vec3d> GetHersheyBarLiftDist( const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag = false );
11556
11604
11605extern std::vector<vec3d> GetHersheyBarDragDist( const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag = false );
11606
11658
11659extern std::vector<vec3d> GetVKTAirfoilPnts( const int &npts, const double &alpha, const double &epsilon, const double &kappa, const double &tau );
11660
11713
11714extern std::vector<double> GetVKTAirfoilCpDist( const double &alpha, const double &epsilon, const double &kappa, const double &tau, const std::vector<vec3d> &xyz_data );
11715
11729
11730extern std::vector<vec3d> GetEllipsoidSurfPnts( const vec3d &center, const vec3d &abc_rad, int u_npts = 20, int w_npts = 20 );
11731
11740
11741extern std::vector<vec3d> GetFeatureLinePnts( const string& geom_id );
11742
11824
11825extern std::vector<double> GetEllipsoidCpDist( const std::vector<vec3d> &surf_pnt_vec, const vec3d &abc_rad, const vec3d &V_inf );
11826
11827extern double IntegrateEllipsoidFlow( const vec3d &abc_rad, const int &abc_index );
11828
11871
11872extern std::vector<vec3d> GetAirfoilUpperPnts( const std::string& xsec_id );
11873
11916
11917extern std::vector<vec3d> GetAirfoilLowerPnts( const std::string& xsec_id );
11918
11928
11929extern std::vector<double> GetUpperCSTCoefs( const std::string& xsec_id );
11930
11940
11941extern std::vector<double> GetLowerCSTCoefs( const std::string& xsec_id );
11942
11952
11953extern int GetUpperCSTDegree( const std::string& xsec_id );
11954
11964
11965extern int GetLowerCSTDegree( const std::string& xsec_id );
11966
11977
11978extern void SetUpperCST( const std::string& xsec_id, int deg, const std::vector<double> &coefs );
11979
11990
11991extern void SetLowerCST( const std::string& xsec_id, int deg, const std::vector<double> &coefs );
11992
12001
12002extern void PromoteCSTUpper( const std::string& xsec_id );
12003
12012
12013extern void PromoteCSTLower( const std::string& xsec_id );
12014
12023
12024extern void DemoteCSTUpper( const std::string& xsec_id );
12025
12034
12035extern void DemoteCSTLower( const std::string& xsec_id );
12036
12046
12047extern void FitAfCST( const std::string & xsec_surf_id, int xsec_index, int deg );
12048
12049//======================== Background3D Functions ======================//
12050
12087
12088extern string AddBackground3D();
12089
12126
12128
12180
12181extern vector < string > GetAllBackground3Ds();
12182
12213
12215
12246
12248
12288
12290
12331
12332extern void DelBackground3D( const string &id );
12333
12374
12375extern vector < string > GetAllBackground3DRelativePaths();
12376
12416
12417extern vector < string > GetAllBackground3DAbsolutePaths();
12418
12454
12455extern string GetBackground3DRelativePath( const string &id );
12456
12491
12492extern string GetBackground3DAbsolutePath( const string &id );
12493
12529
12530extern void SetBackground3DRelativePath( const string &id, const string &fname );
12531
12566
12567extern void SetBackground3DAbsolutePath( const string &id, const string &fname );
12568
12569
12570//======================== RoutingGeom Functions ======================//
12626
12627extern int GetNumRoutingPts( const string &routing_id );
12628
12683
12684extern string AddRoutingPt( const string &routing_id, const string &geom_id, int surf_index );
12685
12752
12753extern string InsertRoutingPt( const string &routing_id, int index, const string &geom_id, int surf_index );
12754
12810
12811extern void DelRoutingPt( const string &routing_id, int index );
12812
12868
12869extern void DelAllRoutingPt( const string &routing_id );
12870
12927
12928extern int MoveRoutingPt( const string &routing_id, int index, int reorder_type );
12929
12986
12987extern string GetRoutingPtID( const string &routing_id, int index );
12988
13044
13045extern vector < string > GetAllRoutingPtIds( const string &routing_id );
13046
13102
13103extern string GetRoutingPtParentID( const string & pt_id );
13104
13160
13161extern void SetRoutingPtParentID( const string & pt_id, const string &parent_id );
13162
13221
13222extern vec3d GetMainRoutingPtCoord( const string &pt_id );
13223
13283
13284extern vec3d GetRoutingPtCoord( const string &routing_id, int index, int symm_index );
13285
13344
13345extern vector < vec3d > GetAllRoutingPtCoords( const string &routing_id, int symm_index );
13346
13347//======================== BOR Functions ======================//
13378
13379extern void ChangeBORXSecShape( const string & bor_id, int type );
13380
13410
13411extern int GetBORXSecShape( const string & bor_id );
13412
13443
13444extern std::vector<vec3d> ReadBORFileXSec( const std::string& bor_id, const std::string& file_name );
13445
13489
13490extern void SetBORXSecPnts( const std::string& bor_id, std::vector< vec3d > & pnt_vec );
13491
13524
13525extern vec3d ComputeBORXSecPnt( const std::string& bor_id, double fract );
13526
13557
13558extern vec3d ComputeBORXSecTan( const std::string& bor_id, double fract );
13559
13589
13590extern void ReadBORFileAirfoil( const std::string& bor_id, const std::string& file_name );
13591
13638
13639extern void SetBORAirfoilUpperPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec );
13640
13687
13688extern void SetBORAirfoilLowerPnts( const std::string& bor_id, const std::vector< vec3d > & low_pnt_vec );
13689
13745
13746extern void SetBORAirfoilPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
13747
13782
13783extern std::vector<vec3d> GetBORAirfoilUpperPnts( const std::string& bor_id );
13784
13819
13820extern std::vector<vec3d> GetBORAirfoilLowerPnts( const std::string& bor_id );
13821
13831
13832extern std::vector<double> GetBORUpperCSTCoefs( const std::string& bor_id );
13833
13843
13844extern std::vector<double> GetBORLowerCSTCoefs( const std::string& bor_id );
13845
13855
13856extern int GetBORUpperCSTDegree( const std::string& bor_id );
13857
13867
13868extern int GetBORLowerCSTDegree( const std::string& bor_id );
13869
13880
13881extern void SetBORUpperCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
13882
13893
13894extern void SetBORLowerCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
13895
13904
13905extern void PromoteBORCSTUpper( const std::string& bor_id );
13906
13915
13916extern void PromoteBORCSTLower( const std::string& bor_id );
13917
13926
13927extern void DemoteBORCSTUpper( const std::string& bor_id );
13928
13937
13938extern void DemoteBORCSTLower( const std::string& bor_id );
13939
13948
13949extern void FitBORAfCST( const std::string & bor_id, int deg );
13950
13951
13952//======================== FoilSurf Functions ======================//
13986
13987extern void WriteBezierAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
13988
14022
14023extern void WriteSeligAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
14024
14034
14035extern std::vector < vec3d > GetAirfoilCoordinates( const std::string & geom_id, const double &foilsurf_u );
14036
14037
14038//======================== Edit Curve XSec Functions ======================//
14086
14087extern void EditXSecInitShape( const std::string & xsec_id );
14088
14134
14135extern void EditXSecConvertTo( const std::string & xsec_id, const int & newtype );
14136
14192
14193extern std::vector < double > GetEditXSecUVec( const std::string& xsec_id );
14194
14243
14244extern std::vector < vec3d > GetEditXSecCtrlVec( const std::string & xsec_id, bool non_dimensional = true );
14245
14352
14353extern 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 );
14354
14420
14421extern void EditXSecDelPnt( const std::string & xsec_id, const int & indx );
14422
14487
14488extern int EditXSecSplit01( const std::string & xsec_id, const double & u );
14489
14569
14570extern void MoveEditXSecPnt( const std::string & xsec_id, const int & indx, const vec3d & new_pnt );
14571
14621
14622extern void ConvertXSecToEdit( const std::string & geom_id, const int & indx = 0 );
14623
14679
14680extern std::vector < bool > GetEditXSecFixedUVec( const std::string& xsec_id );
14681
14737
14738extern void SetEditXSecFixedUVec( const std::string& xsec_id, std::vector < bool > fixed_u_vec );
14739
14795
14796extern void ReparameterizeEditXSec( const std::string & xsec_id );
14797
14798
14799//======================== Sets ================================//
14819
14820extern int GetNumSets();
14821
14848
14849extern void SetSetName( int index, const std::string& name );
14850
14877
14878extern std::string GetSetName( int index );
14879
14912
14913extern std::vector<std::string> GetGeomSetAtIndex( int index );
14914
14946
14947extern std::vector<std::string> GetGeomSet( const std::string & name );
14948
14974
14975extern int GetSetIndex( const std::string & name );
14976
15009
15010extern bool GetSetFlag( const std::string & geom_id, int set_index );
15011
15044
15045extern void SetSetFlag( const std::string & geom_id, int set_index, bool flag );
15046
15090
15091extern void CopyPasteSet( int copyIndex, int pasteIndex );
15092
15128
15129extern bool GetBBoxSet( int set, double & xmin_out, double & ymin_out, double & zmin_out, double & xlen_out, double & ylen_out, double & zlen_out );
15130
15166
15167extern bool GetScaleIndependentBBoxSet( int set, double & xmin_out, double & ymin_out, double & zmin_out, double & xlen_out, double & ylen_out, double & zlen_out );
15168
15169//======================== Group Modifications ================================//
15201
15202extern void ScaleSet( int set_index, double scale );
15203
15237
15238extern void RotateSet( int set_index, double x_rot_deg, double y_rot_deg, double z_rot_deg );
15239
15271
15272extern void TranslateSet( int set_index, const vec3d &translation_vec );
15273
15311
15312extern 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 );
15313
15314
15315//======================== Parm Functions ================================//
15345
15346extern bool ValidParm( const std::string & id );
15347
15395
15396extern double SetParmVal( const std::string & parm_id, double val );
15397
15447
15448extern double SetParmVal( const std::string & geom_id, const std::string & name, const std::string & group, double val );
15449
15485
15486extern double SetParmValLimits( const std::string & parm_id, double val, double lower_limit, double upper_limit );
15487
15519
15520extern double SetParmValUpdate( const std::string & parm_id, double val );
15521
15555
15556extern double SetParmValUpdate( const std::string & geom_id, const std::string & parm_name, const std::string & parm_group_name, double val );
15557
15603
15604extern double GetParmVal( const std::string & parm_id );
15605
15653
15654extern double GetParmVal( const std::string & geom_id, const std::string & name, const std::string & group );
15655
15685
15686extern int GetIntParmVal( const std::string & parm_id );
15687
15717
15718extern bool GetBoolParmVal( const std::string & parm_id );
15719
15770
15771extern void SetParmUpperLimit( const std::string & parm_id, double val );
15772
15802
15803extern double GetParmUpperLimit( const std::string & parm_id );
15804
15855
15856extern void SetParmLowerLimit( const std::string & parm_id, double val );
15857
15887
15888extern double GetParmLowerLimit( const std::string & parm_id );
15889
15932
15933extern int GetParmType( const std::string & parm_id );
15934
15991
15992extern std::string GetParmName( const std::string & parm_id );
15993
16036
16037extern std::string GetParmGroupName( const std::string & parm_id );
16038
16081
16082extern std::string GetParmDisplayGroupName( const std::string & parm_id );
16083
16129
16130extern std::string GetParmContainer( const std::string & parm_id );
16131
16163
16164extern void SetParmDescript( const std::string & parm_id, const std::string & desc );
16165
16199
16200extern std::string GetParmDescript( const std::string & parm_id );
16201
16235
16236extern std::string FindParm( const std::string & parm_container_id, const std::string& parm_name, const std::string& group_name );
16237
16238
16239//======================== Parm Container Functions ======================//
16240
16276
16277extern std::vector<std::string> FindContainers();
16278
16302
16303extern std::vector<std::string> FindContainersWithName( const std::string & name );
16304
16328
16329extern std::string FindContainer( const std::string & name, int index );
16330
16354
16355extern std::string GetContainerName( const std::string & parm_container_id );
16356
16395
16396extern std::vector<std::string> FindContainerGroupNames( const std::string & parm_container_id );
16397
16454
16455extern std::vector<std::string> FindContainerParmIDs( const std::string & parm_container_id );
16456
16477
16478extern std::string GetVehicleID();
16479
16480
16481//======================== User Parm Functions ======================//
16502
16503extern int GetNumUserParms();
16504
16525
16527
16563
16564extern std::vector < std::string > GetAllUserParms();
16565
16584
16585extern std::string GetUserParmContainer();
16586
16617
16618extern string AddUserParm(int type, const string & name, const string & group );
16619
16649
16650extern void DeleteUserParm( const std::string & id );
16651
16669
16670extern void DeleteAllUserParm();
16671
16672
16673//======================== Snap To Functions ======================//
16716
16717extern double ComputeMinClearanceDistance( const std::string & geom_id, int set = SET_ALL, bool useMode = false, const string &modeID = string() );
16718 // TODO: Validate inc_flag description
16765
16766extern 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() );
16767
16768
16769//======================== Variable Preset Functions ======================//
16770
16796
16797extern string AddVarPresetGroup( const std::string &group_name );
16798
16830
16831extern string AddVarPresetSetting( const std::string &group_id, const std::string &setting_name );
16832
16870
16871extern void AddVarPresetParm( const std::string &group_id, const std::string &parm_id );
16872
16914
16915extern void DeleteVarPresetGroup( const std::string &group_id );
16916
16959
16960extern void DeleteVarPresetSetting( const std::string &group_id, const std::string &setting_id );
16961
17004
17005extern void DeleteVarPresetParm( const std::string &group_id, const std::string &parm_id );
17006
17051
17052extern void SetVarPresetParmVal( const std::string &group_id, const std::string &setting_id, const std::string &parm_id, double parm_val );
17053
17098
17099extern double GetVarPresetParmVal( const std::string &group_id, const std::string &setting_id, const std::string &parm_id );
17100
17131
17132extern std::string GetGroupName( const std::string &group_id );
17133
17168
17169extern std::string GetSettingName( const std::string &setting_id );
17170
17201
17202extern void SetGroupName( const std::string &group_id, const std::string &group_name );
17203
17238
17239extern void SetSettingName( const std::string &setting_id, const std::string &setting_name );
17240
17282
17283extern std::vector< std::string > GetVarPresetGroups();
17284
17327
17328extern std::vector< std::string > GetVarPresetSettings( const std::string &group_id );
17329
17372
17373extern std::vector< std::string > GetVarPresetParmIDs( const std::string &group_id );
17374
17418
17419extern std::vector< double > GetVarPresetParmVals( const std::string &setting_id );
17420
17467
17468extern void SetVarPresetParmVals( const std::string &setting_id, const std::vector< double > &parm_vals );
17469
17512
17513extern void SaveVarPresetParmVals( const std::string &group_id, const std::string &setting_id );
17514
17561
17562extern void ApplyVarPresetSetting( const std::string &group_id, const std::string &setting_id );
17563
17564//======================== Mode Functions ======================//
17565
17720
17721extern string CreateAndAddMode( const string & name, int normal_set, int degen_set );
17722
17878
17879extern int GetNumModes();
17880
18036
18037extern vector < string > GetAllModes();
18038
18194
18195extern void DelMode( const string &mid );
18196
18351
18352extern void DelAllModes();
18353
18505
18506extern void ApplyModeSettings( const string &mid );
18507
18663
18664extern void ShowOnlyMode( const string &mid );
18665
18819
18820extern void ModeAddGroupSetting( const string &mid, const string &gid, const string &sid );
18821
18979
18980extern string ModeGetGroup( const string &mid, int indx );
18981
19139
19140extern string ModeGetSetting( const string &mid, int indx );
19141
19298
19299extern vector < string > ModeGetAllGroups( const string &mid );
19300
19457
19458extern vector < string > ModeGetAllSettings( const string &mid );
19459
19616
19617extern void RemoveGroupSetting( const string &mid, int indx );
19618
19774
19775extern void RemoveAllGroupSettings( const string &mid );
19776
19777//======================== Parametric Curve Functions ======================//
19790
19791extern void SetPCurve( const std::string & geom_id, const int & pcurveid, const std::vector < double > & tvec,
19792
19793 const std::vector < double > & valvec, const int & newtype );
19804
19805extern void PCurveConvertTo( const std::string & geom_id, const int & pcurveid, const int & newtype );
19806
19817
19818extern int PCurveGetType( const std::string & geom_id, const int & pcurveid );
19819
19829
19830extern std::vector < double > PCurveGetTVec( const std::string & geom_id, const int & pcurveid );
19831
19841
19842extern std::vector < double > PCurveGetValVec( const std::string & geom_id, const int & pcurveid );
19843
19853
19854extern void PCurveDeletePt( const std::string & geom_id, const int & pcurveid, const int & indx );
19855
19866
19867extern int PCurveSplit( const std::string & geom_id, const int & pcurveid, const double & tsplit );
19868
19895
19896extern void ApproximateAllPropellerPCurves( const std::string & geom_id );
19897
19926
19927extern void ResetPropellerThicknessCurve( const std::string & geom_id );
19928
19929
19930//======================== VSPAERO Functions ======================//
20021
20023
20060
20062
20093
20094extern void AddAllToVSPAEROControlSurfaceGroup( int CSGroupIndex );
20095
20130
20131extern void RemoveAllFromVSPAEROControlSurfaceGroup( int CSGroupIndex );
20132
20183
20184extern std::vector < std::string > GetActiveCSNameVec( int CSGroupIndex );
20185
20229
20230extern std::vector < std::string > GetCompleteCSNameVec();
20231
20272
20273extern std::vector < std::string > GetAvailableCSNameVec( int CSGroupIndex );
20274
20314
20315extern void SetVSPAEROControlGroupName(const string & name, int CSGroupIndex);
20316
20355
20356extern std::string GetVSPAEROControlGroupName( int CSGroupIndex );
20357
20411
20412extern void AddSelectedToCSGroup( const vector <int> &selected, int CSGroupIndex);
20413
20476
20477extern void RemoveSelectedFromCSGroup( const vector <int> &selected, int CSGroupIndex);
20478
20533
20535
20536
20537//================ VSPAERO Actuator Disk and Unsteady Functions ==============//
20585
20586extern std::string FindActuatorDisk( int disk_index );
20587
20629
20631
20677
20678extern std::string FindUnsteadyGroup( int group_index );
20679
20714
20715extern std::string GetUnsteadyGroupName( int group_index );
20716
20759
20760extern std::vector < std::string > GetUnsteadyGroupCompIDs( int group_index );
20761
20804
20805extern std::vector < int > GetUnsteadyGroupSurfIndexes( int group_index );
20806
20857
20859
20911
20913
20914
20915//======================== Parasite Drag Tool Functions ======================//
20941
20942extern void AddExcrescence(const std::string & excresName, const int & excresType, const double & excresVal);
20943
20974
20975extern void DeleteExcrescence(const int & index);
20976
20983
20985
21011
21012extern void WriteAtmosphereCSVFile( const std::string & file_name, const int &atmos_type );
21013
21052
21053extern void CalcAtmosphere( const double & alt, const double & delta_temp, const int & atmos_type,
21054
21055 double & temp, double & pres, double & pres_ratio, double & rho_ratio );
21076
21077extern void WriteBodyFFCSVFile( const std::string & file_name );
21078
21099
21100extern void WriteWingFFCSVFile( const std::string & file_name );
21101 // TODO: Improve description
21122
21123extern void WriteCfEqnCSVFile( const std::string & file_name );
21124 // TODO: Improve description
21145
21146extern void WritePartialCfMethodCSVFile( const std::string & file_name );
21147
21148
21149//======================== Surface Query Functions ======================//
21192
21193extern vec3d CompPnt01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
21194
21237
21238extern vec3d CompNorm01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
21239
21282
21283extern vec3d CompTanU01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
21284
21327
21328extern vec3d CompTanW01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
21329
21379
21380extern void CompCurvature01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w,
21381 double &k1_out, double &k2_out, double &ka_out, double &kg_out);
21382
21445
21446extern double ProjPnt01(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &u_out, double &w_out);
21447
21517
21518extern double ProjPnt01I(const std::string &geom_id, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
21519
21589
21590extern 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);
21591
21592
21653
21654extern double AxisProjPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, double &u_out, double &w_out);
21655
21718
21719extern double AxisProjPnt01I(const std::string &geom_id, const int &iaxis, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
21720
21793
21794extern 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);
21795
21857
21858extern bool InsideSurf( const std::string &geom_id, const int &surf_indx, const vec3d &pt );
21859
21860
21906
21907extern vec3d CompPntRST( const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t );
21908
21964
21965extern double FindRST( const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &r_out, double &s_out, double &t_out );
21966
22034
22035extern 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 );
22036
22037
22084
22085extern 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 );
22086
22125
22126extern void ConvertRtoL( const std::string &geom_id, const int &surf_indx, const double &r, double &l_out );
22127
22174
22175extern 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 );
22214extern void ConvertLtoR( const std::string &geom_id, const int &surf_indx, const double &l, double &r_out );
22215
22253
22254extern void ConvertUtoEta( const std::string &geom_id, const double &u, double &eta_out );
22255
22293
22294extern void ConvertEtatoU( const std::string &geom_id, const double &eta, double &u_out );
22295
22296
22350
22351extern 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);
22352
22406
22407extern std::vector < vec3d > CompVecNorm01(const std::string &geom_id, const int &surf_indx, const std::vector < double > &us, const std::vector < double > &ws);
22408
22469
22470extern 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);
22471
22547
22548extern 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 );
22549
22647
22648extern 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 );
22649
22650
22751
22752extern 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 );
22753
22865
22866extern 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 );
22867
22940
22941extern std::vector < bool > VecInsideSurf( const std::string &geom_id, const int &surf_indx, const std::vector < vec3d > &pts );
22942
22943
23004
23005extern 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 );
23006
23078
23079extern 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 );
23080
23163
23164extern 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 );
23165
23166
23233
23234extern 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,
23235 std::vector < double > &l_out_vec, std::vector < double > &m_out_vec, std::vector < double > &n_out_vec );
23236
23302
23303extern 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,
23304 std::vector < double > &r_out_vec, std::vector < double > &s_out_vec, std::vector < double > &t_out_vec );
23305
23339
23340extern void GetUWTess01(const std::string &geom_id, const int &surf_indx, std::vector < double > &u_out_vec, std::vector < double > &w_out_vec);
23341
23342
23343//======================= Measure Functions ============================//
23391
23392extern string AddRuler( const string & startgeomid, int startsurfindx, double startu, double startw,
23393 const string & endgeomid, int endsurfindx, double endu, double endw, const string & name );
23449
23450extern std::vector < string > GetAllRulers();
23451
23498
23499extern void DelRuler( const string &id );
23500
23542
23543extern void DeleteAllRulers();
23544
23545
23581
23582extern string AddProbe( const string & geomid, int surfindx, double u, double w, const string & name );
23583
23622
23623extern std::vector < string > GetAllProbes();
23624
23665
23666extern void DelProbe( const string &id );
23667
23707
23708extern void DeleteAllProbes();
23709
23710
23711//======================= Advanced Link Functions ============================//
23712
23740
23741extern std::vector< std::string > GetAdvLinkNames();
23742
23789
23790extern int GetLinkIndex( const string & name );
23791
23855
23856extern void DelAdvLink( int index );
23857
23920
23921extern void DelAllAdvLinks();
23922
23967
23968extern void AddAdvLink( const string & name );
23969
24016
24017extern void AddAdvLinkInput( int index, const string & parm_id, const string & var_name );
24018
24065
24066extern void AddAdvLinkOutput( int index, const string & parm_id, const string & var_name );
24067
24125
24126extern void DelAdvLinkInput( int index, const string & var_name );
24127
24185
24186extern void DelAdvLinkOutput( int index, const string & var_name );
24187
24246
24247extern std::vector< std::string > GetAdvLinkInputNames( int index );
24248
24307
24308extern std::vector< std::string > GetAdvLinkInputParms( int index );
24309
24368
24369extern std::vector< std::string > GetAdvLinkOutputNames( int index );
24370
24429
24430extern std::vector< std::string > GetAdvLinkOutputParms( int index );
24431
24495
24496extern bool ValidateAdvLinkParms( int index );
24497
24543
24544extern void SetAdvLinkCode( int index, const string & code );
24545
24599
24600extern std::string GetAdvLinkCode( int index );
24601
24658
24659extern void SearchReplaceAdvLinkCode( int index, const string & from, const string & to );
24660
24720
24721extern bool BuildAdvLinkScript( int index );
24722
24723
24724} // End vsp namespace
24725
24726#endif // !defined(VSPAPI__INCLUDED_)
Definition Vec3d.h:236
bool CheckForVSPAERO(const std::string &path)
bool CheckForVSPHelp(const std::string &path)
int GetVSPVersionChange()
std::string GetVSPVersion()
int GetVSPVersionMinor()
bool SetVSPHelpPath(const std::string &path)
std::string GetVSPHelpPath()
bool SetVSPAEROPath(const std::string &path)
std::string GetVSPExePath()
std::string GetVSPAEROPath()
int GetVSPVersionMajor()
void VSPRenew()
void VSPCheckSetup()
std::vector< std::string > GetAnalysisInputNames(const std::string &analysis)
const std::vector< int > & GetIntAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
void SetIntAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< int > &indata, int index=0)
void PrintAnalysisDocs(const std::string &analysis_name)
std::string ExecAnalysis(const std::string &analysis)
int GetNumAnalysis()
std::vector< std::string > ListAnalysis()
void SetVec3dAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< vec3d > &indata, int index=0)
void SetStringAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< std::string > &indata, int index=0)
void PrintAnalysisInputs(const std::string &analysis_name)
int GetAnalysisInputType(const std::string &analysis, const std::string &name)
void SetAnalysisInputDefaults(const std::string &analysis)
const std::vector< double > & GetDoubleAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
std::string GetAnalysisDoc(const std::string &analysis)
const std::vector< vec3d > & GetVec3dAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
void SetDoubleAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< double > &indata, int index=0)
std::string GetAnalysisInputDoc(const std::string &analysis, const std::string &name)
const std::vector< std::string > & GetStringAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
int GetNumAnalysisInputData(const std::string &analysis, const std::string &name)
vector< string > GetAttributeStringVal(const string &attrID)
string GetAttributeID(const string &collID, const string &attributeName, int index)
string GetAttributeName(const string &attrID)
vector< double > GetAttributeDoubleVal(const string &attrID)
void SetAttributeDoubleMatrix(const string &attrID, const vector< vector< double > > &value)
void SetAttributeParmID(const string &attrID, const string &value)
void SetAttributeBool(const string &attrID, bool value)
vector< string > FindAttributedObjects()
void SetAttributeVec3d(const string &attrID, const vector< vec3d > &value)
string AddAttributeString(const string &collID, const string &attributeName, const string &value)
vector< int > GetAttributeIntVal(const string &attrID)
vector< vector< double > > GetAttributeDoubleMatrixVal(const string &attrID)
void DeleteAttribute(const string &attrID)
void SetAttributeDouble(const string &attrID, double value)
vector< string > FindAllAttributes()
vector< string > FindAttributeNamesInCollection(const string &collID)
string AddAttributeIntMatrix(const string &collID, const string &attributeName, const vector< vector< int > > &value)
void SetAttributeName(const string &attrID, const string &name)
vector< string > GetAttributeParmID(const string &attrID)
string AddAttributeInt(const string &collID, const string &attributeName, int value)
vector< vec3d > GetAttributeVec3dVal(const string &attrID)
vector< string > FindAttributesByName(const string &search_str)
string GetGeomSetCollection(const int &index)
vector< int > GetAttributeBoolVal(const string &attrID)
string SummarizeAttributesAsTree()
string GetObjectName(const string &attachID)
int CopyAttribute(const string &attrID)
string GetAttributeTypeName(const string &attrID)
string GetChildCollection(const string &attachID)
string SummarizeAttributes()
void CutAttribute(const string &attrID)
string GetObjectParent(const string &id)
void SetAttributeString(const string &attrID, const string &value)
string AddAttributeGroup(const string &collID, const string &attributeName)
vector< string > FindAttributesInCollection(const string &collID)
vector< double > GetAttributeParmVal(const string &attrID)
string AddAttributeParm(const string &collID, const string &attributeName, const string &parmID)
void SetAttributeIntMatrix(const string &attrID, const vector< vector< int > > &value)
vector< vector< int > > GetAttributeIntMatrixVal(const string &attrID)
vector< string > PasteAttribute(const string &coll_id)
int GetAttributeType(const string &attrID)
string AddAttributeDouble(const string &collID, const string &attributeName, double value)
vector< string > GetAttributeParmName(const string &attrID)
string AddAttributeBool(const string &collID, const string &attributeName, bool value)
string AddAttributeDoubleMatrix(const string &collID, const string &attributeName, const vector< vector< double > > &value)
string GetObjectTypeName(const string &attachID)
string AddAttributeVec3d(const string &collID, const string &attributeName, const vector< vec3d > &value)
string FindAttributeByName(const string &search_str, int index)
string GetAttributeDoc(const string &attrID)
string FindAttributeInCollection(const string &obj_id, const string &search_str, int index)
void SetAttributeDoc(const string &attrID, const string &doc)
void SetAttributeInt(const string &attrID, int value)
int GetObjectType(const string &attachID)
void SetBORAirfoilUpperPnts(const std::string &bor_id, const std::vector< vec3d > &up_pnt_vec)
void ReadBORFileAirfoil(const std::string &bor_id, const std::string &file_name)
void FitBORAfCST(const std::string &bor_id, int deg)
std::vector< double > GetBORLowerCSTCoefs(const std::string &bor_id)
vec3d ComputeBORXSecPnt(const std::string &bor_id, double fract)
std::vector< vec3d > GetBORAirfoilLowerPnts(const std::string &bor_id)
void SetBORXSecPnts(const std::string &bor_id, std::vector< vec3d > &pnt_vec)
void PromoteBORCSTUpper(const std::string &bor_id)
void SetBORUpperCST(const std::string &bor_id, int deg, const std::vector< double > &coefs)
void SetBORLowerCST(const std::string &bor_id, int deg, const std::vector< double > &coefs)
void ChangeBORXSecShape(const string &bor_id, int type)
vec3d ComputeBORXSecTan(const std::string &bor_id, double fract)
int GetBORUpperCSTDegree(const std::string &bor_id)
void DemoteBORCSTLower(const std::string &bor_id)
void PromoteBORCSTLower(const std::string &bor_id)
int GetBORXSecShape(const string &bor_id)
std::vector< double > GetBORUpperCSTCoefs(const std::string &bor_id)
std::vector< vec3d > ReadBORFileXSec(const std::string &bor_id, const std::string &file_name)
std::vector< vec3d > GetBORAirfoilUpperPnts(const std::string &bor_id)
void DemoteBORCSTUpper(const std::string &bor_id)
int GetBORLowerCSTDegree(const std::string &bor_id)
void SetBORAirfoilPnts(const std::string &bor_id, const std::vector< vec3d > &up_pnt_vec, const std::vector< vec3d > &low_pnt_vec)
void SetBORAirfoilLowerPnts(const std::string &bor_id, const std::vector< vec3d > &low_pnt_vec)
void SetBackground3DRelativePath(const string &id, const string &fname)
void ShowAllBackground3Ds()
int GetNumBackground3Ds()
string AddBackground3D()
vector< string > GetAllBackground3DAbsolutePaths()
vector< string > GetAllBackground3Ds()
string GetBackground3DRelativePath(const string &id)
void SetBackground3DAbsolutePath(const string &id, const string &fname)
void DelBackground3D(const string &id)
vector< string > GetAllBackground3DRelativePaths()
void DelAllBackground3Ds()
string GetBackground3DAbsolutePath(const string &id)
void HideAllBackground3Ds()
void AddCFDSource(int type, const std::string &geom_id, int surf_index, double l1, double r1, double u1, double w1, double l2=0, double r2=0, double u2=0, double w2=0)
void DeleteAllCFDSources()
void ComputeCFDMesh(int set, int degenset, int file_export_types)
void SetCFDWakeFlag(const std::string &geom_id, bool flag)
void AddDefaultSources()
void SetCFDMeshVal(int type, double val)
void SetComputationFileName(int file_type, const std::string &file_name)
void AddSelectedToCSGroup(const vector< int > &selected, int CSGroupIndex)
void SetVSPAEROControlGroupName(const string &name, int CSGroupIndex)
std::vector< std::string > GetActiveCSNameVec(int CSGroupIndex)
void RemoveSelectedFromCSGroup(const vector< int > &selected, int CSGroupIndex)
void AddAllToVSPAEROControlSurfaceGroup(int CSGroupIndex)
std::vector< std::string > GetAvailableCSNameVec(int CSGroupIndex)
int CreateVSPAEROControlSurfaceGroup()
int GetNumControlSurfaceGroups()
std::string GetVSPAEROControlGroupName(int CSGroupIndex)
std::vector< std::string > GetCompleteCSNameVec()
void RemoveAllFromVSPAEROControlSurfaceGroup(int CSGroupIndex)
void AutoGroupVSPAEROControlSurfaces()
std::string ComputeCompGeom(int set, bool half_mesh, int file_export_types)
std::string ComputeMassProps(int set, int num_slices, int idir)
std::string ComputePlaneSlice(int set, int num_slices, const vec3d &norm, bool auto_bnd, double start_bnd=0, double end_bnd=0, bool measureduct=false)
void ComputeDegenGeom(int set, int file_export_types)
void WriteDESFile(const std::string &file_name)
int GetNumDesignVars()
void AddDesignVar(const std::string &parm_id, int type)
void DeleteAllDesignVars()
void ReadApplyXDDMFile(const std::string &file_name)
void ReadApplyDESFile(const std::string &file_name)
void WriteXDDMFile(const std::string &file_name)
std::string GetDesignVar(int index)
int GetDesignVarType(int index)
void MoveEditXSecPnt(const std::string &xsec_id, const int &indx, const vec3d &new_pnt)
void EditXSecDelPnt(const std::string &xsec_id, const int &indx)
void EditXSecConvertTo(const std::string &xsec_id, const int &newtype)
std::vector< bool > GetEditXSecFixedUVec(const std::string &xsec_id)
void ConvertXSecToEdit(const std::string &geom_id, const int &indx=0)
void SetEditXSecFixedUVec(const std::string &xsec_id, std::vector< bool > fixed_u_vec)
std::vector< vec3d > GetEditXSecCtrlVec(const std::string &xsec_id, bool non_dimensional=true)
void SetEditXSecPnts(const std::string &xsec_id, const std::vector< double > &u_vec, const std::vector< vec3d > &control_pts, const std::vector< double > &r_vec)
int EditXSecSplit01(const std::string &xsec_id, const double &u)
std::vector< double > GetEditXSecUVec(const std::string &xsec_id)
void EditXSecInitShape(const std::string &xsec_id)
void ReparameterizeEditXSec(const std::string &xsec_id)
@ SET_NONE
@ SET_ALL
std::string GetFeaPartID(const std::string &fea_struct_id, int fea_part_index)
std::string GetFeaStructName(const std::string &geom_id, int fea_struct_ind)
std::vector< std::string > GetFeaSubSurfIDVec(const std::string &fea_struct_id)
void DeleteFeaPart(const std::string &geom_id, int fea_struct_ind, const std::string &part_id)
std::vector< std::string > GetFeaStructIDVec()
void DeleteFeaSubSurf(const std::string &geom_id, int fea_struct_ind, const std::string &ss_id)
int GetFeaSubSurfIndex(const string &ss_id)
int GetFeaPartType(const std::string &part_id)
int NumFeaParts(const std::string &fea_struct_id)
int NumFeaSubSurfs(const std::string &fea_struct_id)
void SetFeaMeshStructIndex(int struct_index)
void SetFeaMeshVal(const std::string &geom_id, int fea_struct_ind, int type, double val)
std::string AddFeaBC(const string &fea_struct_id, int type=-1)
void DeleteFeaStruct(const std::string &geom_id, int fea_struct_ind)
int GetFeaStructIndex(const std::string &struct_id)
void SetFeaSubSurfName(const std::string &subsurf_id, const std::string &name)
std::vector< std::string > GetFeaPartIDVec(const std::string &fea_struct_id)
std::string GetFeaStructParentGeomID(const std::string &struct_id)
void SetFeaPartName(const std::string &part_id, const std::string &name)
void SetFeaStructName(const std::string &geom_id, int fea_struct_ind, const std::string &name)
void ComputeFeaMesh(const std::string &geom_id, int fea_struct_ind, int file_type)
std::string GetFeaPartName(const std::string &part_id)
std::string GetFeaPartPerpendicularSparID(const std::string &part_id)
std::string AddFeaSubSurf(const std::string &geom_id, int fea_struct_ind, int type)
std::vector< std::string > GetFeaBCIDVec(const string &fea_struct_id)
int NumFeaStructures()
std::string AddFeaProperty(int property_type=0)
void SetFeaMeshFileName(const std::string &geom_id, int fea_struct_ind, int file_type, const string &file_name)
void SetFeaPartPerpendicularSparID(const std::string &part_id, const std::string &perpendicular_spar_id)
void DelFeaBC(const string &fea_struct_id, const std::string &bc_id)
std::string AddFeaMaterial()
std::string AddFeaPart(const std::string &geom_id, int fea_struct_ind, int type)
int NumFeaBCs(const string &fea_struct_id)
std::string GetFeaSubSurfName(const std::string &subsurf_id)
int AddFeaStruct(const std::string &geom_id, bool init_skin=true, int surfindex=0)
std::string GetFeaStructID(const std::string &geom_id, int fea_struct_ind)
void ReadVSPFile(const std::string &file_name)
void SetVSP3FileName(const std::string &file_name)
void SetBEMPropID(const string &prop_id)
std::string ImportFile(const std::string &file_name, int file_type, const std::string &parent)
void WriteVSPFile(const std::string &file_name, int set=SET_ALL)
void InsertVSPFile(const std::string &file_name, const std::string &parent_geom_id)
std::string ExportFile(const std::string &file_name, int thick_set, int file_type, int subsFlag=1, int thin_set=vsp::SET_NONE, bool useMode=false, const string &modeID="")
void DeleteGeom(const std::string &geom_id)
std::string GetGeomName(const std::string &geom_id)
std::vector< std::string > GetGeomTypes()
vec3d GetGeomBBoxMax(const std::string &geom_id, int main_surf_ind=0, bool ref_frame_is_absolute=true)
std::vector< std::string > GetGeomParmIDs(const std::string &geom_id)
int GetGeomVSPSurfType(const std::string &geom_id, int main_surf_ind=0)
std::vector< std::string > FindGeomsWithName(const std::string &name)
std::string FindGeom(const std::string &name, int index)
int GetTotalNumSurfs(const std::string &geom_id)
void UpdateGeom(const std::string &geom_id)
std::string GetGeomParent(const std::string &geom_id)
void SetDriverGroup(const std::string &geom_id, int section_index, int driver_0, int driver_1=-1, int driver_2=-1)
int GetNumMainSurfs(const std::string &geom_id)
std::vector< std::string > PasteGeomClipboard(const std::string &parent=std::string())
void SetGeomParent(const std::string &geom_id, const std::string &parent_id)
void CutGeomToClipboard(const std::string &geom_id)
std::vector< std::string > FindGeoms()
void SetGeomName(const std::string &geom_id, const std::string &name)
std::vector< std::string > GetGeomChildren(const std::string &geom_id)
std::string AddGeom(const std::string &type, const std::string &parent=std::string())
std::string GetGeomTypeName(const std::string &geom_id)
vec3d GetGeomBBoxMin(const std::string &geom_id, int main_surf_ind=0, bool ref_frame_is_absolute=true)
void CopyGeomToClipboard(const std::string &geom_id)
int GetGeomVSPSurfCfdType(const std::string &geom_id, int main_surf_ind=0)
void DeleteGeomVec(const std::vector< std::string > &del_vec)
void SplitWingXSec(const string &wing_id, int section_index)
void TranslateSet(int set_index, const vec3d &translation_vec)
void TransformSet(int set_index, const vec3d &translation_vec, double x_rot_deg, double y_rot_deg, double z_rot_deg, double scale, bool scale_translations_flag)
void ScaleSet(int set_index, double scale)
void RotateSet(int set_index, double x_rot_deg, double y_rot_deg, double z_rot_deg)
string AddProbe(const string &geomid, int surfindx, double u, double w, const string &name)
void DeleteAllRulers()
void DeleteAllProbes()
void DelProbe(const string &id)
string AddRuler(const string &startgeomid, int startsurfindx, double startu, double startw, const string &endgeomid, int endsurfindx, double endu, double endw, const string &name)
std::vector< string > GetAllProbes()
std::vector< string > GetAllRulers()
void DelRuler(const string &id)
int GetNumModes()
void ApplyModeSettings(const string &mid)
void RemoveAllGroupSettings(const string &mid)
vector< string > ModeGetAllSettings(const string &mid)
void DelMode(const string &mid)
void ShowOnlyMode(const string &mid)
vector< string > GetAllModes()
void ModeAddGroupSetting(const string &mid, const string &gid, const string &sid)
string ModeGetSetting(const string &mid, int indx)
string CreateAndAddMode(const string &name, int normal_set, int degen_set)
void DelAllModes()
vector< string > ModeGetAllGroups(const string &mid)
string ModeGetGroup(const string &mid, int indx)
void RemoveGroupSetting(const string &mid, int indx)
void SetPCurve(const std::string &geom_id, const int &pcurveid, const std::vector< double > &tvec, const std::vector< double > &valvec, const int &newtype)
std::vector< double > PCurveGetValVec(const std::string &geom_id, const int &pcurveid)
std::vector< double > PCurveGetTVec(const std::string &geom_id, const int &pcurveid)
void ApproximateAllPropellerPCurves(const std::string &geom_id)
void PCurveDeletePt(const std::string &geom_id, const int &pcurveid, const int &indx)
void ResetPropellerThicknessCurve(const std::string &geom_id)
int PCurveSplit(const std::string &geom_id, const int &pcurveid, const double &tsplit)
int PCurveGetType(const std::string &geom_id, const int &pcurveid)
void PCurveConvertTo(const std::string &geom_id, const int &pcurveid, const int &newtype)
void WriteBodyFFCSVFile(const std::string &file_name)
void AddExcrescence(const std::string &excresName, const int &excresType, const double &excresVal)
void UpdateParasiteDrag()
void WriteCfEqnCSVFile(const std::string &file_name)
void WritePartialCfMethodCSVFile(const std::string &file_name)
void WriteAtmosphereCSVFile(const std::string &file_name, const int &atmos_type)
void WriteWingFFCSVFile(const std::string &file_name)
void CalcAtmosphere(const double &alt, const double &delta_temp, const int &atmos_type, double &temp, double &pres, double &pres_ratio, double &rho_ratio)
void DeleteExcrescence(const int &index)
std::string GetVehicleID()
std::string GetUserParmContainer()
std::vector< std::string > FindContainerGroupNames(const std::string &parm_container_id)
std::vector< std::string > GetAllUserParms()
void DeleteAllUserParm()
void DeleteUserParm(const std::string &id)
std::string FindContainer(const std::string &name, int index)
std::vector< std::string > FindContainerParmIDs(const std::string &parm_container_id)
int GetNumUserParms()
int GetNumPredefinedUserParms()
std::vector< std::string > FindContainers()
std::vector< std::string > FindContainersWithName(const std::string &name)
std::string GetContainerName(const std::string &parm_container_id)
string AddUserParm(int type, const string &name, const string &group)
std::string FindParm(const std::string &parm_container_id, const std::string &parm_name, const std::string &group_name)
void SetParmUpperLimit(const std::string &parm_id, double val)
double GetParmLowerLimit(const std::string &parm_id)
std::string GetParmName(const std::string &parm_id)
int GetParmType(const std::string &parm_id)
bool ValidParm(const std::string &id)
std::string GetParmDescript(const std::string &parm_id)
int GetIntParmVal(const std::string &parm_id)
double SetParmVal(const std::string &parm_id, double val)
double SetParmValUpdate(const std::string &parm_id, double val)
double GetParmVal(const std::string &parm_id)
std::string GetParm(const std::string &geom_id, const std::string &name, const std::string &group)
void SetParmDescript(const std::string &parm_id, const std::string &desc)
double GetParmUpperLimit(const std::string &parm_id)
void SetParmLowerLimit(const std::string &parm_id, double val)
double SetParmValLimits(const std::string &parm_id, double val, double lower_limit, double upper_limit)
std::string GetParmDisplayGroupName(const std::string &parm_id)
bool GetBoolParmVal(const std::string &parm_id)
std::string GetParmGroupName(const std::string &parm_id)
std::string GetParmContainer(const std::string &parm_id)
int GetNumResults(const std::string &name)
int GetNumData(const std::string &results_id, const std::string &data_name)
void PrintResults(const std::string &results_id)
const std::vector< vec3d > & GetVec3dResults(const std::string &id, const std::string &name, int index=0)
std::vector< std::string > GetAllResultsNames()
void DeleteResult(const std::string &id)
std::string FindLatestResultsID(const std::string &name)
const std::vector< int > & GetIntResults(const std::string &id, const std::string &name, int index=0)
std::string GetResultsName(const std::string &results_id)
const std::vector< std::vector< double > > & GetDoubleMatResults(const std::string &id, const std::string &name, int index=0)
const std::vector< double > & GetDoubleResults(const std::string &id, const std::string &name, int index=0)
int GetResultsType(const std::string &results_id, const std::string &data_name)
std::string GetResultsSetDoc(const std::string &results_id)
std::vector< std::string > GetAllDataNames(const std::string &results_id)
void WriteResultsCSVFile(const std::string &id, const std::string &file_name)
std::string FindResultsID(const std::string &name, int index=0)
void DeleteAllResults()
void WriteTestResults()
void PrintResultsDocs(const std::string &results_id)
std::string CreateGeomResults(const std::string &geom_id, const std::string &name)
const std::vector< std::string > & GetStringResults(const std::string &id, const std::string &name, int index=0)
void CopyPasteSet(int copyIndex, int pasteIndex)
void SetSetName(int index, const std::string &name)
bool GetSetFlag(const std::string &geom_id, int set_index)
std::vector< std::string > GetGeomSet(const std::string &name)
int GetSetIndex(const std::string &name)
std::vector< std::string > GetGeomSetAtIndex(int index)
bool GetScaleIndependentBBoxSet(int set, double &xmin_out, double &ymin_out, double &zmin_out, double &xlen_out, double &ylen_out, double &zlen_out)
bool GetBBoxSet(int set, double &xmin_out, double &ymin_out, double &zmin_out, double &xlen_out, double &ylen_out, double &zlen_out)
int GetNumSets()
void SetSetFlag(const std::string &geom_id, int set_index, bool flag)
std::string GetSetName(int index)
double SnapParm(const std::string &parm_id, double target_min_dist, bool inc_flag, int set=SET_ALL, bool useMode=false, const string &modeID=string())
double ComputeMinClearanceDistance(const std::string &geom_id, int set=SET_ALL, bool useMode=false, const string &modeID=string())
int GetNumSubSurf(const std::string &geom_id)
std::vector< std::string > GetSubSurfIDVec(const std::string &geom_id)
std::string GetSubSurfName(const std::string &geom_id, const std::string &sub_id)
std::vector< std::string > GetAllSubSurfIDs()
std::string AddSubSurf(const std::string &geom_id, int type, int surfindex=0)
void 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 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)