OpenVSP API Documentation 3.51.3
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
221
222#if !defined(VSPAPI__INCLUDED_)
223#define VSPAPI__INCLUDED_
224
225#include "APIDefines.h"
226
227#include <string>
228#include <stack>
229#include <vector>
230
231class vec3d;
232class Matrix4d;
233
234namespace vsp
235{
236
237//======================== API Functions ================================//
280
281extern void VSPCheckSetup();
282
316
317extern void VSPRenew();
318
319
384
385extern void Update( bool update_managers = true );
386
394
395extern void VSPExit( int error_code );
396
404
405extern void VSPCrash( int crash_type );
406
471
473
474
517
518extern std::string GetVSPVersion();
519
576
578
635
637
694
696
733
734extern std::string GetVSPExePath();
735
736
790
791extern bool SetVSPAEROPath( const std::string & path );
792
826
827extern std::string GetVSPAEROPath();
828
869
870extern bool CheckForVSPAERO( const std::string & path );
871
925
926extern bool SetVSPHelpPath( const std::string & path );
927
960
961extern std::string GetVSPHelpPath();
962
1001
1002extern bool CheckForVSPHelp( const std::string & path );
1003
1004extern void RegisterCFDMeshAnalyses();
1005
1006extern void LimitedIntersectSurfaces( const std::vector < std::string > & geomvec, std::vector < std::vector < vec3d > > & ptchains, std::vector < std::vector < vec3d > > & uwchains );
1007
1008//======================== File I/O ================================//
1113
1114extern void ReadVSPFile( const std::string & file_name );
1115
1221
1222extern void WriteVSPFile( const std::string & file_name, int set = SET_ALL );
1223
1328
1329extern void SetVSP3FileName( const std::string & file_name );
1330
1391
1392extern std::string GetVSPFileName();
1393
1427
1428extern void ClearVSPModel();
1429
1439
1440extern void InsertVSPFile( const std::string & file_name, const std::string & parent_geom_id );
1441
1442
1488
1489extern 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 = "" );
1490
1502
1503extern std::string ImportFile( const std::string & file_name, int file_type, const std::string & parent );
1504
1505
1570
1604
1605extern std::string GetBEMPropID();
1606
1607extern void SetBEMPropID( const std::string & prop_id );
1608
1609
1610//======================== Design Files ================================//
1611
1619
1620extern void ReadApplyDESFile( const std::string & file_name );
1621
1629
1630extern void WriteDESFile( const std::string & file_name );
1631
1639
1640extern void ReadApplyXDDMFile( const std::string & file_name );
1641
1649
1650extern void WriteXDDMFile( const std::string & file_name );
1651
1659
1660extern int GetNumDesignVars();
1661
1671
1672extern void AddDesignVar( const std::string & parm_id, int type );
1673
1680
1682
1691
1692extern std::string GetDesignVar( int index );
1693
1703
1704extern int GetDesignVarType( int index );
1705
1706
1707//======================== Computations ================================//
1763
1810
1811extern std::string GetComputationFileName( int file_type );
1812
1813extern void SetComputationFileName( int file_type, const std::string & file_name );
1814
1857
1858extern std::string ComputeMassProps( int set, int num_slices, int idir );
1859
1906
1907extern std::string ComputeCompGeom( int set, bool half_mesh, int file_export_types );
1908
1957
1958extern std::string ComputePlaneSlice( int set, int num_slices, const vec3d & norm, bool auto_bnd,
1959
1960 double start_bnd = 0, double end_bnd = 0, bool measureduct = false );
2016
2017extern void ComputeDegenGeom( int set, int file_export_types );
2018
2093
2094extern void ComputeCFDMesh( int set, int degenset, int file_export_types );
2095
2136
2206
2207extern double GetCFDMeshVal( int type );
2208
2209extern void SetCFDMeshVal( int type, double val );
2210
2266
2321
2322extern bool GetCFDWakeFlag( const std::string & geom_id );
2323
2324extern void SetCFDWakeFlag( const std::string & geom_id, bool flag );
2325
2369
2436
2437extern int GetNumCFDSources( const std::string & geom_id );
2438
2515
2516extern std::string GetCFDSourceName( const std::string & geom_id, int source_index );
2517
2594
2661
2662extern void SetCFDSourceName( const std::string & geom_id, int source_index, const std::string & name );
2663
2664extern int GetCFDSourceType( const std::string & geom_id, int source_index );
2665
2744
2745extern void DeleteCFDSource( const std::string & geom_id, int source_index );
2746
2747extern void DeleteAllCFDSources();
2748
2804
2805extern std::string GetCFDSourceID( const std::string & geom_id, int source_index );
2806
2850
2851extern void AdjustAllCFDSourceLen( double mult );
2852
2895
2896extern void AdjustAllCFDSourceRad( double mult );
2897
2958
2959extern void AddDefaultSources();
2960
3034
3035extern void AddCFDSource( int type, const std::string & geom_id, int surf_index,
3036
3037 double l1, double r1, double u1, double w1,
3038 double l2 = 0, double r2 = 0, double u2 = 0, double w2 = 0 );
3039
3047
3048extern std::string GetVSPAERORefWingID();
3049
3141
3142extern std::string SetVSPAERORefWingID( const std::string & geom_id );
3143
3144
3145//======================== Analysis ================================//
3146
3190
3191extern int GetNumAnalysis();
3192
3260
3261extern std::vector<std::string> ListAnalysis();
3262
3305
3306extern std::vector<std::string> GetAnalysisInputNames( const std::string & analysis );
3307
3337
3338extern std::string GetAnalysisDoc( const std::string & analysis );
3339
3355
3356extern std::string GetAnalysisInputDoc( const std::string & analysis, const std::string & name );
3357
3389
3390extern std::string ExecAnalysis( const std::string & analysis );
3391
3392
3402
3403extern int GetNumAnalysisInputData( const std::string & analysis, const std::string & name );
3404
3479
3480extern int GetAnalysisInputType( const std::string & analysis, const std::string & name );
3481
3533
3534extern const std::vector< int > & GetIntAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
3535
3571
3572extern const std::vector< double > & GetDoubleAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
3573
3610
3611extern const std::vector<std::string> & GetStringAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
3612
3651
3652extern const std::vector< vec3d > & GetVec3dAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
3653
3654
3720
3721extern void SetAnalysisInputDefaults( const std::string & analysis );
3722
3776
3777extern void SetIntAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< int > & indata, int index = 0 );
3778
3827
3828extern void SetDoubleAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< double > & indata, int index = 0 );
3829
3868
3869extern void SetStringAnalysisInput( const std::string & analysis, const std::string & name, const std::vector<std::string> & indata, int index = 0 );
3870
3917
3918extern void SetVec3dAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< vec3d > & indata, int index = 0 );
3919
3920
3988
3989extern void PrintAnalysisInputs( const std::string & analysis_name );
3990
4054
4055extern void PrintAnalysisDocs( const std::string & analysis_name );
4056
4088
4089extern std::string AddGeometryAnalysis();
4090
4132
4216
4217extern void AddGeometryAnalysisAzEl( const std::string & geom_analysis_id, double azimuth, double elevation );
4218
4292
4293extern void DeleteGeometryAnalysisAzEl( const std::string & geom_analysis_id, int index );
4294
4348
4349extern void DeleteAllGeometryAnalysisAzEl( const std::string & geom_analysis_id );
4350
4360
4361extern int GetNumGeometryAnalysisAzEl( const std::string & geom_analysis_id );
4362
4373
4374extern std::string GetGeometryAnalysisAzimuthParm( const std::string & geom_analysis_id, int index );
4375
4386
4387extern std::string GetGeometryAnalysisElevationParm( const std::string & geom_analysis_id, int index );
4388
4389extern void DeleteGeometryAnalysis( const std::string &id );
4390
4444
4446
4484
4485extern std::vector < std::string > GetAllGeometryAnalysesIDVec();
4486
4517
4518extern void SetActiveGeometryAnalysis( const std::string &id );
4519
4548
4549extern std::string GetActiveGeometryAnalysis();
4550
4625
4626extern std::string MakeMeshGeom( const std::string &ga_id );
4627
4628//======================== Attributes ================================//
4629
4661
4662extern std::string SummarizeAttributes();
4663
4694
4695extern std::string SummarizeAttributesAsTree();
4696
4730
4731extern std::vector < std::string > FindAllAttributes();
4732
4733
4734
4769
4770extern std::vector < std::string > FindAttributesByName( const std::string & search_str );
4771
4802
4803extern std::string FindAttributeByName( const std::string & search_str, int index );
4804
4839
4840extern std::string FindAttributeInCollection( const std::string & obj_id, const std::string & search_str, int index );
4841
4880
4881extern std::vector< std::string > FindAttributeNamesInCollection(const std::string & collID );
4882
4921
4922extern std::vector< std::string > FindAttributesInCollection(const std::string & collID );
4923
4958
4959extern std::vector< std::string > FindAttributedObjects();
4960
5020
5021extern int GetObjectType(const std::string & attachID);
5022
5058
5059extern std::string GetObjectTypeName(const std::string & attachID);
5060
5097
5098extern std::string GetObjectName(const std::string & attachID);
5099
5100
5160
5161extern std::string GetObjectParent( const std::string & id );
5162
5197
5198extern std::string GetChildCollection(const std::string & attachID );
5199
5229
5230extern std::string GetGeomSetCollection( const int & index );
5231
5272
5273extern std::string GetAttributeName( const std::string & attrID );
5274
5320
5321extern std::string GetAttributeID(const std::string & collID, const std::string & attributeName, int index);
5322
5356
5357extern std::string GetAttributeDoc(const std::string & attrID);
5358
5449
5450extern int GetAttributeType( const std::string & attrID );
5451
5486
5487extern std::string GetAttributeTypeName(const std::string & attrID);
5488
5535
5536extern std::vector< int > GetAttributeBoolVal(const std::string & attrID);
5537
5584
5585extern std::vector< int > GetAttributeIntVal(const std::string & attrID);
5586
5632
5633extern std::vector< double > GetAttributeDoubleVal(const std::string & attrID);
5634
5680
5681extern std::vector< std::string > GetAttributeStringVal(const std::string & attrID);
5682
5741
5742extern std::vector< std::string > GetAttributeParmID(const std::string & attrID);
5743
5804
5805extern std::vector < double > GetAttributeParmVal( const std::string &attrID );
5806
5866
5867extern std::vector < std::string > GetAttributeParmName( const std::string &attrID );
5868
5918
5919extern std::vector< vec3d > GetAttributeVec3dVal(const std::string & attrID);
5920
5975
5976extern std::vector< std::vector < int > > GetAttributeIntMatrixVal(const std::string & attrID);
5977
6026
6027extern std::vector< std::vector < double > > GetAttributeDoubleMatrixVal(const std::string & attrID);
6028
6082
6083extern void SetAttributeName( const std::string & attrID, const std::string & name );
6084
6139
6140
6141extern void SetAttributeDoc( const std::string & attrID, const std::string & doc );
6142
6196
6197extern void SetAttributeBool( const std::string & attrID, bool value );
6198
6252
6253extern void SetAttributeInt( const std::string & attrID, int value );
6254
6311
6312extern void SetAttributeDouble( const std::string & attrID, double value );
6313
6368
6369extern void SetAttributeString( const std::string & attrID, const std::string & value );
6370
6435
6436extern void SetAttributeParmID( const std::string & attrID, const std::string & value );
6437
6492
6493extern void SetAttributeVec3d( const std::string & attrID, const std::vector < vec3d > & value );
6494
6552
6553extern void SetAttributeIntMatrix( const std::string & attrID, const std::vector < std::vector < int > > & value );
6554
6612
6613extern void SetAttributeDoubleMatrix( const std::string & attrID, const std::vector< std::vector< double > > & value );
6614
6691
6692extern void DeleteAttribute( const std::string & attrID );
6693
6742
6743extern std::string AddAttributeBool( const std::string & collID, const std::string & attributeName, bool value );
6744
6794
6795extern std::string AddAttributeInt( const std::string & collID, const std::string & attributeName, int value );
6796
6848
6849extern std::string AddAttributeDouble( const std::string & collID, const std::string & attributeName, double value );
6850
6901
6902extern std::string AddAttributeString( const std::string & collID, const std::string & attributeName, const std::string & value );
6903
6965
6966extern std::string AddAttributeParm( const std::string &collID, const std::string &attributeName, const std::string &parmID );
6967
7021
7022extern std::string AddAttributeVec3d( const std::string & collID, const std::string & attributeName, const std::vector < vec3d > & value );
7023
7079
7080extern std::string AddAttributeIntMatrix( const std::string & collID, const std::string & attributeName, const std::vector < std::vector < int > > & value );
7081
7137
7138extern std::string AddAttributeDoubleMatrix( const std::string & collID, const std::string & attributeName, const std::vector < std::vector < double > > & value );
7139
7186
7187extern std::string AddAttributeGroup( const std::string & collID, const std::string & attributeName );
7188
7237
7238extern int CopyAttribute( const std::string & attrID );
7239
7310
7311extern void CutAttribute( const std::string & attrID );
7312
7398
7399extern std::vector < std::string > PasteAttribute( const std::string & coll_id );
7400
7401//======================== Results ================================//
7443
7444extern std::vector<std::string> GetAllResultsNames();
7445
7481
7482extern std::vector<std::string> GetAllDataNames( const std::string & results_id );
7483
7511
7512extern int GetNumResults( const std::string & name );
7513
7572
7573extern std::string GetResultsName(const std::string & results_id );
7574
7640
7641extern std::string GetResultsSetDoc( const std::string & results_id );
7642
7643extern std::string GetResultsEntryDoc( const std::string & results_id, const std::string & data_name );
7644
7677
7678extern std::string FindResultsID( const std::string & name, int index = 0 );
7679
7722
7723extern std::string FindLatestResultsID( const std::string & name );
7724
7777
7778extern int GetNumData( const std::string & results_id, const std::string & data_name );
7779
7874
7875extern int GetResultsType( const std::string & results_id, const std::string & data_name );
7876
7930
7931extern const std::vector< int > & GetIntResults( const std::string & id, const std::string & name, int index = 0 );
7932
7976
7977extern const std::vector< double > & GetDoubleResults( const std::string & id, const std::string & name, int index = 0 );
7978
7989
7990extern const std::vector< std::vector< double > > & GetDoubleMatResults( const std::string & id, const std::string & name, int index = 0 );
7991
8029
8030extern const std::vector<std::string> & GetStringResults( const std::string & id, const std::string & name, int index = 0 );
8031
8093
8094extern const std::vector< vec3d > & GetVec3dResults( const std::string & id, const std::string & name, int index = 0 );
8095
8138
8139extern std::string CreateGeomResults( const std::string & geom_id, const std::string & name );
8140
8180
8181extern void DeleteAllResults();
8182
8223
8224extern void DeleteResult( const std::string & id );
8225
8280
8281extern void WriteResultsCSVFile( const std::string & id, const std::string & file_name );
8282
8345
8346extern void PrintResults( const std::string &results_id );
8347
8410
8411extern void PrintResultsDocs( const std::string &results_id );
8412
8506
8507extern void WriteTestResults();
8508
8509//======================== GUI Functions ================================//
8510
8531
8532extern void InitGUI();
8533
8556
8557extern void StartGUI();
8558
8591
8593
8623
8625
8656
8657extern void StopGUI();
8658
8685
8686extern void PopupMsg( const std::string &msg );
8687
8726
8727extern void UpdateGUI();
8728
8761
8762extern bool IsGUIBuild();
8763
8810
8811extern void Lock( );
8812
8856
8857extern void Unlock( );
8858
8859
8890
8891extern bool IsEventLoopRunning( );
8892
8925
8926extern void ScreenGrab( const std::string & fname, int w, int h, bool transparentBG, bool autocrop = false );
8927
8946
8947extern void SetViewAxis( bool vaxis );
8948
8967
8968extern void SetShowBorders( bool brdr );
8969
9025
9026extern void SetGeomDrawType(const std::string &geom_id, int type);
9027
9084
9085extern void SetGeomWireColor( const std::string &geom_id, int r, int g, int b );
9086
9142
9143extern void SetGeomDisplayType(const std::string &geom_id, int type);
9144
9217
9262
9263extern int GetGeomDrawType( const std::string &geom_id );
9264
9309
9310extern int GetGeomDisplayType( const std::string &geom_id );
9311
9369
9370extern vec3d GetGeomWireColor( const std::string &geom_id );
9371
9426
9427extern std::string GetGeomMaterialName( const std::string &geom_id );
9428
9429extern void SetGeomMaterialName( const std::string &geom_id, const std::string &name );
9430
9511
9512extern void AddMaterial( const std::string &name, const vec3d & ambient, const vec3d & diffuse, const vec3d & specular, const vec3d & emissive, const double & alpha, const double & shininess );
9513
9546
9547extern std::vector < std::string > GetMaterialNames();
9548
9569
9570extern void SetBackground( double r, double g, double b );
9571
9590
9591extern void SetAllViews( int view );
9592
9612
9613extern void SetView( int viewport, int view );
9614
9632
9633extern void FitAllViews();
9634
9652
9653extern void ResetViews();
9654
9674
9675extern void SetWindowLayout( int r, int c );
9676
9695
9696extern void SetGUIElementDisable( int e, bool state );
9697
9716
9717extern void SetGUIScreenDisable( int s, bool state );
9718
9737extern void SetGeomScreenDisable( int s, bool state );
9738
9756
9757extern void HideScreen( int s );
9758
9776
9777extern void ShowScreen( int s );
9778
9779
9780//======================== Geom Functions ================================//
9813
9814extern std::vector<std::string> GetGeomTypes();
9815
9844
9845extern std::string AddGeom( const std::string & type, const std::string & parent = std::string() );
9846
9904
9905extern void UpdateGeom( const std::string & geom_id );
9906
9947
9948extern void DeleteGeom( const std::string & geom_id );
9949
9992
9993extern void DeleteGeomVec( const std::vector< std::string > & del_vec );
9994
10036
10037extern void CutGeomToClipboard( const std::string & geom_id );
10038
10080
10081extern void CopyGeomToClipboard( const std::string & geom_id );
10082
10124
10125extern std::vector<std::string> PasteGeomClipboard( const std::string & parent = std::string() );
10126
10161
10162extern std::vector<std::string> FindGeoms();
10163
10204
10205extern std::vector<std::string> FindGeomsWithName( const std::string & name );
10206
10252
10253extern std::string FindGeom( const std::string & name, int index );
10254
10294
10295extern void SetGeomName( const std::string & geom_id, const std::string & name );
10296
10353
10354extern std::string GetGeomName( const std::string & geom_id );
10355
10391
10392extern std::vector<std::string> GetGeomParmIDs( const std::string & geom_id );
10393
10445
10446extern std::string GetGeomTypeName( const std::string & geom_id );
10447
10481
10482extern std::string GetParm( const std::string & geom_id, const std::string & name, const std::string & group );
10483
10536
10537extern void SetGeomParent( const std::string& geom_id, const std::string& parent_id );
10538
10598
10599extern void ReorderGeom( const std::string & geom_id, int reorder_type );
10600
10667
10668extern std::string AttachGeomTexture( const std::string & geom_id, const std::string & file_name );
10669
10707
10708extern void RemoveGeomTexture( const std::string & geom_id, const std::string & texture_id );
10709
10755
10756extern std::vector < std::string > GetGeomTextureIDVec( const std::string & geom_id );
10757
10792
10793extern std::string GetGeomTextureFileName( const std::string & geom_id, const std::string & texture_id );
10794
10861
10862extern std::string GetGeomParent( const std::string& geom_id );
10863
10918
10919extern std::vector< std::string > GetGeomChildren( const std::string& geom_id );
10920
10952
10953extern int GetNumXSecSurfs( const std::string & geom_id );
10954
11001
11002extern int GetNumMainSurfs( const std::string & geom_id );
11003
11050
11051extern int GetTotalNumSurfs( const std::string& geom_id );
11052
11086
11087extern int GetGeomVSPSurfType( const std::string& geom_id, int main_surf_ind = 0 );
11088
11122
11123extern int GetGeomVSPSurfCfdType( const std::string& geom_id, int main_surf_ind = 0 );
11124
11176
11177extern vec3d GetGeomBBoxMax( const std::string& geom_id, int main_surf_ind = 0, bool ref_frame_is_absolute = true );
11178
11230
11231extern vec3d GetGeomBBoxMin( const std::string& geom_id, int main_surf_ind = 0, bool ref_frame_is_absolute = true );
11232
11233
11234//======================== SubSurface Functions ================================//
11273
11274extern std::string AddSubSurf( const std::string & geom_id, int type, int surfindex = 0 );
11275
11369
11370extern std::string GetSubSurf( const std::string & geom_id, int index );
11371
11465
11466extern std::vector<std::string> GetSubSurf( const std::string & geom_id, const std::string & name );
11467
11523
11524extern void DeleteSubSurf( const std::string & geom_id, const std::string & sub_id );
11525
11576
11577extern void ReorderSubSurf( const std::string & geom_id, const std::string & sub_id, int reorder_type );
11578
11633
11634extern void DeleteSubSurf( const std::string & sub_id );
11635
11676
11677extern void SetSubSurfName(const std::string & geom_id, const std::string & sub_id, const std::string & name);
11678
11718
11719extern void SetSubSurfName( const std::string & sub_id, const std::string & name );
11720
11763
11764extern std::string GetSubSurfName( const std::string & geom_id, const std::string & sub_id );
11765
11807
11808extern std::string GetSubSurfName( const std::string & sub_id );
11809
11868
11869extern int GetSubSurfIndex( const std::string & sub_id );
11870
11939
11940extern std::vector<std::string> GetSubSurfIDVec( const std::string & geom_id );
11941
11949
11950extern std::vector<std::string> GetAllSubSurfIDs();
11951
11997
11998extern int GetNumSubSurf( const std::string & geom_id );
11999
12074
12075extern int GetSubSurfType( const std::string & sub_id );
12076
12127
12128extern std::vector<std::string> GetSubSurfParmIDs( const std::string & sub_id );
12129
12239
12240extern void IntersectSubSurf( const std::string & sub_id );
12241
12352
12426
12427extern std::string GetIntersectSubSurfGeomID( const std::string & sub_id );
12428
12429extern void SetIntersectSubSurfGeomID( const std::string & sub_id, const std::string & geom_id );
12430
12497
12498extern int AddFeaStruct( const std::string & geom_id, bool init_skin = true, int surfindex = 0 );
12499
12537
12595
12597
12598extern void SetFeaMeshStructIndex( int struct_index );
12599
12666
12667extern void DeleteFeaStruct( const std::string & geom_id, int fea_struct_ind );
12668
12707
12708extern std::string GetFeaStructID( const std::string & geom_id, int fea_struct_ind );
12709
12796
12797extern int GetFeaStructIndex( const std::string & struct_id );
12798
12842
12843extern std::string GetFeaStructParentGeomID( const std::string & struct_id );
12844
12894
12895extern std::string GetFeaStructName( const std::string & geom_id, int fea_struct_ind );
12896
12952
12953extern void SetFeaStructName( const std::string & geom_id, int fea_struct_ind, const std::string & name );
12954
12996
12997extern std::vector< std::string > GetFeaStructIDVec();
12998
13045
13046extern void SetFeaPartName( const std::string & part_id, const std::string & name );
13047
13098
13099extern std::string AddFeaPart( const std::string & geom_id, int fea_struct_ind, int type );
13100
13182
13183extern void DeleteFeaPart( const std::string & geom_id, int fea_struct_ind, const std::string & part_id );
13184
13246
13247extern void ReorderFeaPart( const std::string & geom_id, int fea_struct_ind, const std::string & part_id, int reorder_type );
13248
13310
13311extern void IndividualizeFeaPart( const std::string & geom_id, int fea_struct_ind, const std::string & part_id );
13312
13366
13367extern std::string GetFeaPartID( const std::string & fea_struct_id, int fea_part_index );
13368
13420
13421extern std::string GetFeaPartName( const std::string & part_id );
13422
13468
13469extern int GetFeaPartType( const std::string & part_id );
13470
13521
13522extern std::vector< std::string > GetFeaPartIDVec( const std::string & fea_struct_id );
13523
13574
13575extern std::vector< std::string > GetFeaSubSurfIDVec( const std::string & fea_struct_id );
13576
13647
13648extern void SetFeaPartPerpendicularSparID( const std::string& part_id, const std::string& perpendicular_spar_id );
13649
13719
13720extern std::string GetFeaPartPerpendicularSparID( const std::string& part_id );
13721
13768
13769extern void SetFeaSubSurfName( const std::string & subsurf_id, const std::string & name );
13770
13820
13821extern std::string GetFeaSubSurfName( const std::string & subsurf_id );
13822
13873
13874extern std::string AddFeaSubSurf( const std::string & geom_id, int fea_struct_ind, int type );
13875
13938
13939extern void DeleteFeaSubSurf( const std::string & geom_id, int fea_struct_ind, const std::string & ss_id );
13940
13997
13998extern int GetFeaSubSurfIndex( const std::string & ss_id );
13999
14041
14042extern int GetFeaPolySparNumPt( const std::string & pspar_id );
14043
14087
14088extern std::string AddFeaPolySparPt( const std::string & pspar_id );
14089
14135
14136extern std::string InsertFeaPolySparPt( const std::string & pspar_id, int index );
14137
14188
14189extern void DelFeaPolySparPt( const std::string & pspar_id, int index );
14190
14238
14239extern void DelAllFeaPolySparPt( const std::string & pspar_id );
14240
14291
14292extern int MoveFeaPolySparPt( const std::string & pspar_id, int index, int reorder_type );
14293
14339
14340extern void SetFeaPolySparPtName( const std::string & pspar_id, int index, const std::string & name );
14341
14389
14390extern std::string GetFeaPolySparPtName( const std::string & pspar_id, int index );
14391
14448
14449extern std::string GetFeaPolySparPtID( const std::string & pspar_id, int index );
14450
14508
14509extern std::vector < std::string > GetAllFeaPolySparPtIDVec( const std::string & pspar_id );
14510
14550
14551//======================== FEA Assembly Functions ======================//
14552
14611
14709
14710extern void AddFeaTrimPart( const std::string & trim_id, const std::string & part_id );
14711
14721
14722extern void DeleteFeaTrimPart( const std::string & trim_id, int index );
14723
14733
14734extern std::vector < std::string > GetFeaTrimPartIDVec( const std::string & trim_id );
14735
14736extern std::string AddFeaAssembly();
14737
14815
14816extern void DeleteFeaAssembly( const std::string & assembly_id );
14817
14856
14857extern int NumFeaAssemblies();
14858
14896
14897extern std::vector < std::string > GetFeaAssemblyIDVec();
14898
14955
14956extern std::string GetFeaAssemblyName( const std::string & assembly_id );
14957
14967
14968extern void SetFeaAssemblyName( const std::string & assembly_id, const std::string & name );
14969
15050
15051extern void AddFeaStructureToAssembly( const std::string & assembly_id, const std::string & struct_id );
15052
15145
15146extern void DeleteFeaStructureFromAssembly( const std::string & assembly_id, const std::string & struct_id );
15147
15157
15158extern std::vector < std::string > GetFeaAssemblyStructureIDVec( const std::string & assembly_id );
15159
15272
15273extern void AddFeaAssemblyConnection( const std::string & assembly_id,
15274 const std::string & start_fix_pt_id, const std::string & start_struct_id, int start_index,
15275 const std::string & end_fix_pt_id, const std::string & end_struct_id, int end_index );
15276
15286
15287extern void DeleteFeaAssemblyConnection( const std::string & assembly_id, int connection_index );
15288
15298
15299extern int NumFeaAssemblyConnections( const std::string & assembly_id );
15300
15377
15389
15390extern std::string GetFeaAssemblyFileName( const std::string & assembly_id, int file_type );
15391
15435
15436extern void SetFeaAssemblyFileName( const std::string & assembly_id, int file_type, const std::string & file_name );
15437
15438extern void ComputeFeaAssemblyMesh( const std::string & assembly_id );
15439
15440extern int NumFeaStructures();
15441
15493
15494extern int NumFeaParts( const std::string & fea_struct_id );
15495
15546
15547extern int NumFeaSubSurfs( const std::string & fea_struct_id );
15548
15594
15595extern std::string AddFeaBC( const std::string & fea_struct_id, int type = -1 );
15596
15663
15664extern void DelFeaBC( const std::string & fea_struct_id, const std::string &bc_id );
15665
15715
15716extern std::vector< std::string > GetFeaBCIDVec( const std::string & fea_struct_id );
15717
15783
15784extern int NumFeaBCs( const std::string & fea_struct_id );
15785
15816
15883
15994
15995extern std::string AddFeaLayer( const std::string & material_id );
15996
16006
16007extern void DeleteFeaLayer( const std::string & material_id, const std::string & layer_id );
16008
16070
16071extern void ReorderFeaLayer( const std::string & material_id, const std::string & layer_id, int reorder_type );
16072
16082
16083extern int NumFeaLayers( const std::string & material_id );
16084
16094
16095extern std::vector < std::string > GetFeaLayerIDVec( const std::string & material_id );
16096
16097extern std::vector < std::string > GetFeaMaterialIDVec();
16098
16164
16165extern void DeleteFeaMaterial( const std::string &id );
16166
16167extern std::string AddFeaMaterial();
16168
16202
16263
16264extern std::vector < std::string > GetFeaPropertyIDVec();
16265
16330
16331extern void DeleteFeaProperty( const std::string &id );
16332
16333extern std::string AddFeaProperty( int property_type = 0 );
16334
16399
16487
16488extern double GetFeaMeshVal( const std::string & geom_id, int fea_struct_ind, int type );
16489
16490extern void SetFeaMeshVal( const std::string & geom_id, int fea_struct_ind, int type, double val );
16491
16581
16642
16643extern std::string GetFeaMeshFileName( const std::string & geom_id, int fea_struct_ind, int file_type );
16644
16645extern void SetFeaMeshFileName( const std::string & geom_id, int fea_struct_ind, int file_type, const std::string & file_name );
16646
16731
16732extern void ComputeFeaMesh( const std::string & geom_id, int fea_struct_ind, int file_type );
16733
16818
16819extern void ComputeFeaMesh( const std::string & struct_id, int file_type );
16820
16879
16880extern void SetXSecAlias( const std::string & id, const std::string & alias );
16881
16940
16941extern std::string GetXSecAlias( const std::string & id );
16942
17001
17002extern void SetXSecCurveAlias( const std::string & id, const std::string & alias );
17003
17061
17062extern std::string GetXSecCurveAlias( const std::string & id );
17063
17152
17153extern void CutXSec( const std::string & geom_id, int index );
17154
17240
17241extern void CopyXSec( const std::string & geom_id, int index );
17242
17328
17329extern void PasteXSec( const std::string & geom_id, int index );
17330
17387
17388extern void InsertXSec( const std::string & geom_id, int index, int type );
17389
17390
17391//======================== Wing Section Functions ===================//
17392
17462
17463extern void SplitWingXSec( const std::string & wing_id, int section_index );
17464
17548
17633
17634extern std::vector < int > GetDriverGroup( const std::string & geom_id, int section_index );
17635
17636extern void SetDriverGroup( const std::string & geom_id, int section_index, int driver_0, int driver_1 = -1, int driver_2 = -1 );
17637
17638
17639//======================== XSecSurf ================================//
17674
17675extern std::string GetXSecSurf( const std::string & geom_id, int index );
17676
17761
17762extern int GetNumXSec( const std::string & xsec_surf_id );
17763
17804
17805extern std::string GetXSec( const std::string & xsec_surf_id, int xsec_index );
17806
17858
17859extern void ChangeXSecShape( const std::string & xsec_surf_id, int xsec_index, int type );
17860
17929
17930extern void FitCSTAirfoil( const std::string & xsec_surf_id, int xsec_index, int deg );
17931
17940
17941extern void SetXSecSurfGlobalXForm( const std::string & xsec_surf_id, const Matrix4d & mat );
17942
17951
17952extern Matrix4d GetXSecSurfGlobalXForm( const std::string & xsec_surf_id );
17953
17954
17955//======================== XSec ================================//
17998
17999extern int GetXSecShape( const std::string& xsec_id );
18000
18041
18042extern double GetXSecWidth( const std::string& xsec_id );
18043
18084
18085extern double GetXSecHeight( const std::string& xsec_id );
18086
18156
18157extern void SetXSecWidthHeight( const std::string& xsec_id, double w, double h );
18158
18205
18206extern void SetXSecWidth( const std::string& xsec_id, double w );
18207
18254
18255extern void SetXSecHeight( const std::string& xsec_id, double h );
18256
18296
18297extern std::vector<std::string> GetXSecParmIDs( const std::string& xsec_id );
18298
18343
18344extern std::string GetXSecParm( const std::string& xsec_id, const std::string& name );
18345
18436
18437extern std::vector<vec3d> ReadFileXSec( const std::string& xsec_id, const std::string& file_name );
18438
18537
18636
18637extern std::vector< vec3d > GetXSecPnts( const std::string& xsec_id );
18638
18725
18726extern void CopyXSecCurve( const std::string & geom_id, int index );
18727
18810
18811extern void PasteXSecCurve( const std::string & geom_id, int index );
18812
18813extern void SetXSecPnts( const std::string& xsec_id, std::vector< vec3d > & pnt_vec );
18814
18884
18885extern vec3d ComputeXSecPnt( const std::string& xsec_id, double fract );
18886
18977
18978extern vec3d ComputeXSecTan( const std::string& xsec_id, double fract );
18979
19059
19060extern void ResetXSecSkinParms( const std::string& xsec_id );
19061
19128
19191
19192extern int GetXSecContinuity( const std::string& xsec_id );
19193
19194extern void SetXSecContinuity( const std::string& xsec_id, int cx );
19195
19259
19376
19377extern std::vector < double > GetXSecTanAngles( const std::string& xsec_id, int side );
19378
19379extern void SetXSecTanAngles( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
19380
19444
19561
19562extern std::vector < double > GetXSecTanSlews( const std::string& xsec_id, int side );
19563
19564extern void SetXSecTanSlews( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
19565
19631
19748
19749extern std::vector < double > GetXSecTanStrengths( const std::string& xsec_id, int side );
19750
19751extern void SetXSecTanStrengths( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
19752
19818
19935
19936extern std::vector < double > GetXSecCurvatures( const std::string& xsec_id, int side );
19937
19938extern void SetXSecCurvatures( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
19939
20042
20043extern void ReadFileAirfoil( const std::string& xsec_id, const std::string& file_name );
20044
20153
20154extern void SetAirfoilUpperPnts( const std::string& xsec_id, const std::vector< vec3d > & up_pnt_vec );
20155
20264
20265extern void SetAirfoilLowerPnts( const std::string& xsec_id, const std::vector< vec3d > & low_pnt_vec );
20266
20384
20385extern void SetAirfoilPnts( const std::string& xsec_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
20386
20440
20441extern std::vector<vec3d> GetHersheyBarLiftDist( const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag = false );
20442
20496
20497extern std::vector<vec3d> GetHersheyBarDragDist( const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag = false );
20498
20556
20557extern std::vector<vec3d> GetVKTAirfoilPnts( const int &npts, const double &alpha, const double &epsilon, const double &kappa, const double &tau );
20558
20617
20618extern std::vector<double> GetVKTAirfoilCpDist( const double &alpha, const double &epsilon, const double &kappa, const double &tau, const std::vector<vec3d> &xyz_data );
20619
20633
20634extern std::vector<vec3d> GetEllipsoidSurfPnts( const vec3d &center, const vec3d &abc_rad, int u_npts = 20, int w_npts = 20 );
20635
20644
20645extern std::vector<vec3d> GetFeatureLinePnts( const std::string& geom_id );
20646
20734
20735extern std::vector<double> GetEllipsoidCpDist( const std::vector<vec3d> &surf_pnt_vec, const vec3d &abc_rad, const vec3d &V_inf );
20736
20737extern double IntegrateEllipsoidFlow( const vec3d &abc_rad, const int &abc_index );
20738
20787
20788extern std::vector<vec3d> GetAirfoilUpperPnts( const std::string& xsec_id );
20789
20838
20839extern std::vector<vec3d> GetAirfoilLowerPnts( const std::string& xsec_id );
20840
20850
20851extern std::vector<double> GetUpperCSTCoefs( const std::string& xsec_id );
20852
20862
20863extern std::vector<double> GetLowerCSTCoefs( const std::string& xsec_id );
20864
20874
20875extern int GetUpperCSTDegree( const std::string& xsec_id );
20876
20886
20887extern int GetLowerCSTDegree( const std::string& xsec_id );
20888
20899
20900extern void SetUpperCST( const std::string& xsec_id, int deg, const std::vector<double> &coefs );
20901
20912
20913extern void SetLowerCST( const std::string& xsec_id, int deg, const std::vector<double> &coefs );
20914
20923
20924extern void PromoteCSTUpper( const std::string& xsec_id );
20925
20934
20935extern void PromoteCSTLower( const std::string& xsec_id );
20936
20945
20946extern void DemoteCSTUpper( const std::string& xsec_id );
20947
20956
20957extern void DemoteCSTLower( const std::string& xsec_id );
20958
20968
20969extern void FitAfCST( const std::string & xsec_surf_id, int xsec_index, int deg );
20970
20971//======================== Background3D Functions ======================//
20972
21011
21012extern std::string AddBackground3D();
21013
21052
21054
21108
21109extern std::vector < std::string > GetAllBackground3Ds();
21110
21159
21161
21210
21212
21254
21256
21299
21300extern void DelBackground3D( const std::string &id );
21301
21348
21349extern std::vector < std::string > GetAllBackground3DRelativePaths();
21350
21396
21397extern std::vector < std::string > GetAllBackground3DAbsolutePaths();
21398
21440
21441extern std::string GetBackground3DRelativePath( const std::string &id );
21442
21483
21484extern std::string GetBackground3DAbsolutePath( const std::string &id );
21485
21529
21530extern void SetBackground3DRelativePath( const std::string &id, const std::string &fname );
21531
21578
21579extern void SetBackground3DAbsolutePath( const std::string &id, const std::string &fname );
21580
21581
21582//======================== GearGeom Functions ======================//
21622
21623extern std::string CreateAndAddBogie( const std::string &gear_id );
21624
21662
21663extern int GetNumBogies( const std::string &gear_id );
21664
21700
21701extern std::vector < std::string > GetAllBogies( const std::string &gear_id );
21702
21740
21741extern void DelBogie( const std::string &gear_id, const std::string &bogie_id );
21742
21779
21780extern void DelAllBogies( const std::string &gear_id );
21781
21782
21783//====================== AuxiliaryGeom Functions ======================//
21850
21851extern void SetAuxiliaryGeomContactPtID( const std::string &geom_id, int index, const std::string &bogie_id );
21852
21901
21902extern std::string GetAuxiliaryGeomContactPtID( const std::string &geom_id, int index );
21903
21952
21953extern void ReadAuxiliaryGeomCCEFile( const std::string &geom_id, const std::string &file_name );
21954
21955
21956//======================== StackGeom Functions ========================//
22002
22003extern void InitStackPreset( const std::string &geom_id, int preset );
22004
22005
22006//======================== RoutingGeom Functions ======================//
22088
22089extern int GetNumRoutingPts( const std::string &routing_id );
22090
22151
22152extern std::string AddRoutingPt( const std::string &routing_id, const std::string &geom_id, int surf_index );
22153
22226
22227extern std::string InsertRoutingPt( const std::string &routing_id, int index, const std::string &geom_id, int surf_index );
22228
22294
22295extern void DelRoutingPt( const std::string &routing_id, int index );
22296
22360
22361extern void DelAllRoutingPt( const std::string &routing_id );
22362
22450
22451extern int MoveRoutingPt( const std::string &routing_id, int index, int reorder_type );
22452
22514
22515extern std::string GetRoutingPtID( const std::string &routing_id, int index );
22516
22577
22578extern std::vector < std::string > GetAllRoutingPtIds( const std::string &routing_id );
22579
22640
22641extern std::string GetRoutingPtParentID( const std::string & pt_id );
22642
22704
22705extern void SetRoutingPtParentID( const std::string & pt_id, const std::string &parent_id );
22706
22786
22787extern vec3d GetMainRoutingPtCoord( const std::string &pt_id );
22788
22874
22875extern vec3d GetRoutingPtCoord( const std::string &routing_id, int index, int symm_index );
22876
22980
22981extern std::vector < vec3d > GetAllRoutingPtCoords( const std::string &routing_id, int symm_index );
22982
23070
23071extern std::vector < vec3d > GetRoutingCurve( const std::string &routing_id, int symm_index );
23072
23073//======================== BOR Functions ======================//
23106
23107extern void ChangeBORXSecShape( const std::string & bor_id, int type );
23108
23140
23141extern int GetBORXSecShape( const std::string & bor_id );
23142
23212
23213extern std::vector<vec3d> ReadBORFileXSec( const std::string& bor_id, const std::string& file_name );
23214
23298
23371
23372extern std::vector< vec3d > GetBORXSecPnts( const std::string& bor_id );
23373
23374extern void SetBORXSecPnts( const std::string& bor_id, std::vector< vec3d > & pnt_vec );
23375
23438
23439extern vec3d ComputeBORXSecPnt( const std::string& bor_id, double fract );
23440
23513
23514extern vec3d ComputeBORXSecTan( const std::string& bor_id, double fract );
23515
23605
23606extern void ReadBORFileAirfoil( const std::string& bor_id, const std::string& file_name );
23607
23703
23704extern void SetBORAirfoilUpperPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec );
23705
23801
23802extern void SetBORAirfoilLowerPnts( const std::string& bor_id, const std::vector< vec3d > & low_pnt_vec );
23803
23910
23911extern void SetBORAirfoilPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
23912
23953
23954extern std::vector<vec3d> GetBORAirfoilUpperPnts( const std::string& bor_id );
23955
23996
23997extern std::vector<vec3d> GetBORAirfoilLowerPnts( const std::string& bor_id );
23998
24008
24009extern std::vector<double> GetBORUpperCSTCoefs( const std::string& bor_id );
24010
24020
24021extern std::vector<double> GetBORLowerCSTCoefs( const std::string& bor_id );
24022
24032
24033extern int GetBORUpperCSTDegree( const std::string& bor_id );
24034
24044
24045extern int GetBORLowerCSTDegree( const std::string& bor_id );
24046
24057
24058extern void SetBORUpperCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
24059
24070
24071extern void SetBORLowerCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
24072
24081
24082extern void PromoteBORCSTUpper( const std::string& bor_id );
24083
24092
24093extern void PromoteBORCSTLower( const std::string& bor_id );
24094
24103
24104extern void DemoteBORCSTUpper( const std::string& bor_id );
24105
24114
24115extern void DemoteBORCSTLower( const std::string& bor_id );
24116
24125
24126extern void FitBORAfCST( const std::string & bor_id, int deg );
24127
24128
24129//======================== FoilSurf Functions ======================//
24184
24185extern void WriteBezierAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
24186
24241
24242extern void WriteSeligAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
24243
24253
24254extern std::vector < vec3d > GetAirfoilCoordinates( const std::string & geom_id, const double &foilsurf_u );
24255
24256
24257//======================== Edit Curve XSec Functions ======================//
24353
24354extern void EditXSecInitShape( const std::string & xsec_id );
24355
24455
24456extern void EditXSecConvertTo( const std::string & xsec_id, const int & newtype );
24457
24515
24516extern std::vector < double > GetEditXSecUVec( const std::string& xsec_id );
24517
24572
24573extern std::vector < vec3d > GetEditXSecCtrlVec( const std::string & xsec_id, bool non_dimensional = true );
24574
24683
24684extern 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 );
24685
24753
24754extern void EditXSecDelPnt( const std::string & xsec_id, const int & indx );
24755
24822
24823extern int EditXSecSplit01( const std::string & xsec_id, const double & u );
24824
24906
24907extern void MoveEditXSecPnt( const std::string & xsec_id, const int & indx, const vec3d & new_pnt );
24908
24983
24984extern void ConvertXSecToEdit( const std::string & geom_id, const int & indx = 0 );
24985
25105
25106extern std::vector < bool > GetEditXSecFixedUVec( const std::string& xsec_id );
25107
25190
25191extern void SetEditXSecFixedUVec( const std::string& xsec_id, std::vector < bool > fixed_u_vec );
25192
25307
25308extern void ReparameterizeEditXSec( const std::string & xsec_id );
25309
25310
25311//======================== Sets ================================//
25333
25334extern int GetNumSets();
25335
25363
25364extern void SetSetName( int index, const std::string& name );
25365
25396
25397extern std::string GetSetName( int index );
25398
25433
25434extern std::vector<std::string> GetGeomSetAtIndex( int index );
25435
25469
25470extern std::vector<std::string> GetGeomSet( const std::string & name );
25471
25498
25499extern int GetSetIndex( const std::string & name );
25500
25534
25535extern bool GetSetFlag( const std::string & geom_id, int set_index );
25536
25570
25571extern void SetSetFlag( const std::string & geom_id, int set_index, bool flag );
25572
25618
25619extern void CopyPasteSet( int copyIndex, int pasteIndex );
25620
25667
25668extern bool GetBBoxSet( int set, double & xmin_out, double & ymin_out, double & zmin_out, double & xlen_out, double & ylen_out, double & zlen_out );
25669
25716
25717extern bool GetScaleIndependentBBoxSet( int set, double & xmin_out, double & ymin_out, double & zmin_out, double & xlen_out, double & ylen_out, double & zlen_out );
25718
25719//======================== Group Modifications ================================//
25779
25780extern void ScaleSet( int set_index, double scale );
25781
25847
25848extern void RotateSet( int set_index, double x_rot_deg, double y_rot_deg, double z_rot_deg );
25849
25909
25910extern void TranslateSet( int set_index, const vec3d &translation_vec );
25911
25993
25994extern 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 );
25995
25996
25997//======================== Parm Functions ================================//
26029
26030extern bool ValidParm( const std::string & id );
26031
26081
26082extern double SetParmVal( const std::string & parm_id, double val );
26083
26135
26136extern double SetParmVal( const std::string & geom_id, const std::string & name, const std::string & group, double val );
26137
26209
26210extern double SetParmValLimits( const std::string & parm_id, double val, double lower_limit, double upper_limit );
26211
26251
26252extern double SetParmValUpdate( const std::string & parm_id, double val );
26253
26295
26296extern double SetParmValUpdate( const std::string & geom_id, const std::string & parm_name, const std::string & parm_group_name, double val );
26297
26345
26346extern double GetParmVal( const std::string & parm_id );
26347
26397
26398extern double GetParmVal( const std::string & geom_id, const std::string & name, const std::string & group );
26399
26456
26457extern int GetIntParmVal( const std::string & parm_id );
26458
26512
26513extern bool GetBoolParmVal( const std::string & parm_id );
26514
26567
26568extern void SetParmUpperLimit( const std::string & parm_id, double val );
26569
26605
26606extern double GetParmUpperLimit( const std::string & parm_id );
26607
26660
26661extern void SetParmLowerLimit( const std::string & parm_id, double val );
26662
26726
26727extern double GetParmLowerLimit( const std::string & parm_id );
26728
26773
26774extern int GetParmType( const std::string & parm_id );
26775
26838
26839extern std::string GetParmName( const std::string & parm_id );
26840
26889
26890extern std::string GetParmGroupName( const std::string & parm_id );
26891
26940
26941extern std::string GetParmDisplayGroupName( const std::string & parm_id );
26942
26990
26991extern std::string GetParmContainer( const std::string & parm_id );
26992
27032
27033extern void SetParmDescript( const std::string & parm_id, const std::string & desc );
27034
27074
27075extern std::string GetParmDescript( const std::string & parm_id );
27076
27116
27117extern std::string FindParm( const std::string & parm_container_id, const std::string& parm_name, const std::string& group_name );
27118
27119
27120//======================== Parm Container Functions ======================//
27121
27163
27164extern std::vector<std::string> FindContainers();
27165
27195
27196extern std::vector<std::string> FindContainersWithName( const std::string & name );
27197
27227
27228extern std::string FindContainer( const std::string & name, int index );
27229
27255
27329
27330extern void SetContainerName( const std::string & parm_container_id, const std::string & name );
27331
27332extern std::string GetContainerName( const std::string & parm_container_id );
27333
27378
27379extern std::vector<std::string> FindContainerGroupNames( const std::string & parm_container_id );
27380
27443
27444extern std::vector<std::string> FindContainerParmIDs( const std::string & parm_container_id );
27445
27472
27473extern std::string GetVehicleID();
27474
27475
27476//======================== User Parm Functions ======================//
27523
27524extern int GetNumUserParms();
27525
27554
27556
27598
27599extern std::vector < std::string > GetAllUserParms();
27600
27625
27626extern std::string GetUserParmContainer();
27627
27664
27665extern std::string AddUserParm(int type, const std::string & name, const std::string & group );
27666
27706
27707extern void DeleteUserParm( const std::string & id );
27708
27759
27760extern void DeleteAllUserParm();
27761
27762
27763//======================== Snap To Functions ======================//
27834
27835extern double ComputeMinClearanceDistance( const std::string & geom_id, int set = SET_ALL, bool useMode = false, const std::string &modeID = std::string() );
27836 // TODO: Validate inc_flag description
27914
27915extern 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() );
27916
27917
27918//======================== Variable Preset Functions ======================//
27919
27950
27951extern std::string AddVarPresetGroup( const std::string &group_name );
27952
27989
27990extern std::string AddVarPresetSetting( const std::string &group_id, const std::string &setting_name );
27991
28078
28079extern void AddVarPresetParm( const std::string &group_id, const std::string &parm_id );
28080
28132
28173
28175
28176extern void DeleteVarPresetGroup( const std::string &group_id );
28177
28230
28290
28291extern void DeleteAllVarPresetSettings( const std::string &group_id );
28292
28293extern void DeleteVarPresetSetting( const std::string &group_id, const std::string &setting_id );
28294
28347
28348extern void DeleteVarPresetParm( const std::string &group_id, const std::string &parm_id );
28349
28402
28403extern void SetVarPresetParmVal( const std::string &group_id, const std::string &setting_id, const std::string &parm_id, double parm_val );
28404
28482
28483extern double GetVarPresetParmVal( const std::string &group_id, const std::string &setting_id, const std::string &parm_id );
28484
28521
28522extern std::string GetGroupName( const std::string &group_id );
28523
28564
28565extern std::string GetSettingName( const std::string &setting_id );
28566
28605
28606extern void SetGroupName( const std::string &group_id, const std::string &group_name );
28607
28650
28651extern void SetSettingName( const std::string &setting_id, const std::string &setting_name );
28652
28700
28701extern std::vector< std::string > GetVarPresetGroups();
28702
28751
28752extern std::vector< std::string > GetVarPresetSettings( const std::string &group_id );
28753
28802
28803extern std::vector< std::string > GetVarPresetParmIDs( const std::string &group_id );
28804
28854
28855extern std::vector< double > GetVarPresetParmVals( const std::string &setting_id );
28856
28911
28912extern void SetVarPresetParmVals( const std::string &setting_id, const std::vector< double > &parm_vals );
28913
28976
28977extern void SaveVarPresetParmVals( const std::string &group_id, const std::string &setting_id );
28978
29053
29054extern void ApplyVarPresetSetting( const std::string &group_id, const std::string &setting_id );
29055
29056//======================== Mode Functions ======================//
29057
29220
29221extern std::string CreateAndAddMode( const std::string & name, int normal_set, int degen_set );
29222
29386
29387extern int GetNumModes();
29388
29550
29551extern std::vector < std::string > GetAllModes();
29552
29718
29719extern void DelMode( const std::string &mid );
29720
29883
29884extern void DelAllModes();
29885
30100
30156
30157extern std::string GetModeName( const std::string &mid );
30158
30209
30210extern void SetModeName( const std::string &mid, const std::string &name );
30211
30212extern void ApplyModeSettings( const std::string &mid );
30213
30411
30412extern void ShowOnlyMode( const std::string &mid );
30413
30630
30631extern void ModeAddGroupSetting( const std::string &mid, const std::string &gid, const std::string &sid );
30632
30798
30799extern std::string ModeGetGroup( const std::string &mid, int indx );
30800
30966
30967extern std::string ModeGetSetting( const std::string &mid, int indx );
30968
31147
31148extern std::vector < std::string > ModeGetAllGroups( const std::string &mid );
31149
31318
31319extern std::vector < std::string > ModeGetAllSettings( const std::string &mid );
31320
31494
31495extern void RemoveGroupSetting( const std::string &mid, int indx );
31496
31670
31671extern void RemoveAllGroupSettings( const std::string &mid );
31672
31673//======================== Parametric Curve Functions ======================//
31686
31687extern void SetPCurve( const std::string & geom_id, const int & pcurveid, const std::vector < double > & tvec,
31688
31689 const std::vector < double > & valvec, const int & newtype );
31700
31701extern void PCurveConvertTo( const std::string & geom_id, const int & pcurveid, const int & newtype );
31702
31713
31714extern int PCurveGetType( const std::string & geom_id, const int & pcurveid );
31715
31725
31726extern std::vector < double > PCurveGetTVec( const std::string & geom_id, const int & pcurveid );
31727
31737
31738extern std::vector < double > PCurveGetValVec( const std::string & geom_id, const int & pcurveid );
31739
31749
31750extern void PCurveDeletePt( const std::string & geom_id, const int & pcurveid, const int & indx );
31751
31762
31763extern int PCurveSplit( const std::string & geom_id, const int & pcurveid, const double & tsplit );
31764
31842
31843extern void ApproximateAllPropellerPCurves( const std::string & geom_id );
31844
31894
31895extern void ResetPropellerThickness( const std::string & geom_id );
31896
32016
32017extern void ResetPropellerThicknessCurve( const std::string & geom_id );
32018
32019
32020//======================== VSPAERO Functions ======================//
32159
32161
32200
32294
32349
32350extern std::string AddCpSlice( int cut_type, double location );
32351
32399
32400extern int GetNumCpSlices();
32401
32466
32467extern std::string GetCpSliceID( int slice_index );
32468
32536
32537extern void DelCpSlice( int slice_index );
32538
32587
32588extern void DeleteAllCpSlices();
32589
32590extern void DeleteVSPAEROControlSurfaceGroup( int CSGroupIndex );
32591
32592extern int CreateVSPAEROControlSurfaceGroup();
32593
32672
32673extern void AddAllToVSPAEROControlSurfaceGroup( int CSGroupIndex );
32674
32738
32739extern void RemoveAllFromVSPAEROControlSurfaceGroup( int CSGroupIndex );
32740
32797
32798extern std::vector < std::string > GetActiveCSNameVec( int CSGroupIndex );
32799
32849
32850extern std::vector < std::string > GetCompleteCSNameVec();
32851
32920
32921extern std::vector < std::string > GetAvailableCSNameVec( int CSGroupIndex );
32922
32995
32996extern void SetVSPAEROControlGroupName(const std::string & name, int CSGroupIndex);
32997
33063
33064extern std::string GetVSPAEROControlGroupName( int CSGroupIndex );
33065
33136
33137extern void AddSelectedToCSGroup( const std::vector <int> &selected, int CSGroupIndex);
33138
33230
33231extern void RemoveSelectedFromCSGroup( const std::vector <int> &selected, int CSGroupIndex);
33232
33289
33291
33292
33293//================ VSPAERO Actuator Disk and Unsteady Functions ==============//
33347
33348extern std::string FindActuatorDisk( int disk_index );
33349
33421
33423
33475
33476extern std::string FindUnsteadyGroup( int group_index );
33477
33560
33561extern std::string GetUnsteadyGroupName( int group_index );
33562
33607
33608extern std::vector < std::string > GetUnsteadyGroupCompIDs( int group_index );
33609
33654
33655extern std::vector < int > GetUnsteadyGroupSurfIndexes( int group_index );
33656
33741
33743
33829
33831
33832
33833//======================== Parasite Drag Tool Functions ======================//
33902
33903extern void AddExcrescence(const std::string & excresName, const int & excresType, const double & excresVal);
33904
33964
34016
34018
34073
34075
34076extern void DeleteExcrescence(const int & index);
34077
34084
34086
34146
34147extern std::string ExportParasiteDragToCSV( const std::string & file_name );
34148
34195
34196extern void WriteAtmosphereCSVFile( const std::string & file_name, const int &atmos_type );
34197
34288
34289extern void CalcAtmosphere( const double & alt, const double & delta_temp, const int & atmos_type,
34290
34291 double & temp, double & pres, double & pres_ratio, double & rho_ratio );
34333
34334extern void WriteBodyFFCSVFile( const std::string & file_name );
34335
34377
34378extern void WriteWingFFCSVFile( const std::string & file_name );
34379 // TODO: Improve description
34421
34422extern void WriteCfEqnCSVFile( const std::string & file_name );
34423 // TODO: Improve description
34465
34466extern void WritePartialCfMethodCSVFile( const std::string & file_name );
34467
34468
34469//======================== Surface Query Functions ======================//
34548
34549extern vec3d CompPnt01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
34550
34601
34602extern vec3d CompNorm01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
34603
34654
34655extern vec3d CompTanU01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
34656
34707
34708extern vec3d CompTanW01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
34709
34788
34789extern void CompCurvature01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w,
34790 double &k1_out, double &k2_out, double &ka_out, double &kg_out);
34791
34867
34868extern double ProjPnt01(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &u_out, double &w_out);
34869
34952
34953extern double ProjPnt01I(const std::string &geom_id, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
34954
35037
35038extern 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);
35039
35040
35117
35118extern double AxisProjPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, double &u_out, double &w_out);
35119
35198
35199extern double AxisProjPnt01I(const std::string &geom_id, const int &iaxis, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
35200
35314
35315extern 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);
35316
35388
35389extern bool InsideSurf( const std::string &geom_id, const int &surf_indx, const vec3d &pt );
35390
35391
35476
35477extern vec3d CompPntRST( const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t );
35478
35545
35546extern double FindRST( const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &r_out, double &s_out, double &t_out );
35547
35626
35627extern 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 );
35628
35629
35691
35692extern 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 );
35693
35747
35748extern void ConvertRtoL( const std::string &geom_id, const int &surf_indx, const double &r, double &l_out );
35749
35837
35838extern 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 );
35915extern void ConvertLtoR( const std::string &geom_id, const int &surf_indx, const double &l, double &r_out );
35916
35973
35974extern void ConvertUtoEta( const std::string &geom_id, const double &u, double &eta_out );
35975
36027
36028extern void ConvertEtatoU( const std::string &geom_id, const double &eta, double &u_out );
36029
36030
36108
36109extern 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);
36110
36195
36196extern 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);
36197
36263
36264extern std::vector < vec3d > CompVecNorm01(const std::string &geom_id, const int &surf_indx, const std::vector < double > &us, const std::vector < double > &ws);
36265
36376
36377extern 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);
36378
36465
36466extern 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 );
36467
36605
36606extern 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 );
36607
36608
36749
36750extern 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 );
36751
36903
36904extern 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 );
36905
36992
36993extern std::vector < bool > VecInsideSurf( const std::string &geom_id, const int &surf_indx, const std::vector < vec3d > &pts );
36994
36995
37089
37090extern 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 );
37091
37181
37182extern 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 );
37183
37292
37293extern 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 );
37294
37295
37375
37376extern 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,
37377 std::vector < double > &l_out_vec, std::vector < double > &m_out_vec, std::vector < double > &n_out_vec );
37378
37495
37496extern 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,
37497 std::vector < double > &r_out_vec, std::vector < double > &s_out_vec, std::vector < double > &t_out_vec );
37498
37579
37580extern void GetUWTess01(const std::string &geom_id, const int &surf_indx, std::vector < double > &u_out_vec, std::vector < double > &w_out_vec);
37581
37582
37583//======================= Measure Functions ============================//
37637
37708
37757
37758extern void ShowAllRulers();
37759
37767
37768extern void HideAllRulers();
37769
37777
37778extern void ShowAllProbes();
37779
37787
37788extern void HideAllProbes();
37789
37797
37799
37807
37809
37817
37818extern void ShowAllRSTProbes();
37819
37827
37828extern void HideAllRSTProbes();
37829
37830extern std::string AddProtractor( const std::string & startgeomid, int startsurfindx, double startu, double startw,
37831 const std::string & midgeomid, int midsurfindx, double midu, double midw,
37832 const std::string & endgeomid, int endsurfindx, double endu, double endw, const std::string & name );
37833
37878
37879extern std::vector < std::string > GetAllProtractors();
37880
37925
37926extern void DelProtractor( const std::string &id );
37927
37964
37966
38036
38037extern std::string AddRSTProbe( const std::string & geomid, int surfindx, double r, double s, double t, const std::string & name );
38038
38083
38084extern std::vector < std::string > GetAllRSTProbes();
38085
38130
38131extern void DelRSTProbe( const std::string &id );
38132
38182
38184
38185extern std::string AddRuler( const std::string & startgeomid, int startsurfindx, double startu, double startw,
38186 const std::string & endgeomid, int endsurfindx, double endu, double endw, const std::string & name );
38248
38249extern std::vector < std::string > GetAllRulers();
38250
38307
38308extern void DelRuler( const std::string &id );
38309
38359
38360extern void DeleteAllRulers();
38361
38362
38404
38405extern std::string AddProbe( const std::string & geomid, int surfindx, double u, double w, const std::string & name );
38406
38451
38452extern std::vector < std::string > GetAllProbes();
38453
38496
38497extern void DelProbe( const std::string &id );
38498
38540
38541extern void DeleteAllProbes();
38542
38543
38544//======================== Parm Link Functions ======================//
38545
38650
38732
38733extern void CopyAirfoil( const std::string & geom_id, int index );
38734
38744
38745extern void PasteAirfoil( const std::string & geom_id, int index );
38746
38842
38843extern void ClearSkinning( const std::string & geom_id, int index = -1 );
38844
38922
38923extern void ResetGeomScale( const std::string & geom_id );
38924
38987
39054
39055extern void AcceptGeomScale( const std::string & geom_id );
39056
39121
39122extern std::vector < vec3d > GetPtCloudPnts( const std::string & geom_id );
39123
39124extern std::string CreatePtCloudGeom( const std::string & geom_id );
39125
39187
39188extern std::string CreateNGonMeshGeom( const std::string & geom_id );
39189
39273
39274extern std::string CreateConvexHull( const std::string & geom_id );
39275
39347
39348extern void ProjectPtCloudPts( const std::string & geom_id, const std::string & target_geom_id, int surf_index, int dir_index );
39349
39422
39423extern void ShowSet( int set_index );
39424
39433
39434extern void NoShowSet( int set_index );
39435
39483
39484extern void ShowOnlySet( int set_index );
39485
39486extern std::string AddParmLink( const std::string & parm_a_id, const std::string & parm_b_id );
39487
39545
39546extern int GetNumParmLinks();
39547
39614
39615extern std::string GetParmLinkID( int index );
39616
39703
39704extern std::string GetParmLinkAParm( const std::string & link_id );
39705
39756
39757extern std::string GetParmLinkBParm( const std::string & link_id );
39758
39817
39818extern void SetParmLinkAParm( const std::string & link_id, const std::string & parm_id );
39819
39878
39879extern void SetParmLinkBParm( const std::string & link_id, const std::string & parm_id );
39880
39950
39951extern void DelParmLink( const std::string & link_id );
39952
40002
40003extern void DelAllParmLinks();
40004
40057
40058extern void SortParmLinksByA();
40059
40112
40113extern void SortParmLinksByB();
40114
40171
40172extern bool LinkAllComp( const std::string & parm_a_id, const std::string & parm_b_id );
40173
40236
40237extern bool LinkAllGroup( const std::string & parm_a_id, const std::string & parm_b_id );
40238
40293
40294extern bool GetParmLinkOffsetFlag( const std::string & link_id );
40295
40357
40358extern void SetParmLinkOffsetFlag( const std::string & link_id, bool flag );
40359
40414
40415extern bool GetParmLinkScaleFlag( const std::string & link_id );
40416
40478
40479extern void SetParmLinkScaleFlag( const std::string & link_id, bool flag );
40480
40535
40536extern bool GetParmLinkLowerLimitFlag( const std::string & link_id );
40537
40599
40600extern void SetParmLinkLowerLimitFlag( const std::string & link_id, bool flag );
40601
40656
40657extern bool GetParmLinkUpperLimitFlag( const std::string & link_id );
40658
40720
40721extern void SetParmLinkUpperLimitFlag( const std::string & link_id, bool flag );
40722
40723//======================= Advanced Link Functions ============================//
40724
40778
40779extern std::vector< std::string > GetAdvLinkNames();
40780
40858
40859extern int GetLinkIndex( const std::string & name );
40860
40964
41039
41040extern std::string GetAdvLinkName( int index );
41041
41109
41110extern void SetAdvLinkName( int index, const std::string & name );
41111
41112extern void DelAdvLink( int index );
41113
41206
41207extern void DelAllAdvLinks();
41208
41284
41285extern void AddAdvLink( const std::string & name );
41286
41364
41365extern void AddAdvLinkInput( int index, const std::string & parm_id, const std::string & var_name );
41366
41444
41445extern void AddAdvLinkOutput( int index, const std::string & parm_id, const std::string & var_name );
41446
41545
41615
41616extern void DelAllAdvLinkInputs( int index );
41617
41687
41688extern void DelAllAdvLinkOutputs( int index );
41689
41690extern void DelAdvLinkInput( int index, const std::string & var_name );
41691
41790
41791extern void DelAdvLinkOutput( int index, const std::string & var_name );
41792
41857
41858extern std::vector< std::string > GetAdvLinkInputNames( int index );
41859
41924
41925extern std::vector< std::string > GetAdvLinkInputParms( int index );
41926
41991
41992extern std::vector< std::string > GetAdvLinkOutputNames( int index );
41993
42058
42059extern std::vector< std::string > GetAdvLinkOutputParms( int index );
42060
42134
42135extern bool ValidateAdvLinkParms( int index );
42136
42213
42214extern void SetAdvLinkCode( int index, const std::string & code );
42215
42275
42276extern std::string GetAdvLinkCode( int index );
42277
42373
42374extern void SearchReplaceAdvLinkCode( int index, const std::string & from, const std::string & to );
42375
42445
42446extern bool BuildAdvLinkScript( int index );
42447
42513
42514extern void WriteAdvLinkCodeFile( int index, const std::string & file_name );
42515
42570
42571extern void ReorderAdvLinkInput( int index, const std::string & var_name, int reorder_type );
42572
42628
42629extern void ReorderAdvLinkOutput( int index, const std::string & var_name, int reorder_type );
42630
42700
42701extern void ReadAdvLinkCodeFile( int index, const std::string & file_name );
42702
42756
42757extern void SortAdvLinkInputsVar( int index );
42758
42814
42815extern void SortAdvLinkInputsCGP( int index );
42816
42868
42869extern void SortAdvLinkOutputsVar( int index );
42870
42925
42926extern void SortAdvLinkOutputsCGP( int index );
42927
42928
42929} // End vsp namespace
42930
42931#endif // !defined(VSPAPI__INCLUDED_)
Definition Vec3d.h:243
bool CheckForVSPAERO(const std::string &path)
bool CheckForVSPHelp(const std::string &path)
int GetVSPVersionChange()
std::string GetVSPVersion()
int GetVSPVersionMinor()
bool SetVSPHelpPath(const std::string &path)
std::string GetVSPHelpPath()
bool SetVSPAEROPath(const std::string &path)
std::string GetVSPExePath()
std::string GetVSPAEROPath()
int GetVSPVersionMajor()
void VSPRenew()
void VSPCheckSetup()
std::vector< std::string > GetAnalysisInputNames(const std::string &analysis)
const std::vector< int > & GetIntAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
std::string GetActiveGeometryAnalysis()
void DeleteAllGeometryAnalysisAzEl(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 PrintAnalysisDocs(const std::string &analysis_name)
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::vector< std::string > ListAnalysis()
void DeleteGeometryAnalysisAzEl(const std::string &geom_analysis_id, int index)
void AddGeometryAnalysisAzEl(const std::string &geom_analysis_id, double azimuth, double elevation)
void SetVec3dAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< vec3d > &indata, int index=0)
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 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)
const std::vector< double > & GetDoubleAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
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 SetDoubleAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< double > &indata, int index=0)
std::string GetAnalysisInputDoc(const std::string &analysis, const std::string &name)
const std::vector< std::string > & GetStringAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
int GetNumAnalysisInputData(const std::string &analysis, const std::string &name)
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< 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::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 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)
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)
std::string GetComputationFileName(int file_type)
void AddCFDSource(int type, const std::string &geom_id, int surf_index, double l1, double r1, double u1, double w1, double l2=0, double r2=0, double u2=0, double w2=0)
void SetCFDSourceName(const std::string &geom_id, int source_index, const std::string &name)
double GetCFDMeshVal(int type)
void AdjustAllCFDSourceRad(double mult)
bool GetCFDWakeFlag(const std::string &geom_id)
std::string GetCFDSourceID(const std::string &geom_id, int source_index)
void ComputeCFDMesh(int set, int degenset, int file_export_types)
void AddDefaultSources()
void AdjustAllCFDSourceLen(double mult)
std::string GetCFDSourceName(const std::string &geom_id, int source_index)
void DeleteCFDSource(const std::string &geom_id, int source_index)
int GetNumCFDSources(const std::string &geom_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::string AddCpSlice(int cut_type, double location)
void DeleteAllCpSlices()
void AddAllToVSPAEROControlSurfaceGroup(int CSGroupIndex)
void DelCpSlice(int slice_index)
std::vector< std::string > GetAvailableCSNameVec(int CSGroupIndex)
int GetNumControlSurfaceGroups()
std::string GetVSPAEROControlGroupName(int CSGroupIndex)
void RemoveSelectedFromCSGroup(const std::vector< int > &selected, int CSGroupIndex)
std::vector< std::string > GetCompleteCSNameVec()
void RemoveAllFromVSPAEROControlSurfaceGroup(int CSGroupIndex)
std::string GetCpSliceID(int slice_index)
void AutoGroupVSPAEROControlSurfaces()
int GetNumCpSlices()
std::string ComputeCompGeom(int set, bool half_mesh, int file_export_types)
std::string ComputeMassProps(int set, int num_slices, int idir)
std::string ComputePlaneSlice(int set, int num_slices, const vec3d &norm, bool auto_bnd, double start_bnd=0, double end_bnd=0, bool measureduct=false)
void ComputeDegenGeom(int set, int file_export_types)
void WriteDESFile(const std::string &file_name)
int GetNumDesignVars()
void AddDesignVar(const std::string &parm_id, int type)
void DeleteAllDesignVars()
void ReadApplyXDDMFile(const std::string &file_name)
void ReadApplyDESFile(const std::string &file_name)
void WriteXDDMFile(const std::string &file_name)
std::string GetDesignVar(int index)
int GetDesignVarType(int index)
void MoveEditXSecPnt(const std::string &xsec_id, const int &indx, const vec3d &new_pnt)
void EditXSecDelPnt(const std::string &xsec_id, const int &indx)
void EditXSecConvertTo(const std::string &xsec_id, const int &newtype)
std::vector< bool > GetEditXSecFixedUVec(const std::string &xsec_id)
void ConvertXSecToEdit(const std::string &geom_id, const int &indx=0)
void SetEditXSecFixedUVec(const std::string &xsec_id, std::vector< bool > fixed_u_vec)
std::vector< vec3d > GetEditXSecCtrlVec(const std::string &xsec_id, bool non_dimensional=true)
void SetEditXSecPnts(const std::string &xsec_id, const std::vector< double > &u_vec, const std::vector< vec3d > &control_pts, const std::vector< double > &r_vec)
int EditXSecSplit01(const std::string &xsec_id, const double &u)
std::vector< double > GetEditXSecUVec(const std::string &xsec_id)
void EditXSecInitShape(const std::string &xsec_id)
void ReparameterizeEditXSec(const std::string &xsec_id)
@ SET_NONE
@ SET_ALL
std::string GetFeaPartID(const std::string &fea_struct_id, int fea_part_index)
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)
std::string GetFeaStructName(const std::string &geom_id, int fea_struct_ind)
std::vector< std::string > GetFeaSubSurfIDVec(const std::string &fea_struct_id)
void DeleteFeaPart(const std::string &geom_id, int fea_struct_ind, const std::string &part_id)
int GetFeaPolySparNumPt(const std::string &pspar_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)
int NumFeaSubSurfs(const std::string &fea_struct_id)
void DeleteFeaTrimPart(const std::string &trim_id, int index)
std::string InsertFeaPolySparPt(const std::string &pspar_id, int index)
std::string GetFeaMeshFileName(const std::string &geom_id, int fea_struct_ind, int file_type)
std::vector< std::string > GetAllFeaPolySparPtIDVec(const std::string &pspar_id)
void DelFeaPolySparPt(const std::string &pspar_id, int index)
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 ReorderFeaLayer(const std::string &material_id, const std::string &layer_id, int reorder_type)
int GetFeaStructIndex(const std::string &struct_id)
void SetFeaSubSurfName(const std::string &subsurf_id, const std::string &name)
std::vector< std::string > GetFeaPartIDVec(const std::string &fea_struct_id)
void DeleteFeaProperty(const std::string &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)
void IndividualizeFeaPart(const std::string &geom_id, int fea_struct_ind, const std::string &part_id)
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)
int GetFeaSubSurfIndex(const std::string &ss_id)
std::vector< std::string > GetFeaAssemblyStructureIDVec(const std::string &assembly_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)
int MoveFeaPolySparPt(const std::string &pspar_id, int index, int reorder_type)
std::string GetFeaPolySparPtID(const std::string &pspar_id, int index)
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)
std::vector< std::string > GetFeaLayerIDVec(const std::string &material_id)
void DelAllFeaPolySparPt(const std::string &pspar_id)
void DeleteFeaAssemblyConnection(const std::string &assembly_id, int connection_index)
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::vector< std::string > GetFeaPropertyIDVec()
std::string AddFeaPart(const std::string &geom_id, int fea_struct_ind, int type)
std::vector< std::string > GetFeaAssemblyIDVec()
std::string AddFeaLayer(const std::string &material_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)
void 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)
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)
std::vector< std::string > GetFeaBCIDVec(const std::string &fea_struct_id)
std::string ExportFile(const std::string &file_name, int thick_set, int file_type, int subsFlag=1, int thin_set=vsp::SET_NONE, bool useMode=false, const std::string &modeID="")
std::string GetBEMPropID()
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 CreateAndAddBogie(const std::string &gear_id)
int GetNumBogies(const std::string &gear_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::vector< vec3d > GetPtCloudPnts(const std::string &geom_id)
void DeleteGeom(const std::string &geom_id)
std::string GetGeomName(const std::string &geom_id)
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 AttachGeomTexture(const std::string &geom_id, const std::string &file_name)
std::vector< std::string > FindGeomsWithName(const std::string &name)
std::string FindGeom(const std::string &name, int index)
int GetTotalNumSurfs(const std::string &geom_id)
void UpdateGeom(const std::string &geom_id)
std::string CreateConvexHull(const std::string &geom_id)
std::string GetGeomParent(const std::string &geom_id)
void SplitWingXSec(const std::string &wing_id, int section_index)
std::vector< std::string > GetGeomTextureIDVec(const std::string &geom_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)
void CutGeomToClipboard(const std::string &geom_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()
void SetGeomName(const std::string &geom_id, const std::string &name)
std::vector< std::string > GetGeomChildren(const std::string &geom_id)
void PasteAirfoil(const std::string &geom_id, int index)
void CopyAirfoil(const std::string &geom_id, int index)
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)
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 CopyGeomToClipboard(const std::string &geom_id)
int GetGeomVSPSurfCfdType(const std::string &geom_id, int main_surf_ind=0)
void DeleteGeomVec(const std::vector< std::string > &del_vec)
void 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 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()
void HideAllRSTProbes()
void ShowAllRulers()
void ShowAllProbes()
void DelRuler(const std::string &id)
void HideAllProtractors()
std::string AddProbe(const std::string &geomid, int surfindx, double u, double w, const std::string &name)
void DelRSTProbe(const std::string &id)
void HideAllProbes()
void DeleteAllRSTProbes()
void HideAllRulers()
std::vector< std::string > GetAllProbes()
std::vector< std::string > GetAllProtractors()
std::vector< std::string > GetAllRulers()
void DelProtractor(const std::string &id)
int GetNumModes()
std::vector< std::string > ModeGetAllSettings(const std::string &mid)
void DelMode(const std::string &mid)
std::vector< std::string > GetAllModes()
std::string ModeGetSetting(const std::string &mid, int indx)
void RemoveGroupSetting(const std::string &mid, int indx)
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 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)
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)
int GetNumExcrescences()
void WriteAtmosphereCSVFile(const std::string &file_name, const int &atmos_type)
std::string ExportParasiteDragToCSV(const std::string &file_name)
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)
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 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)
int GetNumResults(const std::string &name)
int GetNumData(const std::string &results_id, const std::string &data_name)
void PrintResults(const std::string &results_id)
const std::vector< vec3d > & GetVec3dResults(const std::string &id, const std::string &name, int index=0)
std::vector< std::string > GetAllResultsNames()
void DeleteResult(const std::string &id)
std::string FindLatestResultsID(const std::string &name)
const std::vector< int > & GetIntResults(const std::string &id, const std::string &name, int index=0)
std::string GetResultsName(const std::string &results_id)
const std::vector< std::vector< double > > & GetDoubleMatResults(const std::string &id, const std::string &name, int index=0)
const std::vector< double > & GetDoubleResults(const std::string &id, const std::string &name, int index=0)
int GetResultsType(const std::string &results_id, const std::string &data_name)
std::string GetResultsSetDoc(const std::string &results_id)
std::vector< std::string > GetAllDataNames(const std::string &results_id)
void WriteResultsCSVFile(const std::string &id, const std::string &file_name)
std::string FindResultsID(const std::string &name, int index=0)
void DeleteAllResults()
void WriteTestResults()
void PrintResultsDocs(const std::string &results_id)
std::string CreateGeomResults(const std::string &geom_id, const std::string &name)
const std::vector< std::string > & GetStringResults(const std::string &id, const std::string &name, int index=0)
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 GetRoutingPtID(const std::string &routing_id, int index)
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)
std::string GetRoutingPtParentID(const std::string &pt_id)
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)
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)
std::vector< bool > VecInsideSurf(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts)
std::vector< vec3d > CompVecPntRST(const std::string &geom_id, const int &surf_indx, const std::vector< double > &r_in_vec, const std::vector< double > &s_in_vec, const std::vector< double > &t_in_vec)
double AxisProjPnt01Guess(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, const double &u0, const double &w0, double &u_out, double &w_out)
double AxisProjPnt01I(const std::string &geom_id, const int &iaxis, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out)
void CompCurvature01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w, double &k1_out, double &k2_out, double &ka_out, double &kg_out)
void ConvertLtoR(const std::string &geom_id, const int &surf_indx, const double &l, double &r_out)
std::vector< vec3d > CompVecDegenPnt01(const std::string &geom_id, const int &surf_indx, const int &degen_type, const std::vector< double > &u_in_vec, const std::vector< double > &w_in_vec)
void ConvertUtoEta(const std::string &geom_id, const double &u, double &eta_out)
double FindRST(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &r_out, double &s_out, double &t_out)
vec3d CompNorm01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void ConvertEtatoU(const std::string &geom_id, const double &eta, double &u_out)
std::vector< vec3d > CompVecNorm01(const std::string &geom_id, const int &surf_indx, const std::vector< double > &us, const std::vector< double > &ws)
std::vector< vec3d > CompVecPnt01(const std::string &geom_id, const int &surf_indx, const std::vector< double > &u_in_vec, const std::vector< double > &w_in_vec)
void GetUWTess01(const std::string &geom_id, const int &surf_indx, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec)
double FindRSTGuess(const std::string &geom_id, const int &surf_indx, const vec3d &pt, const double &r0, const double &s0, const double &t0, double &r_out, double &s_out, double &t_out)
double AxisProjPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, double &u_out, double &w_out)
int GetNumUnsteadyGroups()
std::string GetUnsteadyGroupName(int group_index)
int GetNumUnsteadyRotorGroups()
std::vector< int > GetUnsteadyGroupSurfIndexes(int group_index)
std::vector< std::string > GetUnsteadyGroupCompIDs(int group_index)
int GetNumActuatorDisks()
std::string FindActuatorDisk(int disk_index)
std::string FindUnsteadyGroup(int group_index)
std::string SetVSPAERORefWingID(const std::string &geom_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 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 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)
bool IsGUIBuild()
void ScreenGrab(const std::string &fname, int w, int h, bool transparentBG, bool autocrop=false)
bool IsEventLoopRunning()
void SetViewAxis(bool vaxis)
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()
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)
std::vector< double > GetXSecTanAngles(const std::string &xsec_id, int side)
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)
int GetLowerCSTDegree(const std::string &xsec_id)
void SetXSecWidthHeight(const std::string &xsec_id, double w, double h)
void DemoteCSTUpper(const std::string &xsec_id)
std::vector< vec3d > GetAirfoilLowerPnts(const std::string &xsec_id)
void SetXSecWidth(const std::string &xsec_id, double w)
double GetXSecWidth(const std::string &xsec_id)
std::vector< std::string > GetXSecParmIDs(const std::string &xsec_id)
void CopyXSecCurve(const std::string &geom_id, int index)
std::string GetXSecAlias(const std::string &id)
void SetXSecHeight(const std::string &xsec_id, double h)
void SetLowerCST(const std::string &xsec_id, int deg, const std::vector< double > &coefs)
void PasteXSec(const std::string &geom_id, int index)
std::vector< double > GetUpperCSTCoefs(const std::string &xsec_id)
vec3d ComputeXSecTan(const std::string &xsec_id, double fract)
void SetAirfoilPnts(const std::string &xsec_id, const std::vector< vec3d > &up_pnt_vec, const std::vector< vec3d > &low_pnt_vec)
std::string GetXSecParm(const std::string &xsec_id, const std::string &name)
void SetXSecCurveAlias(const std::string &id, const std::string &alias)
std::vector< double > GetXSecCurvatures(const std::string &xsec_id, int side)
std::vector< vec3d > GetAirfoilCoordinates(const std::string &geom_id, const double &foilsurf_u)
void PromoteCSTUpper(const std::string &xsec_id)
void PromoteCSTLower(const std::string &xsec_id)
std::vector< double > GetVKTAirfoilCpDist(const double &alpha, const double &epsilon, const double &kappa, const double &tau, const std::vector< vec3d > &xyz_data)
void DemoteCSTLower(const std::string &xsec_id)
void FitAfCST(const std::string &xsec_surf_id, int xsec_index, int deg)
void CopyXSec(const std::string &geom_id, int index)
vec3d ComputeXSecPnt(const std::string &xsec_id, double fract)
void 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 ReadFileAirfoil(const std::string &xsec_id, const std::string &file_name)
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)
void ResetXSecSkinParms(const std::string &xsec_id)
std::vector< vec3d > GetAirfoilUpperPnts(const std::string &xsec_id)
std::vector< vec3d > GetHersheyBarLiftDist(const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag=false)
std::vector< vec3d > GetVKTAirfoilPnts(const int &npts, const double &alpha, const double &epsilon, const double &kappa, const double &tau)
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 SetAirfoilLowerPnts(const std::string &xsec_id, const std::vector< vec3d > &low_pnt_vec)
void SetAirfoilUpperPnts(const std::string &xsec_id, const std::vector< vec3d > &up_pnt_vec)
void FitCSTAirfoil(const std::string &xsec_surf_id, int xsec_index, int deg)
int GetXSecShape(const std::string &xsec_id)
void WriteBezierAirfoil(const std::string &file_name, const std::string &geom_id, const double &foilsurf_u)
int GetUpperCSTDegree(const std::string &xsec_id)
void SetXSecAlias(const std::string &id, const std::string &alias)
double GetXSecHeight(const std::string &xsec_id)
void WriteSeligAirfoil(const std::string &file_name, const std::string &geom_id, const double &foilsurf_u)
std::vector< double > GetXSecTanSlews(const std::string &xsec_id, int side)
void SetUpperCST(const std::string &xsec_id, int deg, const std::vector< double > &coefs)
std::string GetXSecSurf(const std::string &geom_id, int index)
void SetXSecSurfGlobalXForm(const std::string &xsec_surf_id, const Matrix4d &mat)
std::string GetXSec(const std::string &xsec_surf_id, int xsec_index)
int GetNumXSecSurfs(const std::string &geom_id)
Matrix4d GetXSecSurfGlobalXForm(const std::string &xsec_surf_id)
int GetNumXSec(const std::string &xsec_surf_id)
void ChangeXSecShape(const std::string &xsec_surf_id, int xsec_index, int type)