OpenVSP API Documentation 3.45.0
Loading...
Searching...
No Matches
VSP_Geom_API.h
1//
2// This file is released under the terms of the NASA Open Source Agreement (NOSA)
3
4// version 1.3 as detailed in the LICENSE file which accompanies this software.
5//
6
7// API.h: interface for the Vehicle Class and Vehicle Mgr Singleton.
8// J.R Gloudemans
9//
11
198
199#if !defined(VSPAPI__INCLUDED_)
200#define VSPAPI__INCLUDED_
201
202#ifdef SWIG
203%feature("autodoc", 1);
204%feature("doxygen:ignore:forcpponly", range="end");
205%feature("doxygen:ignore:beginPythonOnly", range="end:endPythonOnly", contents="parse");
206
207#endif
208
209#include "APIDefines.h"
210
211#include <string>
212#include <stack>
213#include <vector>
214
215class vec3d;
216class Matrix4d;
217
218using std::string;
219using std::stack;
220using std::vector;
221
222namespace vsp
223{
224
225//======================== API Functions ================================//
252
253extern void VSPCheckSetup();
254
286
287extern void VSPRenew();
288
289
330
331extern void Update( bool update_managers = true );
332
340
341extern void VSPExit( int error_code );
342
350
351extern void VSPCrash( int crash_type );
352
364
366
367
390
391extern std::string GetVSPVersion();
392
423
425
456
458
489
491
516
517extern std::string GetVSPExePath();
518
519
549
550extern bool SetVSPAEROPath( const std::string & path );
551
577
578extern std::string GetVSPAEROPath();
579
610
611extern bool CheckForVSPAERO( const std::string & path );
612
642
643extern bool SetVSPHelpPath( const std::string & path );
644
669
670extern std::string GetVSPHelpPath();
671
700
701extern bool CheckForVSPHelp( const std::string & path );
702
703extern void RegisterCFDMeshAnalyses();
704
705
706//======================== File I/O ================================//
765
766extern void ReadVSPFile( const std::string & file_name );
767
827
828extern void WriteVSPFile( const std::string & file_name, int set = SET_ALL );
829
888
889extern void SetVSP3FileName( const std::string & file_name );
890
935
936extern std::string GetVSPFileName();
937
963
964extern void ClearVSPModel();
965
975
976extern void InsertVSPFile( const std::string & file_name, const std::string & parent_geom_id );
977
978
1016
1017extern 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 = "" );
1018
1030
1031extern std::string ImportFile( const std::string & file_name, int file_type, const std::string & parent );
1032
1033
1063
1064extern void SetBEMPropID( const string & prop_id );
1065
1066
1067//======================== Design Files ================================//
1068
1076
1077extern void ReadApplyDESFile( const std::string & file_name );
1078
1086
1087extern void WriteDESFile( const std::string & file_name );
1088
1096
1097extern void ReadApplyXDDMFile( const std::string & file_name );
1098
1106
1107extern void WriteXDDMFile( const std::string & file_name );
1108
1116
1117extern int GetNumDesignVars();
1118
1128
1129extern void AddDesignVar( const std::string & parm_id, int type );
1130
1137
1139
1148
1149extern std::string GetDesignVar( int index );
1150
1160
1161extern int GetDesignVarType( int index );
1162
1163
1164//======================== Computations ================================//
1193
1194extern void SetComputationFileName( int file_type, const std::string & file_name );
1195
1236
1237extern std::string ComputeMassProps( int set, int num_slices, int idir );
1238
1277
1278extern std::string ComputeCompGeom( int set, bool half_mesh, int file_export_types );
1279
1326
1327extern std::string ComputePlaneSlice( int set, int num_slices, const vec3d & norm, bool auto_bnd,
1328
1329 double start_bnd = 0, double end_bnd = 0, bool measureduct = false );
1358
1359extern void ComputeDegenGeom( int set, int file_export_types );
1360
1392
1393extern void ComputeCFDMesh( int set, int degenset, int file_export_types );
1394
1415
1416extern void SetCFDMeshVal( int type, double val );
1417
1451
1452extern void SetCFDWakeFlag( const std::string & geom_id, bool flag );
1453
1481
1483
1507
1508extern void AddDefaultSources();
1509
1545
1546extern void AddCFDSource( int type, const std::string & geom_id, int surf_index,
1547
1548 double l1, double r1, double u1, double w1,
1549 double l2 = 0, double r2 = 0, double u2 = 0, double w2 = 0 );
1550
1558
1559extern string GetVSPAERORefWingID();
1560
1617
1618extern string SetVSPAERORefWingID( const std::string & geom_id );
1619
1620
1621//======================== Analysis ================================//
1622
1645
1646extern int GetNumAnalysis();
1647
1679
1680extern std::vector<std::string> ListAnalysis();
1681
1718
1719extern std::vector<std::string> GetAnalysisInputNames( const std::string & analysis );
1720
1744
1745extern std::string GetAnalysisDoc( const std::string & analysis );
1746
1762
1763extern std::string GetAnalysisInputDoc( const std::string & analysis, const std::string & name );
1764
1788
1789extern std::string ExecAnalysis( const std::string & analysis );
1790
1791
1801
1802extern int GetNumAnalysisInputData( const std::string & analysis, const std::string & name );
1803
1838
1839extern int GetAnalysisInputType( const std::string & analysis, const std::string & name );
1840
1886
1887extern const std::vector< int > & GetIntAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1888
1919
1920extern const std::vector< double > & GetDoubleAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1921
1952
1953extern const std::vector<std::string> & GetStringAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1954
1987
1988extern const std::vector< vec3d > & GetVec3dAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1989
1990
2017
2018extern void SetAnalysisInputDefaults( const std::string & analysis );
2019
2065
2066extern void SetIntAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< int > & indata, int index = 0 );
2067
2108
2109extern void SetDoubleAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< double > & indata, int index = 0 );
2110
2141
2142extern void SetStringAnalysisInput( const std::string & analysis, const std::string & name, const std::vector<std::string> & indata, int index = 0 );
2143
2176
2177extern void SetVec3dAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< vec3d > & indata, int index = 0 );
2178
2179
2206
2207extern void PrintAnalysisInputs( const std::string & analysis_name );
2208
2235
2236extern void PrintAnalysisDocs( const std::string & analysis_name );
2237
2238//======================== Attributes ================================//
2239
2263
2264extern string SummarizeAttributes();
2265
2288
2290
2318
2319extern vector < string > FindAllAttributes();
2320
2321
2322
2351
2352extern vector < string > FindAttributesByName( const string & search_str );
2353
2378
2379extern string FindAttributeByName( const string & search_str, int index );
2380
2409
2410extern string FindAttributeInCollection( const string & obj_id, const string & search_str, int index );
2411
2444
2445extern vector< string > FindAttributeNamesInCollection(const string & collID );
2446
2479
2480extern vector< string > FindAttributesInCollection(const string & collID );
2481
2510
2511extern vector< string > FindAttributedObjects();
2512
2543
2544extern int GetObjectType(const string & attachID);
2545
2575
2576extern string GetObjectTypeName(const string & attachID);
2577
2608
2609extern string GetObjectName(const string & attachID);
2610
2611
2665
2666extern string GetObjectParent( const string & id );
2667
2696
2697extern string GetChildCollection(const string & attachID );
2698
2722
2723extern string GetGeomSetCollection( const int & index );
2724
2759
2760extern string GetAttributeName( const string & attrID );
2761
2801
2802extern string GetAttributeID(const string & collID, const string & attributeName, int index);
2803
2831
2832extern string GetAttributeDoc(const string & attrID);
2833
2872
2873extern int GetAttributeType( const string & attrID );
2874
2903
2904extern string GetAttributeTypeName(const string & attrID);
2905
2951
2952extern vector< int > GetAttributeBoolVal(const string & attrID);
2953
2999
3000extern vector< int > GetAttributeIntVal(const string & attrID);
3001
3046
3047extern vector< double > GetAttributeDoubleVal(const string & attrID);
3048
3093
3094extern vector< string > GetAttributeStringVal(const string & attrID);
3095
3153
3154extern vector< string > GetAttributeParmID(const string & attrID);
3155
3215
3216extern vector < double > GetAttributeParmVal( const string &attrID );
3217
3276
3277extern vector < string > GetAttributeParmName( const string &attrID );
3278
3327
3328extern vector< vec3d > GetAttributeVec3dVal(const string & attrID);
3329
3383
3384extern vector< vector < int > > GetAttributeIntMatrixVal(const string & attrID);
3385
3433
3434extern vector< vector < double > > GetAttributeDoubleMatrixVal(const string & attrID);
3435
3488
3489extern void SetAttributeName( const string & attrID, const string & name );
3490
3544
3545
3546extern void SetAttributeDoc( const string & attrID, const string & doc );
3547
3600
3601extern void SetAttributeBool( const string & attrID, bool value );
3602
3655
3656extern void SetAttributeInt( const string & attrID, int value );
3657
3713
3714extern void SetAttributeDouble( const string & attrID, double value );
3715
3769
3770extern void SetAttributeString( const string & attrID, const string & value );
3771
3835
3836extern void SetAttributeParmID( const string & attrID, const string & value );
3837
3891
3892extern void SetAttributeVec3d( const string & attrID, const vector < vec3d > & value );
3893
3950
3951extern void SetAttributeIntMatrix( const string & attrID, const vector < vector < int > > & value );
3952
4009
4010extern void SetAttributeDoubleMatrix( const string & attrID, const vector< vector< double > > & value );
4011
4087
4088extern void DeleteAttribute( const string & attrID );
4089
4137
4138extern string AddAttributeBool( const string & collID, const string & attributeName, bool value );
4139
4188
4189extern string AddAttributeInt( const string & collID, const string & attributeName, int value );
4190
4241
4242extern string AddAttributeDouble( const string & collID, const string & attributeName, double value );
4243
4293
4294extern string AddAttributeString( const string & collID, const string & attributeName, const string & value );
4295
4356
4357extern string AddAttributeParm( const string &collID, const string &attributeName, const string &parmID );
4358
4411
4412extern string AddAttributeVec3d( const string & collID, const string & attributeName, const vector < vec3d > & value );
4413
4468
4469extern string AddAttributeIntMatrix( const string & collID, const string & attributeName, const vector < vector < int > > & value );
4470
4525
4526extern string AddAttributeDoubleMatrix( const string & collID, const string & attributeName, const vector < vector < double > > & value );
4527
4573
4574extern string AddAttributeGroup( const string & collID, const string & attributeName );
4575
4623
4624extern int CopyAttribute( const string & attrID );
4625
4695
4696extern void CutAttribute( const string & attrID );
4697
4782
4783extern vector < string > PasteAttribute( const string & coll_id );
4784
4785//======================== Results ================================//
4821
4822extern std::vector<std::string> GetAllResultsNames();
4823
4857
4858extern std::vector<std::string> GetAllDataNames( const std::string & results_id );
4859
4885
4886extern int GetNumResults( const std::string & name );
4887
4927
4928extern std::string GetResultsName(const std::string & results_id );
4929
4969
4970extern std::string GetResultsSetDoc( const std::string & results_id );
4971
4972extern std::string GetResultsEntryDoc( const std::string & results_id, const std::string & data_name );
4973
5004
5005extern std::string FindResultsID( const std::string & name, int index = 0 );
5006
5043
5044extern std::string FindLatestResultsID( const std::string & name );
5045
5092
5093extern int GetNumData( const std::string & results_id, const std::string & data_name );
5094
5135
5136extern int GetResultsType( const std::string & results_id, const std::string & data_name );
5137
5185
5186extern const std::vector< int > & GetIntResults( const std::string & id, const std::string & name, int index = 0 );
5187
5225
5226extern const std::vector< double > & GetDoubleResults( const std::string & id, const std::string & name, int index = 0 );
5227
5238
5239extern const std::vector< std::vector< double > > & GetDoubleMatResults( const std::string & id, const std:: string & name, int index = 0 );
5240
5276
5277extern const std::vector<std::string> & GetStringResults( const std::string & id, const std::string & name, int index = 0 );
5278
5334
5335extern const std::vector< vec3d > & GetVec3dResults( const std::string & id, const std::string & name, int index = 0 );
5336
5377
5378extern std::string CreateGeomResults( const std::string & geom_id, const std::string & name );
5379
5417
5418extern void DeleteAllResults();
5419
5458
5459extern void DeleteResult( const std::string & id );
5460
5494
5495extern void WriteResultsCSVFile( const std::string & id, const std::string & file_name );
5496
5531
5532extern void PrintResults( const std::string &results_id );
5533
5568
5569extern void PrintResultsDocs( const std::string &results_id );
5570
5604
5605extern void WriteTestResults();
5606
5607//======================== GUI Functions ================================//
5608
5629
5630extern void InitGUI();
5631
5654
5655extern void StartGUI();
5656
5689
5691
5720
5722
5753
5754extern void StopGUI();
5755
5782
5783extern void PopupMsg( const std::string &msg );
5784
5823
5824extern void UpdateGUI();
5825
5858
5859extern bool IsGUIBuild();
5860
5907
5908extern void Lock( );
5909
5953
5954extern void Unlock( );
5955
5956
5987
5988extern bool IsEventLoopRunning( );
5989
6022
6023extern void ScreenGrab( const string & fname, int w, int h, bool transparentBG, bool autocrop = false );
6024
6043
6044extern void SetViewAxis( bool vaxis );
6045
6064
6065extern void SetShowBorders( bool brdr );
6066
6091
6092extern void SetGeomDrawType(const string &geom_id, int type);
6093
6119
6120extern void SetGeomWireColor( const string &geom_id, int r, int g, int b );
6121
6146
6147extern void SetGeomDisplayType(const string &geom_id, int type);
6148
6171
6172extern void SetGeomMaterialName( const string &geom_id, const string &name );
6173
6205
6206extern void AddMaterial( const string &name, const vec3d & ambient, const vec3d & diffuse, const vec3d & specular, const vec3d & emissive, const double & alpha, const double & shininess );
6207
6234
6235extern vector < string > GetMaterialNames();
6236
6257
6258extern void SetBackground( double r, double g, double b );
6259
6278
6279extern void SetAllViews( int view );
6280
6300
6301extern void SetView( int viewport, int view );
6302
6320
6321extern void FitAllViews();
6322
6340
6341extern void ResetViews();
6342
6362
6363extern void SetWindowLayout( int r, int c );
6364
6383
6384extern void SetGUIElementDisable( int e, bool state );
6385
6404
6405extern void SetGUIScreenDisable( int s, bool state );
6406
6425extern void SetGeomScreenDisable( int s, bool state );
6426
6444
6445extern void HideScreen( int s );
6446
6464
6465extern void ShowScreen( int s );
6466
6467
6468//======================== Geom Functions ================================//
6499
6500extern std::vector<std::string> GetGeomTypes();
6501
6524
6525extern std::string AddGeom( const std::string & type, const std::string & parent = std::string() );
6526
6562
6563extern void UpdateGeom( const std::string & geom_id );
6564
6595
6596extern void DeleteGeom( const std::string & geom_id );
6597
6630
6631extern void DeleteGeomVec( const std::vector< std::string > & del_vec );
6632
6672
6673extern void CutGeomToClipboard( const std::string & geom_id );
6674
6714
6715extern void CopyGeomToClipboard( const std::string & geom_id );
6716
6756
6757extern std::vector<std::string> PasteGeomClipboard( const std::string & parent = std::string() );
6758
6791
6792extern std::vector<std::string> FindGeoms();
6793
6832
6833extern std::vector<std::string> FindGeomsWithName( const std::string & name );
6834
6878
6879extern std::string FindGeom( const std::string & name, int index );
6880
6918
6919extern void SetGeomName( const std::string & geom_id, const std::string & name );
6920
6954
6955extern std::string GetGeomName( const std::string & geom_id );
6956
6990
6991extern std::vector<std::string> GetGeomParmIDs( const std::string & geom_id );
6992
7022
7023extern std::string GetGeomTypeName( const std::string & geom_id );
7024
7056
7057extern std::string GetParm( const std::string & geom_id, const std::string & name, const std::string & group );
7058
7110
7111extern void SetGeomParent( const std::string& geom_id, const std::string& parent_id );
7112
7146
7147extern std::string GetGeomParent( const std::string& geom_id );
7148
7197
7198extern std::vector< std::string > GetGeomChildren( const std::string& geom_id );
7199
7229
7230extern int GetNumXSecSurfs( const std::string & geom_id );
7231
7270
7271extern int GetNumMainSurfs( const std::string & geom_id );
7272
7311
7312extern int GetTotalNumSurfs( const std::string& geom_id );
7313
7345
7346extern int GetGeomVSPSurfType( const std::string& geom_id, int main_surf_ind = 0 );
7347
7379
7380extern int GetGeomVSPSurfCfdType( const std::string& geom_id, int main_surf_ind = 0 );
7381
7421
7422extern vec3d GetGeomBBoxMax( const std::string& geom_id, int main_surf_ind = 0, bool ref_frame_is_absolute = true );
7423
7463
7464extern vec3d GetGeomBBoxMin( const std::string& geom_id, int main_surf_ind = 0, bool ref_frame_is_absolute = true );
7465
7466
7467//======================== SubSurface Functions ================================//
7500
7501extern std::string AddSubSurf( const std::string & geom_id, int type, int surfindex = 0 );
7502
7543
7544extern std::string GetSubSurf( const std::string & geom_id, int index );
7545
7586
7587extern std::vector<std::string> GetSubSurf( const std::string & geom_id, const std::string & name );
7588
7634
7635extern void DeleteSubSurf( const std::string & geom_id, const std::string & sub_id );
7636
7681
7682extern void DeleteSubSurf( const std::string & sub_id );
7683
7716
7717extern void SetSubSurfName(const std::string & geom_id, const std::string & sub_id, const std::string & name);
7718
7750
7751extern void SetSubSurfName( const std::string & sub_id, const std::string & name );
7752
7789
7790extern std::string GetSubSurfName( const std::string & geom_id, const std::string & sub_id );
7791
7827
7828extern std::string GetSubSurfName( const std::string & sub_id );
7829
7867
7868extern int GetSubSurfIndex( const std::string & sub_id );
7869
7932
7933extern std::vector<std::string> GetSubSurfIDVec( const std::string & geom_id );
7934
7942
7943extern std::vector<std::string> GetAllSubSurfIDs();
7944
7982
7983extern int GetNumSubSurf( const std::string & geom_id );
7984
8048
8049extern int GetSubSurfType( const std::string & sub_id );
8050
8095
8096extern std::vector<std::string> GetSubSurfParmIDs( const std::string & sub_id );
8097
8098
8129
8130extern int AddFeaStruct( const std::string & geom_id, bool init_skin = true, int surfindex = 0 );
8131
8167
8168extern void SetFeaMeshStructIndex( int struct_index );
8169
8205
8206extern void DeleteFeaStruct( const std::string & geom_id, int fea_struct_ind );
8207
8240
8241extern std::string GetFeaStructID( const std::string & geom_id, int fea_struct_ind );
8242
8286
8287extern int GetFeaStructIndex( const std::string & struct_id );
8288
8326
8327extern std::string GetFeaStructParentGeomID( const std::string & struct_id );
8328
8372
8373extern std::string GetFeaStructName( const std::string & geom_id, int fea_struct_ind );
8374
8422
8423extern void SetFeaStructName( const std::string & geom_id, int fea_struct_ind, const std::string & name );
8424
8460
8461extern std::vector< std::string > GetFeaStructIDVec();
8462
8501
8502extern void SetFeaPartName( const std::string & part_id, const std::string & name );
8503
8548
8549extern std::string AddFeaPart( const std::string & geom_id, int fea_struct_ind, int type );
8550
8597
8598extern void DeleteFeaPart( const std::string & geom_id, int fea_struct_ind, const std::string & part_id );
8599
8651
8652extern std::string GetFeaPartID( const std::string & fea_struct_id, int fea_part_index );
8653
8703
8704extern std::string GetFeaPartName( const std::string & part_id );
8705
8749
8750extern int GetFeaPartType( const std::string & part_id );
8751
8796
8797extern std::vector< std::string > GetFeaPartIDVec( const std::string & fea_struct_id );
8798
8843
8844extern std::vector< std::string > GetFeaSubSurfIDVec( const std::string & fea_struct_id );
8845
8914
8915extern void SetFeaPartPerpendicularSparID( const std::string& part_id, const std::string& perpendicular_spar_id );
8916
8984
8985extern std::string GetFeaPartPerpendicularSparID( const std::string& part_id );
8986
9025
9026extern void SetFeaSubSurfName( const std::string & subsurf_id, const std::string & name );
9027
9075
9076extern std::string GetFeaSubSurfName( const std::string & subsurf_id );
9077
9122
9123extern std::string AddFeaSubSurf( const std::string & geom_id, int fea_struct_ind, int type );
9124
9171
9172extern void DeleteFeaSubSurf( const std::string & geom_id, int fea_struct_ind, const std::string & ss_id );
9173
9228
9229extern int GetFeaSubSurfIndex( const string & ss_id );
9230
9268
9269extern int NumFeaStructures();
9270
9320
9321extern int NumFeaParts( const std::string & fea_struct_id );
9322
9371
9372extern int NumFeaSubSurfs( const std::string & fea_struct_id );
9373
9414
9415extern std::string AddFeaBC( const string & fea_struct_id, int type = -1 );
9416
9460
9461extern void DelFeaBC( const string & fea_struct_id, const std::string &bc_id );
9462
9506
9507extern std::vector< std::string > GetFeaBCIDVec( const string & fea_struct_id );
9508
9552
9553extern int NumFeaBCs( const string & fea_struct_id );
9554
9579
9580extern std::string AddFeaMaterial();
9581
9609
9610extern std::string AddFeaProperty( int property_type = 0 );
9611
9653
9654extern void SetFeaMeshVal( const std::string & geom_id, int fea_struct_ind, int type, double val );
9655
9705
9706extern void SetFeaMeshFileName( const std::string & geom_id, int fea_struct_ind, int file_type, const string & file_name );
9707
9758
9759extern void ComputeFeaMesh( const std::string & geom_id, int fea_struct_ind, int file_type );
9760
9810
9811extern void ComputeFeaMesh( const std::string & struct_id, int file_type );
9812
9870
9871extern void SetXSecAlias( const string & id, const string & alias );
9872
9930
9931extern string GetXSecAlias( const string & id );
9932
9990
9991extern void SetXSecCurveAlias( const string & id, const string & alias );
9992
10049
10050extern string GetXSecCurveAlias( const string & id );
10051
10090
10091extern void CutXSec( const std::string & geom_id, int index );
10092
10127
10128extern void CopyXSec( const std::string & geom_id, int index );
10129
10164
10165extern void PasteXSec( const std::string & geom_id, int index );
10166
10194
10195extern void InsertXSec( const std::string & geom_id, int index, int type );
10196
10197
10198//======================== Wing Section Functions ===================//
10199
10229
10230extern void SplitWingXSec( const string & wing_id, int section_index );
10231
10279
10280extern void SetDriverGroup( const std::string & geom_id, int section_index, int driver_0, int driver_1 = -1, int driver_2 = -1 );
10281
10282
10283//======================== XSecSurf ================================//
10312
10313extern std::string GetXSecSurf( const std::string & geom_id, int index );
10314
10365
10366extern int GetNumXSec( const std::string & xsec_surf_id );
10367
10402
10403extern std::string GetXSec( const std::string & xsec_surf_id, int xsec_index );
10404
10454
10455extern void ChangeXSecShape( const std::string & xsec_surf_id, int xsec_index, int type );
10456
10465
10466extern void SetXSecSurfGlobalXForm( const std::string & xsec_surf_id, const Matrix4d & mat );
10467
10476
10477extern Matrix4d GetXSecSurfGlobalXForm( const std::string & xsec_surf_id );
10478
10479
10480//======================== XSec ================================//
10521
10522extern int GetXSecShape( const std::string& xsec_id );
10523
10562
10563extern double GetXSecWidth( const std::string& xsec_id );
10564
10603
10604extern double GetXSecHeight( const std::string& xsec_id );
10605
10646
10647extern void SetXSecWidthHeight( const std::string& xsec_id, double w, double h );
10648
10687
10688extern void SetXSecWidth( const std::string& xsec_id, double w );
10689
10728
10729extern void SetXSecHeight( const std::string& xsec_id, double h );
10730
10768
10769extern std::vector<std::string> GetXSecParmIDs( const std::string& xsec_id );
10770
10813
10814extern std::string GetXSecParm( const std::string& xsec_id, const std::string& name );
10815
10855
10856extern std::vector<vec3d> ReadFileXSec( const std::string& xsec_id, const std::string& file_name );
10857
10910
10911extern void SetXSecPnts( const std::string& xsec_id, std::vector< vec3d > & pnt_vec );
10912
10954
10955extern vec3d ComputeXSecPnt( const std::string& xsec_id, double fract );
10956
10997
10998extern vec3d ComputeXSecTan( const std::string& xsec_id, double fract );
10999
11040
11041extern void ResetXSecSkinParms( const std::string& xsec_id );
11042
11083
11084extern void SetXSecContinuity( const std::string& xsec_id, int cx );
11085
11135
11136extern void SetXSecTanAngles( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
11137
11187
11188extern void SetXSecTanSlews( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
11189
11241
11242extern void SetXSecTanStrengths( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
11243
11295
11296extern void SetXSecCurvatures( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
11297
11335
11336extern void ReadFileAirfoil( const std::string& xsec_id, const std::string& file_name );
11337
11392
11393extern void SetAirfoilUpperPnts( const std::string& xsec_id, const std::vector< vec3d > & up_pnt_vec );
11394
11449
11450extern void SetAirfoilLowerPnts( const std::string& xsec_id, const std::vector< vec3d > & low_pnt_vec );
11451
11515
11516extern void SetAirfoilPnts( const std::string& xsec_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
11517
11565
11566extern std::vector<vec3d> GetHersheyBarLiftDist( const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag = false );
11567
11615
11616extern std::vector<vec3d> GetHersheyBarDragDist( const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag = false );
11617
11669
11670extern std::vector<vec3d> GetVKTAirfoilPnts( const int &npts, const double &alpha, const double &epsilon, const double &kappa, const double &tau );
11671
11724
11725extern std::vector<double> GetVKTAirfoilCpDist( const double &alpha, const double &epsilon, const double &kappa, const double &tau, const std::vector<vec3d> &xyz_data );
11726
11740
11741extern std::vector<vec3d> GetEllipsoidSurfPnts( const vec3d &center, const vec3d &abc_rad, int u_npts = 20, int w_npts = 20 );
11742
11751
11752extern std::vector<vec3d> GetFeatureLinePnts( const string& geom_id );
11753
11835
11836extern std::vector<double> GetEllipsoidCpDist( const std::vector<vec3d> &surf_pnt_vec, const vec3d &abc_rad, const vec3d &V_inf );
11837
11838extern double IntegrateEllipsoidFlow( const vec3d &abc_rad, const int &abc_index );
11839
11882
11883extern std::vector<vec3d> GetAirfoilUpperPnts( const std::string& xsec_id );
11884
11927
11928extern std::vector<vec3d> GetAirfoilLowerPnts( const std::string& xsec_id );
11929
11939
11940extern std::vector<double> GetUpperCSTCoefs( const std::string& xsec_id );
11941
11951
11952extern std::vector<double> GetLowerCSTCoefs( const std::string& xsec_id );
11953
11963
11964extern int GetUpperCSTDegree( const std::string& xsec_id );
11965
11975
11976extern int GetLowerCSTDegree( const std::string& xsec_id );
11977
11988
11989extern void SetUpperCST( const std::string& xsec_id, int deg, const std::vector<double> &coefs );
11990
12001
12002extern void SetLowerCST( const std::string& xsec_id, int deg, const std::vector<double> &coefs );
12003
12012
12013extern void PromoteCSTUpper( const std::string& xsec_id );
12014
12023
12024extern void PromoteCSTLower( const std::string& xsec_id );
12025
12034
12035extern void DemoteCSTUpper( const std::string& xsec_id );
12036
12045
12046extern void DemoteCSTLower( const std::string& xsec_id );
12047
12057
12058extern void FitAfCST( const std::string & xsec_surf_id, int xsec_index, int deg );
12059
12060//======================== Background3D Functions ======================//
12061
12098
12099extern string AddBackground3D();
12100
12137
12139
12191
12192extern vector < string > GetAllBackground3Ds();
12193
12224
12226
12257
12259
12299
12301
12342
12343extern void DelBackground3D( const string &id );
12344
12385
12386extern vector < string > GetAllBackground3DRelativePaths();
12387
12427
12428extern vector < string > GetAllBackground3DAbsolutePaths();
12429
12465
12466extern string GetBackground3DRelativePath( const string &id );
12467
12502
12503extern string GetBackground3DAbsolutePath( const string &id );
12504
12540
12541extern void SetBackground3DRelativePath( const string &id, const string &fname );
12542
12577
12578extern void SetBackground3DAbsolutePath( const string &id, const string &fname );
12579
12580
12581//======================== RoutingGeom Functions ======================//
12637
12638extern int GetNumRoutingPts( const string &routing_id );
12639
12694
12695extern string AddRoutingPt( const string &routing_id, const string &geom_id, int surf_index );
12696
12763
12764extern string InsertRoutingPt( const string &routing_id, int index, const string &geom_id, int surf_index );
12765
12821
12822extern void DelRoutingPt( const string &routing_id, int index );
12823
12879
12880extern void DelAllRoutingPt( const string &routing_id );
12881
12938
12939extern int MoveRoutingPt( const string &routing_id, int index, int reorder_type );
12940
12997
12998extern string GetRoutingPtID( const string &routing_id, int index );
12999
13055
13056extern vector < string > GetAllRoutingPtIds( const string &routing_id );
13057
13113
13114extern string GetRoutingPtParentID( const string & pt_id );
13115
13171
13172extern void SetRoutingPtParentID( const string & pt_id, const string &parent_id );
13173
13232
13233extern vec3d GetMainRoutingPtCoord( const string &pt_id );
13234
13294
13295extern vec3d GetRoutingPtCoord( const string &routing_id, int index, int symm_index );
13296
13355
13356extern vector < vec3d > GetAllRoutingPtCoords( const string &routing_id, int symm_index );
13357
13358//======================== BOR Functions ======================//
13389
13390extern void ChangeBORXSecShape( const string & bor_id, int type );
13391
13421
13422extern int GetBORXSecShape( const string & bor_id );
13423
13454
13455extern std::vector<vec3d> ReadBORFileXSec( const std::string& bor_id, const std::string& file_name );
13456
13500
13501extern void SetBORXSecPnts( const std::string& bor_id, std::vector< vec3d > & pnt_vec );
13502
13535
13536extern vec3d ComputeBORXSecPnt( const std::string& bor_id, double fract );
13537
13568
13569extern vec3d ComputeBORXSecTan( const std::string& bor_id, double fract );
13570
13600
13601extern void ReadBORFileAirfoil( const std::string& bor_id, const std::string& file_name );
13602
13649
13650extern void SetBORAirfoilUpperPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec );
13651
13698
13699extern void SetBORAirfoilLowerPnts( const std::string& bor_id, const std::vector< vec3d > & low_pnt_vec );
13700
13756
13757extern void SetBORAirfoilPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
13758
13793
13794extern std::vector<vec3d> GetBORAirfoilUpperPnts( const std::string& bor_id );
13795
13830
13831extern std::vector<vec3d> GetBORAirfoilLowerPnts( const std::string& bor_id );
13832
13842
13843extern std::vector<double> GetBORUpperCSTCoefs( const std::string& bor_id );
13844
13854
13855extern std::vector<double> GetBORLowerCSTCoefs( const std::string& bor_id );
13856
13866
13867extern int GetBORUpperCSTDegree( const std::string& bor_id );
13868
13878
13879extern int GetBORLowerCSTDegree( const std::string& bor_id );
13880
13891
13892extern void SetBORUpperCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
13893
13904
13905extern void SetBORLowerCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
13906
13915
13916extern void PromoteBORCSTUpper( const std::string& bor_id );
13917
13926
13927extern void PromoteBORCSTLower( const std::string& bor_id );
13928
13937
13938extern void DemoteBORCSTUpper( const std::string& bor_id );
13939
13948
13949extern void DemoteBORCSTLower( const std::string& bor_id );
13950
13959
13960extern void FitBORAfCST( const std::string & bor_id, int deg );
13961
13962
13963//======================== FoilSurf Functions ======================//
13997
13998extern void WriteBezierAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
13999
14033
14034extern void WriteSeligAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
14035
14045
14046extern std::vector < vec3d > GetAirfoilCoordinates( const std::string & geom_id, const double &foilsurf_u );
14047
14048
14049//======================== Edit Curve XSec Functions ======================//
14097
14098extern void EditXSecInitShape( const std::string & xsec_id );
14099
14145
14146extern void EditXSecConvertTo( const std::string & xsec_id, const int & newtype );
14147
14203
14204extern std::vector < double > GetEditXSecUVec( const std::string& xsec_id );
14205
14254
14255extern std::vector < vec3d > GetEditXSecCtrlVec( const std::string & xsec_id, bool non_dimensional = true );
14256
14363
14364extern 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 );
14365
14431
14432extern void EditXSecDelPnt( const std::string & xsec_id, const int & indx );
14433
14498
14499extern int EditXSecSplit01( const std::string & xsec_id, const double & u );
14500
14580
14581extern void MoveEditXSecPnt( const std::string & xsec_id, const int & indx, const vec3d & new_pnt );
14582
14632
14633extern void ConvertXSecToEdit( const std::string & geom_id, const int & indx = 0 );
14634
14690
14691extern std::vector < bool > GetEditXSecFixedUVec( const std::string& xsec_id );
14692
14748
14749extern void SetEditXSecFixedUVec( const std::string& xsec_id, std::vector < bool > fixed_u_vec );
14750
14806
14807extern void ReparameterizeEditXSec( const std::string & xsec_id );
14808
14809
14810//======================== Sets ================================//
14830
14831extern int GetNumSets();
14832
14859
14860extern void SetSetName( int index, const std::string& name );
14861
14888
14889extern std::string GetSetName( int index );
14890
14923
14924extern std::vector<std::string> GetGeomSetAtIndex( int index );
14925
14957
14958extern std::vector<std::string> GetGeomSet( const std::string & name );
14959
14985
14986extern int GetSetIndex( const std::string & name );
14987
15020
15021extern bool GetSetFlag( const std::string & geom_id, int set_index );
15022
15055
15056extern void SetSetFlag( const std::string & geom_id, int set_index, bool flag );
15057
15101
15102extern void CopyPasteSet( int copyIndex, int pasteIndex );
15103
15139
15140extern bool GetBBoxSet( int set, double & xmin_out, double & ymin_out, double & zmin_out, double & xlen_out, double & ylen_out, double & zlen_out );
15141
15177
15178extern bool GetScaleIndependentBBoxSet( int set, double & xmin_out, double & ymin_out, double & zmin_out, double & xlen_out, double & ylen_out, double & zlen_out );
15179
15180//======================== Group Modifications ================================//
15212
15213extern void ScaleSet( int set_index, double scale );
15214
15248
15249extern void RotateSet( int set_index, double x_rot_deg, double y_rot_deg, double z_rot_deg );
15250
15282
15283extern void TranslateSet( int set_index, const vec3d &translation_vec );
15284
15322
15323extern 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 );
15324
15325
15326//======================== Parm Functions ================================//
15356
15357extern bool ValidParm( const std::string & id );
15358
15406
15407extern double SetParmVal( const std::string & parm_id, double val );
15408
15458
15459extern double SetParmVal( const std::string & geom_id, const std::string & name, const std::string & group, double val );
15460
15496
15497extern double SetParmValLimits( const std::string & parm_id, double val, double lower_limit, double upper_limit );
15498
15530
15531extern double SetParmValUpdate( const std::string & parm_id, double val );
15532
15566
15567extern double SetParmValUpdate( const std::string & geom_id, const std::string & parm_name, const std::string & parm_group_name, double val );
15568
15614
15615extern double GetParmVal( const std::string & parm_id );
15616
15664
15665extern double GetParmVal( const std::string & geom_id, const std::string & name, const std::string & group );
15666
15696
15697extern int GetIntParmVal( const std::string & parm_id );
15698
15728
15729extern bool GetBoolParmVal( const std::string & parm_id );
15730
15781
15782extern void SetParmUpperLimit( const std::string & parm_id, double val );
15783
15813
15814extern double GetParmUpperLimit( const std::string & parm_id );
15815
15866
15867extern void SetParmLowerLimit( const std::string & parm_id, double val );
15868
15898
15899extern double GetParmLowerLimit( const std::string & parm_id );
15900
15943
15944extern int GetParmType( const std::string & parm_id );
15945
16002
16003extern std::string GetParmName( const std::string & parm_id );
16004
16047
16048extern std::string GetParmGroupName( const std::string & parm_id );
16049
16092
16093extern std::string GetParmDisplayGroupName( const std::string & parm_id );
16094
16140
16141extern std::string GetParmContainer( const std::string & parm_id );
16142
16174
16175extern void SetParmDescript( const std::string & parm_id, const std::string & desc );
16176
16210
16211extern std::string GetParmDescript( const std::string & parm_id );
16212
16246
16247extern std::string FindParm( const std::string & parm_container_id, const std::string& parm_name, const std::string& group_name );
16248
16249
16250//======================== Parm Container Functions ======================//
16251
16287
16288extern std::vector<std::string> FindContainers();
16289
16313
16314extern std::vector<std::string> FindContainersWithName( const std::string & name );
16315
16339
16340extern std::string FindContainer( const std::string & name, int index );
16341
16365
16366extern std::string GetContainerName( const std::string & parm_container_id );
16367
16406
16407extern std::vector<std::string> FindContainerGroupNames( const std::string & parm_container_id );
16408
16465
16466extern std::vector<std::string> FindContainerParmIDs( const std::string & parm_container_id );
16467
16488
16489extern std::string GetVehicleID();
16490
16491
16492//======================== User Parm Functions ======================//
16513
16514extern int GetNumUserParms();
16515
16536
16538
16574
16575extern std::vector < std::string > GetAllUserParms();
16576
16595
16596extern std::string GetUserParmContainer();
16597
16628
16629extern string AddUserParm(int type, const string & name, const string & group );
16630
16660
16661extern void DeleteUserParm( const std::string & id );
16662
16680
16681extern void DeleteAllUserParm();
16682
16683
16684//======================== Snap To Functions ======================//
16727
16728extern double ComputeMinClearanceDistance( const std::string & geom_id, int set = SET_ALL, bool useMode = false, const string &modeID = string() );
16729 // TODO: Validate inc_flag description
16776
16777extern 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() );
16778
16779
16780//======================== Variable Preset Functions ======================//
16781
16807
16808extern string AddVarPresetGroup( const std::string &group_name );
16809
16841
16842extern string AddVarPresetSetting( const std::string &group_id, const std::string &setting_name );
16843
16881
16882extern void AddVarPresetParm( const std::string &group_id, const std::string &parm_id );
16883
16925
16926extern void DeleteVarPresetGroup( const std::string &group_id );
16927
16970
16971extern void DeleteVarPresetSetting( const std::string &group_id, const std::string &setting_id );
16972
17015
17016extern void DeleteVarPresetParm( const std::string &group_id, const std::string &parm_id );
17017
17062
17063extern void SetVarPresetParmVal( const std::string &group_id, const std::string &setting_id, const std::string &parm_id, double parm_val );
17064
17109
17110extern double GetVarPresetParmVal( const std::string &group_id, const std::string &setting_id, const std::string &parm_id );
17111
17142
17143extern std::string GetGroupName( const std::string &group_id );
17144
17179
17180extern std::string GetSettingName( const std::string &setting_id );
17181
17212
17213extern void SetGroupName( const std::string &group_id, const std::string &group_name );
17214
17249
17250extern void SetSettingName( const std::string &setting_id, const std::string &setting_name );
17251
17293
17294extern std::vector< std::string > GetVarPresetGroups();
17295
17338
17339extern std::vector< std::string > GetVarPresetSettings( const std::string &group_id );
17340
17383
17384extern std::vector< std::string > GetVarPresetParmIDs( const std::string &group_id );
17385
17429
17430extern std::vector< double > GetVarPresetParmVals( const std::string &setting_id );
17431
17478
17479extern void SetVarPresetParmVals( const std::string &setting_id, const std::vector< double > &parm_vals );
17480
17523
17524extern void SaveVarPresetParmVals( const std::string &group_id, const std::string &setting_id );
17525
17572
17573extern void ApplyVarPresetSetting( const std::string &group_id, const std::string &setting_id );
17574
17575//======================== Mode Functions ======================//
17576
17731
17732extern string CreateAndAddMode( const string & name, int normal_set, int degen_set );
17733
17889
17890extern int GetNumModes();
17891
18047
18048extern vector < string > GetAllModes();
18049
18205
18206extern void DelMode( const string &mid );
18207
18362
18363extern void DelAllModes();
18364
18516
18517extern void ApplyModeSettings( const string &mid );
18518
18674
18675extern void ShowOnlyMode( const string &mid );
18676
18830
18831extern void ModeAddGroupSetting( const string &mid, const string &gid, const string &sid );
18832
18990
18991extern string ModeGetGroup( const string &mid, int indx );
18992
19150
19151extern string ModeGetSetting( const string &mid, int indx );
19152
19309
19310extern vector < string > ModeGetAllGroups( const string &mid );
19311
19468
19469extern vector < string > ModeGetAllSettings( const string &mid );
19470
19627
19628extern void RemoveGroupSetting( const string &mid, int indx );
19629
19785
19786extern void RemoveAllGroupSettings( const string &mid );
19787
19788//======================== Parametric Curve Functions ======================//
19801
19802extern void SetPCurve( const std::string & geom_id, const int & pcurveid, const std::vector < double > & tvec,
19803
19804 const std::vector < double > & valvec, const int & newtype );
19815
19816extern void PCurveConvertTo( const std::string & geom_id, const int & pcurveid, const int & newtype );
19817
19828
19829extern int PCurveGetType( const std::string & geom_id, const int & pcurveid );
19830
19840
19841extern std::vector < double > PCurveGetTVec( const std::string & geom_id, const int & pcurveid );
19842
19852
19853extern std::vector < double > PCurveGetValVec( const std::string & geom_id, const int & pcurveid );
19854
19864
19865extern void PCurveDeletePt( const std::string & geom_id, const int & pcurveid, const int & indx );
19866
19877
19878extern int PCurveSplit( const std::string & geom_id, const int & pcurveid, const double & tsplit );
19879
19906
19907extern void ApproximateAllPropellerPCurves( const std::string & geom_id );
19908
19937
19938extern void ResetPropellerThicknessCurve( const std::string & geom_id );
19939
19940
19941//======================== VSPAERO Functions ======================//
20032
20034
20071
20073
20104
20105extern void AddAllToVSPAEROControlSurfaceGroup( int CSGroupIndex );
20106
20141
20142extern void RemoveAllFromVSPAEROControlSurfaceGroup( int CSGroupIndex );
20143
20194
20195extern std::vector < std::string > GetActiveCSNameVec( int CSGroupIndex );
20196
20240
20241extern std::vector < std::string > GetCompleteCSNameVec();
20242
20283
20284extern std::vector < std::string > GetAvailableCSNameVec( int CSGroupIndex );
20285
20325
20326extern void SetVSPAEROControlGroupName(const string & name, int CSGroupIndex);
20327
20366
20367extern std::string GetVSPAEROControlGroupName( int CSGroupIndex );
20368
20422
20423extern void AddSelectedToCSGroup( const vector <int> &selected, int CSGroupIndex);
20424
20487
20488extern void RemoveSelectedFromCSGroup( const vector <int> &selected, int CSGroupIndex);
20489
20544
20546
20547
20548//================ VSPAERO Actuator Disk and Unsteady Functions ==============//
20596
20597extern std::string FindActuatorDisk( int disk_index );
20598
20640
20642
20688
20689extern std::string FindUnsteadyGroup( int group_index );
20690
20725
20726extern std::string GetUnsteadyGroupName( int group_index );
20727
20770
20771extern std::vector < std::string > GetUnsteadyGroupCompIDs( int group_index );
20772
20815
20816extern std::vector < int > GetUnsteadyGroupSurfIndexes( int group_index );
20817
20868
20870
20922
20924
20925
20926//======================== Parasite Drag Tool Functions ======================//
20952
20953extern void AddExcrescence(const std::string & excresName, const int & excresType, const double & excresVal);
20954
20985
20986extern void DeleteExcrescence(const int & index);
20987
20994
20996
21022
21023extern void WriteAtmosphereCSVFile( const std::string & file_name, const int &atmos_type );
21024
21063
21064extern void CalcAtmosphere( const double & alt, const double & delta_temp, const int & atmos_type,
21065
21066 double & temp, double & pres, double & pres_ratio, double & rho_ratio );
21087
21088extern void WriteBodyFFCSVFile( const std::string & file_name );
21089
21110
21111extern void WriteWingFFCSVFile( const std::string & file_name );
21112 // TODO: Improve description
21133
21134extern void WriteCfEqnCSVFile( const std::string & file_name );
21135 // TODO: Improve description
21156
21157extern void WritePartialCfMethodCSVFile( const std::string & file_name );
21158
21159
21160//======================== Surface Query Functions ======================//
21203
21204extern vec3d CompPnt01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
21205
21248
21249extern vec3d CompNorm01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
21250
21293
21294extern vec3d CompTanU01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
21295
21338
21339extern vec3d CompTanW01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
21340
21390
21391extern void CompCurvature01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w,
21392 double &k1_out, double &k2_out, double &ka_out, double &kg_out);
21393
21456
21457extern double ProjPnt01(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &u_out, double &w_out);
21458
21528
21529extern double ProjPnt01I(const std::string &geom_id, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
21530
21600
21601extern 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);
21602
21603
21664
21665extern double AxisProjPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, double &u_out, double &w_out);
21666
21729
21730extern double AxisProjPnt01I(const std::string &geom_id, const int &iaxis, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
21731
21804
21805extern 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);
21806
21868
21869extern bool InsideSurf( const std::string &geom_id, const int &surf_indx, const vec3d &pt );
21870
21871
21917
21918extern vec3d CompPntRST( const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t );
21919
21975
21976extern double FindRST( const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &r_out, double &s_out, double &t_out );
21977
22045
22046extern 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 );
22047
22048
22095
22096extern 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 );
22097
22136
22137extern void ConvertRtoL( const std::string &geom_id, const int &surf_indx, const double &r, double &l_out );
22138
22185
22186extern 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 );
22225extern void ConvertLtoR( const std::string &geom_id, const int &surf_indx, const double &l, double &r_out );
22226
22264
22265extern void ConvertUtoEta( const std::string &geom_id, const double &u, double &eta_out );
22266
22304
22305extern void ConvertEtatoU( const std::string &geom_id, const double &eta, double &u_out );
22306
22307
22361
22362extern 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);
22363
22418
22419extern std::vector < vec3d > CompVecDegenPnt01(const std::string &geom_id, const int &surf_indx, const int &degen_type, const std::vector < double > &u_in_vec, const std::vector < double > &w_in_vec);
22420
22474
22475extern std::vector < vec3d > CompVecNorm01(const std::string &geom_id, const int &surf_indx, const std::vector < double > &us, const std::vector < double > &ws);
22476
22537
22538extern 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);
22539
22615
22616extern 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 );
22617
22715
22716extern 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 );
22717
22718
22819
22820extern 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 );
22821
22933
22934extern 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 );
22935
23008
23009extern std::vector < bool > VecInsideSurf( const std::string &geom_id, const int &surf_indx, const std::vector < vec3d > &pts );
23010
23011
23072
23073extern 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 );
23074
23146
23147extern 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 );
23148
23231
23232extern 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 );
23233
23234
23301
23302extern 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,
23303 std::vector < double > &l_out_vec, std::vector < double > &m_out_vec, std::vector < double > &n_out_vec );
23304
23370
23371extern 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,
23372 std::vector < double > &r_out_vec, std::vector < double > &s_out_vec, std::vector < double > &t_out_vec );
23373
23407
23408extern void GetUWTess01(const std::string &geom_id, const int &surf_indx, std::vector < double > &u_out_vec, std::vector < double > &w_out_vec);
23409
23410
23411//======================= Measure Functions ============================//
23459
23460extern string AddRuler( const string & startgeomid, int startsurfindx, double startu, double startw,
23461 const string & endgeomid, int endsurfindx, double endu, double endw, const string & name );
23517
23518extern std::vector < string > GetAllRulers();
23519
23566
23567extern void DelRuler( const string &id );
23568
23610
23611extern void DeleteAllRulers();
23612
23613
23649
23650extern string AddProbe( const string & geomid, int surfindx, double u, double w, const string & name );
23651
23690
23691extern std::vector < string > GetAllProbes();
23692
23733
23734extern void DelProbe( const string &id );
23735
23775
23776extern void DeleteAllProbes();
23777
23778
23779//======================= Advanced Link Functions ============================//
23780
23808
23809extern std::vector< std::string > GetAdvLinkNames();
23810
23857
23858extern int GetLinkIndex( const string & name );
23859
23923
23924extern void DelAdvLink( int index );
23925
23988
23989extern void DelAllAdvLinks();
23990
24035
24036extern void AddAdvLink( const string & name );
24037
24084
24085extern void AddAdvLinkInput( int index, const string & parm_id, const string & var_name );
24086
24133
24134extern void AddAdvLinkOutput( int index, const string & parm_id, const string & var_name );
24135
24193
24194extern void DelAdvLinkInput( int index, const string & var_name );
24195
24253
24254extern void DelAdvLinkOutput( int index, const string & var_name );
24255
24314
24315extern std::vector< std::string > GetAdvLinkInputNames( int index );
24316
24375
24376extern std::vector< std::string > GetAdvLinkInputParms( int index );
24377
24436
24437extern std::vector< std::string > GetAdvLinkOutputNames( int index );
24438
24497
24498extern std::vector< std::string > GetAdvLinkOutputParms( int index );
24499
24563
24564extern bool ValidateAdvLinkParms( int index );
24565
24611
24612extern void SetAdvLinkCode( int index, const string & code );
24613
24667
24668extern std::string GetAdvLinkCode( int index );
24669
24726
24727extern void SearchReplaceAdvLinkCode( int index, const string & from, const string & to );
24728
24788
24789extern bool BuildAdvLinkScript( int index );
24790
24791
24792} // End vsp namespace
24793
24794#endif // !defined(VSPAPI__INCLUDED_)
Definition Vec3d.h:243
bool CheckForVSPAERO(const std::string &path)
bool CheckForVSPHelp(const std::string &path)
int GetVSPVersionChange()
std::string GetVSPVersion()
int GetVSPVersionMinor()
bool SetVSPHelpPath(const std::string &path)
std::string GetVSPHelpPath()
bool SetVSPAEROPath(const std::string &path)
std::string GetVSPExePath()
std::string GetVSPAEROPath()
int GetVSPVersionMajor()
void VSPRenew()
void VSPCheckSetup()
std::vector< std::string > GetAnalysisInputNames(const std::string &analysis)
const std::vector< int > & GetIntAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
void SetIntAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< int > &indata, int index=0)
void PrintAnalysisDocs(const std::string &analysis_name)
std::string ExecAnalysis(const std::string &analysis)
int GetNumAnalysis()
std::vector< std::string > ListAnalysis()
void SetVec3dAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< vec3d > &indata, int index=0)
void SetStringAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< std::string > &indata, int index=0)
void PrintAnalysisInputs(const std::string &analysis_name)
int GetAnalysisInputType(const std::string &analysis, const std::string &name)
void SetAnalysisInputDefaults(const std::string &analysis)
const std::vector< double > & GetDoubleAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
std::string GetAnalysisDoc(const std::string &analysis)
const std::vector< vec3d > & GetVec3dAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
void SetDoubleAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< double > &indata, int index=0)
std::string GetAnalysisInputDoc(const std::string &analysis, const std::string &name)
const std::vector< std::string > & GetStringAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
int GetNumAnalysisInputData(const std::string &analysis, const std::string &name)
vector< string > GetAttributeStringVal(const string &attrID)
string GetAttributeID(const string &collID, const string &attributeName, int index)
string GetAttributeName(const string &attrID)
vector< double > GetAttributeDoubleVal(const string &attrID)
void SetAttributeDoubleMatrix(const string &attrID, const vector< vector< double > > &value)
void SetAttributeParmID(const string &attrID, const string &value)
void SetAttributeBool(const string &attrID, bool value)
vector< string > FindAttributedObjects()
void SetAttributeVec3d(const string &attrID, const vector< vec3d > &value)
string AddAttributeString(const string &collID, const string &attributeName, const string &value)
vector< int > GetAttributeIntVal(const string &attrID)
vector< vector< double > > GetAttributeDoubleMatrixVal(const string &attrID)
void DeleteAttribute(const string &attrID)
void SetAttributeDouble(const string &attrID, double value)
vector< string > FindAllAttributes()
vector< string > FindAttributeNamesInCollection(const string &collID)
string AddAttributeIntMatrix(const string &collID, const string &attributeName, const vector< vector< int > > &value)
void SetAttributeName(const string &attrID, const string &name)
vector< string > GetAttributeParmID(const string &attrID)
string AddAttributeInt(const string &collID, const string &attributeName, int value)
vector< vec3d > GetAttributeVec3dVal(const string &attrID)
vector< string > FindAttributesByName(const string &search_str)
string GetGeomSetCollection(const int &index)
vector< int > GetAttributeBoolVal(const string &attrID)
string SummarizeAttributesAsTree()
string GetObjectName(const string &attachID)
int CopyAttribute(const string &attrID)
string GetAttributeTypeName(const string &attrID)
string GetChildCollection(const string &attachID)
string SummarizeAttributes()
void CutAttribute(const string &attrID)
string GetObjectParent(const string &id)
void SetAttributeString(const string &attrID, const string &value)
string AddAttributeGroup(const string &collID, const string &attributeName)
vector< string > FindAttributesInCollection(const string &collID)
vector< double > GetAttributeParmVal(const string &attrID)
string AddAttributeParm(const string &collID, const string &attributeName, const string &parmID)
void SetAttributeIntMatrix(const string &attrID, const vector< vector< int > > &value)
vector< vector< int > > GetAttributeIntMatrixVal(const string &attrID)
vector< string > PasteAttribute(const string &coll_id)
int GetAttributeType(const string &attrID)
string AddAttributeDouble(const string &collID, const string &attributeName, double value)
vector< string > GetAttributeParmName(const string &attrID)
string AddAttributeBool(const string &collID, const string &attributeName, bool value)
string AddAttributeDoubleMatrix(const string &collID, const string &attributeName, const vector< vector< double > > &value)
string GetObjectTypeName(const string &attachID)
string AddAttributeVec3d(const string &collID, const string &attributeName, const vector< vec3d > &value)
string FindAttributeByName(const string &search_str, int index)
string GetAttributeDoc(const string &attrID)
string FindAttributeInCollection(const string &obj_id, const string &search_str, int index)
void SetAttributeDoc(const string &attrID, const string &doc)
void SetAttributeInt(const string &attrID, int value)
int GetObjectType(const string &attachID)
void SetBORAirfoilUpperPnts(const std::string &bor_id, const std::vector< vec3d > &up_pnt_vec)
void ReadBORFileAirfoil(const std::string &bor_id, const std::string &file_name)
void FitBORAfCST(const std::string &bor_id, int deg)
std::vector< double > GetBORLowerCSTCoefs(const std::string &bor_id)
vec3d ComputeBORXSecPnt(const std::string &bor_id, double fract)
std::vector< vec3d > GetBORAirfoilLowerPnts(const std::string &bor_id)
void SetBORXSecPnts(const std::string &bor_id, std::vector< vec3d > &pnt_vec)
void PromoteBORCSTUpper(const std::string &bor_id)
void SetBORUpperCST(const std::string &bor_id, int deg, const std::vector< double > &coefs)
void SetBORLowerCST(const std::string &bor_id, int deg, const std::vector< double > &coefs)
void ChangeBORXSecShape(const string &bor_id, int type)
vec3d ComputeBORXSecTan(const std::string &bor_id, double fract)
int GetBORUpperCSTDegree(const std::string &bor_id)
void DemoteBORCSTLower(const std::string &bor_id)
void PromoteBORCSTLower(const std::string &bor_id)
int GetBORXSecShape(const string &bor_id)
std::vector< double > GetBORUpperCSTCoefs(const std::string &bor_id)
std::vector< vec3d > ReadBORFileXSec(const std::string &bor_id, const std::string &file_name)
std::vector< vec3d > GetBORAirfoilUpperPnts(const std::string &bor_id)
void DemoteBORCSTUpper(const std::string &bor_id)
int GetBORLowerCSTDegree(const std::string &bor_id)
void SetBORAirfoilPnts(const std::string &bor_id, const std::vector< vec3d > &up_pnt_vec, const std::vector< vec3d > &low_pnt_vec)
void SetBORAirfoilLowerPnts(const std::string &bor_id, const std::vector< vec3d > &low_pnt_vec)
void SetBackground3DRelativePath(const string &id, const string &fname)
void ShowAllBackground3Ds()
int GetNumBackground3Ds()
string AddBackground3D()
vector< string > GetAllBackground3DAbsolutePaths()
vector< string > GetAllBackground3Ds()
string GetBackground3DRelativePath(const string &id)
void SetBackground3DAbsolutePath(const string &id, const string &fname)
void DelBackground3D(const string &id)
vector< string > GetAllBackground3DRelativePaths()
void DelAllBackground3Ds()
string GetBackground3DAbsolutePath(const string &id)
void HideAllBackground3Ds()
void AddCFDSource(int type, const std::string &geom_id, int surf_index, double l1, double r1, double u1, double w1, double l2=0, double r2=0, double u2=0, double w2=0)
void DeleteAllCFDSources()
void ComputeCFDMesh(int set, int degenset, int file_export_types)
void SetCFDWakeFlag(const std::string &geom_id, bool flag)
void AddDefaultSources()
void SetCFDMeshVal(int type, double val)
void SetComputationFileName(int file_type, const std::string &file_name)
void AddSelectedToCSGroup(const vector< int > &selected, int CSGroupIndex)
void SetVSPAEROControlGroupName(const string &name, int CSGroupIndex)
std::vector< std::string > GetActiveCSNameVec(int CSGroupIndex)
void RemoveSelectedFromCSGroup(const vector< int > &selected, int CSGroupIndex)
void AddAllToVSPAEROControlSurfaceGroup(int CSGroupIndex)
std::vector< std::string > GetAvailableCSNameVec(int CSGroupIndex)
int CreateVSPAEROControlSurfaceGroup()
int GetNumControlSurfaceGroups()
std::string GetVSPAEROControlGroupName(int CSGroupIndex)
std::vector< std::string > GetCompleteCSNameVec()
void RemoveAllFromVSPAEROControlSurfaceGroup(int CSGroupIndex)
void AutoGroupVSPAEROControlSurfaces()
std::string ComputeCompGeom(int set, bool half_mesh, int file_export_types)
std::string ComputeMassProps(int set, int num_slices, int idir)
std::string ComputePlaneSlice(int set, int num_slices, const vec3d &norm, bool auto_bnd, double start_bnd=0, double end_bnd=0, bool measureduct=false)
void ComputeDegenGeom(int set, int file_export_types)
void WriteDESFile(const std::string &file_name)
int GetNumDesignVars()
void AddDesignVar(const std::string &parm_id, int type)
void DeleteAllDesignVars()
void ReadApplyXDDMFile(const std::string &file_name)
void ReadApplyDESFile(const std::string &file_name)
void WriteXDDMFile(const std::string &file_name)
std::string GetDesignVar(int index)
int GetDesignVarType(int index)
void MoveEditXSecPnt(const std::string &xsec_id, const int &indx, const vec3d &new_pnt)
void EditXSecDelPnt(const std::string &xsec_id, const int &indx)
void EditXSecConvertTo(const std::string &xsec_id, const int &newtype)
std::vector< bool > GetEditXSecFixedUVec(const std::string &xsec_id)
void ConvertXSecToEdit(const std::string &geom_id, const int &indx=0)
void SetEditXSecFixedUVec(const std::string &xsec_id, std::vector< bool > fixed_u_vec)
std::vector< vec3d > GetEditXSecCtrlVec(const std::string &xsec_id, bool non_dimensional=true)
void SetEditXSecPnts(const std::string &xsec_id, const std::vector< double > &u_vec, const std::vector< vec3d > &control_pts, const std::vector< double > &r_vec)
int EditXSecSplit01(const std::string &xsec_id, const double &u)
std::vector< double > GetEditXSecUVec(const std::string &xsec_id)
void EditXSecInitShape(const std::string &xsec_id)
void ReparameterizeEditXSec(const std::string &xsec_id)
@ SET_NONE
@ SET_ALL
std::string GetFeaPartID(const std::string &fea_struct_id, int fea_part_index)
std::string GetFeaStructName(const std::string &geom_id, int fea_struct_ind)
std::vector< std::string > GetFeaSubSurfIDVec(const std::string &fea_struct_id)
void DeleteFeaPart(const std::string &geom_id, int fea_struct_ind, const std::string &part_id)
std::vector< std::string > GetFeaStructIDVec()
void DeleteFeaSubSurf(const std::string &geom_id, int fea_struct_ind, const std::string &ss_id)
int GetFeaSubSurfIndex(const string &ss_id)
int GetFeaPartType(const std::string &part_id)
int NumFeaParts(const std::string &fea_struct_id)
int NumFeaSubSurfs(const std::string &fea_struct_id)
void SetFeaMeshStructIndex(int struct_index)
void SetFeaMeshVal(const std::string &geom_id, int fea_struct_ind, int type, double val)
std::string AddFeaBC(const string &fea_struct_id, int type=-1)
void DeleteFeaStruct(const std::string &geom_id, int fea_struct_ind)
int GetFeaStructIndex(const std::string &struct_id)
void SetFeaSubSurfName(const std::string &subsurf_id, const std::string &name)
std::vector< std::string > GetFeaPartIDVec(const std::string &fea_struct_id)
std::string GetFeaStructParentGeomID(const std::string &struct_id)
void SetFeaPartName(const std::string &part_id, const std::string &name)
void SetFeaStructName(const std::string &geom_id, int fea_struct_ind, const std::string &name)
void ComputeFeaMesh(const std::string &geom_id, int fea_struct_ind, int file_type)
std::string GetFeaPartName(const std::string &part_id)
std::string GetFeaPartPerpendicularSparID(const std::string &part_id)
std::string AddFeaSubSurf(const std::string &geom_id, int fea_struct_ind, int type)
std::vector< std::string > GetFeaBCIDVec(const string &fea_struct_id)
int NumFeaStructures()
std::string AddFeaProperty(int property_type=0)
void SetFeaMeshFileName(const std::string &geom_id, int fea_struct_ind, int file_type, const string &file_name)
void SetFeaPartPerpendicularSparID(const std::string &part_id, const std::string &perpendicular_spar_id)
void DelFeaBC(const string &fea_struct_id, const std::string &bc_id)
std::string AddFeaMaterial()
std::string AddFeaPart(const std::string &geom_id, int fea_struct_ind, int type)
int NumFeaBCs(const string &fea_struct_id)
std::string GetFeaSubSurfName(const std::string &subsurf_id)
int AddFeaStruct(const std::string &geom_id, bool init_skin=true, int surfindex=0)
std::string GetFeaStructID(const std::string &geom_id, int fea_struct_ind)
void ReadVSPFile(const std::string &file_name)
void SetVSP3FileName(const std::string &file_name)
void SetBEMPropID(const string &prop_id)
std::string ImportFile(const std::string &file_name, int file_type, const std::string &parent)
void WriteVSPFile(const std::string &file_name, int set=SET_ALL)
void InsertVSPFile(const std::string &file_name, const std::string &parent_geom_id)
std::string ExportFile(const std::string &file_name, int thick_set, int file_type, int subsFlag=1, int thin_set=vsp::SET_NONE, bool useMode=false, const string &modeID="")
void DeleteGeom(const std::string &geom_id)
std::string GetGeomName(const std::string &geom_id)
std::vector< std::string > GetGeomTypes()
vec3d GetGeomBBoxMax(const std::string &geom_id, int main_surf_ind=0, bool ref_frame_is_absolute=true)
std::vector< std::string > GetGeomParmIDs(const std::string &geom_id)
int GetGeomVSPSurfType(const std::string &geom_id, int main_surf_ind=0)
std::vector< std::string > FindGeomsWithName(const std::string &name)
std::string FindGeom(const std::string &name, int index)
int GetTotalNumSurfs(const std::string &geom_id)
void UpdateGeom(const std::string &geom_id)
std::string GetGeomParent(const std::string &geom_id)
void SetDriverGroup(const std::string &geom_id, int section_index, int driver_0, int driver_1=-1, int driver_2=-1)
int GetNumMainSurfs(const std::string &geom_id)
std::vector< std::string > PasteGeomClipboard(const std::string &parent=std::string())
void SetGeomParent(const std::string &geom_id, const std::string &parent_id)
void CutGeomToClipboard(const std::string &geom_id)
std::vector< std::string > FindGeoms()
void SetGeomName(const std::string &geom_id, const std::string &name)
std::vector< std::string > GetGeomChildren(const std::string &geom_id)
std::string AddGeom(const std::string &type, const std::string &parent=std::string())
std::string GetGeomTypeName(const std::string &geom_id)
vec3d GetGeomBBoxMin(const std::string &geom_id, int main_surf_ind=0, bool ref_frame_is_absolute=true)
void CopyGeomToClipboard(const std::string &geom_id)
int GetGeomVSPSurfCfdType(const std::string &geom_id, int main_surf_ind=0)
void DeleteGeomVec(const std::vector< std::string > &del_vec)
void SplitWingXSec(const string &wing_id, int section_index)
void TranslateSet(int set_index, const vec3d &translation_vec)
void TransformSet(int set_index, const vec3d &translation_vec, double x_rot_deg, double y_rot_deg, double z_rot_deg, double scale, bool scale_translations_flag)
void ScaleSet(int set_index, double scale)
void RotateSet(int set_index, double x_rot_deg, double y_rot_deg, double z_rot_deg)
string AddProbe(const string &geomid, int surfindx, double u, double w, const string &name)
void DeleteAllRulers()
void DeleteAllProbes()
void DelProbe(const string &id)
string AddRuler(const string &startgeomid, int startsurfindx, double startu, double startw, const string &endgeomid, int endsurfindx, double endu, double endw, const string &name)
std::vector< string > GetAllProbes()
std::vector< string > GetAllRulers()
void DelRuler(const string &id)
int GetNumModes()
void ApplyModeSettings(const string &mid)
void RemoveAllGroupSettings(const string &mid)
vector< string > ModeGetAllSettings(const string &mid)
void DelMode(const string &mid)
void ShowOnlyMode(const string &mid)
vector< string > GetAllModes()
void ModeAddGroupSetting(const string &mid, const string &gid, const string &sid)
string ModeGetSetting(const string &mid, int indx)
string CreateAndAddMode(const string &name, int normal_set, int degen_set)
void DelAllModes()
vector< string > ModeGetAllGroups(const string &mid)
string ModeGetGroup(const string &mid, int indx)
void RemoveGroupSetting(const string &mid, int indx)
void SetPCurve(const std::string &geom_id, const int &pcurveid, const std::vector< double > &tvec, const std::vector< double > &valvec, const int &newtype)
std::vector< double > PCurveGetValVec(const std::string &geom_id, const int &pcurveid)
std::vector< double > PCurveGetTVec(const std::string &geom_id, const int &pcurveid)
void ApproximateAllPropellerPCurves(const std::string &geom_id)
void PCurveDeletePt(const std::string &geom_id, const int &pcurveid, const int &indx)
void ResetPropellerThicknessCurve(const std::string &geom_id)
int PCurveSplit(const std::string &geom_id, const int &pcurveid, const double &tsplit)
int PCurveGetType(const std::string &geom_id, const int &pcurveid)
void PCurveConvertTo(const std::string &geom_id, const int &pcurveid, const int &newtype)
void WriteBodyFFCSVFile(const std::string &file_name)
void AddExcrescence(const std::string &excresName, const int &excresType, const double &excresVal)
void UpdateParasiteDrag()
void WriteCfEqnCSVFile(const std::string &file_name)
void WritePartialCfMethodCSVFile(const std::string &file_name)
void WriteAtmosphereCSVFile(const std::string &file_name, const int &atmos_type)
void WriteWingFFCSVFile(const std::string &file_name)
void CalcAtmosphere(const double &alt, const double &delta_temp, const int &atmos_type, double &temp, double &pres, double &pres_ratio, double &rho_ratio)
void DeleteExcrescence(const int &index)
std::string GetVehicleID()
std::string GetUserParmContainer()
std::vector< std::string > FindContainerGroupNames(const std::string &parm_container_id)
std::vector< std::string > GetAllUserParms()
void DeleteAllUserParm()
void DeleteUserParm(const std::string &id)
std::string FindContainer(const std::string &name, int index)
std::vector< std::string > FindContainerParmIDs(const std::string &parm_container_id)
int GetNumUserParms()
int GetNumPredefinedUserParms()
std::vector< std::string > FindContainers()
std::vector< std::string > FindContainersWithName(const std::string &name)
std::string GetContainerName(const std::string &parm_container_id)
string AddUserParm(int type, const string &name, const string &group)
std::string FindParm(const std::string &parm_container_id, const std::string &parm_name, const std::string &group_name)
void SetParmUpperLimit(const std::string &parm_id, double val)
double GetParmLowerLimit(const std::string &parm_id)
std::string GetParmName(const std::string &parm_id)
int GetParmType(const std::string &parm_id)
bool ValidParm(const std::string &id)
std::string GetParmDescript(const std::string &parm_id)
int GetIntParmVal(const std::string &parm_id)
double SetParmVal(const std::string &parm_id, double val)
double SetParmValUpdate(const std::string &parm_id, double val)
double GetParmVal(const std::string &parm_id)
std::string GetParm(const std::string &geom_id, const std::string &name, const std::string &group)
void SetParmDescript(const std::string &parm_id, const std::string &desc)
double GetParmUpperLimit(const std::string &parm_id)
void SetParmLowerLimit(const std::string &parm_id, double val)
double SetParmValLimits(const std::string &parm_id, double val, double lower_limit, double upper_limit)
std::string GetParmDisplayGroupName(const std::string &parm_id)
bool GetBoolParmVal(const std::string &parm_id)
std::string GetParmGroupName(const std::string &parm_id)
std::string GetParmContainer(const std::string &parm_id)
int GetNumResults(const std::string &name)
int GetNumData(const std::string &results_id, const std::string &data_name)
void PrintResults(const std::string &results_id)
const std::vector< vec3d > & GetVec3dResults(const std::string &id, const std::string &name, int index=0)
std::vector< std::string > GetAllResultsNames()
void DeleteResult(const std::string &id)
std::string FindLatestResultsID(const std::string &name)
const std::vector< int > & GetIntResults(const std::string &id, const std::string &name, int index=0)
std::string GetResultsName(const std::string &results_id)
const std::vector< std::vector< double > > & GetDoubleMatResults(const std::string &id, const std::string &name, int index=0)
const std::vector< double > & GetDoubleResults(const std::string &id, const std::string &name, int index=0)
int GetResultsType(const std::string &results_id, const std::string &data_name)
std::string GetResultsSetDoc(const std::string &results_id)
std::vector< std::string > GetAllDataNames(const std::string &results_id)
void WriteResultsCSVFile(const std::string &id, const std::string &file_name)
std::string FindResultsID(const std::string &name, int index=0)
void DeleteAllResults()
void WriteTestResults()
void PrintResultsDocs(const std::string &results_id)
std::string CreateGeomResults(const std::string &geom_id, const std::string &name)
const std::vector< std::string > & GetStringResults(const std::string &id, const std::string &name, int index=0)
void CopyPasteSet(int copyIndex, int pasteIndex)
void SetSetName(int index, const std::string &name)
bool GetSetFlag(const std::string &geom_id, int set_index)
std::vector< std::string > GetGeomSet(const std::string &name)
int GetSetIndex(const std::string &name)
std::vector< std::string > GetGeomSetAtIndex(int index)
bool GetScaleIndependentBBoxSet(int set, double &xmin_out, double &ymin_out, double &zmin_out, double &xlen_out, double &ylen_out, double &zlen_out)
bool GetBBoxSet(int set, double &xmin_out, double &ymin_out, double &zmin_out, double &xlen_out, double &ylen_out, double &zlen_out)
int GetNumSets()
void SetSetFlag(const std::string &geom_id, int set_index, bool flag)
std::string GetSetName(int index)
double SnapParm(const std::string &parm_id, double target_min_dist, bool inc_flag, int set=SET_ALL, bool useMode=false, const string &modeID=string())
double ComputeMinClearanceDistance(const std::string &geom_id, int set=SET_ALL, bool useMode=false, const string &modeID=string())
int GetNumSubSurf(const std::string &geom_id)
std::vector< std::string > GetSubSurfIDVec(const std::string &geom_id)
std::string GetSubSurfName(const std::string &geom_id, const std::string &sub_id)
std::vector< std::string > GetAllSubSurfIDs()
std::string AddSubSurf(const std::string &geom_id, int type, int surfindex=0)
void DeleteSubSurf(const std::string &geom_id, const std::string &sub_id)
int GetSubSurfType(const std::string &sub_id)
void SetSubSurfName(const std::string &geom_id, const std::string &sub_id, const std::string &name)
std::vector< std::string > GetSubSurfParmIDs(const std::string &sub_id)
int GetSubSurfIndex(const std::string &sub_id)
std::string GetSubSurf(const std::string &geom_id, int index)
void CompVecCurvature01(const std::string &geom_id, const int &surf_indx, const std::vector< double > &us, const std::vector< double > &ws, std::vector< double > &k1_out_vec, std::vector< double > &k2_out_vec, std::vector< double > &ka_out_vec, std::vector< double > &kg_out_vec)
vec3d CompTanU01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void AxisProjVecPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const std::vector< vec3d > &pts, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
double ProjPnt01(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &u_out, double &w_out)
vec3d CompPntRST(const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t)
void ConvertLMNtoRST(const std::string &geom_id, const int &surf_indx, const double &l, const double &m, const double &n, double &r_out, double &s_out, double &t_out)
void ProjVecPnt01Guess(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, const std::vector< double > &u0s, const std::vector< double > &w0s, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
void ProjVecPnt01(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
bool InsideSurf(const std::string &geom_id, const int &surf_indx, const vec3d &pt)
vec3d CompPnt01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void FindRSTVec(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, std::vector< double > &r_out_vec, std::vector< double > &s_out_vec, std::vector< double > &t_out_vec, std::vector< double > &d_out_vec)
double ProjPnt01Guess(const std::string &geom_id, const int &surf_indx, const vec3d &pt, const double &u0, const double &w0, double &u_out, double &w_out)
void ConvertLMNtoRSTVec(const std::string &geom_id, const int &surf_indx, const std::vector< double > &l_vec, const std::vector< double > &m_vec, const std::vector< double > &n_vec, std::vector< double > &r_out_vec, std::vector< double > &s_out_vec, std::vector< double > &t_out_vec)
void ConvertRSTtoLMN(const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t, double &l_out, double &m_out, double &n_out)
vec3d CompTanW01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void AxisProjVecPnt01Guess(const std::string &geom_id, const int &surf_indx, const int &iaxis, const std::vector< vec3d > &pts, const std::vector< double > &u0s, const std::vector< double > &w0s, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
void ConvertRSTtoLMNVec(const std::string &geom_id, const int &surf_indx, const std::vector< double > &r_vec, const std::vector< double > &s_vec, const std::vector< double > &t_vec, std::vector< double > &l_out_vec, std::vector< double > &m_out_vec, std::vector< double > &n_out_vec)
double ProjPnt01I(const std::string &geom_id, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out)
void FindRSTVecGuess(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, const std::vector< double > &r0s, const std::vector< double > &s0s, const std::vector< double > &t0s, std::vector< double > &r_out_vec, std::vector< double > &s_out_vec, std::vector< double > &t_out_vec, std::vector< double > &d_out_vec)
void ConvertRtoL(const std::string &geom_id, const int &surf_indx, const double &r, double &l_out)
std::vector< bool > VecInsideSurf(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts)
std::vector< vec3d > CompVecPntRST(const std::string &geom_id, const int &surf_indx, const std::vector< double > &r_in_vec, const std::vector< double > &s_in_vec, const std::vector< double > &t_in_vec)
double AxisProjPnt01Guess(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, const double &u0, const double &w0, double &u_out, double &w_out)
double AxisProjPnt01I(const std::string &geom_id, const int &iaxis, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out)
void CompCurvature01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w, double &k1_out, double &k2_out, double &ka_out, double &kg_out)
void ConvertLtoR(const std::string &geom_id, const int &surf_indx, const double &l, double &r_out)
std::vector< vec3d > CompVecDegenPnt01(const std::string &geom_id, const int &surf_indx, const int &degen_type, const std::vector< double > &u_in_vec, const std::vector< double > &w_in_vec)
void ConvertUtoEta(const std::string &geom_id, const double &u, double &eta_out)
double FindRST(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &r_out, double &s_out, double &t_out)
vec3d CompNorm01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void ConvertEtatoU(const std::string &geom_id, const double &eta, double &u_out)
std::vector< vec3d > CompVecNorm01(const std::string &geom_id, const int &surf_indx, const std::vector< double > &us, const std::vector< double > &ws)
std::vector< vec3d > CompVecPnt01(const std::string &geom_id, const int &surf_indx, const std::vector< double > &u_in_vec, const std::vector< double > &w_in_vec)
void GetUWTess01(const std::string &geom_id, const int &surf_indx, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec)
double FindRSTGuess(const std::string &geom_id, const int &surf_indx, const vec3d &pt, const double &r0, const double &s0, const double &t0, double &r_out, double &s_out, double &t_out)
double AxisProjPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, double &u_out, double &w_out)
int GetNumUnsteadyGroups()
std::string GetUnsteadyGroupName(int group_index)
int GetNumUnsteadyRotorGroups()
std::vector< int > GetUnsteadyGroupSurfIndexes(int group_index)
std::vector< std::string > GetUnsteadyGroupCompIDs(int group_index)
int GetNumActuatorDisks()
std::string FindActuatorDisk(int disk_index)
std::string FindUnsteadyGroup(int group_index)
string GetVSPAERORefWingID()
string SetVSPAERORefWingID(const std::string &geom_id)
string AddVarPresetSetting(const std::string &group_id, const std::string &setting_name)
void SetGroupName(const std::string &group_id, const std::string &group_name)
double GetVarPresetParmVal(const std::string &group_id, const std::string &setting_id, const std::string &parm_id)
void SetSettingName(const std::string &setting_id, const std::string &setting_name)
std::vector< double > GetVarPresetParmVals(const std::string &setting_id)
std::vector< std::string > GetVarPresetGroups()
void DeleteVarPresetGroup(const std::string &group_id)
void SetVarPresetParmVal(const std::string &group_id, const std::string &setting_id, const std::string &parm_id, double parm_val)
std::string GetSettingName(const std::string &setting_id)
void ApplyVarPresetSetting(const std::string &group_id, const std::string &setting_id)
std::vector< std::string > GetVarPresetParmIDs(const std::string &group_id)
void SetVarPresetParmVals(const std::string &setting_id, const std::vector< double > &parm_vals)
void AddVarPresetParm(const std::string &group_id, const std::string &parm_id)
void DeleteVarPresetParm(const std::string &group_id, const std::string &parm_id)
string AddVarPresetGroup(const std::string &group_name)
std::string GetGroupName(const std::string &group_id)
void SaveVarPresetParmVals(const std::string &group_id, const std::string &setting_id)
std::vector< std::string > GetVarPresetSettings(const std::string &group_id)
void DeleteVarPresetSetting(const std::string &group_id, const std::string &setting_id)
void VSPExit(int error_code)
int GetAndResetUpdateCount()
void Update(bool update_managers=true)
void ClearVSPModel()
std::string GetVSPFileName()
void VSPCrash(int crash_type)
void ResetViews()
void StopGUI()
void PopupMsg(const std::string &msg)
bool IsGUIBuild()
bool IsEventLoopRunning()
void SetViewAxis(bool vaxis)
void SetGeomMaterialName(const string &geom_id, const string &name)
void SetGeomDisplayType(const string &geom_id, int type)
void ShowScreen(int s)
void SetShowBorders(bool brdr)
vector< string > GetMaterialNames()
void Lock()
void SetGUIElementDisable(int e, bool state)
void SetWindowLayout(int r, int c)
void SetAllViews(int view)
void HideScreen(int s)
void SetView(int viewport, int view)
void InitGUI()
void SetGeomScreenDisable(int s, bool state)
void SetGeomDrawType(const string &geom_id, int type)
void UpdateGUI()
void Unlock()
void SetGeomWireColor(const string &geom_id, int r, int g, int b)
void StartGUI()
void FitAllViews()
void SetBackground(double r, double g, double b)
void DisableStopGUIMenuItem()
void ScreenGrab(const string &fname, int w, int h, bool transparentBG, bool autocrop=false)
void EnableStopGUIMenuItem()
void SetGUIScreenDisable(int s, bool state)
void AddMaterial(const string &name, const vec3d &ambient, const vec3d &diffuse, const vec3d &specular, const vec3d &emissive, const double &alpha, const double &shininess)
void InsertXSec(const std::string &geom_id, int index, int type)
std::vector< vec3d > ReadFileXSec(const std::string &xsec_id, const std::string &file_name)
void SetXSecContinuity(const std::string &xsec_id, int cx)
int GetLowerCSTDegree(const std::string &xsec_id)
void SetXSecWidthHeight(const std::string &xsec_id, double w, double h)
void SetXSecPnts(const std::string &xsec_id, std::vector< vec3d > &pnt_vec)
void DemoteCSTUpper(const std::string &xsec_id)
std::vector< vec3d > GetAirfoilLowerPnts(const std::string &xsec_id)
void SetXSecWidth(const std::string &xsec_id, double w)
double GetXSecWidth(const std::string &xsec_id)
std::vector< std::string > GetXSecParmIDs(const std::string &xsec_id)
std::vector< vec3d > GetFeatureLinePnts(const string &geom_id)
void SetXSecHeight(const std::string &xsec_id, double h)
void SetLowerCST(const std::string &xsec_id, int deg, const std::vector< double > &coefs)
void PasteXSec(const std::string &geom_id, int index)
std::vector< double > GetUpperCSTCoefs(const std::string &xsec_id)
vec3d ComputeXSecTan(const std::string &xsec_id, double fract)
void SetAirfoilPnts(const std::string &xsec_id, const std::vector< vec3d > &up_pnt_vec, const std::vector< vec3d > &low_pnt_vec)
void SetXSecCurveAlias(const string &id, const string &alias)
string GetXSecCurveAlias(const string &id)
std::string GetXSecParm(const std::string &xsec_id, const std::string &name)
std::vector< vec3d > GetAirfoilCoordinates(const std::string &geom_id, const double &foilsurf_u)
void PromoteCSTUpper(const std::string &xsec_id)
void PromoteCSTLower(const std::string &xsec_id)
std::vector< double > GetVKTAirfoilCpDist(const double &alpha, const double &epsilon, const double &kappa, const double &tau, const std::vector< vec3d > &xyz_data)
void DemoteCSTLower(const std::string &xsec_id)
void FitAfCST(const std::string &xsec_surf_id, int xsec_index, int deg)
void CopyXSec(const std::string &geom_id, int index)
vec3d ComputeXSecPnt(const std::string &xsec_id, double fract)
void SetXSecAlias(const string &id, const string &alias)
std::vector< double > GetLowerCSTCoefs(const std::string &xsec_id)
void SetXSecTanStrengths(const std::string &xsec_id, int side, double top, double right, double bottom, double left)
void ReadFileAirfoil(const std::string &xsec_id, const std::string &file_name)
string GetXSecAlias(const string &id)
void SetXSecTanAngles(const std::string &xsec_id, int side, double top, double right, double bottom, double left)
std::vector< vec3d > GetHersheyBarDragDist(const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag=false)
void ResetXSecSkinParms(const std::string &xsec_id)
std::vector< vec3d > GetAirfoilUpperPnts(const std::string &xsec_id)
std::vector< vec3d > GetHersheyBarLiftDist(const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag=false)
std::vector< vec3d > GetVKTAirfoilPnts(const int &npts, const double &alpha, const double &epsilon, const double &kappa, const double &tau)
std::vector< vec3d > GetEllipsoidSurfPnts(const vec3d &center, const vec3d &abc_rad, int u_npts=20, int w_npts=20)
void CutXSec(const std::string &geom_id, int index)
std::vector< double > GetEllipsoidCpDist(const std::vector< vec3d > &surf_pnt_vec, const vec3d &abc_rad, const vec3d &V_inf)
void SetAirfoilLowerPnts(const std::string &xsec_id, const std::vector< vec3d > &low_pnt_vec)
void SetAirfoilUpperPnts(const std::string &xsec_id, const std::vector< vec3d > &up_pnt_vec)
int GetXSecShape(const std::string &xsec_id)
void SetXSecTanSlews(const std::string &xsec_id, int side, double top, double right, double bottom, double left)
void WriteBezierAirfoil(const std::string &file_name, const std::string &geom_id, const double &foilsurf_u)
int GetUpperCSTDegree(const std::string &xsec_id)
void SetXSecCurvatures(const std::string &xsec_id, int side, double top, double right, double bottom, double left)
double GetXSecHeight(const std::string &xsec_id)
void WriteSeligAirfoil(const std::string &file_name, const std::string &geom_id, const double &foilsurf_u)
void SetUpperCST(const std::string &xsec_id, int deg, const std::vector< double > &coefs)
std::string GetXSecSurf(const std::string &geom_id, int index)
void SetXSecSurfGlobalXForm(const std::string &xsec_surf_id, const Matrix4d &mat)
std::string GetXSec(const std::string &xsec_surf_id, int xsec_index)
int GetNumXSecSurfs(const std::string &geom_id)
Matrix4d GetXSecSurfGlobalXForm(const std::string &xsec_surf_id)
int GetNumXSec(const std::string &xsec_surf_id)
void ChangeXSecShape(const std::string &xsec_surf_id, int xsec_index, int type)