OpenVSP API Documentation 3.55.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
242
243#if !defined(VSPAPI__INCLUDED_)
244#define VSPAPI__INCLUDED_
245
246#include "APIDefines.h"
247
248#include <string>
249#include <stack>
250#include <vector>
251
252class vec3d;
253class Matrix4d;
254
255namespace vsp
256{
257
258//======================== API Functions ================================//
301
302extern void VSPCheckSetup();
303
337
338extern void VSPRenew();
339
340
407
408extern void Update( bool update_managers = true );
409
434
435extern void VSPExit( int error_code );
436
463
464extern void VSPCrash( int crash_type );
465
530
532
533
554
555extern void Print( const std::string & data, bool new_line = true );
556
577
578extern void Print( const vec3d & data, bool new_line = true );
579
600
601extern void Print( double data, bool new_line = true );
602
623
624extern void Print( int data, bool new_line = true );
625
650
651extern double Min( double x, double y );
652
677
678extern double Max( double x, double y );
679
701
702extern double Rad2Deg( double r );
703
725
726extern double Deg2Rad( double d );
727
770
771extern std::string GetVSPVersion();
772
829
831
888
890
947
949
986
987extern std::string GetVSPExePath();
988
989
1043
1044extern bool SetVSPAEROPath( const std::string & path );
1045
1079
1080extern std::string GetVSPAEROPath();
1081
1122
1123extern bool CheckForVSPAERO( const std::string & path );
1124
1178
1179extern bool SetVSPHelpPath( const std::string & path );
1180
1213
1214extern std::string GetVSPHelpPath();
1215
1254
1255extern bool CheckForVSPHelp( const std::string & path );
1256
1257//======================== File I/O ================================//
1362
1363extern void ReadVSPFile( const std::string & file_name );
1364
1470
1471extern void WriteVSPFile( const std::string & file_name, int set = SET_ALL );
1472
1577
1578extern void SetVSP3FileName( const std::string & file_name );
1579
1640
1641extern std::string GetVSPFileName();
1642
1676
1677extern void ClearVSPModel();
1678
1715
1716extern void InsertVSPFile( const std::string & file_name, const std::string & parent_geom_id );
1717
1718
1764
1765extern 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 std::string &modeID = "" );
1766
1809
1810extern std::string ImportFile( const std::string & file_name, int file_type, const std::string & parent );
1811
1812
1877
1911
1912extern std::string GetBEMPropID();
1913
1946
1947extern void SetBEMPropID( const std::string & prop_id );
1948
1949
1950//======================== Design Files ================================//
1951
1990
1991extern void ReadApplyDESFile( const std::string & file_name );
1992
2027
2028extern void WriteDESFile( const std::string & file_name );
2029
2068
2069extern void ReadApplyXDDMFile( const std::string & file_name );
2070
2105
2106extern void WriteXDDMFile( const std::string & file_name );
2107
2142
2143extern int GetNumDesignVars();
2144
2181
2182extern void AddDesignVar( const std::string & parm_id, int type );
2183
2195
2196extern void AddDesignVarLimits( const std::string & parm_id, int type, double lowerlimit, double upperlimit );
2197
2235
2237
2273
2274extern std::string GetDesignVar( int index );
2275
2312
2313extern int GetDesignVarType( int index );
2314
2351
2352extern int GetDesignVarTypeByID( const std::string & parm_id );
2353
2393
2394extern void DeleteDesignVar( const std::string & parm_id );
2395
2433
2434extern std::vector < std::string > GetDesignVarVec();
2435
2436
2437//======================== Computations ================================//
2493
2540
2541extern std::string GetComputationFileName( int file_type );
2542
2568
2569extern void SetComputationFileName( int file_type, const std::string & file_name );
2570
2613
2614extern std::string ComputeMassProps( int set, int num_slices, int idir );
2615
2662
2663extern std::string ComputeCompGeom( int set, bool half_mesh, int file_export_types );
2664
2713
2714extern std::string ComputePlaneSlice( int set, int num_slices, const vec3d & norm, bool auto_bnd,
2715
2716 double start_bnd = 0, double end_bnd = 0, bool measureduct = false );
2772
2773extern void ComputeDegenGeom( int set, int file_export_types );
2774
2848
2849extern void ComputeCFDMesh( int set, int degenset, int file_export_types );
2850
2886
2887extern void SetCFDMeshModeID( const std::string & mode_id );
2888
2924
2925extern std::string GetCFDMeshModeID();
2926
2962
2963extern void SetIntersectModeID( const std::string & mode_id );
2964
3000
3001extern std::string GetIntersectModeID();
3002
3040
3041extern void SetSTEPStructureExportID( const std::string & struct_id );
3042
3080
3081extern std::string GetSTEPStructureExportID();
3082
3120
3121extern void SetIGESStructureExportID( const std::string & struct_id );
3122
3160
3161extern std::string GetIGESStructureExportID();
3162
3200
3201extern void SetAeroStructTargetID( const std::string & id );
3202
3240
3241extern std::string GetAeroStructTargetID();
3242
3283
3353
3354extern double GetCFDMeshVal( int type );
3355
3381
3382extern void SetCFDMeshVal( int type, double val );
3383
3439
3494
3495extern bool GetCFDWakeFlag( const std::string & geom_id );
3496
3529
3530extern void SetCFDWakeFlag( const std::string & geom_id, bool flag );
3531
3619
3620extern void SetCFDFarFieldGeomID( const std::string & geom_id );
3621
3685
3686extern std::string GetCFDFarFieldGeomID();
3687
3731
3798
3799extern int GetNumCFDSources( const std::string & geom_id );
3800
3877
3878extern std::string GetCFDSourceName( const std::string & geom_id, int source_index );
3879
3916
3917extern std::string GetCFDSourceNameByID( const std::string & source_id );
3918
3995
4062
4063extern void SetCFDSourceName( const std::string & geom_id, int source_index, const std::string & name );
4064
4101
4102extern void SetCFDSourceNameByID( const std::string & source_id, const std::string & name );
4103
4137
4138extern int GetCFDSourceType( const std::string & geom_id, int source_index );
4139
4172
4173extern int GetCFDSourceTypeByID( const std::string & source_id );
4174
4253
4254extern void DeleteCFDSource( const std::string & geom_id, int source_index );
4255
4291
4292extern void DeleteCFDSourceByID( const std::string & source_id );
4293
4328
4330
4386
4387extern std::string GetCFDSourceID( const std::string & geom_id, int source_index );
4388
4423
4424extern std::vector < std::string > GetCFDSourceIDVec( const std::string & geom_id );
4425
4469
4470extern void AdjustAllCFDSourceLen( double mult );
4471
4514
4515extern void AdjustAllCFDSourceRad( double mult );
4516
4577
4578extern void AddDefaultSources();
4579
4654
4655extern std::string AddCFDSource( int type, const std::string & geom_id, int surf_index,
4656 double l1, double r1, double u1, double w1,
4657 double l2 = 0, double r2 = 0, double u2 = 0, double w2 = 0 );
4658
4689
4690extern std::string GetVSPAERORefWingID();
4691
4783
4784extern std::string SetVSPAERORefWingID( const std::string & geom_id );
4785
4786
4787//======================== Analysis ================================//
4788
4832
4833extern int GetNumAnalysis();
4834
4902
4903extern std::vector<std::string> ListAnalysis();
4904
4947
4948extern std::vector<std::string> GetAnalysisInputNames( const std::string & analysis );
4949
4979
4980extern std::string GetAnalysisDoc( const std::string & analysis );
4981
5020
5021extern std::string GetAnalysisInputDoc( const std::string & analysis, const std::string & name );
5022
5054
5055extern std::string ExecAnalysis( const std::string & analysis );
5056
5057
5086
5087extern int GetNumAnalysisInputData( const std::string & analysis, const std::string & name );
5088
5163
5164extern int GetAnalysisInputType( const std::string & analysis, const std::string & name );
5165
5217
5218extern const std::vector< int > & GetIntAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
5219
5255
5256extern const std::vector< double > & GetDoubleAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
5257
5294
5295extern const std::vector<std::string> & GetStringAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
5296
5335
5336extern const std::vector< vec3d > & GetVec3dAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
5337
5338
5404
5405extern void SetAnalysisInputDefaults( const std::string & analysis );
5406
5460
5461extern void SetIntAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< int > & indata, int index = 0 );
5462
5511
5512extern void SetDoubleAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< double > & indata, int index = 0 );
5513
5552
5553extern void SetStringAnalysisInput( const std::string & analysis, const std::string & name, const std::vector<std::string> & indata, int index = 0 );
5554
5601
5602extern void SetVec3dAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< vec3d > & indata, int index = 0 );
5603
5604
5672
5673extern void PrintAnalysisInputs( const std::string & analysis_name );
5674
5738
5739extern void PrintAnalysisDocs( const std::string & analysis_name );
5740
5772
5773extern std::string AddGeometryAnalysis();
5774
5816
5909
5910extern std::string AddGeometryAnalysisAzEl( const std::string & geom_analysis_id, double azimuth, double elevation );
5911
5985
5986extern void DeleteGeometryAnalysisAzEl( const std::string & geom_analysis_id, int index );
5987
6028
6029extern void DeleteGeometryAnalysisAzElByID( const std::string & geom_analysis_id, const std::string & azimuth_parm_id );
6030
6084
6085extern void DeleteAllGeometryAnalysisAzEl( const std::string & geom_analysis_id );
6086
6115
6116extern int GetNumGeometryAnalysisAzEl( const std::string & geom_analysis_id );
6117
6151
6152extern std::string GetGeometryAnalysisAzimuthParm( const std::string & geom_analysis_id, int index );
6153
6187
6188extern std::string GetGeometryAnalysisElevationParm( const std::string & geom_analysis_id, int index );
6189
6224
6225extern std::vector < std::string > GetGeometryAnalysisAzimuthParmVec( const std::string & geom_analysis_id );
6226
6261
6262extern std::vector < std::string > GetGeometryAnalysisElevationParmVec( const std::string & geom_analysis_id );
6263
6304
6305extern void SetGeometryAnalysisPrimaryModeID( const std::string & geom_analysis_id, const std::string & mode_id );
6306
6335
6336extern std::string GetGeometryAnalysisPrimaryModeID( const std::string & geom_analysis_id );
6337
6374
6375extern void SetGeometryAnalysisPrimaryGeomID( const std::string & geom_analysis_id, const std::string & geom_id );
6376
6413
6414extern std::string GetGeometryAnalysisPrimaryGeomID( const std::string & geom_analysis_id );
6415
6452
6453extern void SetGeometryAnalysisSecondaryGeomID( const std::string & geom_analysis_id, const std::string & geom_id );
6454
6491
6492extern std::string GetGeometryAnalysisSecondaryGeomID( const std::string & geom_analysis_id );
6493
6530
6531extern void SetGeometryAnalysisDirectionGeomID( const std::string & geom_analysis_id, const std::string & geom_id );
6532
6569
6570extern std::string GetGeometryAnalysisDirectionGeomID( const std::string & geom_analysis_id );
6571
6614
6615extern void AddGeometryAnalysisCutout( const std::string & geom_analysis_id, const std::string & ss_id );
6616
6661
6662extern void DeleteGeometryAnalysisCutout( const std::string & geom_analysis_id, const std::string & ss_id );
6663
6706
6707extern std::vector < std::string > GetGeometryAnalysisCutoutVec( const std::string & geom_analysis_id );
6708
6746
6747extern void DeleteGeometryAnalysis( const std::string &id );
6748
6802
6804
6842
6843extern std::vector < std::string > GetAllGeometryAnalysesIDVec();
6844
6875
6876extern void SetActiveGeometryAnalysis( const std::string &id );
6877
6906
6907extern std::string GetActiveGeometryAnalysis();
6908
6983
6984extern std::string MakeMeshGeom( const std::string &ga_id );
6985
6986//======================== Attributes ================================//
6987
7019
7020extern std::string SummarizeAttributes();
7021
7052
7053extern std::string SummarizeAttributesAsTree();
7054
7088
7089extern std::vector < std::string > FindAllAttributes();
7090
7091
7092
7127
7128extern std::vector < std::string > FindAttributesByName( const std::string & search_str );
7129
7160
7161extern std::string FindAttributeByName( const std::string & search_str, int index );
7162
7197
7198extern std::string FindAttributeInCollection( const std::string & obj_id, const std::string & search_str, int index );
7199
7238
7239extern std::vector< std::string > FindAttributeNamesInCollection(const std::string & collID );
7240
7280
7281extern std::vector< std::string > FindAttributesInCollection(const std::string & collID );
7282
7326
7327extern std::vector< std::string > FindAttributesInCollectionByName( const std::string & obj_id, const std::string & search_str );
7328
7363
7364extern std::vector< std::string > FindAttributedObjects();
7365
7425
7426extern int GetObjectType(const std::string & attachID);
7427
7463
7464extern std::string GetObjectTypeName(const std::string & attachID);
7465
7502
7503extern std::string GetObjectName(const std::string & attachID);
7504
7505
7565
7566extern std::string GetObjectParent( const std::string & id );
7567
7602
7603extern std::string GetChildCollection(const std::string & attachID );
7604
7634
7635extern std::string GetGeomSetCollection( const int & index );
7636
7677
7678extern std::string GetAttributeName( const std::string & attrID );
7679
7725
7726extern std::string GetAttributeID(const std::string & collID, const std::string & attributeName, int index);
7727
7767
7768extern std::vector< std::string > GetAttributeIDVec( const std::string & collID, const std::string & attributeName );
7769
7803
7804extern std::string GetAttributeDoc(const std::string & attrID);
7805
7896
7897extern int GetAttributeType( const std::string & attrID );
7898
7933
7934extern std::string GetAttributeTypeName(const std::string & attrID);
7935
7982
7983extern std::vector< int > GetAttributeBoolVal(const std::string & attrID);
7984
8031
8032extern std::vector< int > GetAttributeIntVal(const std::string & attrID);
8033
8079
8080extern std::vector< double > GetAttributeDoubleVal(const std::string & attrID);
8081
8127
8128extern std::vector< std::string > GetAttributeStringVal(const std::string & attrID);
8129
8188
8189extern std::vector< std::string > GetAttributeParmID(const std::string & attrID);
8190
8251
8252extern std::vector < double > GetAttributeParmVal( const std::string &attrID );
8253
8313
8314extern std::vector < std::string > GetAttributeParmName( const std::string &attrID );
8315
8365
8366extern std::vector< vec3d > GetAttributeVec3dVal(const std::string & attrID);
8367
8422
8423extern std::vector< std::vector < int > > GetAttributeIntMatrixVal(const std::string & attrID);
8424
8473
8474extern std::vector< std::vector < double > > GetAttributeDoubleMatrixVal(const std::string & attrID);
8475
8529
8530extern void SetAttributeName( const std::string & attrID, const std::string & name );
8531
8586
8587
8588extern void SetAttributeDoc( const std::string & attrID, const std::string & doc );
8589
8643
8644extern void SetAttributeBool( const std::string & attrID, bool value );
8645
8699
8700extern void SetAttributeInt( const std::string & attrID, int value );
8701
8758
8759extern void SetAttributeDouble( const std::string & attrID, double value );
8760
8815
8816extern void SetAttributeString( const std::string & attrID, const std::string & value );
8817
8882
8883extern void SetAttributeParmID( const std::string & attrID, const std::string & value );
8884
8939
8940extern void SetAttributeVec3d( const std::string & attrID, const std::vector < vec3d > & value );
8941
8999
9000extern void SetAttributeIntMatrix( const std::string & attrID, const std::vector < std::vector < int > > & value );
9001
9059
9060extern void SetAttributeDoubleMatrix( const std::string & attrID, const std::vector< std::vector< double > > & value );
9061
9138
9139extern void DeleteAttribute( const std::string & attrID );
9140
9189
9190extern std::string AddAttributeBool( const std::string & collID, const std::string & attributeName, bool value );
9191
9241
9242extern std::string AddAttributeInt( const std::string & collID, const std::string & attributeName, int value );
9243
9295
9296extern std::string AddAttributeDouble( const std::string & collID, const std::string & attributeName, double value );
9297
9348
9349extern std::string AddAttributeString( const std::string & collID, const std::string & attributeName, const std::string & value );
9350
9412
9413extern std::string AddAttributeParm( const std::string &collID, const std::string &attributeName, const std::string &parmID );
9414
9468
9469extern std::string AddAttributeVec3d( const std::string & collID, const std::string & attributeName, const std::vector < vec3d > & value );
9470
9526
9527extern std::string AddAttributeIntMatrix( const std::string & collID, const std::string & attributeName, const std::vector < std::vector < int > > & value );
9528
9584
9585extern std::string AddAttributeDoubleMatrix( const std::string & collID, const std::string & attributeName, const std::vector < std::vector < double > > & value );
9586
9633
9634extern std::string AddAttributeGroup( const std::string & collID, const std::string & attributeName );
9635
9684
9685extern int CopyAttribute( const std::string & attrID );
9686
9757
9758extern void CutAttribute( const std::string & attrID );
9759
9845
9846extern std::vector < std::string > PasteAttribute( const std::string & coll_id );
9847
9848//======================== Results ================================//
9890
9891extern std::vector<std::string> GetAllResultsNames();
9892
9928
9929extern std::vector<std::string> GetAllDataNames( const std::string & results_id );
9930
9958
9959extern int GetNumResults( const std::string & name );
9960
10019
10020extern std::string GetResultsName(const std::string & results_id );
10021
10087
10088extern std::string GetResultsSetDoc( const std::string & results_id );
10089
10135
10136extern std::string GetResultsEntryDoc( const std::string & results_id, const std::string & data_name );
10137
10170
10171extern std::string FindResultsID( const std::string & name, int index = 0 );
10172
10209
10210extern std::vector < std::string > FindResultsIDs( const std::string & name );
10211
10281
10282extern std::vector < std::string > GetAllResultsIDs();
10283
10326
10327extern std::string FindLatestResultsID( const std::string & name );
10328
10381
10382extern int GetNumData( const std::string & results_id, const std::string & data_name );
10383
10478
10479extern int GetResultsType( const std::string & results_id, const std::string & data_name );
10480
10534
10535extern const std::vector< int > & GetIntResults( const std::string & id, const std::string & name, int index = 0 );
10536
10580
10581extern const std::vector< double > & GetDoubleResults( const std::string & id, const std::string & name, int index = 0 );
10582
10628
10629extern const std::vector< std::vector< double > > & GetDoubleMatResults( const std::string & id, const std::string & name, int index = 0 );
10630
10668
10669extern const std::vector<std::string> & GetStringResults( const std::string & id, const std::string & name, int index = 0 );
10670
10732
10733extern const std::vector< vec3d > & GetVec3dResults( const std::string & id, const std::string & name, int index = 0 );
10734
10777
10778extern std::string CreateGeomResults( const std::string & geom_id, const std::string & name );
10779
10819
10820extern void DeleteAllResults();
10821
10862
10863extern void DeleteResult( const std::string & id );
10864
10919
10920extern void WriteResultsCSVFile( const std::string & id, const std::string & file_name );
10921
10984
10985extern void PrintResults( const std::string &results_id );
10986
11049
11050extern void PrintResultsDocs( const std::string &results_id );
11051
11145
11146extern void WriteTestResults();
11147
11148//======================== GUI Functions ================================//
11149
11170
11171extern void InitGUI();
11172
11195
11196extern void StartGUI();
11197
11230
11232
11262
11264
11295
11296extern void StopGUI();
11297
11324
11325extern void PopupMsg( const std::string &msg );
11326
11365
11366extern void UpdateGUI();
11367
11400
11401extern bool IsGUIBuild();
11402
11449
11450extern void Lock( );
11451
11495
11496extern void Unlock( );
11497
11498
11529
11530extern bool IsEventLoopRunning( );
11531
11564
11565extern void ScreenGrab( const std::string & fname, int w, int h, bool transparentBG, bool autocrop = false );
11566
11585
11586extern void SetViewAxis( bool vaxis );
11587
11606
11607extern void SetShowBorders( bool brdr );
11608
11664
11665extern void SetGeomDrawType(const std::string &geom_id, int type);
11666
11723
11724extern void SetGeomWireColor( const std::string &geom_id, int r, int g, int b );
11725
11804
11805extern void SetGeomDisplayType(const std::string &geom_id, int type);
11806
11879
11924
11925extern int GetGeomDrawType( const std::string &geom_id );
11926
11971
11972extern int GetGeomDisplayType( const std::string &geom_id );
11973
12031
12032extern vec3d GetGeomWireColor( const std::string &geom_id );
12033
12088
12089extern std::string GetGeomMaterialName( const std::string &geom_id );
12090
12120
12121extern void SetGeomMaterialName( const std::string &geom_id, const std::string &name );
12122
12203
12204extern void AddMaterial( const std::string &name, const vec3d & ambient, const vec3d & diffuse, const vec3d & specular, const vec3d & emissive, const double & alpha, const double & shininess );
12205
12238
12239extern std::vector < std::string > GetMaterialNames();
12240
12281
12282extern int GetNumLights();
12283
12372
12373extern std::string FindLight( int index );
12374
12402
12403extern std::vector < std::string > GetLightIDVec();
12404
12425
12426extern void SetBackground( double r, double g, double b );
12427
12446
12447extern void SetAllViews( int view );
12448
12468
12469extern void SetView( int viewport, int view );
12470
12488
12489extern void FitAllViews();
12490
12508
12509extern void ResetViews();
12510
12530
12531extern void SetWindowLayout( int r, int c );
12532
12551
12552extern void SetGUIElementDisable( int e, bool state );
12553
12572
12573extern void SetGUIScreenDisable( int s, bool state );
12574
12593extern void SetGeomScreenDisable( int s, bool state );
12594
12612
12613extern void HideScreen( int s );
12614
12632
12633extern void ShowScreen( int s );
12634
12635
12636//======================== Geom Functions ================================//
12669
12670extern std::vector<std::string> GetGeomTypes();
12671
12700
12701extern std::string AddGeom( const std::string & type, const std::string & parent = std::string() );
12702
12767
12768extern void UpdateGeom( const std::string & geom_id );
12769
12862
12863extern void DeleteGeom( const std::string & geom_id, int clone_delete = CLONE_DELETE_LEAVE_EMPTY );
12864
12929
12930extern void DeleteGeomVec( const std::vector< std::string > & del_vec, int clone_delete = CLONE_DELETE_LEAVE_EMPTY );
12931
12994
12995extern void CutGeomToClipboard( const std::string & geom_id, int clone_delete = CLONE_DELETE_LEAVE_EMPTY );
12996
13038
13039extern void CopyGeomToClipboard( const std::string & geom_id );
13040
13082
13083extern std::vector<std::string> PasteGeomClipboard( const std::string & parent = std::string() );
13084
13174
13175extern std::string ConvertFuselageToStack( const std::string & geom_id );
13176
13211
13212extern std::vector<std::string> FindGeoms();
13213
13254
13255extern std::vector<std::string> FindGeomsWithName( const std::string & name );
13256
13302
13303extern std::string FindGeom( const std::string & name, int index );
13304
13384
13385extern void SetGeomName( const std::string & geom_id, const std::string & name );
13386
13443
13444extern std::string GetGeomName( const std::string & geom_id );
13445
13589
13590extern void SetGeomCloneOriginal( const std::string & clone_id, const std::string & original_id );
13591
13703
13704extern std::string GetGeomCloneOriginal( const std::string & clone_id );
13705
13824
13825extern std::vector< std::string > CloneGeomVec( const std::vector< std::string > & geom_id_vec, const std::string & name_suffix = "_Clone" );
13826
13887
13888extern void SetGeomCloneNameSuffix( const std::string & clone_id, const std::string & name_suffix );
13889
13935
13936extern std::string GetGeomCloneNameSuffix( const std::string & clone_id );
13937
14102
14103extern std::string ReplaceCloneGeom( const std::string & clone_id );
14104
14179
14180extern std::vector< std::string > FindGeomClones( const std::vector< std::string > & geom_id_vec );
14181
14217
14218extern std::vector<std::string> GetGeomParmIDs( const std::string & geom_id );
14219
14271
14272extern std::string GetGeomTypeName( const std::string & geom_id );
14273
14307
14308extern std::string GetParm( const std::string & geom_id, const std::string & name, const std::string & group );
14309
14362
14363extern void SetGeomParent( const std::string& geom_id, const std::string& parent_id );
14364
14424
14425extern void ReorderGeom( const std::string & geom_id, int reorder_type );
14426
14493
14494extern std::string AttachGeomTexture( const std::string & geom_id, const std::string & file_name );
14495
14533
14534extern void RemoveGeomTexture( const std::string & geom_id, const std::string & texture_id );
14535
14581
14582extern std::vector < std::string > GetGeomTextureIDVec( const std::string & geom_id );
14583
14618
14619extern std::string GetGeomTextureFileName( const std::string & geom_id, const std::string & texture_id );
14620
14687
14688extern std::string GetGeomParent( const std::string& geom_id );
14689
14726
14727extern std::string GetGeomSymAncestorID( const std::string & geom_id );
14728
14765
14766extern std::string GetGeomIncorporatedAncestorID( const std::string & geom_id );
14767
14804
14805extern void SetGeomSymAncestorID( const std::string & geom_id, const std::string & ancestor_id );
14806
14843
14844extern void SetGeomIncorporatedAncestorID( const std::string & geom_id, const std::string & ancestor_id );
14845
14900
14901extern std::vector< std::string > GetGeomChildren( const std::string& geom_id );
14902
14934
14935extern int GetNumXSecSurfs( const std::string & geom_id );
14936
14983
14984extern int GetNumMainSurfs( const std::string & geom_id );
14985
15032
15033extern int GetTotalNumSurfs( const std::string& geom_id );
15034
15068
15069extern int GetGeomVSPSurfType( const std::string& geom_id, int main_surf_ind = 0 );
15070
15104
15105extern int GetGeomVSPSurfCfdType( const std::string& geom_id, int main_surf_ind = 0 );
15106
15163
15164extern vec3d GetGeomBBoxMax( const std::string& geom_id, int main_surf_ind = 0, bool ref_frame_is_absolute = true );
15165
15222
15223extern vec3d GetGeomBBoxMin( const std::string& geom_id, int main_surf_ind = 0, bool ref_frame_is_absolute = true );
15224
15225
15226//======================== SubSurface Functions ================================//
15265
15266extern std::string AddSubSurf( const std::string & geom_id, int type, int surfindex = 0 );
15267
15361
15362extern std::string GetSubSurf( const std::string & geom_id, int index );
15363
15457
15458extern std::vector<std::string> GetSubSurf( const std::string & geom_id, const std::string & name );
15459
15515
15516extern void DeleteSubSurf( const std::string & geom_id, const std::string & sub_id );
15517
15568
15569extern void ReorderSubSurf( const std::string & geom_id, const std::string & sub_id, int reorder_type );
15570
15625
15626extern void DeleteSubSurf( const std::string & sub_id );
15627
15668
15669extern void SetSubSurfName(const std::string & geom_id, const std::string & sub_id, const std::string & name);
15670
15710
15711extern void SetSubSurfName( const std::string & sub_id, const std::string & name );
15712
15755
15756extern std::string GetSubSurfName( const std::string & geom_id, const std::string & sub_id );
15757
15799
15800extern std::string GetSubSurfName( const std::string & sub_id );
15801
15860
15861extern int GetSubSurfIndex( const std::string & sub_id );
15862
15931
15932extern std::vector<std::string> GetSubSurfIDVec( const std::string & geom_id );
15933
15964
15965extern std::vector<std::string> GetAllSubSurfIDs();
15966
16012
16013extern int GetNumSubSurf( const std::string & geom_id );
16014
16089
16090extern int GetSubSurfType( const std::string & sub_id );
16091
16142
16143extern std::vector<std::string> GetSubSurfParmIDs( const std::string & sub_id );
16144
16254
16255extern void IntersectSubSurf( const std::string & sub_id );
16256
16367
16441
16442extern std::string GetIntersectSubSurfGeomID( const std::string & sub_id );
16443
16476
16477extern void SetIntersectSubSurfGeomID( const std::string & sub_id, const std::string & geom_id );
16478
16546
16547extern int AddFeaStruct( const std::string & geom_id, bool init_skin = true, int surfindex = 0 );
16548
16583
16584extern std::string AddFeaStructure( const std::string & geom_id, bool init_skin = true, int surfindex = 0 );
16585
16623
16681
16683
16715
16716extern void SetFeaMeshStructIndex( int struct_index );
16717
16753
16754extern std::string GetFeaMeshStructID();
16755
16793
16794extern void SetFeaMeshStructID( const std::string & struct_id );
16795
16863
16864extern void DeleteFeaStruct( const std::string & geom_id, int fea_struct_ind );
16865
16905
16906extern void DeleteFeaStructByID( const std::string & struct_id );
16907
16946
16947extern std::string GetFeaStructID( const std::string & geom_id, int fea_struct_ind );
16948
17035
17036extern int GetFeaStructIndex( const std::string & struct_id );
17037
17081
17082extern std::string GetFeaStructParentGeomID( const std::string & struct_id );
17083
17133
17134extern std::string GetFeaStructName( const std::string & geom_id, int fea_struct_ind );
17135
17172
17173extern std::string GetFeaStructNameByID( const std::string & struct_id );
17174
17230
17231extern void SetFeaStructName( const std::string & geom_id, int fea_struct_ind, const std::string & name );
17232
17271
17272extern void SetFeaStructNameByID( const std::string & struct_id, const std::string & name );
17273
17315
17316extern std::vector< std::string > GetFeaStructIDVec();
17317
17356
17357extern std::vector< std::string > GetFeaStructIDVecByGeom( const std::string & geom_id );
17358
17405
17406extern void SetFeaPartName( const std::string & part_id, const std::string & name );
17407
17458
17459extern std::string AddFeaPart( const std::string & geom_id, int fea_struct_ind, int type );
17460
17498
17499extern std::string AddFeaPartByID( const std::string & struct_id, int type );
17500
17583
17584extern void DeleteFeaPart( const std::string & geom_id, int fea_struct_ind, const std::string & part_id );
17585
17629
17630extern void DeleteFeaPartByID( const std::string & part_id );
17631
17693
17694extern void ReorderFeaPart( const std::string & geom_id, int fea_struct_ind, const std::string & part_id, int reorder_type );
17695
17736
17737extern void ReorderFeaPartByID( const std::string & part_id, int reorder_type );
17738
17800
17801extern void IndividualizeFeaPart( const std::string & geom_id, int fea_struct_ind, const std::string & part_id );
17802
17846
17847extern void IndividualizeFeaPartByID( const std::string & part_id );
17848
17902
17903extern std::string GetFeaPartID( const std::string & fea_struct_id, int fea_part_index );
17904
17956
17957extern std::string GetFeaPartName( const std::string & part_id );
17958
18004
18005extern int GetFeaPartType( const std::string & part_id );
18006
18057
18058extern std::vector< std::string > GetFeaPartIDVec( const std::string & fea_struct_id );
18059
18110
18111extern std::vector< std::string > GetFeaSubSurfIDVec( const std::string & fea_struct_id );
18112
18183
18184extern void SetFeaPartPerpendicularSparID( const std::string& part_id, const std::string& perpendicular_spar_id );
18185
18255
18256extern std::string GetFeaPartPerpendicularSparID( const std::string& part_id );
18257
18306
18307extern void SetFeaPartStartWingSectionID( const std::string & part_id, const std::string & xsec_id );
18308
18353
18354extern std::string GetFeaPartStartWingSectionID( const std::string & part_id );
18355
18404
18405extern void SetFeaPartEndWingSectionID( const std::string & part_id, const std::string & xsec_id );
18406
18451
18452extern std::string GetFeaPartEndWingSectionID( const std::string & part_id );
18453
18498
18499extern void SetFeaPartPropertyID( const std::string & part_id, const std::string & property_id );
18500
18545
18546extern std::string GetFeaPartPropertyID( const std::string & part_id );
18547
18592
18593extern void SetFeaPartCapPropertyID( const std::string & part_id, const std::string & property_id );
18594
18639
18640extern std::string GetFeaPartCapPropertyID( const std::string & part_id );
18641
18686
18687extern void SetFeaFixPointParentID( const std::string & fixpt_id, const std::string & part_id );
18688
18727
18728extern std::string GetFeaFixPointParentID( const std::string & fixpt_id );
18729
18774
18775extern void SetFeaFixPointOtherGeomID( const std::string & fixpt_id, const std::string & geom_id );
18776
18813
18814extern std::string GetFeaFixPointOtherGeomID( const std::string & fixpt_id );
18815
18862
18863extern void SetFeaSubSurfName( const std::string & subsurf_id, const std::string & name );
18864
18914
18915extern std::string GetFeaSubSurfName( const std::string & subsurf_id );
18916
18967
18968extern std::string AddFeaSubSurf( const std::string & geom_id, int fea_struct_ind, int type );
18969
19009
19010extern std::string AddFeaSubSurfByID( const std::string & struct_id, int type );
19011
19075
19076extern void DeleteFeaSubSurf( const std::string & geom_id, int fea_struct_ind, const std::string & ss_id );
19077
19117
19118extern void DeleteFeaSubSurfByID( const std::string & ss_id );
19119
19176
19177extern int GetFeaSubSurfIndex( const std::string & ss_id );
19178
19220
19221extern int GetFeaPolySparNumPt( const std::string & pspar_id );
19222
19266
19267extern std::string AddFeaPolySparPt( const std::string & pspar_id );
19268
19314
19315extern std::string InsertFeaPolySparPt( const std::string & pspar_id, int index );
19316
19364
19365extern std::string InsertFeaPolySparPtByID( const std::string & pspar_id, const std::string & before_pt_id );
19366
19417
19418extern void DelFeaPolySparPt( const std::string & pspar_id, int index );
19419
19470
19471extern void DelFeaPolySparPtByID( const std::string & pspar_id, const std::string & pt_id );
19472
19520
19521extern void DelAllFeaPolySparPt( const std::string & pspar_id );
19522
19573
19574extern int MoveFeaPolySparPt( const std::string & pspar_id, int index, int reorder_type );
19575
19624
19625extern int MoveFeaPolySparPtByID( const std::string & pspar_id, const std::string & pt_id, int reorder_type );
19626
19672
19673extern void SetFeaPolySparPtName( const std::string & pspar_id, int index, const std::string & name );
19674
19722
19723extern void SetFeaPolySparPtNameByID( const std::string & pspar_id, const std::string & pt_id, const std::string & name );
19724
19772
19773extern std::string GetFeaPolySparPtName( const std::string & pspar_id, int index );
19774
19822
19823extern std::string GetFeaPolySparPtNameByID( const std::string & pspar_id, const std::string & pt_id );
19824
19881
19882extern std::string GetFeaPolySparPtID( const std::string & pspar_id, int index );
19883
19941
19942extern std::vector < std::string > GetAllFeaPolySparPtIDVec( const std::string & pspar_id );
19943
19983
19984//======================== FEA Assembly Functions ======================//
19985
20044
20142
20143extern void AddFeaTrimPart( const std::string & trim_id, const std::string & part_id );
20144
20183
20184extern void DeleteFeaTrimPart( const std::string & trim_id, int index );
20185
20234
20235extern void DeleteFeaTrimPartByID( const std::string & trim_id, const std::string & part_id );
20236
20275
20276extern std::vector < std::string > GetFeaTrimPartIDVec( const std::string & trim_id );
20277
20305
20306extern std::string AddFeaAssembly();
20307
20385
20386extern void DeleteFeaAssembly( const std::string & assembly_id );
20387
20426
20427extern int NumFeaAssemblies();
20428
20466
20467extern std::vector < std::string > GetFeaAssemblyIDVec();
20468
20525
20526extern std::string GetFeaAssemblyName( const std::string & assembly_id );
20527
20572
20573extern void SetFeaAssemblyName( const std::string & assembly_id, const std::string & name );
20574
20655
20656extern void AddFeaStructureToAssembly( const std::string & assembly_id, const std::string & struct_id );
20657
20750
20751extern void DeleteFeaStructureFromAssembly( const std::string & assembly_id, const std::string & struct_id );
20752
20798
20799extern void AddFeaAssemblyStructure( const std::string & assembly_id, const std::string & struct_id );
20800
20856
20857extern void DeleteFeaAssemblyStructure( const std::string & assembly_id, const std::string & struct_id );
20858
20899
20900extern std::vector < std::string > GetFeaAssemblyStructureIDVec( const std::string & assembly_id );
20901
21023
21024extern std::string AddFeaAssemblyConnection( const std::string & assembly_id,
21025 const std::string & start_fix_pt_id, const std::string & start_struct_id, int start_index,
21026 const std::string & end_fix_pt_id, const std::string & end_struct_id, int end_index );
21027
21070
21071extern void DeleteFeaAssemblyConnection( const std::string & assembly_id, int connection_index );
21072
21131
21132extern void DeleteFeaAssemblyConnectionByID( const std::string & assembly_id, const std::string & connection_id );
21133
21174
21175extern int NumFeaAssemblyConnections( const std::string & assembly_id );
21176
21277
21278extern std::string GetFeaAssemblyConnectionID( const std::string & assembly_id, int connection_index );
21279
21336
21337extern std::vector < std::string > GetFeaAssemblyConnectionIDVec( const std::string & assembly_id );
21338
21397
21398extern std::string GetFeaConnectionStartFixPtID( const std::string & connection_id );
21399
21458
21459extern std::string GetFeaConnectionStartStructID( const std::string & connection_id );
21460
21519
21520extern std::string GetFeaConnectionEndFixPtID( const std::string & connection_id );
21521
21580
21581extern std::string GetFeaConnectionEndStructID( const std::string & connection_id );
21582
21659
21706
21707extern std::string GetFeaAssemblyFileName( const std::string & assembly_id, int file_type );
21708
21752
21753extern void SetFeaAssemblyFileName( const std::string & assembly_id, int file_type, const std::string & file_name );
21754
21801
21802extern void ComputeFeaAssemblyMesh( const std::string & assembly_id );
21803
21835
21836extern int NumFeaStructures();
21837
21889
21890extern int NumFeaParts( const std::string & fea_struct_id );
21891
21942
21943extern int NumFeaSubSurfs( const std::string & fea_struct_id );
21944
21990
21991extern std::string AddFeaBC( const std::string & fea_struct_id, int type = -1 );
21992
22059
22060extern void DelFeaBC( const std::string & fea_struct_id, const std::string &bc_id );
22061
22111
22112extern std::vector< std::string > GetFeaBCIDVec( const std::string & fea_struct_id );
22113
22179
22180extern int NumFeaBCs( const std::string & fea_struct_id );
22181
22226
22227extern void SetFeaBCPartID( const std::string & bc_id, const std::string & part_id );
22228
22273
22274extern std::string GetFeaBCPartID( const std::string & bc_id );
22275
22320
22321extern void SetFeaBCSubSurfID( const std::string & bc_id, const std::string & ss_id );
22322
22367
22368extern std::string GetFeaBCSubSurfID( const std::string & bc_id );
22369
22400
22467
22578
22579extern std::string AddFeaLayer( const std::string & material_id );
22580
22627
22628extern void DeleteFeaLayer( const std::string & material_id, const std::string & layer_id );
22629
22691
22692extern void ReorderFeaLayer( const std::string & material_id, const std::string & layer_id, int reorder_type );
22693
22736
22737extern int NumFeaLayers( const std::string & material_id );
22738
22785
22786extern std::vector < std::string > GetFeaLayerIDVec( const std::string & material_id );
22787
22836
22837extern void SetFeaLayerMaterialID( const std::string & layer_id, const std::string & material_id );
22838
22881
22882extern std::string GetFeaLayerMaterialID( const std::string & layer_id );
22883
22917
22918extern std::vector < std::string > GetFeaMaterialIDVec();
22919
22985
22986extern void DeleteFeaMaterial( const std::string &id );
22987
23011
23012extern std::string AddFeaMaterial();
23013
23047
23108
23109extern std::vector < std::string > GetFeaPropertyIDVec();
23110
23175
23176extern void DeleteFeaProperty( const std::string &id );
23177
23202
23203extern std::string AddFeaProperty( int property_type = 0 );
23204
23241
23242extern void SetFeaPropertyMaterialID( const std::string & property_id, const std::string & material_id );
23243
23274
23275extern std::string GetFeaPropertyMaterialID( const std::string & property_id );
23276
23341
23429
23430extern double GetFeaMeshVal( const std::string & geom_id, int fea_struct_ind, int type );
23431
23469
23470extern double GetFeaMeshValByID( const std::string & struct_id, int type );
23471
23506
23507extern void SetFeaMeshVal( const std::string & geom_id, int fea_struct_ind, int type, double val );
23508
23548
23549extern void SetFeaMeshValByID( const std::string & struct_id, int type, double val );
23550
23640
23701
23702extern std::string GetFeaMeshFileName( const std::string & geom_id, int fea_struct_ind, int file_type );
23703
23741
23742extern std::string GetFeaMeshFileNameByID( const std::string & struct_id, int file_type );
23743
23778
23779extern void SetFeaMeshFileName( const std::string & geom_id, int fea_struct_ind, int file_type, const std::string & file_name );
23780
23820
23821extern void SetFeaMeshFileNameByID( const std::string & struct_id, int file_type, const std::string & file_name );
23822
23907
23908extern void ComputeFeaMesh( const std::string & geom_id, int fea_struct_ind, int file_type );
23909
23994
23995extern void ComputeFeaMesh( const std::string & struct_id, int file_type );
23996
24055
24056extern void SetXSecAlias( const std::string & id, const std::string & alias );
24057
24116
24117extern std::string GetXSecAlias( const std::string & id );
24118
24177
24178extern void SetXSecCurveAlias( const std::string & id, const std::string & alias );
24179
24237
24238extern std::string GetXSecCurveAlias( const std::string & id );
24239
24328
24329extern void CutXSec( const std::string & geom_id, int index );
24330
24376
24377extern void CutXSecByID( const std::string & xsec_id );
24378
24464
24465extern void CopyXSec( const std::string & geom_id, int index );
24466
24516
24517extern void CopyXSecByID( const std::string & xsec_id );
24518
24604
24605extern void PasteXSec( const std::string & geom_id, int index );
24606
24656
24657extern void PasteXSecByID( const std::string & xsec_id );
24658
24715
24716extern void InsertXSec( const std::string & geom_id, int index, int type );
24717
24759
24760extern std::string InsertXSecByID( const std::string & xsec_id, int type );
24761
24762
24763//======================== Wing Section Functions ===================//
24764
24834
24835extern void SplitWingXSec( const std::string & wing_id, int section_index );
24836
24881
24882extern std::string SplitWingXSecByID( const std::string & xsec_id );
24883
24967
25052
25053extern std::vector < int > GetDriverGroup( const std::string & geom_id, int section_index );
25054
25097
25098extern std::vector < int > GetDriverGroupByID( const std::string & xsec_id );
25099
25132
25133extern void SetDriverGroup( const std::string & geom_id, int section_index, int driver_0, int driver_1 = -1, int driver_2 = -1 );
25134
25179
25180extern void SetDriverGroupByID( const std::string & xsec_id, int driver_0, int driver_1 = -1, int driver_2 = -1 );
25181
25182
25183//======================== XSecSurf ================================//
25218
25219extern std::string GetXSecSurf( const std::string & geom_id, int index );
25220
25255
25256extern std::vector < std::string > GetXSecSurfIDVec( const std::string & geom_id );
25257
25342
25343extern int GetNumXSec( const std::string & xsec_surf_id );
25344
25385
25386extern std::string GetXSec( const std::string & xsec_surf_id, int xsec_index );
25387
25428
25429extern std::vector < std::string > GetXSecIDVec( const std::string & xsec_surf_id );
25430
25467
25468extern void SetEngineInletFaceXSecID( const std::string & geom_id, const std::string & xsec_id );
25469
25506
25507extern std::string GetEngineInletFaceXSecID( const std::string & geom_id );
25508
25545
25546extern void SetEngineInletLipXSecID( const std::string & geom_id, const std::string & xsec_id );
25547
25584
25585extern std::string GetEngineInletLipXSecID( const std::string & geom_id );
25586
25623
25624extern void SetEngineOutletFaceXSecID( const std::string & geom_id, const std::string & xsec_id );
25625
25662
25663extern std::string GetEngineOutletFaceXSecID( const std::string & geom_id );
25664
25701
25702extern void SetEngineOutletLipXSecID( const std::string & geom_id, const std::string & xsec_id );
25703
25740
25741extern std::string GetEngineOutletLipXSecID( const std::string & geom_id );
25742
25794
25795extern void ChangeXSecShape( const std::string & xsec_surf_id, int xsec_index, int type );
25796
25837
25838extern void ChangeXSecShapeByID( const std::string & xsec_id, int type );
25839
25908
25909extern void FitCSTAirfoil( const std::string & xsec_surf_id, int xsec_index, int deg );
25910
25951
25952extern void FitCSTAirfoilByID( const std::string & xsec_id, int deg );
25953
25989
25990extern void SetXSecSurfGlobalXForm( const std::string & xsec_surf_id, const Matrix4d & mat );
25991
26019
26020extern Matrix4d GetXSecSurfGlobalXForm( const std::string & xsec_surf_id );
26021
26022
26023//======================== XSec ================================//
26066
26067extern int GetXSecShape( const std::string& xsec_id );
26068
26109
26110extern double GetXSecWidth( const std::string& xsec_id );
26111
26152
26153extern double GetXSecHeight( const std::string& xsec_id );
26154
26224
26225extern void SetXSecWidthHeight( const std::string& xsec_id, double w, double h );
26226
26273
26274extern void SetXSecWidth( const std::string& xsec_id, double w );
26275
26322
26323extern void SetXSecHeight( const std::string& xsec_id, double h );
26324
26364
26365extern std::vector<std::string> GetXSecParmIDs( const std::string& xsec_id );
26366
26411
26412extern std::string GetXSecParm( const std::string& xsec_id, const std::string& name );
26413
26504
26505extern std::vector<vec3d> ReadFileXSec( const std::string& xsec_id, const std::string& file_name );
26506
26605
26704
26705extern std::vector< vec3d > GetXSecPnts( const std::string& xsec_id );
26706
26793
26794extern void CopyXSecCurve( const std::string & geom_id, int index );
26795
26845
26846extern void CopyXSecCurveByID( const std::string & xsec_id );
26847
26930
26931extern void PasteXSecCurve( const std::string & geom_id, int index );
26932
26982
26983extern void PasteXSecCurveByID( const std::string & xsec_id );
26984
27049
27050extern void SetXSecPnts( const std::string& xsec_id, std::vector< vec3d > & pnt_vec );
27051
27121
27122extern vec3d ComputeXSecPnt( const std::string& xsec_id, double fract );
27123
27214
27215extern vec3d ComputeXSecTan( const std::string& xsec_id, double fract );
27216
27296
27297extern void ResetXSecSkinParms( const std::string& xsec_id );
27298
27365
27428
27429extern int GetXSecContinuity( const std::string& xsec_id );
27430
27468
27469extern void SetXSecContinuity( const std::string& xsec_id, int cx );
27470
27507extern int AddSkinSpine( const std::string& geom_id, double w01 );
27508
27543extern void DelSkinSpine( const std::string& geom_id, int index );
27544
27588
27589extern void DelSkinSpineByID( const std::string & spine_id );
27590
27627extern void DelAllSkinSpines( const std::string& geom_id );
27628
27658extern int GetNumSkinSpines( const std::string& geom_id );
27659
27699
27700extern std::string GetSkinSpineName( const std::string& geom_id, int index );
27701
27746
27747extern std::string GetSkinSpineNameByID( const std::string & spine_id );
27748
27787
27788extern void SetSkinSpineName( const std::string& geom_id, int index, const std::string& name );
27789
27834
27835extern void SetSkinSpineNameByID( const std::string & spine_id, const std::string & name );
27836
27893extern std::string GetSkinSpineID( const std::string& xsec_id, int index );
27894
27935
27936extern std::vector < std::string > GetSkinSpineIDVec( const std::string & xsec_id );
27937
27994extern std::string GetSkinSpineParm( const std::string& spine_id, const std::string& name );
27995
28059
28176
28177extern std::vector < double > GetXSecTanAngles( const std::string& xsec_id, int side );
28178
28229
28230extern void SetXSecTanAngles( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
28231
28295
28412
28413extern std::vector < double > GetXSecTanSlews( const std::string& xsec_id, int side );
28414
28465
28466extern void SetXSecTanSlews( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
28467
28533
28650
28651extern std::vector < double > GetXSecTanStrengths( const std::string& xsec_id, int side );
28652
28703
28704extern void SetXSecTanStrengths( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
28705
28771
28888
28889extern std::vector < double > GetXSecCurvatures( const std::string& xsec_id, int side );
28890
28941
28942extern void SetXSecCurvatures( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
28943
29046
29047extern void ReadFileAirfoil( const std::string& xsec_id, const std::string& file_name );
29048
29157
29158extern void SetAirfoilUpperPnts( const std::string& xsec_id, const std::vector< vec3d > & up_pnt_vec );
29159
29268
29269extern void SetAirfoilLowerPnts( const std::string& xsec_id, const std::vector< vec3d > & low_pnt_vec );
29270
29388
29389extern void SetAirfoilPnts( const std::string& xsec_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
29390
29444
29445extern std::vector<vec3d> GetHersheyBarLiftDist( const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag = false );
29446
29500
29501extern std::vector<vec3d> GetHersheyBarDragDist( const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag = false );
29502
29560
29561extern std::vector<vec3d> GetVKTAirfoilPnts( const int &npts, const double &alpha, const double &epsilon, const double &kappa, const double &tau );
29562
29621
29622extern std::vector<double> GetVKTAirfoilCpDist( const double &alpha, const double &epsilon, const double &kappa, const double &tau, const std::vector<vec3d> &xyz_data );
29623
29652
29653extern std::vector<vec3d> GetEllipsoidSurfPnts( const vec3d &center, const vec3d &abc_rad, int u_npts = 20, int w_npts = 20 );
29654
29686
29687extern std::vector<vec3d> GetFeatureLinePnts( const std::string& geom_id );
29688
29776
29777extern std::vector<double> GetEllipsoidCpDist( const std::vector<vec3d> &surf_pnt_vec, const vec3d &abc_rad, const vec3d &V_inf );
29778
29805
29806extern double IntegrateEllipsoidFlow( const vec3d &abc_rad, const int &abc_index );
29807
29856
29857extern std::vector<vec3d> GetAirfoilUpperPnts( const std::string& xsec_id );
29858
29907
29908extern std::vector<vec3d> GetAirfoilLowerPnts( const std::string& xsec_id );
29909
29954
29955extern std::vector<double> GetUpperCSTCoefs( const std::string& xsec_id );
29956
30001
30002extern std::vector<double> GetLowerCSTCoefs( const std::string& xsec_id );
30003
30044
30045extern int GetUpperCSTDegree( const std::string& xsec_id );
30046
30087
30088extern int GetLowerCSTDegree( const std::string& xsec_id );
30089
30139
30140extern void SetUpperCST( const std::string& xsec_id, int deg, const std::vector<double> &coefs );
30141
30191
30192extern void SetLowerCST( const std::string& xsec_id, int deg, const std::vector<double> &coefs );
30193
30241
30242extern void PromoteCSTUpper( const std::string& xsec_id );
30243
30291
30292extern void PromoteCSTLower( const std::string& xsec_id );
30293
30345
30346extern void DemoteCSTUpper( const std::string& xsec_id );
30347
30399
30400extern void DemoteCSTLower( const std::string& xsec_id );
30401
30439
30440extern void FitAfCST( const std::string & xsec_surf_id, int xsec_index, int deg );
30441
30482
30483extern void FitAfCSTByID( const std::string & xsec_id, int deg );
30484
30485//======================== Background3D Functions ======================//
30486
30525
30526extern std::string AddBackground3D();
30527
30566
30568
30622
30623extern std::vector < std::string > GetAllBackground3Ds();
30624
30673
30675
30724
30726
30768
30770
30813
30814extern void DelBackground3D( const std::string &id );
30815
30862
30863extern std::vector < std::string > GetAllBackground3DRelativePaths();
30864
30910
30911extern std::vector < std::string > GetAllBackground3DAbsolutePaths();
30912
30954
30955extern std::string GetBackground3DRelativePath( const std::string &id );
30956
30997
30998extern std::string GetBackground3DAbsolutePath( const std::string &id );
30999
31043
31044extern void SetBackground3DRelativePath( const std::string &id, const std::string &fname );
31045
31092
31093extern void SetBackground3DAbsolutePath( const std::string &id, const std::string &fname );
31094
31095
31096//======================== GearGeom Functions ======================//
31136
31137extern std::string CreateAndAddBogie( const std::string &gear_id );
31138
31176
31177extern int GetNumBogies( const std::string &gear_id );
31178
31214
31215extern std::vector < std::string > GetAllBogies( const std::string &gear_id );
31216
31254
31255extern void DelBogie( const std::string &gear_id, const std::string &bogie_id );
31256
31293
31294extern void DelAllBogies( const std::string &gear_id );
31295
31336
31337extern void SetBogieStowParentID( const std::string & bogie_id, const std::string & geom_id );
31338
31379
31380extern std::string GetBogieStowParentID( const std::string & bogie_id );
31381
31428
31429extern void SetBogieMechParentID( const std::string & bogie_id, const std::string & geom_id );
31430
31477
31478extern std::string GetBogieMechParentID( const std::string & bogie_id );
31479
31480
31481//====================== AuxiliaryGeom Functions ======================//
31548
31549extern void SetAuxiliaryGeomContactPtID( const std::string &geom_id, int index, const std::string &bogie_id );
31550
31599
31600extern std::string GetAuxiliaryGeomContactPtID( const std::string &geom_id, int index );
31601
31650
31651extern void ReadAuxiliaryGeomCCEFile( const std::string &geom_id, const std::string &file_name );
31652
31653
31654//======================== StackGeom Functions ========================//
31700
31701extern void InitStackPreset( const std::string &geom_id, int preset );
31702
31703
31704//======================== RoutingGeom Functions ======================//
31786
31787extern int GetNumRoutingPts( const std::string &routing_id );
31788
31849
31850extern std::string AddRoutingPt( const std::string &routing_id, const std::string &geom_id, int surf_index );
31851
31924
31925extern std::string InsertRoutingPt( const std::string &routing_id, int index, const std::string &geom_id, int surf_index );
31926
31982
31983extern std::string InsertRoutingPtByID( const std::string &routing_id, const std::string &before_pt_id, const std::string &geom_id, int surf_index );
31984
32050
32051extern void DelRoutingPt( const std::string &routing_id, int index );
32052
32105
32106extern void DelRoutingPtByID( const std::string &routing_id, const std::string &pt_id );
32107
32171
32172extern void DelAllRoutingPt( const std::string &routing_id );
32173
32261
32262extern int MoveRoutingPt( const std::string &routing_id, int index, int reorder_type );
32263
32318
32319extern int MoveRoutingPtByID( const std::string &routing_id, const std::string &pt_id, int reorder_type );
32320
32382
32383extern std::string GetRoutingPtID( const std::string &routing_id, int index );
32384
32445
32446extern std::vector < std::string > GetAllRoutingPtIds( const std::string &routing_id );
32447
32508
32509extern std::string GetRoutingPtParentID( const std::string & pt_id );
32510
32572
32573extern void SetRoutingPtParentID( const std::string & pt_id, const std::string &parent_id );
32574
32654
32655extern vec3d GetMainRoutingPtCoord( const std::string &pt_id );
32656
32742
32743extern vec3d GetRoutingPtCoord( const std::string &routing_id, int index, int symm_index );
32744
32799
32800extern vec3d GetRoutingPtCoordByID( const std::string &routing_id, const std::string &pt_id, int symm_index );
32801
32905
32906extern std::vector < vec3d > GetAllRoutingPtCoords( const std::string &routing_id, int symm_index );
32907
32995
32996extern std::vector < vec3d > GetRoutingCurve( const std::string &routing_id, int symm_index );
32997
32998//======================== BOR Functions ======================//
33031
33032extern void ChangeBORXSecShape( const std::string & bor_id, int type );
33033
33065
33066extern int GetBORXSecShape( const std::string & bor_id );
33067
33137
33138extern std::vector<vec3d> ReadBORFileXSec( const std::string& bor_id, const std::string& file_name );
33139
33223
33296
33297extern std::vector< vec3d > GetBORXSecPnts( const std::string& bor_id );
33298
33350
33351extern void SetBORXSecPnts( const std::string& bor_id, std::vector< vec3d > & pnt_vec );
33352
33415
33416extern vec3d ComputeBORXSecPnt( const std::string& bor_id, double fract );
33417
33490
33491extern vec3d ComputeBORXSecTan( const std::string& bor_id, double fract );
33492
33582
33583extern void ReadBORFileAirfoil( const std::string& bor_id, const std::string& file_name );
33584
33680
33681extern void SetBORAirfoilUpperPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec );
33682
33778
33779extern void SetBORAirfoilLowerPnts( const std::string& bor_id, const std::vector< vec3d > & low_pnt_vec );
33780
33887
33888extern void SetBORAirfoilPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
33889
33930
33931extern std::vector<vec3d> GetBORAirfoilUpperPnts( const std::string& bor_id );
33932
33973
33974extern std::vector<vec3d> GetBORAirfoilLowerPnts( const std::string& bor_id );
33975
34012
34013extern std::vector<double> GetBORUpperCSTCoefs( const std::string& bor_id );
34014
34051
34052extern std::vector<double> GetBORLowerCSTCoefs( const std::string& bor_id );
34053
34086
34087extern int GetBORUpperCSTDegree( const std::string& bor_id );
34088
34121
34122extern int GetBORLowerCSTDegree( const std::string& bor_id );
34123
34165
34166extern void SetBORUpperCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
34167
34209
34210extern void SetBORLowerCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
34211
34251
34252extern void PromoteBORCSTUpper( const std::string& bor_id );
34253
34293
34294extern void PromoteBORCSTLower( const std::string& bor_id );
34295
34339
34340extern void DemoteBORCSTUpper( const std::string& bor_id );
34341
34385
34386extern void DemoteBORCSTLower( const std::string& bor_id );
34387
34423
34424extern void FitBORAfCST( const std::string & bor_id, int deg );
34425
34426
34427//======================== FoilSurf Functions ======================//
34482
34483extern void WriteBezierAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
34484
34539
34540extern void WriteSeligAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
34541
34574
34575extern std::vector < vec3d > GetAirfoilCoordinates( const std::string & geom_id, const double &foilsurf_u );
34576
34577
34578//======================== Edit Curve XSec Functions ======================//
34674
34675extern void EditXSecInitShape( const std::string & xsec_id );
34676
34776
34777extern void EditXSecConvertTo( const std::string & xsec_id, const int & newtype );
34778
34836
34837extern std::vector < double > GetEditXSecUVec( const std::string& xsec_id );
34838
34893
34894extern std::vector < vec3d > GetEditXSecCtrlVec( const std::string & xsec_id, bool non_dimensional = true );
34895
35004
35005extern 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 );
35006
35074
35075extern void EditXSecDelPnt( const std::string & xsec_id, const int & indx );
35076
35143
35144extern int EditXSecSplit01( const std::string & xsec_id, const double & u );
35145
35227
35228extern void MoveEditXSecPnt( const std::string & xsec_id, const int & indx, const vec3d & new_pnt );
35229
35305
35306extern void ConvertXSecToEdit( const std::string & geom_id, const int & indx = 0 );
35307
35347
35348extern void ConvertXSecToEditByID( const std::string & xsec_id );
35349
35469
35470extern std::vector < bool > GetEditXSecFixedUVec( const std::string& xsec_id );
35471
35554
35555extern void SetEditXSecFixedUVec( const std::string& xsec_id, std::vector < bool > fixed_u_vec );
35556
35671
35672extern void ReparameterizeEditXSec( const std::string & xsec_id );
35673
35674
35675//======================== Sets ================================//
35697
35698extern int GetNumSets();
35699
35727
35728extern void SetSetName( int index, const std::string& name );
35729
35760
35761extern std::string GetSetName( int index );
35762
35797
35798extern std::vector<std::string> GetGeomSetAtIndex( int index );
35799
35833
35834extern std::vector<std::string> GetGeomSet( const std::string & name );
35835
35862
35863extern int GetSetIndex( const std::string & name );
35864
35898
35899extern bool GetSetFlag( const std::string & geom_id, int set_index );
35900
35934
35935extern void SetSetFlag( const std::string & geom_id, int set_index, bool flag );
35936
35982
35983extern void CopyPasteSet( int copyIndex, int pasteIndex );
35984
36031
36032extern bool GetBBoxSet( int set, double & xmin_out, double & ymin_out, double & zmin_out, double & xlen_out, double & ylen_out, double & zlen_out );
36033
36080
36081extern bool GetScaleIndependentBBoxSet( int set, double & xmin_out, double & ymin_out, double & zmin_out, double & xlen_out, double & ylen_out, double & zlen_out );
36082
36083//======================== Group Modifications ================================//
36143
36144extern void ScaleSet( int set_index, double scale );
36145
36211
36212extern void RotateSet( int set_index, double x_rot_deg, double y_rot_deg, double z_rot_deg );
36213
36273
36274extern void TranslateSet( int set_index, const vec3d &translation_vec );
36275
36357
36358extern 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 );
36359
36360
36361//======================== Parm Functions ================================//
36393
36394extern bool ValidParm( const std::string & id );
36395
36447
36448extern double SetParmVal( const std::string & parm_id, double val );
36449
36535
36536extern double SetParmVal( const std::string & geom_id, const std::string & name, const std::string & group, double val );
36537
36609
36610extern double SetParmValLimits( const std::string & parm_id, double val, double lower_limit, double upper_limit );
36611
36651
36652extern double SetParmValUpdate( const std::string & parm_id, double val );
36653
36695
36696extern double SetParmValUpdate( const std::string & geom_id, const std::string & parm_name, const std::string & parm_group_name, double val );
36697
36745
36746extern double GetParmVal( const std::string & parm_id );
36747
36797
36798extern double GetParmVal( const std::string & geom_id, const std::string & name, const std::string & group );
36799
36856
36857extern int GetIntParmVal( const std::string & parm_id );
36858
36912
36913extern bool GetBoolParmVal( const std::string & parm_id );
36914
36967
36968extern void SetParmUpperLimit( const std::string & parm_id, double val );
36969
37005
37006extern double GetParmUpperLimit( const std::string & parm_id );
37007
37060
37061extern void SetParmLowerLimit( const std::string & parm_id, double val );
37062
37126
37127extern double GetParmLowerLimit( const std::string & parm_id );
37128
37173
37174extern int GetParmType( const std::string & parm_id );
37175
37238
37239extern std::string GetParmName( const std::string & parm_id );
37240
37289
37290extern std::string GetParmGroupName( const std::string & parm_id );
37291
37340
37341extern std::string GetParmDisplayGroupName( const std::string & parm_id );
37342
37390
37391extern std::string GetParmContainer( const std::string & parm_id );
37392
37432
37433extern void SetParmDescript( const std::string & parm_id, const std::string & desc );
37434
37474
37475extern std::string GetParmDescript( const std::string & parm_id );
37476
37516
37517extern std::string FindParm( const std::string & parm_container_id, const std::string& parm_name, const std::string& group_name );
37518
37519
37520//======================== Parm Container Functions ======================//
37521
37563
37564extern std::vector<std::string> FindContainers();
37565
37595
37596extern std::vector<std::string> FindContainersWithName( const std::string & name );
37597
37627
37628extern std::string FindContainer( const std::string & name, int index );
37629
37655
37729
37730extern void SetContainerName( const std::string & parm_container_id, const std::string & name );
37731
37764
37765extern std::string GetContainerName( const std::string & parm_container_id );
37766
37811
37812extern std::vector<std::string> FindContainerGroupNames( const std::string & parm_container_id );
37813
37876
37877extern std::vector<std::string> FindContainerParmIDs( const std::string & parm_container_id );
37878
37905
37906extern std::string GetVehicleID();
37907
37908
37909//======================== User Parm Functions ======================//
37956
37957extern int GetNumUserParms();
37958
37987
37989
38031
38032extern std::vector < std::string > GetAllUserParms();
38033
38058
38059extern std::string GetUserParmContainer();
38060
38097
38098extern std::string AddUserParm(int type, const std::string & name, const std::string & group );
38099
38139
38140extern void DeleteUserParm( const std::string & id );
38141
38192
38193extern void DeleteAllUserParm();
38194
38195
38196//======================== Snap To Functions ======================//
38267
38268extern double ComputeMinClearanceDistance( const std::string & geom_id, int set = SET_ALL, bool useMode = false, const std::string &modeID = std::string() );
38269 // TODO: Validate inc_flag description
38347
38348extern double SnapParm( const std::string & parm_id, double target_min_dist, bool inc_flag, int set = SET_ALL, bool useMode = false, const std::string &modeID = std::string() );
38349
38350
38351//======================== Fit Model Functions ======================//
38352
38387
38388extern void ResetFitModel();
38389
38443
38444extern int AddFitModelTargetPt( const std::string & geom_id, int surf_indx, const vec3d & pt, int u_type = FIT_MODEL_FREE, int w_type = FIT_MODEL_FREE, double u = 0.0, double w = 0.0 );
38445
38490
38491extern int AddFitModelTargetPtFixedU( const std::string & geom_id, int surf_indx, const vec3d & pt, double u );
38492
38537
38538extern int AddFitModelTargetPtFixedW( const std::string & geom_id, int surf_indx, const vec3d & pt, double w );
38539
38582
38583extern int AddFitModelTargetPtFixedUW( const std::string & geom_id, int surf_indx, const vec3d & pt, double u, double w );
38584
38585
38639
38640extern void AddFitModelTargetPts( const std::string & geom_id, int surf_indx, const std::vector < vec3d > & pt_vec );
38641
38694
38695extern void AddFitModelTargetPtsFixedU( const std::string & geom_id, int surf_indx, const std::vector < vec3d > & pt_vec, double u );
38696
38746
38747extern void AddFitModelTargetPtsFixedUs( const std::string & geom_id, int surf_indx, const std::vector < vec3d > & pt_vec, const std::vector < double > & u_vec );
38748
38801
38802extern void AddFitModelTargetPtsFixedW( const std::string & geom_id, int surf_indx, const std::vector < vec3d > & pt_vec, double w );
38803
38853
38854extern void AddFitModelTargetPtsFixedWs( const std::string & geom_id, int surf_indx, const std::vector < vec3d > & pt_vec, const std::vector < double > & w_vec );
38855
38909
38910extern void AddFitModelTargetPtsFixedUW( const std::string & geom_id, int surf_indx, const std::vector < vec3d > & pt_vec, double u, double w );
38911
38970
38971extern void AddFitModelTargetPtsFixedUWs( const std::string & geom_id, int surf_indx, const std::vector < vec3d > & pt_vec, const std::vector < double > & u_vec, const std::vector < double > & w_vec );
38972
39010
39011extern void DelFitModelTargetPt( int index );
39012
39047
39049
39094
39096
39150
39151extern int MoveFitModelTargetPt( int index, int reorder_type );
39152
39184
39186
39228
39229extern vec3d GetFitModelTargetPt( int index );
39230
39267
39268extern void SetFitModelTargetPt( int index, const vec3d & pt );
39269
39302
39303extern std::string GetFitModelTargetPtGeom( int index );
39304
39345
39346extern void SetFitModelTargetPtGeom( int index, const std::string & geom_id );
39347
39388
39389extern int GetFitModelTargetPtSurfIndx( int index );
39390
39441
39442extern void SetFitModelTargetPtSurfIndx( int index, int surf_indx );
39443
39476
39477extern double GetFitModelTargetPtU( int index );
39478
39511
39512extern double GetFitModelTargetPtW( int index );
39513
39555
39556extern double GetFitModelTargetPtDist( int index );
39557
39596
39597extern void SetFitModelTargetPtUW( int index, double u, double w );
39598
39631
39632extern int GetFitModelTargetPtUType( int index );
39633
39670
39671extern void SetFitModelTargetPtUType( int index, int u_type );
39672
39705
39706extern int GetFitModelTargetPtWType( int index );
39707
39745
39746extern void SetFitModelTargetPtWType( int index, int w_type );
39747
39789
39791
39829
39830extern void AddFitModelVar( const std::string & parm_id );
39831
39871
39872extern void DelFitModelVar( const std::string & parm_id );
39873
39908
39910
39942
39944
39982
39983extern std::string GetFitModelVar( int index );
39984
40020
40021extern std::vector < std::string > GetFitModelVarVec();
40022
40064
40066
40107
40109
40143
40144extern double UpdateFitModelDist();
40145
40182
40183extern double GetFitModelDist();
40184
40221
40223
40300
40301extern int OptimizeFitModel();
40302
40354
40355extern bool CanUndoFitModel();
40356
40426
40427extern bool UndoFitModel();
40428
40464
40465extern void SaveFitModelFile( const std::string & file_name );
40466
40512
40513extern int LoadFitModelFile( const std::string & file_name );
40514
40515
40516
40517//======================== Point Cloud Functions ======================//
40518
40558
40559extern std::string CreatePtCloudGeomFromPts( const std::vector < vec3d > & pt_vec, const std::string & name );
40560
40600
40601extern std::vector < vec3d > KeepPtsInBBox( const std::vector < vec3d > & pt_vec, const vec3d & min_pt, const vec3d & max_pt );
40602
40642
40643extern std::vector < vec3d > RemovePtsInBBox( const std::vector < vec3d > & pt_vec, const vec3d & min_pt, const vec3d & max_pt );
40644
40684
40685extern std::vector < vec3d > KeepPtsInRange( const std::vector < vec3d > & pt_vec, int dir_index, double low, double high );
40686
40726
40727extern std::vector < vec3d > RemovePtsInRange( const std::vector < vec3d > & pt_vec, int dir_index, double low, double high );
40728
40769
40770extern std::vector < vec3d > KeepPtsAbove( const std::vector < vec3d > & pt_vec, int dir_index, double val );
40771
40811
40812extern std::vector < vec3d > KeepPtsBelow( const std::vector < vec3d > & pt_vec, int dir_index, double val );
40813
40852
40853extern std::vector < vec3d > KeepPtsNearPt( const std::vector < vec3d > & pt_vec, const vec3d & center, double radius );
40854
40893
40894extern std::vector < vec3d > RemovePtsNearPt( const std::vector < vec3d > & pt_vec, const vec3d & center, double radius );
40895
40944
40945extern std::vector < vec3d > KeepPtsNearGeom( const std::vector < vec3d > & pt_vec, const std::string & geom_id, int surf_indx, double tol );
40946
40993
40994extern std::vector < vec3d > RemovePtsNearGeom( const std::vector < vec3d > & pt_vec, const std::string & geom_id, int surf_indx, double tol );
40995
41044
41045extern std::vector < vec3d > UniquePts( const std::vector < vec3d > & pt_vec, double tol );
41046
41091
41092extern std::vector < vec3d > UnionPts( const std::vector < vec3d > & pt_vec_a, const std::vector < vec3d > & pt_vec_b, double tol );
41093
41137
41138extern std::vector < vec3d > IntersectPts( const std::vector < vec3d > & pt_vec_a, const std::vector < vec3d > & pt_vec_b, double tol );
41139
41183
41184extern std::vector < vec3d > SubtractPts( const std::vector < vec3d > & pt_vec_a, const std::vector < vec3d > & pt_vec_b, double tol );
41185
41186
41187//======================== Variable Preset Functions ======================//
41188
41219
41220extern std::string AddVarPresetGroup( const std::string &group_name );
41221
41258
41259extern std::string AddVarPresetSetting( const std::string &group_id, const std::string &setting_name );
41260
41347
41348extern void AddVarPresetParm( const std::string &group_id, const std::string &parm_id );
41349
41401
41442
41444
41472
41473extern void DeleteVarPresetGroup( const std::string &group_id );
41474
41527
41587
41588extern void DeleteAllVarPresetSettings( const std::string &group_id );
41589
41622
41623extern void DeleteVarPresetSetting( const std::string &group_id, const std::string &setting_id );
41624
41677
41678extern void DeleteVarPresetParm( const std::string &group_id, const std::string &parm_id );
41679
41732
41733extern void SetVarPresetParmVal( const std::string &group_id, const std::string &setting_id, const std::string &parm_id, double parm_val );
41734
41812
41813extern double GetVarPresetParmVal( const std::string &group_id, const std::string &setting_id, const std::string &parm_id );
41814
41851
41852extern std::string GetGroupName( const std::string &group_id );
41853
41894
41895extern std::string GetSettingName( const std::string &setting_id );
41896
41935
41936extern void SetGroupName( const std::string &group_id, const std::string &group_name );
41937
41980
41981extern void SetSettingName( const std::string &setting_id, const std::string &setting_name );
41982
42030
42031extern std::vector< std::string > GetVarPresetGroups();
42032
42081
42082extern std::vector< std::string > GetVarPresetSettings( const std::string &group_id );
42083
42132
42133extern std::vector< std::string > GetVarPresetParmIDs( const std::string &group_id );
42134
42184
42185extern std::vector< double > GetVarPresetParmVals( const std::string &setting_id );
42186
42241
42242extern void SetVarPresetParmVals( const std::string &setting_id, const std::vector< double > &parm_vals );
42243
42306
42307extern void SaveVarPresetParmVals( const std::string &group_id, const std::string &setting_id );
42308
42383
42384extern void ApplyVarPresetSetting( const std::string &group_id, const std::string &setting_id );
42385
42386//======================== Mode Functions ======================//
42387
42550
42551extern std::string CreateAndAddMode( const std::string & name, int normal_set, int degen_set );
42552
42716
42717extern int GetNumModes();
42718
42880
42881extern std::vector < std::string > GetAllModes();
42882
43048
43049extern void DelMode( const std::string &mid );
43050
43213
43214extern void DelAllModes();
43215
43430
43486
43487extern std::string GetModeName( const std::string &mid );
43488
43539
43540extern void SetModeName( const std::string &mid, const std::string &name );
43541
43565
43566extern void ApplyModeSettings( const std::string &mid );
43567
43765
43766extern void ShowOnlyMode( const std::string &mid );
43767
43984
43985extern void ModeAddGroupSetting( const std::string &mid, const std::string &gid, const std::string &sid );
43986
44152
44153extern std::string ModeGetGroup( const std::string &mid, int indx );
44154
44320
44321extern std::string ModeGetSetting( const std::string &mid, int indx );
44322
44372
44373extern std::string ModeGetGroupSetting( const std::string &mid, const std::string &gid );
44374
44553
44554extern std::vector < std::string > ModeGetAllGroups( const std::string &mid );
44555
44724
44725extern std::vector < std::string > ModeGetAllSettings( const std::string &mid );
44726
44901
44902extern void RemoveGroupSetting( const std::string &mid, int indx );
44903
44956
44957extern void RemoveGroupSettingByID( const std::string &mid, const std::string &gid );
44958
45132
45133extern void RemoveAllGroupSettings( const std::string &mid );
45134
45135//======================== Parametric Curve Functions ======================//
45181
45182extern void SetPCurve( const std::string & geom_id, const int & pcurveid, const std::vector < double > & tvec,
45183
45184 const std::vector < double > & valvec, const int & newtype );
45222
45223extern void PCurveConvertTo( const std::string & geom_id, const int & pcurveid, const int & newtype );
45224
45258
45259extern int PCurveGetType( const std::string & geom_id, const int & pcurveid );
45260
45293
45294extern std::vector < double > PCurveGetTVec( const std::string & geom_id, const int & pcurveid );
45295
45332
45333extern std::vector < double > PCurveGetValVec( const std::string & geom_id, const int & pcurveid );
45334
45388
45389extern void PCurveDeletePt( const std::string & geom_id, const int & pcurveid, const int & indx );
45390
45432
45433extern int PCurveSplit( const std::string & geom_id, const int & pcurveid, const double & tsplit );
45434
45512
45513extern void ApproximateAllPropellerPCurves( const std::string & geom_id );
45514
45564
45565extern void ResetPropellerThickness( const std::string & geom_id );
45566
45686
45687extern void ResetPropellerThicknessCurve( const std::string & geom_id );
45688
45689
45690//======================== VSPAERO Functions ======================//
45829
45831
45870
45964
46019
46020extern std::string AddCpSlice( int cut_type, double location );
46021
46069
46070extern int GetNumCpSlices();
46071
46136
46137extern std::string GetCpSliceID( int slice_index );
46138
46172
46173extern std::vector < std::string > GetCpSliceIDVec();
46174
46242
46243extern void DelCpSlice( int slice_index );
46244
46278
46279extern void DelCpSliceByID( const std::string & slice_id );
46280
46329
46330extern void DeleteAllCpSlices();
46331
46367
46368extern void DeleteVSPAEROControlSurfaceGroup( int CSGroupIndex );
46369
46415
46416extern void DeleteVSPAEROControlSurfaceGroupByID( const std::string & group_id );
46417
46449
46451
46481
46483
46563
46564extern void AddAllToVSPAEROControlSurfaceGroup( int CSGroupIndex );
46565
46609
46610extern void AddAllToVSPAEROControlSurfaceGroupByID( const std::string & group_id );
46611
46676
46677extern void RemoveAllFromVSPAEROControlSurfaceGroup( int CSGroupIndex );
46678
46726
46727extern void RemoveAllFromVSPAEROControlSurfaceGroupByID( const std::string & group_id );
46728
46786
46787extern std::vector < std::string > GetActiveCSNameVec( int CSGroupIndex );
46788
46833
46834extern std::vector < std::string > GetActiveCSNameVecByID( const std::string & group_id );
46835
46882
46883extern std::vector < std::string > GetActiveCSSubSurfIDVec( const std::string & group_id );
46884
46931
46932extern std::vector < int > GetActiveCSReflectVec( const std::string & group_id );
46933
46983
46984extern std::vector < std::string > GetCompleteCSNameVec();
46985
47025
47026extern std::vector < std::string > GetCompleteCSSubSurfIDVec();
47027
47065
47066extern std::vector < int > GetCompleteCSReflectVec();
47067
47137
47138extern std::vector < std::string > GetAvailableCSNameVec( int CSGroupIndex );
47139
47184
47185extern std::vector < std::string > GetAvailableCSNameVecByID( const std::string & group_id );
47186
47233
47234extern std::vector < std::string > GetAvailableCSSubSurfIDVec( const std::string & group_id );
47235
47282
47283extern std::vector < int > GetAvailableCSReflectVec( const std::string & group_id );
47284
47358
47359extern void SetVSPAEROControlGroupName(const std::string & name, int CSGroupIndex);
47360
47405
47406extern void SetVSPAEROControlGroupNameByID( const std::string & name, const std::string & group_id );
47407
47474
47475extern std::string GetVSPAEROControlGroupName( int CSGroupIndex );
47476
47521
47522extern std::string GetVSPAEROControlGroupNameByID( const std::string & group_id );
47523
47594
47595extern void AddSelectedToCSGroup( const std::vector <int> &selected, int CSGroupIndex);
47596
47688
47689extern void RemoveSelectedFromCSGroup( const std::vector <int> &selected, int CSGroupIndex);
47690
47738
47739extern void AddSubSurfToCSGroup( const std::string & group_id, const std::string & ss_id, int reflect_index );
47740
47792
47793extern void RemoveSubSurfFromCSGroup( const std::string & group_id, const std::string & ss_id, int reflect_index );
47794
47851
47853
47936
47937extern std::string FindControlSurfaceGroup( int group_index );
47938
47982
47983extern std::vector < std::string > GetControlSurfaceGroupIDVec();
47984
47985
47986//================ VSPAERO Actuator Disk and Unsteady Functions ==============//
48040
48041extern std::string FindActuatorDisk( int disk_index );
48042
48080
48081extern std::string FindActuatorDiskByGeom( const std::string & geom_id, int surf_index );
48082
48119
48120extern std::string GetActuatorDiskGeomID( const std::string & disk_id );
48121
48193
48195
48235
48236extern std::vector < std::string > GetActuatorDiskIDVec();
48237
48289
48290extern std::string FindUnsteadyGroup( int group_index );
48291
48375
48376extern std::string GetUnsteadyGroupName( int group_index );
48377
48422
48423extern std::string GetUnsteadyGroupNameByID( const std::string & group_id );
48424
48469
48470extern std::vector < std::string > GetUnsteadyGroupCompIDs( int group_index );
48471
48518
48519extern std::vector < std::string > GetUnsteadyGroupCompIDsByID( const std::string & group_id );
48520
48565
48566extern std::vector < int > GetUnsteadyGroupSurfIndexes( int group_index );
48567
48616
48617extern std::vector < int > GetUnsteadyGroupSurfIndexesByID( const std::string & group_id );
48618
48703
48705
48745
48746extern std::vector < std::string > GetUnsteadyGroupIDVec();
48747
48833
48835
48836
48837//======================== Parasite Drag Tool Functions ======================//
48906
48907extern void AddExcrescence(const std::string & excresName, const int & excresType, const double & excresVal);
48908
48968
49020
49022
49077
49079
49107
49108extern void DeleteExcrescence(const int & index);
49109
49135
49137
49197
49198extern std::string ExportParasiteDragToCSV( const std::string & file_name );
49199
49231
49232extern void SetParasiteDragRefWingID( const std::string & geom_id );
49233
49265
49266extern std::string GetParasiteDragRefWingID();
49267
49303
49304extern void SetParasiteDragModeID( const std::string & mode_id );
49305
49341
49342extern std::string GetParasiteDragModeID();
49343
49375
49376extern void SetWaveDragRefWingID( const std::string & geom_id );
49377
49409
49410extern std::string GetWaveDragRefWingID();
49411
49447
49448extern void SetWaveDragModeID( const std::string & mode_id );
49449
49485
49486extern std::string GetWaveDragModeID();
49487
49523
49524extern void SetVSPAEROModeID( const std::string & mode_id );
49525
49561
49562extern std::string GetVSPAEROModeID();
49563
49599
49600extern void SetVSPAEROCGModeID( const std::string & mode_id );
49601
49637
49638extern std::string GetVSPAEROCGModeID();
49639
49677
49678extern void AddWaveDragFlowSubSurf( const std::string & ss_id );
49679
49719
49720extern void DeleteWaveDragFlowSubSurf( const std::string & ss_id );
49721
49759
49760extern std::vector < std::string > GetWaveDragFlowSubSurfVec();
49761
49808
49809extern void WriteAtmosphereCSVFile( const std::string & file_name, const int &atmos_type );
49810
49901
49902extern void CalcAtmosphere( const double & alt, const double & delta_temp, const int & atmos_type,
49903
49904 double & temp, double & pres, double & pres_ratio, double & rho_ratio );
49946
49947extern void WriteBodyFFCSVFile( const std::string & file_name );
49948
49990
49991extern void WriteWingFFCSVFile( const std::string & file_name );
49992 // TODO: Improve description
50034
50054
50055extern void WriteCfEqnCSVFile( const std::string & file_name );
50056 // TODO: Improve description
50098
50118
50119extern void WritePartialCfMethodCSVFile( const std::string & file_name );
50120
50121
50122//======================== Surface Query Functions ======================//
50185
50186extern double CompareGeomSurfaces( const std::string & geom_a, const std::string & geom_b );
50187
50266
50267extern vec3d CompPnt01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
50268
50319
50320extern vec3d CompNorm01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
50321
50372
50373extern vec3d CompTanU01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
50374
50425
50426extern vec3d CompTanW01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
50427
50506
50507extern void CompCurvature01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w,
50508 double &k1_out, double &k2_out, double &ka_out, double &kg_out);
50509
50585
50586extern double ProjPnt01(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &u_out, double &w_out);
50587
50670
50671extern double ProjPnt01I(const std::string &geom_id, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
50672
50755
50756extern 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);
50757
50758
50835
50836extern double AxisProjPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, double &u_out, double &w_out);
50837
50916
50917extern double AxisProjPnt01I(const std::string &geom_id, const int &iaxis, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
50918
51032
51033extern 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);
51034
51106
51107extern bool InsideSurf( const std::string &geom_id, const int &surf_indx, const vec3d &pt );
51108
51109
51194
51195extern vec3d CompPntRST( const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t );
51196
51263
51264extern double FindRST( const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &r_out, double &s_out, double &t_out );
51265
51344
51345extern 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 );
51346
51347
51409
51410extern 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 );
51411
51465
51466extern void ConvertRtoL( const std::string &geom_id, const int &surf_indx, const double &r, double &l_out );
51467
51555
51556extern 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 );
51633extern void ConvertLtoR( const std::string &geom_id, const int &surf_indx, const double &l, double &r_out );
51634
51691
51692extern void ConvertUtoEta( const std::string &geom_id, const double &u, double &eta_out );
51693
51745
51746extern void ConvertEtatoU( const std::string &geom_id, const double &eta, double &u_out );
51747
51748
51826
51827extern 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);
51828
51913
51914extern 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);
51915
51981
51982extern std::vector < vec3d > CompVecNorm01(const std::string &geom_id, const int &surf_indx, const std::vector < double > &us, const std::vector < double > &ws);
51983
52094
52095extern 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);
52096
52183
52184extern 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 );
52185
52323
52324extern 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 );
52325
52326
52467
52468extern 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 );
52469
52621
52622extern 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 );
52623
52710
52711extern std::vector < bool > VecInsideSurf( const std::string &geom_id, const int &surf_indx, const std::vector < vec3d > &pts );
52712
52713
52807
52808extern 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 );
52809
52899
52900extern 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 );
52901
53009
53010extern 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 );
53011
53012
53092
53093extern 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,
53094 std::vector < double > &l_out_vec, std::vector < double > &m_out_vec, std::vector < double > &n_out_vec );
53095
53212
53213extern 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,
53214 std::vector < double > &r_out_vec, std::vector < double > &s_out_vec, std::vector < double > &t_out_vec );
53215
53296
53297extern void GetUWTess01(const std::string &geom_id, const int &surf_indx, std::vector < double > &u_out_vec, std::vector < double > &w_out_vec);
53298
53336
53337extern std::vector < vec3d > ControlSurfaceHingeLine( const std::string & id, int surf_indx );
53338
53339//======================= Measure Functions ============================//
53393
53464
53513
53514extern void ShowAllRulers();
53515
53546
53547extern void HideAllRulers();
53548
53579
53580extern void ShowAllProbes();
53581
53612
53613extern void HideAllProbes();
53614
53645
53647
53678
53680
53711
53712extern void ShowAllRSTProbes();
53713
53744
53745extern void HideAllRSTProbes();
53746
53796
53797extern std::string AddProtractor( const std::string & startgeomid, int startsurfindx, double startu, double startw,
53798 const std::string & midgeomid, int midsurfindx, double midu, double midw,
53799 const std::string & endgeomid, int endsurfindx, double endu, double endw, const std::string & name );
53800
53845
53846extern std::vector < std::string > GetAllProtractors();
53847
53892
53893extern void DelProtractor( const std::string &id );
53894
53931
53933
53978
53979extern void SetMeasureOriginGeomID( const std::string & measure_id, const std::string & geom_id );
53980
54019
54020extern std::string GetMeasureOriginGeomID( const std::string & measure_id );
54021
54066
54067extern void SetMeasureMidGeomID( const std::string & measure_id, const std::string & geom_id );
54068
54107
54108extern std::string GetMeasureMidGeomID( const std::string & measure_id );
54109
54154
54155extern void SetMeasureEndGeomID( const std::string & measure_id, const std::string & geom_id );
54156
54195
54196extern std::string GetMeasureEndGeomID( const std::string & measure_id );
54197
54267
54268extern std::string AddRSTProbe( const std::string & geomid, int surfindx, double r, double s, double t, const std::string & name );
54269
54314
54315extern std::vector < std::string > GetAllRSTProbes();
54316
54361
54362extern void DelRSTProbe( const std::string &id );
54363
54413
54415
54460
54461extern std::string AddRuler( const std::string & startgeomid, int startsurfindx, double startu, double startw,
54462 const std::string & endgeomid, int endsurfindx, double endu, double endw, const std::string & name );
54524
54525extern std::vector < std::string > GetAllRulers();
54526
54583
54584extern void DelRuler( const std::string &id );
54585
54635
54636extern void DeleteAllRulers();
54637
54638
54680
54681extern std::string AddProbe( const std::string & geomid, int surfindx, double u, double w, const std::string & name );
54682
54727
54728extern std::vector < std::string > GetAllProbes();
54729
54772
54773extern void DelProbe( const std::string &id );
54774
54816
54817extern void DeleteAllProbes();
54818
54819
54820//======================== Parm Link Functions ======================//
54821
54926
55008
55009extern void CopyAirfoil( const std::string & geom_id, int index );
55010
55060
55061extern void CopyAirfoilByID( const std::string & xsec_id );
55062
55101
55102extern void PasteAirfoil( const std::string & geom_id, int index );
55103
55153
55154extern void PasteAirfoilByID( const std::string & xsec_id );
55155
55252
55253extern void ClearSkinning( const std::string & geom_id, int index = -1 );
55254
55302
55303extern void ClearSkinningByID( const std::string & xsec_id );
55304
55382
55383extern void ResetGeomScale( const std::string & geom_id );
55384
55447
55514
55515extern void AcceptGeomScale( const std::string & geom_id );
55516
55581
55582extern std::vector < vec3d > GetPtCloudPnts( const std::string & geom_id );
55583
55622
55623extern std::string CreatePtCloudGeom( const std::string & geom_id );
55624
55686
55687extern std::string CreateNGonMeshGeom( const std::string & geom_id );
55688
55772
55773extern std::string CreateConvexHull( const std::string & geom_id );
55774
55846
55847extern void ProjectPtCloudPts( const std::string & geom_id, const std::string & target_geom_id, int surf_index, int dir_index );
55848
55921
55922extern void ShowSet( int set_index );
55923
55955
55956extern void NoShowSet( int set_index );
55957
56005
56006extern void ShowOnlySet( int set_index );
56007
56051
56052extern std::string AddParmLink( const std::string & parm_a_id, const std::string & parm_b_id );
56053
56111
56112extern int GetNumParmLinks();
56113
56180
56181extern std::string GetParmLinkID( int index );
56182
56220
56221extern std::vector < std::string > GetAllParmLinks();
56222
56309
56310extern std::string GetParmLinkAParm( const std::string & link_id );
56311
56362
56363extern std::string GetParmLinkBParm( const std::string & link_id );
56364
56423
56424extern void SetParmLinkAParm( const std::string & link_id, const std::string & parm_id );
56425
56484
56485extern void SetParmLinkBParm( const std::string & link_id, const std::string & parm_id );
56486
56556
56557extern void DelParmLink( const std::string & link_id );
56558
56608
56609extern void DelAllParmLinks();
56610
56663
56664extern void SortParmLinksByA();
56665
56718
56719extern void SortParmLinksByB();
56720
56777
56778extern bool LinkAllComp( const std::string & parm_a_id, const std::string & parm_b_id );
56779
56842
56843extern bool LinkAllGroup( const std::string & parm_a_id, const std::string & parm_b_id );
56844
56899
56900extern bool GetParmLinkOffsetFlag( const std::string & link_id );
56901
56963
56964extern void SetParmLinkOffsetFlag( const std::string & link_id, bool flag );
56965
57020
57021extern bool GetParmLinkScaleFlag( const std::string & link_id );
57022
57084
57085extern void SetParmLinkScaleFlag( const std::string & link_id, bool flag );
57086
57141
57142extern bool GetParmLinkLowerLimitFlag( const std::string & link_id );
57143
57205
57206extern void SetParmLinkLowerLimitFlag( const std::string & link_id, bool flag );
57207
57262
57263extern bool GetParmLinkUpperLimitFlag( const std::string & link_id );
57264
57326
57327extern void SetParmLinkUpperLimitFlag( const std::string & link_id, bool flag );
57328
57329//======================= Advanced Link Functions ============================//
57330
57384
57385extern std::vector< std::string > GetAdvLinkNames();
57386
57464
57465extern int GetLinkIndex( const std::string & name );
57466
57570
57645
57646extern std::string GetAdvLinkName( int index );
57647
57715
57716extern void SetAdvLinkName( int index, const std::string & name );
57717
57745
57746extern void DelAdvLink( int index );
57747
57840
57841extern void DelAllAdvLinks();
57842
57918
57919extern void AddAdvLink( const std::string & name );
57920
57998
57999extern void AddAdvLinkInput( int index, const std::string & parm_id, const std::string & var_name );
58000
58078
58079extern void AddAdvLinkOutput( int index, const std::string & parm_id, const std::string & var_name );
58080
58179
58249
58250extern void DelAllAdvLinkInputs( int index );
58251
58321
58322extern void DelAllAdvLinkOutputs( int index );
58323
58368
58369extern void DelAdvLinkInput( int index, const std::string & var_name );
58370
58469
58470extern void DelAdvLinkOutput( int index, const std::string & var_name );
58471
58536
58537extern std::vector< std::string > GetAdvLinkInputNames( int index );
58538
58603
58604extern std::vector< std::string > GetAdvLinkInputParms( int index );
58605
58670
58671extern std::vector< std::string > GetAdvLinkOutputNames( int index );
58672
58737
58738extern std::vector< std::string > GetAdvLinkOutputParms( int index );
58739
58813
58814extern bool ValidateAdvLinkParms( int index );
58815
58892
58893extern void SetAdvLinkCode( int index, const std::string & code );
58894
58954
58955extern std::string GetAdvLinkCode( int index );
58956
59052
59053extern void SearchReplaceAdvLinkCode( int index, const std::string & from, const std::string & to );
59054
59124
59125extern bool BuildAdvLinkScript( int index );
59126
59192
59193extern void WriteAdvLinkCodeFile( int index, const std::string & file_name );
59194
59249
59250extern void ReorderAdvLinkInput( int index, const std::string & var_name, int reorder_type );
59251
59307
59308extern void ReorderAdvLinkOutput( int index, const std::string & var_name, int reorder_type );
59309
59379
59380extern void ReadAdvLinkCodeFile( int index, const std::string & file_name );
59381
59435
59436extern void SortAdvLinkInputsVar( int index );
59437
59493
59494extern void SortAdvLinkInputsCGP( int index );
59495
59547
59548extern void SortAdvLinkOutputsVar( int index );
59549
59604
59605extern void SortAdvLinkOutputsCGP( int index );
59606
59607
59608} // End vsp namespace
59609
59610#endif // !defined(VSPAPI__INCLUDED_)
double Rad2Deg(double r)
bool CheckForVSPAERO(const std::string &path)
bool CheckForVSPHelp(const std::string &path)
int GetVSPVersionChange()
double Min(double x, double y)
std::string GetVSPVersion()
int GetVSPVersionMinor()
bool SetVSPHelpPath(const std::string &path)
std::string GetVSPHelpPath()
bool SetVSPAEROPath(const std::string &path)
double Deg2Rad(double d)
std::string GetVSPExePath()
std::string GetVSPAEROPath()
int GetVSPVersionMajor()
void VSPRenew()
double Max(double x, double y)
void VSPCheckSetup()
void Print(const std::string &data, bool new_line=true)
std::vector< std::string > GetAnalysisInputNames(const std::string &analysis)
void DeleteWaveDragFlowSubSurf(const std::string &ss_id)
const std::vector< int > & GetIntAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
std::string GetActiveGeometryAnalysis()
void DeleteAllGeometryAnalysisAzEl(const std::string &geom_analysis_id)
std::string GetGeometryAnalysisDirectionGeomID(const std::string &geom_analysis_id)
void SetIntAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< int > &indata, int index=0)
void DeleteAllGeometryAnalyses()
void DeleteGeometryAnalysis(const std::string &id)
std::vector< std::string > GetGeometryAnalysisElevationParmVec(const std::string &geom_analysis_id)
void PrintAnalysisDocs(const std::string &analysis_name)
std::string GetWaveDragRefWingID()
std::string GetWaveDragModeID()
void SetActiveGeometryAnalysis(const std::string &id)
std::string GetGeometryAnalysisElevationParm(const std::string &geom_analysis_id, int index)
std::string ExecAnalysis(const std::string &analysis)
std::string MakeMeshGeom(const std::string &ga_id)
int GetNumAnalysis()
std::string AddGeometryAnalysisAzEl(const std::string &geom_analysis_id, double azimuth, double elevation)
std::vector< std::string > ListAnalysis()
void SetWaveDragRefWingID(const std::string &geom_id)
std::string GetAeroStructTargetID()
std::vector< std::string > GetGeometryAnalysisAzimuthParmVec(const std::string &geom_analysis_id)
void DeleteGeometryAnalysisAzEl(const std::string &geom_analysis_id, int index)
void SetVec3dAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< vec3d > &indata, int index=0)
void AddWaveDragFlowSubSurf(const std::string &ss_id)
std::string GetGeometryAnalysisAzimuthParm(const std::string &geom_analysis_id, int index)
void SetStringAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< std::string > &indata, int index=0)
std::vector< std::string > GetAllGeometryAnalysesIDVec()
void AddGeometryAnalysisCutout(const std::string &geom_analysis_id, const std::string &ss_id)
void SetGeometryAnalysisPrimaryGeomID(const std::string &geom_analysis_id, const std::string &geom_id)
void SetGeometryAnalysisDirectionGeomID(const std::string &geom_analysis_id, const std::string &geom_id)
void PrintAnalysisInputs(const std::string &analysis_name)
int GetAnalysisInputType(const std::string &analysis, const std::string &name)
std::string AddGeometryAnalysis()
void SetAnalysisInputDefaults(const std::string &analysis)
std::vector< std::string > GetGeometryAnalysisCutoutVec(const std::string &geom_analysis_id)
const std::vector< double > & GetDoubleAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
void SetGeometryAnalysisSecondaryGeomID(const std::string &geom_analysis_id, const std::string &geom_id)
void SetGeometryAnalysisPrimaryModeID(const std::string &geom_analysis_id, const std::string &mode_id)
int GetNumGeometryAnalysisAzEl(const std::string &geom_analysis_id)
std::string GetAnalysisDoc(const std::string &analysis)
const std::vector< vec3d > & GetVec3dAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
void SetAeroStructTargetID(const std::string &id)
std::string GetGeometryAnalysisPrimaryModeID(const std::string &geom_analysis_id)
void SetDoubleAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< double > &indata, int index=0)
void SetWaveDragModeID(const std::string &mode_id)
std::string GetAnalysisInputDoc(const std::string &analysis, const std::string &name)
std::vector< std::string > GetWaveDragFlowSubSurfVec()
const std::vector< std::string > & GetStringAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
std::string GetGeometryAnalysisPrimaryGeomID(const std::string &geom_analysis_id)
std::string GetGeometryAnalysisSecondaryGeomID(const std::string &geom_analysis_id)
int GetNumAnalysisInputData(const std::string &analysis, const std::string &name)
void DeleteGeometryAnalysisCutout(const std::string &geom_analysis_id, const std::string &ss_id)
void DeleteGeometryAnalysisAzElByID(const std::string &geom_analysis_id, const std::string &azimuth_parm_id)
std::vector< std::string > FindAttributedObjects()
std::vector< double > GetAttributeParmVal(const std::string &attrID)
std::string GetObjectParent(const std::string &id)
void SetAttributeName(const std::string &attrID, const std::string &name)
std::string AddAttributeGroup(const std::string &collID, const std::string &attributeName)
void SetAttributeString(const std::string &attrID, const std::string &value)
std::string AddAttributeBool(const std::string &collID, const std::string &attributeName, bool value)
void SetAttributeVec3d(const std::string &attrID, const std::vector< vec3d > &value)
std::string FindAttributeInCollection(const std::string &obj_id, const std::string &search_str, int index)
std::string GetAttributeTypeName(const std::string &attrID)
std::string SummarizeAttributesAsTree()
std::vector< std::string > FindAttributesInCollectionByName(const std::string &obj_id, const std::string &search_str)
std::vector< int > GetAttributeBoolVal(const std::string &attrID)
std::string AddAttributeInt(const std::string &collID, const std::string &attributeName, int value)
std::vector< vec3d > GetAttributeVec3dVal(const std::string &attrID)
std::vector< std::string > GetAttributeParmName(const std::string &attrID)
int GetObjectType(const std::string &attachID)
int CopyAttribute(const std::string &attrID)
std::vector< std::string > FindAttributesInCollection(const std::string &collID)
void SetAttributeParmID(const std::string &attrID, const std::string &value)
std::string GetAttributeDoc(const std::string &attrID)
std::string AddAttributeParm(const std::string &collID, const std::string &attributeName, const std::string &parmID)
std::string AddAttributeIntMatrix(const std::string &collID, const std::string &attributeName, const std::vector< std::vector< int > > &value)
std::string GetObjectName(const std::string &attachID)
std::vector< std::string > PasteAttribute(const std::string &coll_id)
std::string AddAttributeString(const std::string &collID, const std::string &attributeName, const std::string &value)
std::vector< std::vector< int > > GetAttributeIntMatrixVal(const std::string &attrID)
std::string GetChildCollection(const std::string &attachID)
std::vector< std::string > FindAllAttributes()
std::vector< std::string > GetAttributeStringVal(const std::string &attrID)
std::string AddAttributeDoubleMatrix(const std::string &collID, const std::string &attributeName, const std::vector< std::vector< double > > &value)
void SetAttributeInt(const std::string &attrID, int value)
std::string GetAttributeName(const std::string &attrID)
void DeleteAttribute(const std::string &attrID)
std::vector< std::string > GetAttributeIDVec(const std::string &collID, const std::string &attributeName)
std::string GetGeomSetCollection(const int &index)
std::vector< std::string > GetAttributeParmID(const std::string &attrID)
std::string FindAttributeByName(const std::string &search_str, int index)
void CutAttribute(const std::string &attrID)
int GetAttributeType(const std::string &attrID)
void SetAttributeBool(const std::string &attrID, bool value)
void SetAttributeDouble(const std::string &attrID, double value)
std::string AddAttributeVec3d(const std::string &collID, const std::string &attributeName, const std::vector< vec3d > &value)
std::string GetObjectTypeName(const std::string &attachID)
std::vector< double > GetAttributeDoubleVal(const std::string &attrID)
std::string GetAttributeID(const std::string &collID, const std::string &attributeName, int index)
std::string SummarizeAttributes()
void SetAttributeDoc(const std::string &attrID, const std::string &doc)
std::vector< int > GetAttributeIntVal(const std::string &attrID)
std::string AddAttributeDouble(const std::string &collID, const std::string &attributeName, double value)
std::vector< std::string > FindAttributeNamesInCollection(const std::string &collID)
std::vector< std::string > FindAttributesByName(const std::string &search_str)
std::vector< std::vector< double > > GetAttributeDoubleMatrixVal(const std::string &attrID)
void SetAttributeIntMatrix(const std::string &attrID, const std::vector< std::vector< int > > &value)
void SetAttributeDoubleMatrix(const std::string &attrID, const std::vector< std::vector< double > > &value)
void ReadAuxiliaryGeomCCEFile(const std::string &geom_id, const std::string &file_name)
std::string GetAuxiliaryGeomContactPtID(const std::string &geom_id, int index)
void SetAuxiliaryGeomContactPtID(const std::string &geom_id, int index, const std::string &bogie_id)
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)
void ChangeBORXSecShape(const std::string &bor_id, int type)
vec3d ComputeBORXSecPnt(const std::string &bor_id, double fract)
std::vector< vec3d > GetBORXSecPnts(const std::string &bor_id)
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)
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)
std::vector< double > GetBORUpperCSTCoefs(const std::string &bor_id)
int GetBORXSecShape(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 SetBEMPropID(const std::string &prop_id)
std::string AddBackground3D()
void ShowAllBackground3Ds()
std::string GetBackground3DAbsolutePath(const std::string &id)
int GetNumBackground3Ds()
void SetBackground3DRelativePath(const std::string &id, const std::string &fname)
std::vector< std::string > GetAllBackground3DRelativePaths()
void DelBackground3D(const std::string &id)
void SetBackground3DAbsolutePath(const std::string &id, const std::string &fname)
std::vector< std::string > GetAllBackground3DAbsolutePaths()
void DelAllBackground3Ds()
std::vector< std::string > GetAllBackground3Ds()
void HideAllBackground3Ds()
std::string GetBackground3DRelativePath(const std::string &id)
int GetCFDSourceType(const std::string &geom_id, int source_index)
std::string GetCFDFarFieldGeomID()
std::string GetComputationFileName(int file_type)
std::string 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 SetCFDMeshModeID(const std::string &mode_id)
void SetCFDSourceName(const std::string &geom_id, int source_index, const std::string &name)
double GetCFDMeshVal(int type)
std::string GetIntersectModeID()
void AdjustAllCFDSourceRad(double mult)
bool GetCFDWakeFlag(const std::string &geom_id)
std::string GetCFDSourceID(const std::string &geom_id, int source_index)
std::vector< std::string > GetCFDSourceIDVec(const std::string &geom_id)
void DeleteAllCFDSources()
std::string GetCFDSourceNameByID(const std::string &source_id)
void DeleteCFDSourceByID(const std::string &source_id)
void ComputeCFDMesh(int set, int degenset, int file_export_types)
void SetCFDWakeFlag(const std::string &geom_id, bool flag)
void AddDefaultSources()
void AdjustAllCFDSourceLen(double mult)
void SetIntersectModeID(const std::string &mode_id)
std::string GetCFDSourceName(const std::string &geom_id, int source_index)
std::string GetCFDMeshModeID()
void SetCFDMeshVal(int type, double val)
void SetComputationFileName(int file_type, const std::string &file_name)
void DeleteCFDSource(const std::string &geom_id, int source_index)
void SetCFDFarFieldGeomID(const std::string &geom_id)
int GetCFDSourceTypeByID(const std::string &source_id)
int GetNumCFDSources(const std::string &geom_id)
void SetCFDSourceNameByID(const std::string &source_id, const std::string &name)
void RemoveAllFromVSPAEROControlSurfaceGroupByID(const std::string &group_id)
std::vector< int > GetAvailableCSReflectVec(const std::string &group_id)
std::vector< std::string > GetAvailableCSSubSurfIDVec(const std::string &group_id)
void SetVSPAEROControlGroupName(const std::string &name, int CSGroupIndex)
std::vector< std::string > GetActiveCSNameVec(int CSGroupIndex)
void AddSelectedToCSGroup(const std::vector< int > &selected, int CSGroupIndex)
std::vector< std::string > GetControlSurfaceGroupIDVec()
void AddSubSurfToCSGroup(const std::string &group_id, const std::string &ss_id, int reflect_index)
void DeleteVSPAEROControlSurfaceGroup(int CSGroupIndex)
std::string AddCpSlice(int cut_type, double location)
void DeleteAllCpSlices()
std::vector< int > GetCompleteCSReflectVec()
void AddAllToVSPAEROControlSurfaceGroupByID(const std::string &group_id)
void AddAllToVSPAEROControlSurfaceGroup(int CSGroupIndex)
void SetVSPAEROControlGroupNameByID(const std::string &name, const std::string &group_id)
void DelCpSlice(int slice_index)
void DelCpSliceByID(const std::string &slice_id)
std::vector< std::string > GetAvailableCSNameVec(int CSGroupIndex)
int CreateVSPAEROControlSurfaceGroup()
std::vector< std::string > GetCpSliceIDVec()
int GetNumControlSurfaceGroups()
std::string GetVSPAEROControlGroupNameByID(const std::string &group_id)
std::string AddVSPAEROControlSurfaceGroup()
std::string GetVSPAEROControlGroupName(int CSGroupIndex)
void RemoveSubSurfFromCSGroup(const std::string &group_id, const std::string &ss_id, int reflect_index)
std::vector< int > GetActiveCSReflectVec(const std::string &group_id)
void RemoveSelectedFromCSGroup(const std::vector< int > &selected, int CSGroupIndex)
std::vector< std::string > GetCompleteCSNameVec()
std::vector< std::string > GetCompleteCSSubSurfIDVec()
void RemoveAllFromVSPAEROControlSurfaceGroup(int CSGroupIndex)
std::string FindControlSurfaceGroup(int group_index)
std::vector< std::string > GetActiveCSSubSurfIDVec(const std::string &group_id)
std::vector< std::string > GetActiveCSNameVecByID(const std::string &group_id)
std::vector< std::string > GetAvailableCSNameVecByID(const std::string &group_id)
std::string GetCpSliceID(int slice_index)
void DeleteVSPAEROControlSurfaceGroupByID(const std::string &group_id)
void AutoGroupVSPAEROControlSurfaces()
int GetNumCpSlices()
std::string ComputeCompGeom(int set, bool half_mesh, int file_export_types)
double IntegrateEllipsoidFlow(const vec3d &abc_rad, const int &abc_index)
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 DeleteDesignVar(const std::string &parm_id)
void AddDesignVar(const std::string &parm_id, int type)
void DeleteAllDesignVars()
void ReadApplyXDDMFile(const std::string &file_name)
std::vector< std::string > GetDesignVarVec()
void ReadApplyDESFile(const std::string &file_name)
void AddDesignVarLimits(const std::string &parm_id, int type, double lowerlimit, double upperlimit)
void WriteXDDMFile(const std::string &file_name)
int GetDesignVarTypeByID(const std::string &parm_id)
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 ConvertXSecToEditByID(const std::string &xsec_id)
void ReparameterizeEditXSec(const std::string &xsec_id)
@ FIT_MODEL_FREE
Definition APIDefines.h:786
@ CLONE_DELETE_LEAVE_EMPTY
Definition APIDefines.h:345
@ SET_NONE
@ SET_ALL
std::string GetFeaPartID(const std::string &fea_struct_id, int fea_part_index)
void DeleteFeaLayer(const std::string &material_id, const std::string &layer_id)
void AddFeaStructureToAssembly(const std::string &assembly_id, const std::string &struct_id)
void SetFeaAssemblyName(const std::string &assembly_id, const std::string &name)
std::string GetFeaAssemblyName(const std::string &assembly_id)
std::string GetFeaPolySparPtName(const std::string &pspar_id, int index)
void SetFeaMeshFileNameByID(const std::string &struct_id, int file_type, const std::string &file_name)
std::string GetFeaStructName(const std::string &geom_id, int fea_struct_ind)
std::vector< std::string > GetFeaSubSurfIDVec(const std::string &fea_struct_id)
void SetFeaBCSubSurfID(const std::string &bc_id, const std::string &ss_id)
void DeleteFeaPart(const std::string &geom_id, int fea_struct_ind, const std::string &part_id)
int GetFeaPolySparNumPt(const std::string &pspar_id)
std::string GetFeaPropertyMaterialID(const std::string &property_id)
std::string AddFeaPartByID(const std::string &struct_id, int type)
void SetFeaPartStartWingSectionID(const std::string &part_id, const std::string &xsec_id)
void DeleteFeaAssemblyStructure(const std::string &assembly_id, const std::string &struct_id)
std::vector< std::string > GetFeaStructIDVec()
int GetFeaMeshStructIndex()
void DeleteFeaSubSurf(const std::string &geom_id, int fea_struct_ind, const std::string &ss_id)
void DeleteFeaAssembly(const std::string &assembly_id)
int GetFeaPartType(const std::string &part_id)
int NumFeaParts(const std::string &fea_struct_id)
std::string AddFeaSubSurfByID(const std::string &struct_id, int type)
void SetFeaFixPointParentID(const std::string &fixpt_id, const std::string &part_id)
void SetFeaFixPointOtherGeomID(const std::string &fixpt_id, const std::string &geom_id)
std::string GetFeaBCSubSurfID(const std::string &bc_id)
std::string GetFeaMeshFileNameByID(const std::string &struct_id, int file_type)
int NumFeaSubSurfs(const std::string &fea_struct_id)
void DeleteFeaTrimPart(const std::string &trim_id, int index)
std::vector< std::string > GetFeaMaterialIDVec()
void SetFeaMeshStructIndex(int struct_index)
void SetFeaPartCapPropertyID(const std::string &part_id, const std::string &property_id)
void SetFeaMeshVal(const std::string &geom_id, int fea_struct_ind, int type, double val)
std::string InsertFeaPolySparPt(const std::string &pspar_id, int index)
std::string GetFeaFixPointParentID(const std::string &fixpt_id)
std::string GetFeaMeshFileName(const std::string &geom_id, int fea_struct_ind, int file_type)
void SetFeaPolySparPtNameByID(const std::string &pspar_id, const std::string &pt_id, const std::string &name)
std::vector< std::string > GetAllFeaPolySparPtIDVec(const std::string &pspar_id)
void DeleteFeaSubSurfByID(const std::string &ss_id)
void DelFeaPolySparPt(const std::string &pspar_id, int index)
std::string AddFeaAssemblyConnection(const std::string &assembly_id, const std::string &start_fix_pt_id, const std::string &start_struct_id, int start_index, const std::string &end_fix_pt_id, const std::string &end_struct_id, int end_index)
void DeleteFeaTrimPartByID(const std::string &trim_id, const std::string &part_id)
int NumFeaLayers(const std::string &material_id)
int NumFeaAssemblyConnections(const std::string &assembly_id)
void DeleteFeaStruct(const std::string &geom_id, int fea_struct_ind)
std::vector< std::string > GetFeaTrimPartIDVec(const std::string &trim_id)
void DelFeaBC(const std::string &fea_struct_id, const std::string &bc_id)
void DeleteFeaStructByID(const std::string &struct_id)
void ReorderFeaLayer(const std::string &material_id, const std::string &layer_id, int reorder_type)
int GetFeaStructIndex(const std::string &struct_id)
int MoveFeaPolySparPtByID(const std::string &pspar_id, const std::string &pt_id, int reorder_type)
void SetFeaSubSurfName(const std::string &subsurf_id, const std::string &name)
std::vector< std::string > GetFeaPartIDVec(const std::string &fea_struct_id)
void DeleteFeaProperty(const std::string &id)
void DeleteFeaPartByID(const std::string &part_id)
int NumFeaBCs(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)
std::string GetFeaStructNameByID(const std::string &struct_id)
void IndividualizeFeaPart(const std::string &geom_id, int fea_struct_ind, const std::string &part_id)
double GetFeaMeshValByID(const std::string &struct_id, int type)
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 GetFeaPolySparPtNameByID(const std::string &pspar_id, const std::string &pt_id)
int GetFeaSubSurfIndex(const std::string &ss_id)
std::vector< std::string > GetFeaAssemblyStructureIDVec(const std::string &assembly_id)
void SetFeaPartPropertyID(const std::string &part_id, const std::string &property_id)
std::string GetFeaPartName(const std::string &part_id)
std::string GetFeaPartPerpendicularSparID(const std::string &part_id)
void SetFeaPolySparPtName(const std::string &pspar_id, int index, const std::string &name)
void SetFeaAssemblyFileName(const std::string &assembly_id, int file_type, const std::string &file_name)
std::string AddFeaPolySparPt(const std::string &pspar_id)
std::string AddFeaSubSurf(const std::string &geom_id, int fea_struct_ind, int type)
std::string GetFeaFixPointOtherGeomID(const std::string &fixpt_id)
std::vector< std::string > GetFeaStructIDVecByGeom(const std::string &geom_id)
std::string GetFeaLayerMaterialID(const std::string &layer_id)
void SetFeaMeshStructID(const std::string &struct_id)
int NumFeaStructures()
int MoveFeaPolySparPt(const std::string &pspar_id, int index, int reorder_type)
std::string GetFeaPartPropertyID(const std::string &part_id)
std::string GetFeaPartCapPropertyID(const std::string &part_id)
std::string AddFeaProperty(int property_type=0)
void AddFeaAssemblyStructure(const std::string &assembly_id, const std::string &struct_id)
std::string AddFeaAssembly()
std::string GetFeaPolySparPtID(const std::string &pspar_id, int index)
void SetFeaMeshValByID(const std::string &struct_id, int type, double val)
void SetFeaBCPartID(const std::string &bc_id, const std::string &part_id)
void ReorderFeaPart(const std::string &geom_id, int fea_struct_ind, const std::string &part_id, int reorder_type)
double GetFeaMeshVal(const std::string &geom_id, int fea_struct_ind, int type)
void SetFeaLayerMaterialID(const std::string &layer_id, const std::string &material_id)
void SetFeaPartEndWingSectionID(const std::string &part_id, const std::string &xsec_id)
std::vector< std::string > GetFeaLayerIDVec(const std::string &material_id)
std::string GetFeaBCPartID(const std::string &bc_id)
std::string AddFeaStructure(const std::string &geom_id, bool init_skin=true, int surfindex=0)
std::string GetFeaConnectionStartFixPtID(const std::string &connection_id)
void DelAllFeaPolySparPt(const std::string &pspar_id)
void ComputeFeaAssemblyMesh(const std::string &assembly_id)
std::string GetFeaConnectionStartStructID(const std::string &connection_id)
void DeleteFeaAssemblyConnection(const std::string &assembly_id, int connection_index)
std::string GetFeaConnectionEndFixPtID(const std::string &connection_id)
void DeleteFeaAssemblyConnectionByID(const std::string &assembly_id, const std::string &connection_id)
void IndividualizeFeaPartByID(const std::string &part_id)
int NumFeaAssemblies()
void SetFeaPartPerpendicularSparID(const std::string &part_id, const std::string &perpendicular_spar_id)
std::string GetFeaAssemblyFileName(const std::string &assembly_id, int file_type)
std::string AddFeaMaterial()
std::string GetFeaMeshStructID()
void SetFeaMeshFileName(const std::string &geom_id, int fea_struct_ind, int file_type, const std::string &file_name)
std::vector< std::string > GetFeaPropertyIDVec()
std::string AddFeaPart(const std::string &geom_id, int fea_struct_ind, int type)
void SetFeaPropertyMaterialID(const std::string &property_id, const std::string &material_id)
std::string GetFeaPartStartWingSectionID(const std::string &part_id)
std::string InsertFeaPolySparPtByID(const std::string &pspar_id, const std::string &before_pt_id)
std::vector< std::string > GetFeaAssemblyIDVec()
std::string GetFeaPartEndWingSectionID(const std::string &part_id)
void SetFeaStructNameByID(const std::string &struct_id, const std::string &name)
void DelFeaPolySparPtByID(const std::string &pspar_id, const std::string &pt_id)
std::string AddFeaLayer(const std::string &material_id)
std::string GetFeaConnectionEndStructID(const std::string &connection_id)
std::vector< std::string > GetFeaAssemblyConnectionIDVec(const std::string &assembly_id)
std::string GetFeaSubSurfName(const std::string &subsurf_id)
void DeleteFeaMaterial(const std::string &id)
void AddFeaTrimPart(const std::string &trim_id, const std::string &part_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 DeleteFeaStructureFromAssembly(const std::string &assembly_id, const std::string &struct_id)
std::string AddFeaBC(const std::string &fea_struct_id, int type=-1)
void ReorderFeaPartByID(const std::string &part_id, int reorder_type)
std::string GetFeaAssemblyConnectionID(const std::string &assembly_id, int connection_index)
std::vector< std::string > GetFeaBCIDVec(const std::string &fea_struct_id)
std::string GetIGESStructureExportID()
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 std::string &modeID="")
std::string GetBEMPropID()
void SetSTEPStructureExportID(const std::string &struct_id)
void SetIGESStructureExportID(const std::string &struct_id)
void ReadVSPFile(const std::string &file_name)
void SetVSP3FileName(const std::string &file_name)
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 GetSTEPStructureExportID()
void SearchFitModelTargetUW()
int GetNumFitModelOptVars()
int GetFitModelTargetPtUType(int index)
void AddFitModelTargetPtsFixedUWs(const std::string &geom_id, int surf_indx, const std::vector< vec3d > &pt_vec, const std::vector< double > &u_vec, const std::vector< double > &w_vec)
void AddFitModelTargetPts(const std::string &geom_id, int surf_indx, const std::vector< vec3d > &pt_vec)
int GetNumFitModelVars()
std::string GetFitModelVar(int index)
void ResetFitModel()
int AddFitModelTargetPt(const std::string &geom_id, int surf_indx, const vec3d &pt, int u_type=FIT_MODEL_FREE, int w_type=FIT_MODEL_FREE, double u=0.0, double w=0.0)
void SetFitModelTargetPtWType(int index, int w_type)
double UpdateFitModelDist()
void SetFitModelTargetPtUW(int index, double u, double w)
int GetFitModelTargetPtSurfIndx(int index)
vec3d GetFitModelTargetPtSurfPt(int index)
void AddFitModelTargetPtsFixedW(const std::string &geom_id, int surf_indx, const std::vector< vec3d > &pt_vec, double w)
int LoadFitModelFile(const std::string &file_name)
std::vector< std::string > GetFitModelVarVec()
void SortFitModelTargetPtsByDist()
void DelFitModelVar(const std::string &parm_id)
std::string GetFitModelTargetPtGeom(int index)
int OptimizeFitModel()
int AddFitModelTargetPtFixedU(const std::string &geom_id, int surf_indx, const vec3d &pt, double u)
int GetNumFitModelTargetPts()
void AddFitModelTargetPtsFixedWs(const std::string &geom_id, int surf_indx, const std::vector< vec3d > &pt_vec, const std::vector< double > &w_vec)
void DelAllFitModelVars()
double GetFitModelTargetPtW(int index)
void SetFitModelTargetPtSurfIndx(int index, int surf_indx)
double GetFitModelDist()
double GetFitModelTargetPtDist(int index)
vec3d GetFitModelTargetPt(int index)
int GetFitModelTargetPtWType(int index)
bool UndoFitModel()
void DelFitModelTargetPt(int index)
void SetFitModelTargetPtGeom(int index, const std::string &geom_id)
void SetFitModelTargetPtUType(int index, int u_type)
void DelAllFitModelTargetPts()
void AddFitModelTargetPtsFixedUW(const std::string &geom_id, int surf_indx, const std::vector< vec3d > &pt_vec, double u, double w)
void RefineFitModelTargetUW()
void SaveFitModelFile(const std::string &file_name)
bool CanUndoFitModel()
int AddFitModelTargetPtFixedW(const std::string &geom_id, int surf_indx, const vec3d &pt, double w)
void AddFitModelVar(const std::string &parm_id)
void AddFitModelTargetPtsFixedU(const std::string &geom_id, int surf_indx, const std::vector< vec3d > &pt_vec, double u)
double GetFitModelTargetPtU(int index)
int AddFitModelTargetPtFixedUW(const std::string &geom_id, int surf_indx, const vec3d &pt, double u, double w)
int MoveFitModelTargetPt(int index, int reorder_type)
void SetFitModelTargetPt(int index, const vec3d &pt)
void AddFitModelTargetPtsFixedUs(const std::string &geom_id, int surf_indx, const std::vector< vec3d > &pt_vec, const std::vector< double > &u_vec)
void SetBogieMechParentID(const std::string &bogie_id, const std::string &geom_id)
std::string CreateAndAddBogie(const std::string &gear_id)
void SetBogieStowParentID(const std::string &bogie_id, const std::string &geom_id)
int GetNumBogies(const std::string &gear_id)
std::string GetBogieMechParentID(const std::string &bogie_id)
void DelAllBogies(const std::string &gear_id)
void DelBogie(const std::string &gear_id, const std::string &bogie_id)
std::vector< std::string > GetAllBogies(const std::string &gear_id)
std::string GetBogieStowParentID(const std::string &bogie_id)
std::vector< vec3d > GetPtCloudPnts(const std::string &geom_id)
std::string GetGeomName(const std::string &geom_id)
void DeleteGeom(const std::string &geom_id, int clone_delete=CLONE_DELETE_LEAVE_EMPTY)
std::vector< std::string > GetGeomTypes()
std::string CreateNGonMeshGeom(const std::string &geom_id)
vec3d GetGeomBBoxMax(const std::string &geom_id, int main_surf_ind=0, bool ref_frame_is_absolute=true)
void RemoveGeomTexture(const std::string &geom_id, const std::string &texture_id)
std::vector< std::string > GetGeomParmIDs(const std::string &geom_id)
void AcceptGeomScale(const std::string &geom_id)
int GetGeomVSPSurfType(const std::string &geom_id, int main_surf_ind=0)
std::string GetGeomSymAncestorID(const std::string &geom_id)
std::string AttachGeomTexture(const std::string &geom_id, const std::string &file_name)
std::vector< std::string > FindGeomsWithName(const std::string &name)
std::vector< std::string > FindGeomClones(const std::vector< std::string > &geom_id_vec)
std::string GetGeomIncorporatedAncestorID(const std::string &geom_id)
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 CreateConvexHull(const std::string &geom_id)
std::vector< std::string > CloneGeomVec(const std::vector< std::string > &geom_id_vec, const std::string &name_suffix="_Clone")
std::string GetGeomParent(const std::string &geom_id)
void SplitWingXSec(const std::string &wing_id, int section_index)
std::string ConvertFuselageToStack(const std::string &geom_id)
std::vector< std::string > GetGeomTextureIDVec(const std::string &geom_id)
void SetGeomSymAncestorID(const std::string &geom_id, const std::string &ancestor_id)
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)
std::vector< int > GetDriverGroup(const std::string &geom_id, int section_index)
void ResetPropellerThickness(const std::string &geom_id)
std::vector< std::string > FindGeoms()
std::string GetGeomCloneOriginal(const std::string &clone_id)
void SetGeomName(const std::string &geom_id, const std::string &name)
void SetGeomIncorporatedAncestorID(const std::string &geom_id, const std::string &ancestor_id)
std::vector< std::string > GetGeomChildren(const std::string &geom_id)
void DeleteGeomVec(const std::vector< std::string > &del_vec, int clone_delete=CLONE_DELETE_LEAVE_EMPTY)
void PasteAirfoil(const std::string &geom_id, int index)
void CopyAirfoil(const std::string &geom_id, int index)
std::string GetGeomCloneNameSuffix(const std::string &clone_id)
std::string GetGeomTextureFileName(const std::string &geom_id, const std::string &texture_id)
void ClearSkinning(const std::string &geom_id, int index=-1)
void ReorderGeom(const std::string &geom_id, int reorder_type)
std::string AddGeom(const std::string &type, const std::string &parent=std::string())
std::string GetGeomTypeName(const std::string &geom_id)
std::string ReplaceCloneGeom(const std::string &clone_id)
void SetGeomMaterialName(const std::string &geom_id, const std::string &name)
void ProjectPtCloudPts(const std::string &geom_id, const std::string &target_geom_id, int surf_index, int dir_index)
void ResetGeomScale(const std::string &geom_id)
vec3d GetGeomBBoxMin(const std::string &geom_id, int main_surf_ind=0, bool ref_frame_is_absolute=true)
void SetGeomCloneOriginal(const std::string &clone_id, const std::string &original_id)
void CopyGeomToClipboard(const std::string &geom_id)
int GetGeomVSPSurfCfdType(const std::string &geom_id, int main_surf_ind=0)
void CutGeomToClipboard(const std::string &geom_id, int clone_delete=CLONE_DELETE_LEAVE_EMPTY)
void SetGeomCloneNameSuffix(const std::string &clone_id, const std::string &name_suffix)
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)
void SetMeasureMidGeomID(const std::string &measure_id, const std::string &geom_id)
void DelProbe(const std::string &id)
std::vector< std::string > GetAllRSTProbes()
void DeleteAllProtractors()
std::string AddRSTProbe(const std::string &geomid, int surfindx, double r, double s, double t, const std::string &name)
void ShowAllRSTProbes()
void ShowAllProtractors()
void DeleteAllRulers()
void DeleteAllProbes()
std::string AddProtractor(const std::string &startgeomid, int startsurfindx, double startu, double startw, const std::string &midgeomid, int midsurfindx, double midu, double midw, const std::string &endgeomid, int endsurfindx, double endu, double endw, const std::string &name)
void SetMeasureOriginGeomID(const std::string &measure_id, const std::string &geom_id)
void HideAllRSTProbes()
void ShowAllRulers()
void ShowAllProbes()
void DelRuler(const std::string &id)
void SetMeasureEndGeomID(const std::string &measure_id, const std::string &geom_id)
void HideAllProtractors()
std::string AddProbe(const std::string &geomid, int surfindx, double u, double w, const std::string &name)
std::string GetMeasureMidGeomID(const std::string &measure_id)
void DelRSTProbe(const std::string &id)
void HideAllProbes()
void DeleteAllRSTProbes()
void HideAllRulers()
std::string GetMeasureOriginGeomID(const std::string &measure_id)
std::string GetMeasureEndGeomID(const std::string &measure_id)
std::vector< std::string > GetAllProbes()
std::vector< std::string > GetAllProtractors()
std::vector< std::string > GetAllRulers()
void DelProtractor(const std::string &id)
std::string AddRuler(const std::string &startgeomid, int startsurfindx, double startu, double startw, const std::string &endgeomid, int endsurfindx, double endu, double endw, const std::string &name)
int GetNumModes()
std::vector< std::string > ModeGetAllSettings(const std::string &mid)
void DelMode(const std::string &mid)
std::vector< std::string > GetAllModes()
std::string ModeGetGroupSetting(const std::string &mid, const std::string &gid)
std::string ModeGetSetting(const std::string &mid, int indx)
void RemoveGroupSetting(const std::string &mid, int indx)
void RemoveGroupSettingByID(const std::string &mid, const std::string &gid)
std::string ModeGetGroup(const std::string &mid, int indx)
std::vector< std::string > ModeGetAllGroups(const std::string &mid)
void ModeAddGroupSetting(const std::string &mid, const std::string &gid, const std::string &sid)
void RemoveAllGroupSettings(const std::string &mid)
void ApplyModeSettings(const std::string &mid)
void ShowOnlyMode(const std::string &mid)
void DelAllModes()
void SetModeName(const std::string &mid, const std::string &name)
std::string GetModeName(const std::string &mid)
std::string CreateAndAddMode(const std::string &name, int normal_set, int degen_set)
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)
std::string GetParasiteDragRefWingID()
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)
std::string GetParasiteDragModeID()
int GetNumExcrescences()
void WriteAtmosphereCSVFile(const std::string &file_name, const int &atmos_type)
void SetParasiteDragRefWingID(const std::string &geom_id)
std::string ExportParasiteDragToCSV(const std::string &file_name)
void SetParasiteDragModeID(const std::string &mode_id)
void DeleteAllExcrescences()
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)
void SetContainerName(const std::string &parm_container_id, const std::string &name)
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)
std::string AddUserParm(int type, const std::string &name, const std::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)
std::vector< vec3d > KeepPtsNearGeom(const std::vector< vec3d > &pt_vec, const std::string &geom_id, int surf_indx, double tol)
std::string CreatePtCloudGeom(const std::string &geom_id)
std::vector< vec3d > KeepPtsInRange(const std::vector< vec3d > &pt_vec, int dir_index, double low, double high)
std::vector< vec3d > RemovePtsNearGeom(const std::vector< vec3d > &pt_vec, const std::string &geom_id, int surf_indx, double tol)
std::vector< vec3d > SubtractPts(const std::vector< vec3d > &pt_vec_a, const std::vector< vec3d > &pt_vec_b, double tol)
std::string CreatePtCloudGeomFromPts(const std::vector< vec3d > &pt_vec, const std::string &name)
std::vector< vec3d > RemovePtsInBBox(const std::vector< vec3d > &pt_vec, const vec3d &min_pt, const vec3d &max_pt)
std::vector< vec3d > KeepPtsInBBox(const std::vector< vec3d > &pt_vec, const vec3d &min_pt, const vec3d &max_pt)
std::vector< vec3d > RemovePtsNearPt(const std::vector< vec3d > &pt_vec, const vec3d &center, double radius)
std::vector< vec3d > KeepPtsAbove(const std::vector< vec3d > &pt_vec, int dir_index, double val)
std::vector< vec3d > KeepPtsNearPt(const std::vector< vec3d > &pt_vec, const vec3d &center, double radius)
std::vector< vec3d > IntersectPts(const std::vector< vec3d > &pt_vec_a, const std::vector< vec3d > &pt_vec_b, double tol)
std::vector< vec3d > RemovePtsInRange(const std::vector< vec3d > &pt_vec, int dir_index, double low, double high)
std::vector< vec3d > UnionPts(const std::vector< vec3d > &pt_vec_a, const std::vector< vec3d > &pt_vec_b, double tol)
std::vector< vec3d > KeepPtsBelow(const std::vector< vec3d > &pt_vec, int dir_index, double val)
std::vector< vec3d > UniquePts(const std::vector< vec3d > &pt_vec, double tol)
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 > GetAllResultsIDs()
std::string GetResultsEntryDoc(const std::string &results_id, const std::string &data_name)
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)
std::vector< std::string > FindResultsIDs(const std::string &name)
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)
std::vector< std::string > GetAllRoutingPtIds(const std::string &routing_id)
std::string InsertRoutingPt(const std::string &routing_id, int index, const std::string &geom_id, int surf_index)
std::vector< vec3d > GetRoutingCurve(const std::string &routing_id, int symm_index)
void DelRoutingPt(const std::string &routing_id, int index)
vec3d GetRoutingPtCoord(const std::string &routing_id, int index, int symm_index)
int GetNumRoutingPts(const std::string &routing_id)
std::string InsertRoutingPtByID(const std::string &routing_id, const std::string &before_pt_id, const std::string &geom_id, int surf_index)
std::string GetRoutingPtID(const std::string &routing_id, int index)
void DelRoutingPtByID(const std::string &routing_id, const std::string &pt_id)
void SetRoutingPtParentID(const std::string &pt_id, const std::string &parent_id)
std::vector< vec3d > GetAllRoutingPtCoords(const std::string &routing_id, int symm_index)
vec3d GetMainRoutingPtCoord(const std::string &pt_id)
int MoveRoutingPt(const std::string &routing_id, int index, int reorder_type)
std::string AddRoutingPt(const std::string &routing_id, const std::string &geom_id, int surf_index)
void DelAllRoutingPt(const std::string &routing_id)
int MoveRoutingPtByID(const std::string &routing_id, const std::string &pt_id, int reorder_type)
std::string GetRoutingPtParentID(const std::string &pt_id)
vec3d GetRoutingPtCoordByID(const std::string &routing_id, const std::string &pt_id, int symm_index)
void ShowOnlySet(int set_index)
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)
void NoShowSet(int set_index)
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)
void ShowSet(int set_index)
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 std::string &modeID=std::string())
double ComputeMinClearanceDistance(const std::string &geom_id, int set=SET_ALL, bool useMode=false, const std::string &modeID=std::string())
void InitStackPreset(const std::string &geom_id, int preset)
int GetNumSubSurf(const std::string &geom_id)
std::vector< std::string > GetSubSurfIDVec(const std::string &geom_id)
std::string GetSubSurfName(const std::string &geom_id, const std::string &sub_id)
std::vector< std::string > GetAllSubSurfIDs()
std::string AddSubSurf(const std::string &geom_id, int type, int surfindex=0)
void SetIntersectSubSurfGeomID(const std::string &sub_id, const std::string &geom_id)
std::string GetIntersectSubSurfGeomID(const std::string &sub_id)
void IntersectSubSurf(const std::string &sub_id)
void DeleteSubSurf(const std::string &geom_id, const std::string &sub_id)
int GetSubSurfType(const std::string &sub_id)
void SetSubSurfName(const std::string &geom_id, const std::string &sub_id, const std::string &name)
std::vector< std::string > GetSubSurfParmIDs(const std::string &sub_id)
int GetSubSurfIndex(const std::string &sub_id)
void ReorderSubSurf(const std::string &geom_id, const std::string &sub_id, int reorder_type)
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)
double CompareGeomSurfaces(const std::string &geom_a, const std::string &geom_b)
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)
std::vector< vec3d > ControlSurfaceHingeLine(const std::string &id, int surf_indx)
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)
std::vector< int > GetUnsteadyGroupSurfIndexesByID(const std::string &group_id)
int GetNumUnsteadyGroups()
std::string GetActuatorDiskGeomID(const std::string &disk_id)
std::string GetUnsteadyGroupName(int group_index)
int GetNumUnsteadyRotorGroups()
std::vector< std::string > GetActuatorDiskIDVec()
std::vector< int > GetUnsteadyGroupSurfIndexes(int group_index)
std::vector< std::string > GetUnsteadyGroupCompIDs(int group_index)
std::vector< std::string > GetUnsteadyGroupCompIDsByID(const std::string &group_id)
int GetNumActuatorDisks()
std::vector< std::string > GetUnsteadyGroupIDVec()
std::string FindActuatorDiskByGeom(const std::string &geom_id, int surf_index)
std::string FindActuatorDisk(int disk_index)
std::string FindUnsteadyGroup(int group_index)
std::string GetUnsteadyGroupNameByID(const std::string &group_id)
std::string GetVSPAEROCGModeID()
std::string GetVSPAEROModeID()
std::string SetVSPAERORefWingID(const std::string &geom_id)
void SetVSPAEROModeID(const std::string &mode_id)
void SetVSPAEROCGModeID(const std::string &mode_id)
std::string GetVSPAERORefWingID()
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)
std::string AddVarPresetSetting(const std::string &group_id, const std::string &setting_name)
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)
void DeleteAllVarPresetGroups()
std::vector< std::string > GetVarPresetParmIDs(const std::string &group_id)
std::string AddVarPresetGroup(const std::string &group_name)
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)
std::string GetGroupName(const std::string &group_id)
void SaveVarPresetParmVals(const std::string &group_id, const std::string &setting_id)
void DeleteAllVarPresetSettings(const std::string &group_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)
int GetGeomDrawType(const std::string &geom_id)
int GetGeomDisplayType(const std::string &geom_id)
std::vector< std::string > GetLightIDVec()
bool IsGUIBuild()
void ScreenGrab(const std::string &fname, int w, int h, bool transparentBG, bool autocrop=false)
bool IsEventLoopRunning()
void SetViewAxis(bool vaxis)
int GetNumLights()
std::vector< std::string > GetMaterialNames()
void ShowScreen(int s)
void SetShowBorders(bool brdr)
void Lock()
void SetGUIElementDisable(int e, bool state)
void SetWindowLayout(int r, int c)
void SetAllViews(int view)
void AddMaterial(const std::string &name, const vec3d &ambient, const vec3d &diffuse, const vec3d &specular, const vec3d &emissive, const double &alpha, const double &shininess)
void HideScreen(int s)
void SetView(int viewport, int view)
void InitGUI()
void SetGeomScreenDisable(int s, bool state)
std::string GetGeomMaterialName(const std::string &geom_id)
void SetGeomWireColor(const std::string &geom_id, int r, int g, int b)
void UpdateGUI()
void SetGeomDrawType(const std::string &geom_id, int type)
vec3d GetGeomWireColor(const std::string &geom_id)
void Unlock()
std::string FindLight(int index)
void SetGeomDisplayType(const std::string &geom_id, int type)
void StartGUI()
void FitAllViews()
void SetBackground(double r, double g, double b)
void DisableStopGUIMenuItem()
void EnableStopGUIMenuItem()
void SetGUIScreenDisable(int s, bool state)
void InsertXSec(const std::string &geom_id, int index, int type)
void PasteXSecCurveByID(const std::string &xsec_id)
void SetSkinSpineNameByID(const std::string &spine_id, const std::string &name)
std::vector< double > GetXSecTanAngles(const std::string &xsec_id, int side)
void FitCSTAirfoilByID(const std::string &xsec_id, int deg)
std::vector< vec3d > GetFeatureLinePnts(const std::string &geom_id)
std::string GetXSecCurveAlias(const std::string &id)
std::vector< vec3d > ReadFileXSec(const std::string &xsec_id, const std::string &file_name)
std::string GetEngineInletLipXSecID(const std::string &geom_id)
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 SetEngineInletLipXSecID(const std::string &geom_id, const std::string &xsec_id)
void SetEngineOutletLipXSecID(const std::string &geom_id, const std::string &xsec_id)
void SetEngineOutletFaceXSecID(const std::string &geom_id, 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)
void CopyXSecCurve(const std::string &geom_id, int index)
void DelAllSkinSpines(const std::string &geom_id)
void CutXSecByID(const std::string &xsec_id)
std::string GetXSecAlias(const std::string &id)
void CopyAirfoilByID(const std::string &xsec_id)
int GetNumSkinSpines(const std::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 ClearSkinningByID(const std::string &xsec_id)
std::string GetSkinSpineParm(const std::string &spine_id, const std::string &name)
int AddSkinSpine(const std::string &geom_id, double w01)
void SetDriverGroup(const std::string &geom_id, int section_index, int driver_0, int driver_1=-1, int driver_2=-1)
std::string GetXSecParm(const std::string &xsec_id, const std::string &name)
std::string SplitWingXSecByID(const std::string &xsec_id)
void SetXSecCurveAlias(const std::string &id, const std::string &alias)
void CopyXSecCurveByID(const std::string &xsec_id)
std::vector< double > GetXSecCurvatures(const std::string &xsec_id, int side)
std::string GetEngineInletFaceXSecID(const std::string &geom_id)
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::string GetSkinSpineName(const std::string &geom_id, int index)
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)
std::string GetEngineOutletFaceXSecID(const std::string &geom_id)
void FitAfCST(const std::string &xsec_surf_id, int xsec_index, int deg)
void FitAfCSTByID(const std::string &xsec_id, int deg)
void CopyXSec(const std::string &geom_id, int index)
vec3d ComputeXSecPnt(const std::string &xsec_id, double fract)
void PasteXSecCurve(const std::string &geom_id, int index)
std::vector< double > GetLowerCSTCoefs(const std::string &xsec_id)
std::vector< double > GetXSecTanStrengths(const std::string &xsec_id, int side)
void SetXSecTanStrengths(const std::string &xsec_id, int side, double top, double right, double bottom, double left)
void CopyXSecByID(const std::string &xsec_id)
void ReadFileAirfoil(const std::string &xsec_id, const std::string &file_name)
std::vector< std::string > GetSkinSpineIDVec(const std::string &xsec_id)
void SetXSecTanAngles(const std::string &xsec_id, int side, double top, double right, double bottom, double left)
std::vector< vec3d > GetXSecPnts(const std::string &xsec_id)
std::vector< vec3d > GetHersheyBarDragDist(const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag=false)
std::vector< int > GetDriverGroupByID(const std::string &xsec_id)
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)
void SetSkinSpineName(const std::string &geom_id, int index, const std::string &name)
void PasteAirfoilByID(const std::string &xsec_id)
std::vector< vec3d > GetVKTAirfoilPnts(const int &npts, const double &alpha, const double &epsilon, const double &kappa, const double &tau)
int GetXSecContinuity(const std::string &xsec_id)
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 SetEngineInletFaceXSecID(const std::string &geom_id, const std::string &xsec_id)
void SetAirfoilLowerPnts(const std::string &xsec_id, const std::vector< vec3d > &low_pnt_vec)
std::string InsertXSecByID(const std::string &xsec_id, int type)
void DelSkinSpineByID(const std::string &spine_id)
void SetAirfoilUpperPnts(const std::string &xsec_id, const std::vector< vec3d > &up_pnt_vec)
void FitCSTAirfoil(const std::string &xsec_surf_id, int xsec_index, int deg)
int GetXSecShape(const std::string &xsec_id)
void ChangeXSecShapeByID(const std::string &xsec_id, int type)
void SetXSecTanSlews(const std::string &xsec_id, int side, double top, double right, double bottom, double left)
std::string GetEngineOutletLipXSecID(const std::string &geom_id)
void WriteBezierAirfoil(const std::string &file_name, const std::string &geom_id, const double &foilsurf_u)
void PasteXSecByID(const std::string &xsec_id)
std::string GetSkinSpineID(const std::string &xsec_id, int index)
int GetUpperCSTDegree(const std::string &xsec_id)
void SetXSecAlias(const std::string &id, const std::string &alias)
void SetDriverGroupByID(const std::string &xsec_id, int driver_0, int driver_1=-1, int driver_2=-1)
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 DelSkinSpine(const std::string &geom_id, int index)
std::vector< double > GetXSecTanSlews(const std::string &xsec_id, int side)
std::string GetSkinSpineNameByID(const std::string &spine_id)
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)
std::vector< std::string > GetXSecIDVec(const std::string &xsec_surf_id)
int GetNumXSecSurfs(const std::string &geom_id)
Matrix4d GetXSecSurfGlobalXForm(const std::string &xsec_surf_id)
int GetNumXSec(const std::string &xsec_surf_id)
std::vector< std::string > GetXSecSurfIDVec(const std::string &geom_id)
void ChangeXSecShape(const std::string &xsec_surf_id, int xsec_index, int type)
Definition Vec3d.h:238