OpenVSP API Documentation 3.46.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
13417
13418extern vector < vec3d > GetRoutingCurve( const string &routing_id, int symm_index );
13419
13420//======================== BOR Functions ======================//
13451
13452extern void ChangeBORXSecShape( const string & bor_id, int type );
13453
13483
13484extern int GetBORXSecShape( const string & bor_id );
13485
13516
13517extern std::vector<vec3d> ReadBORFileXSec( const std::string& bor_id, const std::string& file_name );
13518
13562
13563extern void SetBORXSecPnts( const std::string& bor_id, std::vector< vec3d > & pnt_vec );
13564
13597
13598extern vec3d ComputeBORXSecPnt( const std::string& bor_id, double fract );
13599
13630
13631extern vec3d ComputeBORXSecTan( const std::string& bor_id, double fract );
13632
13662
13663extern void ReadBORFileAirfoil( const std::string& bor_id, const std::string& file_name );
13664
13711
13712extern void SetBORAirfoilUpperPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec );
13713
13760
13761extern void SetBORAirfoilLowerPnts( const std::string& bor_id, const std::vector< vec3d > & low_pnt_vec );
13762
13818
13819extern void SetBORAirfoilPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
13820
13855
13856extern std::vector<vec3d> GetBORAirfoilUpperPnts( const std::string& bor_id );
13857
13892
13893extern std::vector<vec3d> GetBORAirfoilLowerPnts( const std::string& bor_id );
13894
13904
13905extern std::vector<double> GetBORUpperCSTCoefs( const std::string& bor_id );
13906
13916
13917extern std::vector<double> GetBORLowerCSTCoefs( const std::string& bor_id );
13918
13928
13929extern int GetBORUpperCSTDegree( const std::string& bor_id );
13930
13940
13941extern int GetBORLowerCSTDegree( const std::string& bor_id );
13942
13953
13954extern void SetBORUpperCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
13955
13966
13967extern void SetBORLowerCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
13968
13977
13978extern void PromoteBORCSTUpper( const std::string& bor_id );
13979
13988
13989extern void PromoteBORCSTLower( const std::string& bor_id );
13990
13999
14000extern void DemoteBORCSTUpper( const std::string& bor_id );
14001
14010
14011extern void DemoteBORCSTLower( const std::string& bor_id );
14012
14021
14022extern void FitBORAfCST( const std::string & bor_id, int deg );
14023
14024
14025//======================== FoilSurf Functions ======================//
14059
14060extern void WriteBezierAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
14061
14095
14096extern void WriteSeligAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
14097
14107
14108extern std::vector < vec3d > GetAirfoilCoordinates( const std::string & geom_id, const double &foilsurf_u );
14109
14110
14111//======================== Edit Curve XSec Functions ======================//
14159
14160extern void EditXSecInitShape( const std::string & xsec_id );
14161
14207
14208extern void EditXSecConvertTo( const std::string & xsec_id, const int & newtype );
14209
14265
14266extern std::vector < double > GetEditXSecUVec( const std::string& xsec_id );
14267
14316
14317extern std::vector < vec3d > GetEditXSecCtrlVec( const std::string & xsec_id, bool non_dimensional = true );
14318
14425
14426extern 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 );
14427
14493
14494extern void EditXSecDelPnt( const std::string & xsec_id, const int & indx );
14495
14560
14561extern int EditXSecSplit01( const std::string & xsec_id, const double & u );
14562
14642
14643extern void MoveEditXSecPnt( const std::string & xsec_id, const int & indx, const vec3d & new_pnt );
14644
14694
14695extern void ConvertXSecToEdit( const std::string & geom_id, const int & indx = 0 );
14696
14752
14753extern std::vector < bool > GetEditXSecFixedUVec( const std::string& xsec_id );
14754
14810
14811extern void SetEditXSecFixedUVec( const std::string& xsec_id, std::vector < bool > fixed_u_vec );
14812
14868
14869extern void ReparameterizeEditXSec( const std::string & xsec_id );
14870
14871
14872//======================== Sets ================================//
14892
14893extern int GetNumSets();
14894
14921
14922extern void SetSetName( int index, const std::string& name );
14923
14950
14951extern std::string GetSetName( int index );
14952
14985
14986extern std::vector<std::string> GetGeomSetAtIndex( int index );
14987
15019
15020extern std::vector<std::string> GetGeomSet( const std::string & name );
15021
15047
15048extern int GetSetIndex( const std::string & name );
15049
15082
15083extern bool GetSetFlag( const std::string & geom_id, int set_index );
15084
15117
15118extern void SetSetFlag( const std::string & geom_id, int set_index, bool flag );
15119
15163
15164extern void CopyPasteSet( int copyIndex, int pasteIndex );
15165
15201
15202extern bool GetBBoxSet( int set, double & xmin_out, double & ymin_out, double & zmin_out, double & xlen_out, double & ylen_out, double & zlen_out );
15203
15239
15240extern bool GetScaleIndependentBBoxSet( int set, double & xmin_out, double & ymin_out, double & zmin_out, double & xlen_out, double & ylen_out, double & zlen_out );
15241
15242//======================== Group Modifications ================================//
15274
15275extern void ScaleSet( int set_index, double scale );
15276
15310
15311extern void RotateSet( int set_index, double x_rot_deg, double y_rot_deg, double z_rot_deg );
15312
15344
15345extern void TranslateSet( int set_index, const vec3d &translation_vec );
15346
15384
15385extern 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 );
15386
15387
15388//======================== Parm Functions ================================//
15418
15419extern bool ValidParm( const std::string & id );
15420
15468
15469extern double SetParmVal( const std::string & parm_id, double val );
15470
15520
15521extern double SetParmVal( const std::string & geom_id, const std::string & name, const std::string & group, double val );
15522
15558
15559extern double SetParmValLimits( const std::string & parm_id, double val, double lower_limit, double upper_limit );
15560
15592
15593extern double SetParmValUpdate( const std::string & parm_id, double val );
15594
15628
15629extern double SetParmValUpdate( const std::string & geom_id, const std::string & parm_name, const std::string & parm_group_name, double val );
15630
15676
15677extern double GetParmVal( const std::string & parm_id );
15678
15726
15727extern double GetParmVal( const std::string & geom_id, const std::string & name, const std::string & group );
15728
15758
15759extern int GetIntParmVal( const std::string & parm_id );
15760
15790
15791extern bool GetBoolParmVal( const std::string & parm_id );
15792
15843
15844extern void SetParmUpperLimit( const std::string & parm_id, double val );
15845
15875
15876extern double GetParmUpperLimit( const std::string & parm_id );
15877
15928
15929extern void SetParmLowerLimit( const std::string & parm_id, double val );
15930
15960
15961extern double GetParmLowerLimit( const std::string & parm_id );
15962
16005
16006extern int GetParmType( const std::string & parm_id );
16007
16064
16065extern std::string GetParmName( const std::string & parm_id );
16066
16109
16110extern std::string GetParmGroupName( const std::string & parm_id );
16111
16154
16155extern std::string GetParmDisplayGroupName( const std::string & parm_id );
16156
16202
16203extern std::string GetParmContainer( const std::string & parm_id );
16204
16236
16237extern void SetParmDescript( const std::string & parm_id, const std::string & desc );
16238
16272
16273extern std::string GetParmDescript( const std::string & parm_id );
16274
16308
16309extern std::string FindParm( const std::string & parm_container_id, const std::string& parm_name, const std::string& group_name );
16310
16311
16312//======================== Parm Container Functions ======================//
16313
16349
16350extern std::vector<std::string> FindContainers();
16351
16375
16376extern std::vector<std::string> FindContainersWithName( const std::string & name );
16377
16401
16402extern std::string FindContainer( const std::string & name, int index );
16403
16427
16428extern std::string GetContainerName( const std::string & parm_container_id );
16429
16468
16469extern std::vector<std::string> FindContainerGroupNames( const std::string & parm_container_id );
16470
16527
16528extern std::vector<std::string> FindContainerParmIDs( const std::string & parm_container_id );
16529
16550
16551extern std::string GetVehicleID();
16552
16553
16554//======================== User Parm Functions ======================//
16575
16576extern int GetNumUserParms();
16577
16598
16600
16636
16637extern std::vector < std::string > GetAllUserParms();
16638
16657
16658extern std::string GetUserParmContainer();
16659
16690
16691extern string AddUserParm(int type, const string & name, const string & group );
16692
16722
16723extern void DeleteUserParm( const std::string & id );
16724
16742
16743extern void DeleteAllUserParm();
16744
16745
16746//======================== Snap To Functions ======================//
16789
16790extern double ComputeMinClearanceDistance( const std::string & geom_id, int set = SET_ALL, bool useMode = false, const string &modeID = string() );
16791 // TODO: Validate inc_flag description
16838
16839extern 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() );
16840
16841
16842//======================== Variable Preset Functions ======================//
16843
16869
16870extern string AddVarPresetGroup( const std::string &group_name );
16871
16903
16904extern string AddVarPresetSetting( const std::string &group_id, const std::string &setting_name );
16905
16943
16944extern void AddVarPresetParm( const std::string &group_id, const std::string &parm_id );
16945
16987
16988extern void DeleteVarPresetGroup( const std::string &group_id );
16989
17032
17033extern void DeleteVarPresetSetting( const std::string &group_id, const std::string &setting_id );
17034
17077
17078extern void DeleteVarPresetParm( const std::string &group_id, const std::string &parm_id );
17079
17124
17125extern void SetVarPresetParmVal( const std::string &group_id, const std::string &setting_id, const std::string &parm_id, double parm_val );
17126
17171
17172extern double GetVarPresetParmVal( const std::string &group_id, const std::string &setting_id, const std::string &parm_id );
17173
17204
17205extern std::string GetGroupName( const std::string &group_id );
17206
17241
17242extern std::string GetSettingName( const std::string &setting_id );
17243
17274
17275extern void SetGroupName( const std::string &group_id, const std::string &group_name );
17276
17311
17312extern void SetSettingName( const std::string &setting_id, const std::string &setting_name );
17313
17355
17356extern std::vector< std::string > GetVarPresetGroups();
17357
17400
17401extern std::vector< std::string > GetVarPresetSettings( const std::string &group_id );
17402
17445
17446extern std::vector< std::string > GetVarPresetParmIDs( const std::string &group_id );
17447
17491
17492extern std::vector< double > GetVarPresetParmVals( const std::string &setting_id );
17493
17540
17541extern void SetVarPresetParmVals( const std::string &setting_id, const std::vector< double > &parm_vals );
17542
17585
17586extern void SaveVarPresetParmVals( const std::string &group_id, const std::string &setting_id );
17587
17634
17635extern void ApplyVarPresetSetting( const std::string &group_id, const std::string &setting_id );
17636
17637//======================== Mode Functions ======================//
17638
17793
17794extern string CreateAndAddMode( const string & name, int normal_set, int degen_set );
17795
17951
17952extern int GetNumModes();
17953
18109
18110extern vector < string > GetAllModes();
18111
18267
18268extern void DelMode( const string &mid );
18269
18424
18425extern void DelAllModes();
18426
18578
18579extern void ApplyModeSettings( const string &mid );
18580
18736
18737extern void ShowOnlyMode( const string &mid );
18738
18892
18893extern void ModeAddGroupSetting( const string &mid, const string &gid, const string &sid );
18894
19052
19053extern string ModeGetGroup( const string &mid, int indx );
19054
19212
19213extern string ModeGetSetting( const string &mid, int indx );
19214
19371
19372extern vector < string > ModeGetAllGroups( const string &mid );
19373
19530
19531extern vector < string > ModeGetAllSettings( const string &mid );
19532
19689
19690extern void RemoveGroupSetting( const string &mid, int indx );
19691
19847
19848extern void RemoveAllGroupSettings( const string &mid );
19849
19850//======================== Parametric Curve Functions ======================//
19863
19864extern void SetPCurve( const std::string & geom_id, const int & pcurveid, const std::vector < double > & tvec,
19865
19866 const std::vector < double > & valvec, const int & newtype );
19877
19878extern void PCurveConvertTo( const std::string & geom_id, const int & pcurveid, const int & newtype );
19879
19890
19891extern int PCurveGetType( const std::string & geom_id, const int & pcurveid );
19892
19902
19903extern std::vector < double > PCurveGetTVec( const std::string & geom_id, const int & pcurveid );
19904
19914
19915extern std::vector < double > PCurveGetValVec( const std::string & geom_id, const int & pcurveid );
19916
19926
19927extern void PCurveDeletePt( const std::string & geom_id, const int & pcurveid, const int & indx );
19928
19939
19940extern int PCurveSplit( const std::string & geom_id, const int & pcurveid, const double & tsplit );
19941
19968
19969extern void ApproximateAllPropellerPCurves( const std::string & geom_id );
19970
19999
20000extern void ResetPropellerThicknessCurve( const std::string & geom_id );
20001
20002
20003//======================== VSPAERO Functions ======================//
20094
20096
20133
20135
20166
20167extern void AddAllToVSPAEROControlSurfaceGroup( int CSGroupIndex );
20168
20203
20204extern void RemoveAllFromVSPAEROControlSurfaceGroup( int CSGroupIndex );
20205
20256
20257extern std::vector < std::string > GetActiveCSNameVec( int CSGroupIndex );
20258
20302
20303extern std::vector < std::string > GetCompleteCSNameVec();
20304
20345
20346extern std::vector < std::string > GetAvailableCSNameVec( int CSGroupIndex );
20347
20387
20388extern void SetVSPAEROControlGroupName(const string & name, int CSGroupIndex);
20389
20428
20429extern std::string GetVSPAEROControlGroupName( int CSGroupIndex );
20430
20484
20485extern void AddSelectedToCSGroup( const vector <int> &selected, int CSGroupIndex);
20486
20549
20550extern void RemoveSelectedFromCSGroup( const vector <int> &selected, int CSGroupIndex);
20551
20606
20608
20609
20610//================ VSPAERO Actuator Disk and Unsteady Functions ==============//
20658
20659extern std::string FindActuatorDisk( int disk_index );
20660
20702
20704
20750
20751extern std::string FindUnsteadyGroup( int group_index );
20752
20787
20788extern std::string GetUnsteadyGroupName( int group_index );
20789
20832
20833extern std::vector < std::string > GetUnsteadyGroupCompIDs( int group_index );
20834
20877
20878extern std::vector < int > GetUnsteadyGroupSurfIndexes( int group_index );
20879
20930
20932
20984
20986
20987
20988//======================== Parasite Drag Tool Functions ======================//
21014
21015extern void AddExcrescence(const std::string & excresName, const int & excresType, const double & excresVal);
21016
21047
21048extern void DeleteExcrescence(const int & index);
21049
21056
21058
21084
21085extern void WriteAtmosphereCSVFile( const std::string & file_name, const int &atmos_type );
21086
21125
21126extern void CalcAtmosphere( const double & alt, const double & delta_temp, const int & atmos_type,
21127
21128 double & temp, double & pres, double & pres_ratio, double & rho_ratio );
21149
21150extern void WriteBodyFFCSVFile( const std::string & file_name );
21151
21172
21173extern void WriteWingFFCSVFile( const std::string & file_name );
21174 // TODO: Improve description
21195
21196extern void WriteCfEqnCSVFile( const std::string & file_name );
21197 // TODO: Improve description
21218
21219extern void WritePartialCfMethodCSVFile( const std::string & file_name );
21220
21221
21222//======================== Surface Query Functions ======================//
21265
21266extern vec3d CompPnt01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
21267
21310
21311extern vec3d CompNorm01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
21312
21355
21356extern vec3d CompTanU01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
21357
21400
21401extern vec3d CompTanW01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
21402
21452
21453extern void CompCurvature01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w,
21454 double &k1_out, double &k2_out, double &ka_out, double &kg_out);
21455
21518
21519extern double ProjPnt01(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &u_out, double &w_out);
21520
21590
21591extern double ProjPnt01I(const std::string &geom_id, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
21592
21662
21663extern 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);
21664
21665
21726
21727extern double AxisProjPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, double &u_out, double &w_out);
21728
21791
21792extern double AxisProjPnt01I(const std::string &geom_id, const int &iaxis, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
21793
21866
21867extern 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);
21868
21930
21931extern bool InsideSurf( const std::string &geom_id, const int &surf_indx, const vec3d &pt );
21932
21933
21979
21980extern vec3d CompPntRST( const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t );
21981
22037
22038extern double FindRST( const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &r_out, double &s_out, double &t_out );
22039
22107
22108extern 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 );
22109
22110
22157
22158extern 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 );
22159
22198
22199extern void ConvertRtoL( const std::string &geom_id, const int &surf_indx, const double &r, double &l_out );
22200
22247
22248extern 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 );
22287extern void ConvertLtoR( const std::string &geom_id, const int &surf_indx, const double &l, double &r_out );
22288
22326
22327extern void ConvertUtoEta( const std::string &geom_id, const double &u, double &eta_out );
22328
22366
22367extern void ConvertEtatoU( const std::string &geom_id, const double &eta, double &u_out );
22368
22369
22423
22424extern 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);
22425
22480
22481extern 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);
22482
22536
22537extern std::vector < vec3d > CompVecNorm01(const std::string &geom_id, const int &surf_indx, const std::vector < double > &us, const std::vector < double > &ws);
22538
22599
22600extern 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);
22601
22677
22678extern 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 );
22679
22777
22778extern 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 );
22779
22780
22881
22882extern 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 );
22883
22995
22996extern 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 );
22997
23070
23071extern std::vector < bool > VecInsideSurf( const std::string &geom_id, const int &surf_indx, const std::vector < vec3d > &pts );
23072
23073
23134
23135extern 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 );
23136
23208
23209extern 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 );
23210
23293
23294extern 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 );
23295
23296
23363
23364extern 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,
23365 std::vector < double > &l_out_vec, std::vector < double > &m_out_vec, std::vector < double > &n_out_vec );
23366
23432
23433extern 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,
23434 std::vector < double > &r_out_vec, std::vector < double > &s_out_vec, std::vector < double > &t_out_vec );
23435
23469
23470extern void GetUWTess01(const std::string &geom_id, const int &surf_indx, std::vector < double > &u_out_vec, std::vector < double > &w_out_vec);
23471
23472
23473//======================= Measure Functions ============================//
23521
23522extern string AddRuler( const string & startgeomid, int startsurfindx, double startu, double startw,
23523 const string & endgeomid, int endsurfindx, double endu, double endw, const string & name );
23579
23580extern std::vector < string > GetAllRulers();
23581
23628
23629extern void DelRuler( const string &id );
23630
23672
23673extern void DeleteAllRulers();
23674
23675
23711
23712extern string AddProbe( const string & geomid, int surfindx, double u, double w, const string & name );
23713
23752
23753extern std::vector < string > GetAllProbes();
23754
23795
23796extern void DelProbe( const string &id );
23797
23837
23838extern void DeleteAllProbes();
23839
23840
23841//======================= Advanced Link Functions ============================//
23842
23870
23871extern std::vector< std::string > GetAdvLinkNames();
23872
23919
23920extern int GetLinkIndex( const string & name );
23921
23985
23986extern void DelAdvLink( int index );
23987
24050
24051extern void DelAllAdvLinks();
24052
24097
24098extern void AddAdvLink( const string & name );
24099
24146
24147extern void AddAdvLinkInput( int index, const string & parm_id, const string & var_name );
24148
24195
24196extern void AddAdvLinkOutput( int index, const string & parm_id, const string & var_name );
24197
24255
24256extern void DelAdvLinkInput( int index, const string & var_name );
24257
24315
24316extern void DelAdvLinkOutput( int index, const string & var_name );
24317
24376
24377extern std::vector< std::string > GetAdvLinkInputNames( int index );
24378
24437
24438extern std::vector< std::string > GetAdvLinkInputParms( int index );
24439
24498
24499extern std::vector< std::string > GetAdvLinkOutputNames( int index );
24500
24559
24560extern std::vector< std::string > GetAdvLinkOutputParms( int index );
24561
24625
24626extern bool ValidateAdvLinkParms( int index );
24627
24673
24674extern void SetAdvLinkCode( int index, const string & code );
24675
24729
24730extern std::string GetAdvLinkCode( int index );
24731
24788
24789extern void SearchReplaceAdvLinkCode( int index, const string & from, const string & to );
24790
24850
24851extern bool BuildAdvLinkScript( int index );
24852
24853
24854} // End vsp namespace
24855
24856#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)