OpenVSP API Documentation 3.52.0
Loading...
Searching...
No Matches
VSP_Geom_API.h
1//
2// This file is released under the terms of the NASA Open Source Agreement (NOSA)
3
4// version 1.3 as detailed in the LICENSE file which accompanies this software.
5//
6
7// API.h: interface for the Vehicle Class and Vehicle Mgr Singleton.
8// J.R Gloudemans
9//
11
242
243#if !defined(VSPAPI__INCLUDED_)
244#define VSPAPI__INCLUDED_
245
246#include "APIDefines.h"
247
248#include <string>
249#include <stack>
250#include <vector>
251
252class vec3d;
253class Matrix4d;
254
255namespace vsp
256{
257
258//======================== API Functions ================================//
301
302extern void VSPCheckSetup();
303
337
338extern void VSPRenew();
339
340
405
406extern void Update( bool update_managers = true );
407
432
433extern void VSPExit( int error_code );
434
461
462extern void VSPCrash( int crash_type );
463
528
530
531
552
553extern void Print( const std::string & data, bool new_line = true );
554
575
576extern void Print( const vec3d & data, bool new_line = true );
577
598
599extern void Print( double data, bool new_line = true );
600
621
622extern void Print( int data, bool new_line = true );
623
648
649extern double Min( double x, double y );
650
675
676extern double Max( double x, double y );
677
699
700extern double Rad2Deg( double r );
701
723
724extern double Deg2Rad( double d );
725
768
769extern std::string GetVSPVersion();
770
827
829
886
888
945
947
984
985extern std::string GetVSPExePath();
986
987
1041
1042extern bool SetVSPAEROPath( const std::string & path );
1043
1077
1078extern std::string GetVSPAEROPath();
1079
1120
1121extern bool CheckForVSPAERO( const std::string & path );
1122
1176
1177extern bool SetVSPHelpPath( const std::string & path );
1178
1211
1212extern std::string GetVSPHelpPath();
1213
1252
1253extern bool CheckForVSPHelp( const std::string & path );
1254
1261
1262extern void RegisterCFDMeshAnalyses();
1263
1264
1265//======================== File I/O ================================//
1370
1371extern void ReadVSPFile( const std::string & file_name );
1372
1478
1479extern void WriteVSPFile( const std::string & file_name, int set = SET_ALL );
1480
1585
1586extern void SetVSP3FileName( const std::string & file_name );
1587
1648
1649extern std::string GetVSPFileName();
1650
1684
1685extern void ClearVSPModel();
1686
1723
1724extern void InsertVSPFile( const std::string & file_name, const std::string & parent_geom_id );
1725
1726
1772
1773extern 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 = "" );
1774
1817
1818extern std::string ImportFile( const std::string & file_name, int file_type, const std::string & parent );
1819
1820
1885
1919
1920extern std::string GetBEMPropID();
1921
1954
1955extern void SetBEMPropID( const std::string & prop_id );
1956
1957
1958//======================== Design Files ================================//
1959
1998
1999extern void ReadApplyDESFile( const std::string & file_name );
2000
2035
2036extern void WriteDESFile( const std::string & file_name );
2037
2076
2077extern void ReadApplyXDDMFile( const std::string & file_name );
2078
2113
2114extern void WriteXDDMFile( const std::string & file_name );
2115
2150
2151extern int GetNumDesignVars();
2152
2189
2190extern void AddDesignVar( const std::string & parm_id, int type );
2191
2229
2231
2267
2268extern std::string GetDesignVar( int index );
2269
2306
2307extern int GetDesignVarType( int index );
2308
2309
2310//======================== Computations ================================//
2366
2413
2414extern std::string GetComputationFileName( int file_type );
2415
2441
2442extern void SetComputationFileName( int file_type, const std::string & file_name );
2443
2486
2487extern std::string ComputeMassProps( int set, int num_slices, int idir );
2488
2535
2536extern std::string ComputeCompGeom( int set, bool half_mesh, int file_export_types );
2537
2586
2587extern std::string ComputePlaneSlice( int set, int num_slices, const vec3d & norm, bool auto_bnd,
2588
2589 double start_bnd = 0, double end_bnd = 0, bool measureduct = false );
2645
2646extern void ComputeDegenGeom( int set, int file_export_types );
2647
2721
2722extern void ComputeCFDMesh( int set, int degenset, int file_export_types );
2723
2764
2834
2835extern double GetCFDMeshVal( int type );
2836
2862
2863extern void SetCFDMeshVal( int type, double val );
2864
2920
2975
2976extern bool GetCFDWakeFlag( const std::string & geom_id );
2977
3010
3011extern void SetCFDWakeFlag( const std::string & geom_id, bool flag );
3012
3100
3101extern void SetCFDFarFieldGeomID( const std::string & geom_id );
3102
3166
3167extern std::string GetCFDFarFieldGeomID();
3168
3212
3279
3280extern int GetNumCFDSources( const std::string & geom_id );
3281
3358
3359extern std::string GetCFDSourceName( const std::string & geom_id, int source_index );
3360
3437
3504
3505extern void SetCFDSourceName( const std::string & geom_id, int source_index, const std::string & name );
3506
3540
3541extern int GetCFDSourceType( const std::string & geom_id, int source_index );
3542
3621
3622extern void DeleteCFDSource( const std::string & geom_id, int source_index );
3623
3658
3660
3716
3717extern std::string GetCFDSourceID( const std::string & geom_id, int source_index );
3718
3762
3763extern void AdjustAllCFDSourceLen( double mult );
3764
3807
3808extern void AdjustAllCFDSourceRad( double mult );
3809
3870
3871extern void AddDefaultSources();
3872
3946
3947extern void AddCFDSource( int type, const std::string & geom_id, int surf_index,
3948
3949 double l1, double r1, double u1, double w1,
3950 double l2 = 0, double r2 = 0, double u2 = 0, double w2 = 0 );
3951
3982
3983extern std::string GetVSPAERORefWingID();
3984
4076
4077extern std::string SetVSPAERORefWingID( const std::string & geom_id );
4078
4079
4080//======================== Analysis ================================//
4081
4125
4126extern int GetNumAnalysis();
4127
4195
4196extern std::vector<std::string> ListAnalysis();
4197
4240
4241extern std::vector<std::string> GetAnalysisInputNames( const std::string & analysis );
4242
4272
4273extern std::string GetAnalysisDoc( const std::string & analysis );
4274
4313
4314extern std::string GetAnalysisInputDoc( const std::string & analysis, const std::string & name );
4315
4347
4348extern std::string ExecAnalysis( const std::string & analysis );
4349
4350
4379
4380extern int GetNumAnalysisInputData( const std::string & analysis, const std::string & name );
4381
4456
4457extern int GetAnalysisInputType( const std::string & analysis, const std::string & name );
4458
4510
4511extern const std::vector< int > & GetIntAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
4512
4548
4549extern const std::vector< double > & GetDoubleAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
4550
4587
4588extern const std::vector<std::string> & GetStringAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
4589
4628
4629extern const std::vector< vec3d > & GetVec3dAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
4630
4631
4697
4698extern void SetAnalysisInputDefaults( const std::string & analysis );
4699
4753
4754extern void SetIntAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< int > & indata, int index = 0 );
4755
4804
4805extern void SetDoubleAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< double > & indata, int index = 0 );
4806
4845
4846extern void SetStringAnalysisInput( const std::string & analysis, const std::string & name, const std::vector<std::string> & indata, int index = 0 );
4847
4894
4895extern void SetVec3dAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< vec3d > & indata, int index = 0 );
4896
4897
4965
4966extern void PrintAnalysisInputs( const std::string & analysis_name );
4967
5031
5032extern void PrintAnalysisDocs( const std::string & analysis_name );
5033
5065
5066extern std::string AddGeometryAnalysis();
5067
5109
5193
5194extern void AddGeometryAnalysisAzEl( const std::string & geom_analysis_id, double azimuth, double elevation );
5195
5269
5270extern void DeleteGeometryAnalysisAzEl( const std::string & geom_analysis_id, int index );
5271
5325
5326extern void DeleteAllGeometryAnalysisAzEl( const std::string & geom_analysis_id );
5327
5356
5357extern int GetNumGeometryAnalysisAzEl( const std::string & geom_analysis_id );
5358
5392
5393extern std::string GetGeometryAnalysisAzimuthParm( const std::string & geom_analysis_id, int index );
5394
5428
5429extern std::string GetGeometryAnalysisElevationParm( const std::string & geom_analysis_id, int index );
5430
5468
5469extern void DeleteGeometryAnalysis( const std::string &id );
5470
5524
5526
5564
5565extern std::vector < std::string > GetAllGeometryAnalysesIDVec();
5566
5597
5598extern void SetActiveGeometryAnalysis( const std::string &id );
5599
5628
5629extern std::string GetActiveGeometryAnalysis();
5630
5705
5706extern std::string MakeMeshGeom( const std::string &ga_id );
5707
5708//======================== Attributes ================================//
5709
5741
5742extern std::string SummarizeAttributes();
5743
5774
5775extern std::string SummarizeAttributesAsTree();
5776
5810
5811extern std::vector < std::string > FindAllAttributes();
5812
5813
5814
5849
5850extern std::vector < std::string > FindAttributesByName( const std::string & search_str );
5851
5882
5883extern std::string FindAttributeByName( const std::string & search_str, int index );
5884
5919
5920extern std::string FindAttributeInCollection( const std::string & obj_id, const std::string & search_str, int index );
5921
5960
5961extern std::vector< std::string > FindAttributeNamesInCollection(const std::string & collID );
5962
6001
6002extern std::vector< std::string > FindAttributesInCollection(const std::string & collID );
6003
6038
6039extern std::vector< std::string > FindAttributedObjects();
6040
6100
6101extern int GetObjectType(const std::string & attachID);
6102
6138
6139extern std::string GetObjectTypeName(const std::string & attachID);
6140
6177
6178extern std::string GetObjectName(const std::string & attachID);
6179
6180
6240
6241extern std::string GetObjectParent( const std::string & id );
6242
6277
6278extern std::string GetChildCollection(const std::string & attachID );
6279
6309
6310extern std::string GetGeomSetCollection( const int & index );
6311
6352
6353extern std::string GetAttributeName( const std::string & attrID );
6354
6400
6401extern std::string GetAttributeID(const std::string & collID, const std::string & attributeName, int index);
6402
6436
6437extern std::string GetAttributeDoc(const std::string & attrID);
6438
6529
6530extern int GetAttributeType( const std::string & attrID );
6531
6566
6567extern std::string GetAttributeTypeName(const std::string & attrID);
6568
6615
6616extern std::vector< int > GetAttributeBoolVal(const std::string & attrID);
6617
6664
6665extern std::vector< int > GetAttributeIntVal(const std::string & attrID);
6666
6712
6713extern std::vector< double > GetAttributeDoubleVal(const std::string & attrID);
6714
6760
6761extern std::vector< std::string > GetAttributeStringVal(const std::string & attrID);
6762
6821
6822extern std::vector< std::string > GetAttributeParmID(const std::string & attrID);
6823
6884
6885extern std::vector < double > GetAttributeParmVal( const std::string &attrID );
6886
6946
6947extern std::vector < std::string > GetAttributeParmName( const std::string &attrID );
6948
6998
6999extern std::vector< vec3d > GetAttributeVec3dVal(const std::string & attrID);
7000
7055
7056extern std::vector< std::vector < int > > GetAttributeIntMatrixVal(const std::string & attrID);
7057
7106
7107extern std::vector< std::vector < double > > GetAttributeDoubleMatrixVal(const std::string & attrID);
7108
7162
7163extern void SetAttributeName( const std::string & attrID, const std::string & name );
7164
7219
7220
7221extern void SetAttributeDoc( const std::string & attrID, const std::string & doc );
7222
7276
7277extern void SetAttributeBool( const std::string & attrID, bool value );
7278
7332
7333extern void SetAttributeInt( const std::string & attrID, int value );
7334
7391
7392extern void SetAttributeDouble( const std::string & attrID, double value );
7393
7448
7449extern void SetAttributeString( const std::string & attrID, const std::string & value );
7450
7515
7516extern void SetAttributeParmID( const std::string & attrID, const std::string & value );
7517
7572
7573extern void SetAttributeVec3d( const std::string & attrID, const std::vector < vec3d > & value );
7574
7632
7633extern void SetAttributeIntMatrix( const std::string & attrID, const std::vector < std::vector < int > > & value );
7634
7692
7693extern void SetAttributeDoubleMatrix( const std::string & attrID, const std::vector< std::vector< double > > & value );
7694
7771
7772extern void DeleteAttribute( const std::string & attrID );
7773
7822
7823extern std::string AddAttributeBool( const std::string & collID, const std::string & attributeName, bool value );
7824
7874
7875extern std::string AddAttributeInt( const std::string & collID, const std::string & attributeName, int value );
7876
7928
7929extern std::string AddAttributeDouble( const std::string & collID, const std::string & attributeName, double value );
7930
7981
7982extern std::string AddAttributeString( const std::string & collID, const std::string & attributeName, const std::string & value );
7983
8045
8046extern std::string AddAttributeParm( const std::string &collID, const std::string &attributeName, const std::string &parmID );
8047
8101
8102extern std::string AddAttributeVec3d( const std::string & collID, const std::string & attributeName, const std::vector < vec3d > & value );
8103
8159
8160extern std::string AddAttributeIntMatrix( const std::string & collID, const std::string & attributeName, const std::vector < std::vector < int > > & value );
8161
8217
8218extern std::string AddAttributeDoubleMatrix( const std::string & collID, const std::string & attributeName, const std::vector < std::vector < double > > & value );
8219
8266
8267extern std::string AddAttributeGroup( const std::string & collID, const std::string & attributeName );
8268
8317
8318extern int CopyAttribute( const std::string & attrID );
8319
8390
8391extern void CutAttribute( const std::string & attrID );
8392
8478
8479extern std::vector < std::string > PasteAttribute( const std::string & coll_id );
8480
8481//======================== Results ================================//
8523
8524extern std::vector<std::string> GetAllResultsNames();
8525
8561
8562extern std::vector<std::string> GetAllDataNames( const std::string & results_id );
8563
8591
8592extern int GetNumResults( const std::string & name );
8593
8652
8653extern std::string GetResultsName(const std::string & results_id );
8654
8720
8721extern std::string GetResultsSetDoc( const std::string & results_id );
8722
8768
8769extern std::string GetResultsEntryDoc( const std::string & results_id, const std::string & data_name );
8770
8803
8804extern std::string FindResultsID( const std::string & name, int index = 0 );
8805
8848
8849extern std::string FindLatestResultsID( const std::string & name );
8850
8903
8904extern int GetNumData( const std::string & results_id, const std::string & data_name );
8905
9000
9001extern int GetResultsType( const std::string & results_id, const std::string & data_name );
9002
9056
9057extern const std::vector< int > & GetIntResults( const std::string & id, const std::string & name, int index = 0 );
9058
9102
9103extern const std::vector< double > & GetDoubleResults( const std::string & id, const std::string & name, int index = 0 );
9104
9150
9151extern const std::vector< std::vector< double > > & GetDoubleMatResults( const std::string & id, const std::string & name, int index = 0 );
9152
9190
9191extern const std::vector<std::string> & GetStringResults( const std::string & id, const std::string & name, int index = 0 );
9192
9254
9255extern const std::vector< vec3d > & GetVec3dResults( const std::string & id, const std::string & name, int index = 0 );
9256
9299
9300extern std::string CreateGeomResults( const std::string & geom_id, const std::string & name );
9301
9341
9342extern void DeleteAllResults();
9343
9384
9385extern void DeleteResult( const std::string & id );
9386
9441
9442extern void WriteResultsCSVFile( const std::string & id, const std::string & file_name );
9443
9506
9507extern void PrintResults( const std::string &results_id );
9508
9571
9572extern void PrintResultsDocs( const std::string &results_id );
9573
9667
9668extern void WriteTestResults();
9669
9670//======================== GUI Functions ================================//
9671
9692
9693extern void InitGUI();
9694
9717
9718extern void StartGUI();
9719
9752
9754
9784
9786
9817
9818extern void StopGUI();
9819
9846
9847extern void PopupMsg( const std::string &msg );
9848
9887
9888extern void UpdateGUI();
9889
9922
9923extern bool IsGUIBuild();
9924
9971
9972extern void Lock( );
9973
10017
10018extern void Unlock( );
10019
10020
10051
10052extern bool IsEventLoopRunning( );
10053
10086
10087extern void ScreenGrab( const std::string & fname, int w, int h, bool transparentBG, bool autocrop = false );
10088
10107
10108extern void SetViewAxis( bool vaxis );
10109
10128
10129extern void SetShowBorders( bool brdr );
10130
10186
10187extern void SetGeomDrawType(const std::string &geom_id, int type);
10188
10245
10246extern void SetGeomWireColor( const std::string &geom_id, int r, int g, int b );
10247
10303
10304extern void SetGeomDisplayType(const std::string &geom_id, int type);
10305
10378
10423
10424extern int GetGeomDrawType( const std::string &geom_id );
10425
10470
10471extern int GetGeomDisplayType( const std::string &geom_id );
10472
10530
10531extern vec3d GetGeomWireColor( const std::string &geom_id );
10532
10587
10588extern std::string GetGeomMaterialName( const std::string &geom_id );
10589
10619
10620extern void SetGeomMaterialName( const std::string &geom_id, const std::string &name );
10621
10702
10703extern void AddMaterial( const std::string &name, const vec3d & ambient, const vec3d & diffuse, const vec3d & specular, const vec3d & emissive, const double & alpha, const double & shininess );
10704
10737
10738extern std::vector < std::string > GetMaterialNames();
10739
10780
10781extern int GetNumLights();
10782
10871
10872extern std::string FindLight( int index );
10873
10894
10895extern void SetBackground( double r, double g, double b );
10896
10915
10916extern void SetAllViews( int view );
10917
10937
10938extern void SetView( int viewport, int view );
10939
10957
10958extern void FitAllViews();
10959
10977
10978extern void ResetViews();
10979
10999
11000extern void SetWindowLayout( int r, int c );
11001
11020
11021extern void SetGUIElementDisable( int e, bool state );
11022
11041
11042extern void SetGUIScreenDisable( int s, bool state );
11043
11062extern void SetGeomScreenDisable( int s, bool state );
11063
11081
11082extern void HideScreen( int s );
11083
11101
11102extern void ShowScreen( int s );
11103
11104
11105//======================== Geom Functions ================================//
11138
11139extern std::vector<std::string> GetGeomTypes();
11140
11169
11170extern std::string AddGeom( const std::string & type, const std::string & parent = std::string() );
11171
11229
11230extern void UpdateGeom( const std::string & geom_id );
11231
11272
11273extern void DeleteGeom( const std::string & geom_id );
11274
11317
11318extern void DeleteGeomVec( const std::vector< std::string > & del_vec );
11319
11361
11362extern void CutGeomToClipboard( const std::string & geom_id );
11363
11405
11406extern void CopyGeomToClipboard( const std::string & geom_id );
11407
11449
11450extern std::vector<std::string> PasteGeomClipboard( const std::string & parent = std::string() );
11451
11486
11487extern std::vector<std::string> FindGeoms();
11488
11529
11530extern std::vector<std::string> FindGeomsWithName( const std::string & name );
11531
11577
11578extern std::string FindGeom( const std::string & name, int index );
11579
11619
11620extern void SetGeomName( const std::string & geom_id, const std::string & name );
11621
11678
11679extern std::string GetGeomName( const std::string & geom_id );
11680
11716
11717extern std::vector<std::string> GetGeomParmIDs( const std::string & geom_id );
11718
11770
11771extern std::string GetGeomTypeName( const std::string & geom_id );
11772
11806
11807extern std::string GetParm( const std::string & geom_id, const std::string & name, const std::string & group );
11808
11861
11862extern void SetGeomParent( const std::string& geom_id, const std::string& parent_id );
11863
11923
11924extern void ReorderGeom( const std::string & geom_id, int reorder_type );
11925
11992
11993extern std::string AttachGeomTexture( const std::string & geom_id, const std::string & file_name );
11994
12032
12033extern void RemoveGeomTexture( const std::string & geom_id, const std::string & texture_id );
12034
12080
12081extern std::vector < std::string > GetGeomTextureIDVec( const std::string & geom_id );
12082
12117
12118extern std::string GetGeomTextureFileName( const std::string & geom_id, const std::string & texture_id );
12119
12186
12187extern std::string GetGeomParent( const std::string& geom_id );
12188
12243
12244extern std::vector< std::string > GetGeomChildren( const std::string& geom_id );
12245
12277
12278extern int GetNumXSecSurfs( const std::string & geom_id );
12279
12326
12327extern int GetNumMainSurfs( const std::string & geom_id );
12328
12375
12376extern int GetTotalNumSurfs( const std::string& geom_id );
12377
12411
12412extern int GetGeomVSPSurfType( const std::string& geom_id, int main_surf_ind = 0 );
12413
12447
12448extern int GetGeomVSPSurfCfdType( const std::string& geom_id, int main_surf_ind = 0 );
12449
12506
12507extern vec3d GetGeomBBoxMax( const std::string& geom_id, int main_surf_ind = 0, bool ref_frame_is_absolute = true );
12508
12565
12566extern vec3d GetGeomBBoxMin( const std::string& geom_id, int main_surf_ind = 0, bool ref_frame_is_absolute = true );
12567
12568
12569//======================== SubSurface Functions ================================//
12608
12609extern std::string AddSubSurf( const std::string & geom_id, int type, int surfindex = 0 );
12610
12704
12705extern std::string GetSubSurf( const std::string & geom_id, int index );
12706
12800
12801extern std::vector<std::string> GetSubSurf( const std::string & geom_id, const std::string & name );
12802
12858
12859extern void DeleteSubSurf( const std::string & geom_id, const std::string & sub_id );
12860
12911
12912extern void ReorderSubSurf( const std::string & geom_id, const std::string & sub_id, int reorder_type );
12913
12968
12969extern void DeleteSubSurf( const std::string & sub_id );
12970
13011
13012extern void SetSubSurfName(const std::string & geom_id, const std::string & sub_id, const std::string & name);
13013
13053
13054extern void SetSubSurfName( const std::string & sub_id, const std::string & name );
13055
13098
13099extern std::string GetSubSurfName( const std::string & geom_id, const std::string & sub_id );
13100
13142
13143extern std::string GetSubSurfName( const std::string & sub_id );
13144
13203
13204extern int GetSubSurfIndex( const std::string & sub_id );
13205
13274
13275extern std::vector<std::string> GetSubSurfIDVec( const std::string & geom_id );
13276
13307
13308extern std::vector<std::string> GetAllSubSurfIDs();
13309
13355
13356extern int GetNumSubSurf( const std::string & geom_id );
13357
13432
13433extern int GetSubSurfType( const std::string & sub_id );
13434
13485
13486extern std::vector<std::string> GetSubSurfParmIDs( const std::string & sub_id );
13487
13597
13598extern void IntersectSubSurf( const std::string & sub_id );
13599
13710
13784
13785extern std::string GetIntersectSubSurfGeomID( const std::string & sub_id );
13786
13819
13820extern void SetIntersectSubSurfGeomID( const std::string & sub_id, const std::string & geom_id );
13821
13888
13889extern int AddFeaStruct( const std::string & geom_id, bool init_skin = true, int surfindex = 0 );
13890
13928
13986
13988
14020
14021extern void SetFeaMeshStructIndex( int struct_index );
14022
14089
14090extern void DeleteFeaStruct( const std::string & geom_id, int fea_struct_ind );
14091
14130
14131extern std::string GetFeaStructID( const std::string & geom_id, int fea_struct_ind );
14132
14219
14220extern int GetFeaStructIndex( const std::string & struct_id );
14221
14265
14266extern std::string GetFeaStructParentGeomID( const std::string & struct_id );
14267
14317
14318extern std::string GetFeaStructName( const std::string & geom_id, int fea_struct_ind );
14319
14375
14376extern void SetFeaStructName( const std::string & geom_id, int fea_struct_ind, const std::string & name );
14377
14419
14420extern std::vector< std::string > GetFeaStructIDVec();
14421
14468
14469extern void SetFeaPartName( const std::string & part_id, const std::string & name );
14470
14521
14522extern std::string AddFeaPart( const std::string & geom_id, int fea_struct_ind, int type );
14523
14605
14606extern void DeleteFeaPart( const std::string & geom_id, int fea_struct_ind, const std::string & part_id );
14607
14669
14670extern void ReorderFeaPart( const std::string & geom_id, int fea_struct_ind, const std::string & part_id, int reorder_type );
14671
14733
14734extern void IndividualizeFeaPart( const std::string & geom_id, int fea_struct_ind, const std::string & part_id );
14735
14789
14790extern std::string GetFeaPartID( const std::string & fea_struct_id, int fea_part_index );
14791
14843
14844extern std::string GetFeaPartName( const std::string & part_id );
14845
14891
14892extern int GetFeaPartType( const std::string & part_id );
14893
14944
14945extern std::vector< std::string > GetFeaPartIDVec( const std::string & fea_struct_id );
14946
14997
14998extern std::vector< std::string > GetFeaSubSurfIDVec( const std::string & fea_struct_id );
14999
15070
15071extern void SetFeaPartPerpendicularSparID( const std::string& part_id, const std::string& perpendicular_spar_id );
15072
15142
15143extern std::string GetFeaPartPerpendicularSparID( const std::string& part_id );
15144
15191
15192extern void SetFeaSubSurfName( const std::string & subsurf_id, const std::string & name );
15193
15243
15244extern std::string GetFeaSubSurfName( const std::string & subsurf_id );
15245
15296
15297extern std::string AddFeaSubSurf( const std::string & geom_id, int fea_struct_ind, int type );
15298
15361
15362extern void DeleteFeaSubSurf( const std::string & geom_id, int fea_struct_ind, const std::string & ss_id );
15363
15420
15421extern int GetFeaSubSurfIndex( const std::string & ss_id );
15422
15464
15465extern int GetFeaPolySparNumPt( const std::string & pspar_id );
15466
15510
15511extern std::string AddFeaPolySparPt( const std::string & pspar_id );
15512
15558
15559extern std::string InsertFeaPolySparPt( const std::string & pspar_id, int index );
15560
15611
15612extern void DelFeaPolySparPt( const std::string & pspar_id, int index );
15613
15661
15662extern void DelAllFeaPolySparPt( const std::string & pspar_id );
15663
15714
15715extern int MoveFeaPolySparPt( const std::string & pspar_id, int index, int reorder_type );
15716
15762
15763extern void SetFeaPolySparPtName( const std::string & pspar_id, int index, const std::string & name );
15764
15812
15813extern std::string GetFeaPolySparPtName( const std::string & pspar_id, int index );
15814
15871
15872extern std::string GetFeaPolySparPtID( const std::string & pspar_id, int index );
15873
15931
15932extern std::vector < std::string > GetAllFeaPolySparPtIDVec( const std::string & pspar_id );
15933
15973
15974//======================== FEA Assembly Functions ======================//
15975
16034
16132
16133extern void AddFeaTrimPart( const std::string & trim_id, const std::string & part_id );
16134
16173
16174extern void DeleteFeaTrimPart( const std::string & trim_id, int index );
16175
16214
16215extern std::vector < std::string > GetFeaTrimPartIDVec( const std::string & trim_id );
16216
16244
16245extern std::string AddFeaAssembly();
16246
16324
16325extern void DeleteFeaAssembly( const std::string & assembly_id );
16326
16365
16366extern int NumFeaAssemblies();
16367
16405
16406extern std::vector < std::string > GetFeaAssemblyIDVec();
16407
16464
16465extern std::string GetFeaAssemblyName( const std::string & assembly_id );
16466
16511
16512extern void SetFeaAssemblyName( const std::string & assembly_id, const std::string & name );
16513
16594
16595extern void AddFeaStructureToAssembly( const std::string & assembly_id, const std::string & struct_id );
16596
16689
16690extern void DeleteFeaStructureFromAssembly( const std::string & assembly_id, const std::string & struct_id );
16691
16737
16738extern void AddFeaAssemblyStructure( const std::string & assembly_id, const std::string & struct_id );
16739
16795
16796extern void DeleteFeaAssemblyStructure( const std::string & assembly_id, const std::string & struct_id );
16797
16838
16839extern std::vector < std::string > GetFeaAssemblyStructureIDVec( const std::string & assembly_id );
16840
16953
16954extern void AddFeaAssemblyConnection( const std::string & assembly_id,
16955 const std::string & start_fix_pt_id, const std::string & start_struct_id, int start_index,
16956 const std::string & end_fix_pt_id, const std::string & end_struct_id, int end_index );
16957
17000
17001extern void DeleteFeaAssemblyConnection( const std::string & assembly_id, int connection_index );
17002
17043
17044extern int NumFeaAssemblyConnections( const std::string & assembly_id );
17045
17146
17147extern std::string GetFeaAssemblyConnectionID( const std::string & assembly_id, int connection_index );
17148
17225
17272
17273extern std::string GetFeaAssemblyFileName( const std::string & assembly_id, int file_type );
17274
17318
17319extern void SetFeaAssemblyFileName( const std::string & assembly_id, int file_type, const std::string & file_name );
17320
17367
17368extern void ComputeFeaAssemblyMesh( const std::string & assembly_id );
17369
17401
17402extern int NumFeaStructures();
17403
17455
17456extern int NumFeaParts( const std::string & fea_struct_id );
17457
17508
17509extern int NumFeaSubSurfs( const std::string & fea_struct_id );
17510
17556
17557extern std::string AddFeaBC( const std::string & fea_struct_id, int type = -1 );
17558
17625
17626extern void DelFeaBC( const std::string & fea_struct_id, const std::string &bc_id );
17627
17677
17678extern std::vector< std::string > GetFeaBCIDVec( const std::string & fea_struct_id );
17679
17745
17746extern int NumFeaBCs( const std::string & fea_struct_id );
17747
17778
17845
17956
17957extern std::string AddFeaLayer( const std::string & material_id );
17958
18005
18006extern void DeleteFeaLayer( const std::string & material_id, const std::string & layer_id );
18007
18069
18070extern void ReorderFeaLayer( const std::string & material_id, const std::string & layer_id, int reorder_type );
18071
18114
18115extern int NumFeaLayers( const std::string & material_id );
18116
18163
18164extern std::vector < std::string > GetFeaLayerIDVec( const std::string & material_id );
18165
18199
18200extern std::vector < std::string > GetFeaMaterialIDVec();
18201
18267
18268extern void DeleteFeaMaterial( const std::string &id );
18269
18293
18294extern std::string AddFeaMaterial();
18295
18329
18390
18391extern std::vector < std::string > GetFeaPropertyIDVec();
18392
18457
18458extern void DeleteFeaProperty( const std::string &id );
18459
18484
18485extern std::string AddFeaProperty( int property_type = 0 );
18486
18551
18639
18640extern double GetFeaMeshVal( const std::string & geom_id, int fea_struct_ind, int type );
18641
18676
18677extern void SetFeaMeshVal( const std::string & geom_id, int fea_struct_ind, int type, double val );
18678
18768
18829
18830extern std::string GetFeaMeshFileName( const std::string & geom_id, int fea_struct_ind, int file_type );
18831
18866
18867extern void SetFeaMeshFileName( const std::string & geom_id, int fea_struct_ind, int file_type, const std::string & file_name );
18868
18953
18954extern void ComputeFeaMesh( const std::string & geom_id, int fea_struct_ind, int file_type );
18955
19040
19041extern void ComputeFeaMesh( const std::string & struct_id, int file_type );
19042
19101
19102extern void SetXSecAlias( const std::string & id, const std::string & alias );
19103
19162
19163extern std::string GetXSecAlias( const std::string & id );
19164
19223
19224extern void SetXSecCurveAlias( const std::string & id, const std::string & alias );
19225
19283
19284extern std::string GetXSecCurveAlias( const std::string & id );
19285
19374
19375extern void CutXSec( const std::string & geom_id, int index );
19376
19462
19463extern void CopyXSec( const std::string & geom_id, int index );
19464
19550
19551extern void PasteXSec( const std::string & geom_id, int index );
19552
19609
19610extern void InsertXSec( const std::string & geom_id, int index, int type );
19611
19612
19613//======================== Wing Section Functions ===================//
19614
19684
19685extern void SplitWingXSec( const std::string & wing_id, int section_index );
19686
19770
19855
19856extern std::vector < int > GetDriverGroup( const std::string & geom_id, int section_index );
19857
19890
19891extern void SetDriverGroup( const std::string & geom_id, int section_index, int driver_0, int driver_1 = -1, int driver_2 = -1 );
19892
19893
19894//======================== XSecSurf ================================//
19929
19930extern std::string GetXSecSurf( const std::string & geom_id, int index );
19931
20016
20017extern int GetNumXSec( const std::string & xsec_surf_id );
20018
20059
20060extern std::string GetXSec( const std::string & xsec_surf_id, int xsec_index );
20061
20113
20114extern void ChangeXSecShape( const std::string & xsec_surf_id, int xsec_index, int type );
20115
20184
20185extern void FitCSTAirfoil( const std::string & xsec_surf_id, int xsec_index, int deg );
20186
20222
20223extern void SetXSecSurfGlobalXForm( const std::string & xsec_surf_id, const Matrix4d & mat );
20224
20252
20253extern Matrix4d GetXSecSurfGlobalXForm( const std::string & xsec_surf_id );
20254
20255
20256//======================== XSec ================================//
20299
20300extern int GetXSecShape( const std::string& xsec_id );
20301
20342
20343extern double GetXSecWidth( const std::string& xsec_id );
20344
20385
20386extern double GetXSecHeight( const std::string& xsec_id );
20387
20457
20458extern void SetXSecWidthHeight( const std::string& xsec_id, double w, double h );
20459
20506
20507extern void SetXSecWidth( const std::string& xsec_id, double w );
20508
20555
20556extern void SetXSecHeight( const std::string& xsec_id, double h );
20557
20597
20598extern std::vector<std::string> GetXSecParmIDs( const std::string& xsec_id );
20599
20644
20645extern std::string GetXSecParm( const std::string& xsec_id, const std::string& name );
20646
20737
20738extern std::vector<vec3d> ReadFileXSec( const std::string& xsec_id, const std::string& file_name );
20739
20838
20937
20938extern std::vector< vec3d > GetXSecPnts( const std::string& xsec_id );
20939
21026
21027extern void CopyXSecCurve( const std::string & geom_id, int index );
21028
21111
21112extern void PasteXSecCurve( const std::string & geom_id, int index );
21113
21178
21179extern void SetXSecPnts( const std::string& xsec_id, std::vector< vec3d > & pnt_vec );
21180
21250
21251extern vec3d ComputeXSecPnt( const std::string& xsec_id, double fract );
21252
21343
21344extern vec3d ComputeXSecTan( const std::string& xsec_id, double fract );
21345
21425
21426extern void ResetXSecSkinParms( const std::string& xsec_id );
21427
21494
21557
21558extern int GetXSecContinuity( const std::string& xsec_id );
21559
21597
21598extern void SetXSecContinuity( const std::string& xsec_id, int cx );
21599
21663
21780
21781extern std::vector < double > GetXSecTanAngles( const std::string& xsec_id, int side );
21782
21833
21834extern void SetXSecTanAngles( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
21835
21899
22016
22017extern std::vector < double > GetXSecTanSlews( const std::string& xsec_id, int side );
22018
22069
22070extern void SetXSecTanSlews( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
22071
22137
22254
22255extern std::vector < double > GetXSecTanStrengths( const std::string& xsec_id, int side );
22256
22307
22308extern void SetXSecTanStrengths( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
22309
22375
22492
22493extern std::vector < double > GetXSecCurvatures( const std::string& xsec_id, int side );
22494
22545
22546extern void SetXSecCurvatures( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
22547
22650
22651extern void ReadFileAirfoil( const std::string& xsec_id, const std::string& file_name );
22652
22761
22762extern void SetAirfoilUpperPnts( const std::string& xsec_id, const std::vector< vec3d > & up_pnt_vec );
22763
22872
22873extern void SetAirfoilLowerPnts( const std::string& xsec_id, const std::vector< vec3d > & low_pnt_vec );
22874
22992
22993extern void SetAirfoilPnts( const std::string& xsec_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
22994
23048
23049extern std::vector<vec3d> GetHersheyBarLiftDist( const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag = false );
23050
23104
23105extern std::vector<vec3d> GetHersheyBarDragDist( const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag = false );
23106
23164
23165extern std::vector<vec3d> GetVKTAirfoilPnts( const int &npts, const double &alpha, const double &epsilon, const double &kappa, const double &tau );
23166
23225
23226extern std::vector<double> GetVKTAirfoilCpDist( const double &alpha, const double &epsilon, const double &kappa, const double &tau, const std::vector<vec3d> &xyz_data );
23227
23256
23257extern std::vector<vec3d> GetEllipsoidSurfPnts( const vec3d &center, const vec3d &abc_rad, int u_npts = 20, int w_npts = 20 );
23258
23290
23291extern std::vector<vec3d> GetFeatureLinePnts( const std::string& geom_id );
23292
23380
23381extern std::vector<double> GetEllipsoidCpDist( const std::vector<vec3d> &surf_pnt_vec, const vec3d &abc_rad, const vec3d &V_inf );
23382
23409
23410extern double IntegrateEllipsoidFlow( const vec3d &abc_rad, const int &abc_index );
23411
23460
23461extern std::vector<vec3d> GetAirfoilUpperPnts( const std::string& xsec_id );
23462
23511
23512extern std::vector<vec3d> GetAirfoilLowerPnts( const std::string& xsec_id );
23513
23558
23559extern std::vector<double> GetUpperCSTCoefs( const std::string& xsec_id );
23560
23605
23606extern std::vector<double> GetLowerCSTCoefs( const std::string& xsec_id );
23607
23648
23649extern int GetUpperCSTDegree( const std::string& xsec_id );
23650
23691
23692extern int GetLowerCSTDegree( const std::string& xsec_id );
23693
23743
23744extern void SetUpperCST( const std::string& xsec_id, int deg, const std::vector<double> &coefs );
23745
23795
23796extern void SetLowerCST( const std::string& xsec_id, int deg, const std::vector<double> &coefs );
23797
23845
23846extern void PromoteCSTUpper( const std::string& xsec_id );
23847
23895
23896extern void PromoteCSTLower( const std::string& xsec_id );
23897
23949
23950extern void DemoteCSTUpper( const std::string& xsec_id );
23951
24003
24004extern void DemoteCSTLower( const std::string& xsec_id );
24005
24042
24043extern void FitAfCST( const std::string & xsec_surf_id, int xsec_index, int deg );
24044
24045//======================== Background3D Functions ======================//
24046
24085
24086extern std::string AddBackground3D();
24087
24126
24128
24182
24183extern std::vector < std::string > GetAllBackground3Ds();
24184
24233
24235
24284
24286
24328
24330
24373
24374extern void DelBackground3D( const std::string &id );
24375
24422
24423extern std::vector < std::string > GetAllBackground3DRelativePaths();
24424
24470
24471extern std::vector < std::string > GetAllBackground3DAbsolutePaths();
24472
24514
24515extern std::string GetBackground3DRelativePath( const std::string &id );
24516
24557
24558extern std::string GetBackground3DAbsolutePath( const std::string &id );
24559
24603
24604extern void SetBackground3DRelativePath( const std::string &id, const std::string &fname );
24605
24652
24653extern void SetBackground3DAbsolutePath( const std::string &id, const std::string &fname );
24654
24655
24656//======================== GearGeom Functions ======================//
24696
24697extern std::string CreateAndAddBogie( const std::string &gear_id );
24698
24736
24737extern int GetNumBogies( const std::string &gear_id );
24738
24774
24775extern std::vector < std::string > GetAllBogies( const std::string &gear_id );
24776
24814
24815extern void DelBogie( const std::string &gear_id, const std::string &bogie_id );
24816
24853
24854extern void DelAllBogies( const std::string &gear_id );
24855
24856
24857//====================== AuxiliaryGeom Functions ======================//
24924
24925extern void SetAuxiliaryGeomContactPtID( const std::string &geom_id, int index, const std::string &bogie_id );
24926
24975
24976extern std::string GetAuxiliaryGeomContactPtID( const std::string &geom_id, int index );
24977
25026
25027extern void ReadAuxiliaryGeomCCEFile( const std::string &geom_id, const std::string &file_name );
25028
25029
25030//======================== StackGeom Functions ========================//
25076
25077extern void InitStackPreset( const std::string &geom_id, int preset );
25078
25079
25080//======================== RoutingGeom Functions ======================//
25162
25163extern int GetNumRoutingPts( const std::string &routing_id );
25164
25225
25226extern std::string AddRoutingPt( const std::string &routing_id, const std::string &geom_id, int surf_index );
25227
25300
25301extern std::string InsertRoutingPt( const std::string &routing_id, int index, const std::string &geom_id, int surf_index );
25302
25368
25369extern void DelRoutingPt( const std::string &routing_id, int index );
25370
25434
25435extern void DelAllRoutingPt( const std::string &routing_id );
25436
25524
25525extern int MoveRoutingPt( const std::string &routing_id, int index, int reorder_type );
25526
25588
25589extern std::string GetRoutingPtID( const std::string &routing_id, int index );
25590
25651
25652extern std::vector < std::string > GetAllRoutingPtIds( const std::string &routing_id );
25653
25714
25715extern std::string GetRoutingPtParentID( const std::string & pt_id );
25716
25778
25779extern void SetRoutingPtParentID( const std::string & pt_id, const std::string &parent_id );
25780
25860
25861extern vec3d GetMainRoutingPtCoord( const std::string &pt_id );
25862
25948
25949extern vec3d GetRoutingPtCoord( const std::string &routing_id, int index, int symm_index );
25950
26054
26055extern std::vector < vec3d > GetAllRoutingPtCoords( const std::string &routing_id, int symm_index );
26056
26144
26145extern std::vector < vec3d > GetRoutingCurve( const std::string &routing_id, int symm_index );
26146
26147//======================== BOR Functions ======================//
26180
26181extern void ChangeBORXSecShape( const std::string & bor_id, int type );
26182
26214
26215extern int GetBORXSecShape( const std::string & bor_id );
26216
26286
26287extern std::vector<vec3d> ReadBORFileXSec( const std::string& bor_id, const std::string& file_name );
26288
26372
26445
26446extern std::vector< vec3d > GetBORXSecPnts( const std::string& bor_id );
26447
26499
26500extern void SetBORXSecPnts( const std::string& bor_id, std::vector< vec3d > & pnt_vec );
26501
26564
26565extern vec3d ComputeBORXSecPnt( const std::string& bor_id, double fract );
26566
26639
26640extern vec3d ComputeBORXSecTan( const std::string& bor_id, double fract );
26641
26731
26732extern void ReadBORFileAirfoil( const std::string& bor_id, const std::string& file_name );
26733
26829
26830extern void SetBORAirfoilUpperPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec );
26831
26927
26928extern void SetBORAirfoilLowerPnts( const std::string& bor_id, const std::vector< vec3d > & low_pnt_vec );
26929
27036
27037extern void SetBORAirfoilPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
27038
27079
27080extern std::vector<vec3d> GetBORAirfoilUpperPnts( const std::string& bor_id );
27081
27122
27123extern std::vector<vec3d> GetBORAirfoilLowerPnts( const std::string& bor_id );
27124
27161
27162extern std::vector<double> GetBORUpperCSTCoefs( const std::string& bor_id );
27163
27200
27201extern std::vector<double> GetBORLowerCSTCoefs( const std::string& bor_id );
27202
27235
27236extern int GetBORUpperCSTDegree( const std::string& bor_id );
27237
27270
27271extern int GetBORLowerCSTDegree( const std::string& bor_id );
27272
27314
27315extern void SetBORUpperCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
27316
27358
27359extern void SetBORLowerCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
27360
27400
27401extern void PromoteBORCSTUpper( const std::string& bor_id );
27402
27442
27443extern void PromoteBORCSTLower( const std::string& bor_id );
27444
27488
27489extern void DemoteBORCSTUpper( const std::string& bor_id );
27490
27534
27535extern void DemoteBORCSTLower( const std::string& bor_id );
27536
27572
27573extern void FitBORAfCST( const std::string & bor_id, int deg );
27574
27575
27576//======================== FoilSurf Functions ======================//
27631
27632extern void WriteBezierAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
27633
27688
27689extern void WriteSeligAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
27690
27723
27724extern std::vector < vec3d > GetAirfoilCoordinates( const std::string & geom_id, const double &foilsurf_u );
27725
27726
27727//======================== Edit Curve XSec Functions ======================//
27823
27824extern void EditXSecInitShape( const std::string & xsec_id );
27825
27925
27926extern void EditXSecConvertTo( const std::string & xsec_id, const int & newtype );
27927
27985
27986extern std::vector < double > GetEditXSecUVec( const std::string& xsec_id );
27987
28042
28043extern std::vector < vec3d > GetEditXSecCtrlVec( const std::string & xsec_id, bool non_dimensional = true );
28044
28153
28154extern 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 );
28155
28223
28224extern void EditXSecDelPnt( const std::string & xsec_id, const int & indx );
28225
28292
28293extern int EditXSecSplit01( const std::string & xsec_id, const double & u );
28294
28376
28377extern void MoveEditXSecPnt( const std::string & xsec_id, const int & indx, const vec3d & new_pnt );
28378
28453
28454extern void ConvertXSecToEdit( const std::string & geom_id, const int & indx = 0 );
28455
28575
28576extern std::vector < bool > GetEditXSecFixedUVec( const std::string& xsec_id );
28577
28660
28661extern void SetEditXSecFixedUVec( const std::string& xsec_id, std::vector < bool > fixed_u_vec );
28662
28777
28778extern void ReparameterizeEditXSec( const std::string & xsec_id );
28779
28780
28781//======================== Sets ================================//
28803
28804extern int GetNumSets();
28805
28833
28834extern void SetSetName( int index, const std::string& name );
28835
28866
28867extern std::string GetSetName( int index );
28868
28903
28904extern std::vector<std::string> GetGeomSetAtIndex( int index );
28905
28939
28940extern std::vector<std::string> GetGeomSet( const std::string & name );
28941
28968
28969extern int GetSetIndex( const std::string & name );
28970
29004
29005extern bool GetSetFlag( const std::string & geom_id, int set_index );
29006
29040
29041extern void SetSetFlag( const std::string & geom_id, int set_index, bool flag );
29042
29088
29089extern void CopyPasteSet( int copyIndex, int pasteIndex );
29090
29137
29138extern bool GetBBoxSet( int set, double & xmin_out, double & ymin_out, double & zmin_out, double & xlen_out, double & ylen_out, double & zlen_out );
29139
29186
29187extern bool GetScaleIndependentBBoxSet( int set, double & xmin_out, double & ymin_out, double & zmin_out, double & xlen_out, double & ylen_out, double & zlen_out );
29188
29189//======================== Group Modifications ================================//
29249
29250extern void ScaleSet( int set_index, double scale );
29251
29317
29318extern void RotateSet( int set_index, double x_rot_deg, double y_rot_deg, double z_rot_deg );
29319
29379
29380extern void TranslateSet( int set_index, const vec3d &translation_vec );
29381
29463
29464extern 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 );
29465
29466
29467//======================== Parm Functions ================================//
29499
29500extern bool ValidParm( const std::string & id );
29501
29551
29552extern double SetParmVal( const std::string & parm_id, double val );
29553
29605
29606extern double SetParmVal( const std::string & geom_id, const std::string & name, const std::string & group, double val );
29607
29679
29680extern double SetParmValLimits( const std::string & parm_id, double val, double lower_limit, double upper_limit );
29681
29721
29722extern double SetParmValUpdate( const std::string & parm_id, double val );
29723
29765
29766extern double SetParmValUpdate( const std::string & geom_id, const std::string & parm_name, const std::string & parm_group_name, double val );
29767
29815
29816extern double GetParmVal( const std::string & parm_id );
29817
29867
29868extern double GetParmVal( const std::string & geom_id, const std::string & name, const std::string & group );
29869
29926
29927extern int GetIntParmVal( const std::string & parm_id );
29928
29982
29983extern bool GetBoolParmVal( const std::string & parm_id );
29984
30037
30038extern void SetParmUpperLimit( const std::string & parm_id, double val );
30039
30075
30076extern double GetParmUpperLimit( const std::string & parm_id );
30077
30130
30131extern void SetParmLowerLimit( const std::string & parm_id, double val );
30132
30196
30197extern double GetParmLowerLimit( const std::string & parm_id );
30198
30243
30244extern int GetParmType( const std::string & parm_id );
30245
30308
30309extern std::string GetParmName( const std::string & parm_id );
30310
30359
30360extern std::string GetParmGroupName( const std::string & parm_id );
30361
30410
30411extern std::string GetParmDisplayGroupName( const std::string & parm_id );
30412
30460
30461extern std::string GetParmContainer( const std::string & parm_id );
30462
30502
30503extern void SetParmDescript( const std::string & parm_id, const std::string & desc );
30504
30544
30545extern std::string GetParmDescript( const std::string & parm_id );
30546
30586
30587extern std::string FindParm( const std::string & parm_container_id, const std::string& parm_name, const std::string& group_name );
30588
30589
30590//======================== Parm Container Functions ======================//
30591
30633
30634extern std::vector<std::string> FindContainers();
30635
30665
30666extern std::vector<std::string> FindContainersWithName( const std::string & name );
30667
30697
30698extern std::string FindContainer( const std::string & name, int index );
30699
30725
30799
30800extern void SetContainerName( const std::string & parm_container_id, const std::string & name );
30801
30834
30835extern std::string GetContainerName( const std::string & parm_container_id );
30836
30881
30882extern std::vector<std::string> FindContainerGroupNames( const std::string & parm_container_id );
30883
30946
30947extern std::vector<std::string> FindContainerParmIDs( const std::string & parm_container_id );
30948
30975
30976extern std::string GetVehicleID();
30977
30978
30979//======================== User Parm Functions ======================//
31026
31027extern int GetNumUserParms();
31028
31057
31059
31101
31102extern std::vector < std::string > GetAllUserParms();
31103
31128
31129extern std::string GetUserParmContainer();
31130
31167
31168extern std::string AddUserParm(int type, const std::string & name, const std::string & group );
31169
31209
31210extern void DeleteUserParm( const std::string & id );
31211
31262
31263extern void DeleteAllUserParm();
31264
31265
31266//======================== Snap To Functions ======================//
31337
31338extern double ComputeMinClearanceDistance( const std::string & geom_id, int set = SET_ALL, bool useMode = false, const std::string &modeID = std::string() );
31339 // TODO: Validate inc_flag description
31417
31418extern 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() );
31419
31420
31421//======================== Fit Model Functions ======================//
31422
31457
31458extern void ResetFitModel();
31459
31513
31514extern int AddFitModelTargetPt( const std::string & geom_id, int surf_indx, const vec3d & pt, int u_type = FIT_MODEL_FREE, int w_type = FIT_MODEL_FREE, double u = 0.0, double w = 0.0 );
31515
31560
31561extern int AddFitModelTargetPtFixedU( const std::string & geom_id, int surf_indx, const vec3d & pt, double u );
31562
31607
31608extern int AddFitModelTargetPtFixedW( const std::string & geom_id, int surf_indx, const vec3d & pt, double w );
31609
31652
31653extern int AddFitModelTargetPtFixedUW( const std::string & geom_id, int surf_indx, const vec3d & pt, double u, double w );
31654
31655
31709
31710extern void AddFitModelTargetPts( const std::string & geom_id, int surf_indx, const std::vector < vec3d > & pt_vec );
31711
31764
31765extern void AddFitModelTargetPtsFixedU( const std::string & geom_id, int surf_indx, const std::vector < vec3d > & pt_vec, double u );
31766
31816
31817extern void AddFitModelTargetPtsFixedUs( const std::string & geom_id, int surf_indx, const std::vector < vec3d > & pt_vec, const std::vector < double > & u_vec );
31818
31871
31872extern void AddFitModelTargetPtsFixedW( const std::string & geom_id, int surf_indx, const std::vector < vec3d > & pt_vec, double w );
31873
31923
31924extern void AddFitModelTargetPtsFixedWs( const std::string & geom_id, int surf_indx, const std::vector < vec3d > & pt_vec, const std::vector < double > & w_vec );
31925
31979
31980extern void AddFitModelTargetPtsFixedUW( const std::string & geom_id, int surf_indx, const std::vector < vec3d > & pt_vec, double u, double w );
31981
32040
32041extern void AddFitModelTargetPtsFixedUWs( const std::string & geom_id, int surf_indx, const std::vector < vec3d > & pt_vec, const std::vector < double > & u_vec, const std::vector < double > & w_vec );
32042
32080
32081extern void DelFitModelTargetPt( int index );
32082
32117
32119
32164
32166
32220
32221extern int MoveFitModelTargetPt( int index, int reorder_type );
32222
32254
32256
32298
32299extern vec3d GetFitModelTargetPt( int index );
32300
32337
32338extern void SetFitModelTargetPt( int index, const vec3d & pt );
32339
32372
32373extern std::string GetFitModelTargetPtGeom( int index );
32374
32415
32416extern void SetFitModelTargetPtGeom( int index, const std::string & geom_id );
32417
32458
32459extern int GetFitModelTargetPtSurfIndx( int index );
32460
32511
32512extern void SetFitModelTargetPtSurfIndx( int index, int surf_indx );
32513
32546
32547extern double GetFitModelTargetPtU( int index );
32548
32581
32582extern double GetFitModelTargetPtW( int index );
32583
32625
32626extern double GetFitModelTargetPtDist( int index );
32627
32666
32667extern void SetFitModelTargetPtUW( int index, double u, double w );
32668
32701
32702extern int GetFitModelTargetPtUType( int index );
32703
32740
32741extern void SetFitModelTargetPtUType( int index, int u_type );
32742
32775
32776extern int GetFitModelTargetPtWType( int index );
32777
32815
32816extern void SetFitModelTargetPtWType( int index, int w_type );
32817
32859
32861
32899
32900extern void AddFitModelVar( const std::string & parm_id );
32901
32941
32942extern void DelFitModelVar( const std::string & parm_id );
32943
32978
32980
33012
33014
33052
33053extern std::string GetFitModelVar( int index );
33054
33090
33091extern std::vector < std::string > GetFitModelVarVec();
33092
33134
33136
33177
33179
33213
33214extern double UpdateFitModelDist();
33215
33252
33253extern double GetFitModelDist();
33254
33291
33293
33370
33371extern int OptimizeFitModel();
33372
33424
33425extern bool CanUndoFitModel();
33426
33496
33497extern bool UndoFitModel();
33498
33534
33535extern void SaveFitModelFile( const std::string & file_name );
33536
33582
33583extern int LoadFitModelFile( const std::string & file_name );
33584
33585
33586
33587//======================== Point Cloud Functions ======================//
33588
33628
33629extern std::string CreatePtCloudGeomFromPts( const std::vector < vec3d > & pt_vec, const std::string & name );
33630
33670
33671extern std::vector < vec3d > KeepPtsInBBox( const std::vector < vec3d > & pt_vec, const vec3d & min_pt, const vec3d & max_pt );
33672
33712
33713extern std::vector < vec3d > RemovePtsInBBox( const std::vector < vec3d > & pt_vec, const vec3d & min_pt, const vec3d & max_pt );
33714
33754
33755extern std::vector < vec3d > KeepPtsInRange( const std::vector < vec3d > & pt_vec, int dir_index, double low, double high );
33756
33796
33797extern std::vector < vec3d > RemovePtsInRange( const std::vector < vec3d > & pt_vec, int dir_index, double low, double high );
33798
33839
33840extern std::vector < vec3d > KeepPtsAbove( const std::vector < vec3d > & pt_vec, int dir_index, double val );
33841
33881
33882extern std::vector < vec3d > KeepPtsBelow( const std::vector < vec3d > & pt_vec, int dir_index, double val );
33883
33922
33923extern std::vector < vec3d > KeepPtsNearPt( const std::vector < vec3d > & pt_vec, const vec3d & center, double radius );
33924
33963
33964extern std::vector < vec3d > RemovePtsNearPt( const std::vector < vec3d > & pt_vec, const vec3d & center, double radius );
33965
34014
34015extern std::vector < vec3d > KeepPtsNearGeom( const std::vector < vec3d > & pt_vec, const std::string & geom_id, int surf_indx, double tol );
34016
34063
34064extern std::vector < vec3d > RemovePtsNearGeom( const std::vector < vec3d > & pt_vec, const std::string & geom_id, int surf_indx, double tol );
34065
34114
34115extern std::vector < vec3d > UniquePts( const std::vector < vec3d > & pt_vec, double tol );
34116
34161
34162extern std::vector < vec3d > UnionPts( const std::vector < vec3d > & pt_vec_a, const std::vector < vec3d > & pt_vec_b, double tol );
34163
34207
34208extern std::vector < vec3d > IntersectPts( const std::vector < vec3d > & pt_vec_a, const std::vector < vec3d > & pt_vec_b, double tol );
34209
34253
34254extern std::vector < vec3d > SubtractPts( const std::vector < vec3d > & pt_vec_a, const std::vector < vec3d > & pt_vec_b, double tol );
34255
34256
34257//======================== Variable Preset Functions ======================//
34258
34289
34290extern std::string AddVarPresetGroup( const std::string &group_name );
34291
34328
34329extern std::string AddVarPresetSetting( const std::string &group_id, const std::string &setting_name );
34330
34417
34418extern void AddVarPresetParm( const std::string &group_id, const std::string &parm_id );
34419
34471
34512
34514
34542
34543extern void DeleteVarPresetGroup( const std::string &group_id );
34544
34597
34657
34658extern void DeleteAllVarPresetSettings( const std::string &group_id );
34659
34692
34693extern void DeleteVarPresetSetting( const std::string &group_id, const std::string &setting_id );
34694
34747
34748extern void DeleteVarPresetParm( const std::string &group_id, const std::string &parm_id );
34749
34802
34803extern void SetVarPresetParmVal( const std::string &group_id, const std::string &setting_id, const std::string &parm_id, double parm_val );
34804
34882
34883extern double GetVarPresetParmVal( const std::string &group_id, const std::string &setting_id, const std::string &parm_id );
34884
34921
34922extern std::string GetGroupName( const std::string &group_id );
34923
34964
34965extern std::string GetSettingName( const std::string &setting_id );
34966
35005
35006extern void SetGroupName( const std::string &group_id, const std::string &group_name );
35007
35050
35051extern void SetSettingName( const std::string &setting_id, const std::string &setting_name );
35052
35100
35101extern std::vector< std::string > GetVarPresetGroups();
35102
35151
35152extern std::vector< std::string > GetVarPresetSettings( const std::string &group_id );
35153
35202
35203extern std::vector< std::string > GetVarPresetParmIDs( const std::string &group_id );
35204
35254
35255extern std::vector< double > GetVarPresetParmVals( const std::string &setting_id );
35256
35311
35312extern void SetVarPresetParmVals( const std::string &setting_id, const std::vector< double > &parm_vals );
35313
35376
35377extern void SaveVarPresetParmVals( const std::string &group_id, const std::string &setting_id );
35378
35453
35454extern void ApplyVarPresetSetting( const std::string &group_id, const std::string &setting_id );
35455
35456//======================== Mode Functions ======================//
35457
35620
35621extern std::string CreateAndAddMode( const std::string & name, int normal_set, int degen_set );
35622
35786
35787extern int GetNumModes();
35788
35950
35951extern std::vector < std::string > GetAllModes();
35952
36118
36119extern void DelMode( const std::string &mid );
36120
36283
36284extern void DelAllModes();
36285
36500
36556
36557extern std::string GetModeName( const std::string &mid );
36558
36609
36610extern void SetModeName( const std::string &mid, const std::string &name );
36611
36635
36636extern void ApplyModeSettings( const std::string &mid );
36637
36835
36836extern void ShowOnlyMode( const std::string &mid );
36837
37054
37055extern void ModeAddGroupSetting( const std::string &mid, const std::string &gid, const std::string &sid );
37056
37222
37223extern std::string ModeGetGroup( const std::string &mid, int indx );
37224
37390
37391extern std::string ModeGetSetting( const std::string &mid, int indx );
37392
37571
37572extern std::vector < std::string > ModeGetAllGroups( const std::string &mid );
37573
37742
37743extern std::vector < std::string > ModeGetAllSettings( const std::string &mid );
37744
37918
37919extern void RemoveGroupSetting( const std::string &mid, int indx );
37920
38094
38095extern void RemoveAllGroupSettings( const std::string &mid );
38096
38097//======================== Parametric Curve Functions ======================//
38143
38144extern void SetPCurve( const std::string & geom_id, const int & pcurveid, const std::vector < double > & tvec,
38145
38146 const std::vector < double > & valvec, const int & newtype );
38184
38185extern void PCurveConvertTo( const std::string & geom_id, const int & pcurveid, const int & newtype );
38186
38220
38221extern int PCurveGetType( const std::string & geom_id, const int & pcurveid );
38222
38255
38256extern std::vector < double > PCurveGetTVec( const std::string & geom_id, const int & pcurveid );
38257
38294
38295extern std::vector < double > PCurveGetValVec( const std::string & geom_id, const int & pcurveid );
38296
38349
38350extern void PCurveDeletePt( const std::string & geom_id, const int & pcurveid, const int & indx );
38351
38393
38394extern int PCurveSplit( const std::string & geom_id, const int & pcurveid, const double & tsplit );
38395
38473
38474extern void ApproximateAllPropellerPCurves( const std::string & geom_id );
38475
38525
38526extern void ResetPropellerThickness( const std::string & geom_id );
38527
38647
38648extern void ResetPropellerThicknessCurve( const std::string & geom_id );
38649
38650
38651//======================== VSPAERO Functions ======================//
38790
38792
38831
38925
38980
38981extern std::string AddCpSlice( int cut_type, double location );
38982
39030
39031extern int GetNumCpSlices();
39032
39097
39098extern std::string GetCpSliceID( int slice_index );
39099
39167
39168extern void DelCpSlice( int slice_index );
39169
39218
39219extern void DeleteAllCpSlices();
39220
39256
39257extern void DeleteVSPAEROControlSurfaceGroup( int CSGroupIndex );
39258
39290
39292
39371
39372extern void AddAllToVSPAEROControlSurfaceGroup( int CSGroupIndex );
39373
39437
39438extern void RemoveAllFromVSPAEROControlSurfaceGroup( int CSGroupIndex );
39439
39496
39497extern std::vector < std::string > GetActiveCSNameVec( int CSGroupIndex );
39498
39548
39549extern std::vector < std::string > GetCompleteCSNameVec();
39550
39619
39620extern std::vector < std::string > GetAvailableCSNameVec( int CSGroupIndex );
39621
39694
39695extern void SetVSPAEROControlGroupName(const std::string & name, int CSGroupIndex);
39696
39762
39763extern std::string GetVSPAEROControlGroupName( int CSGroupIndex );
39764
39835
39836extern void AddSelectedToCSGroup( const std::vector <int> &selected, int CSGroupIndex);
39837
39929
39930extern void RemoveSelectedFromCSGroup( const std::vector <int> &selected, int CSGroupIndex);
39931
39988
39990
40073
40074extern std::string FindControlSurfaceGroup( int group_index );
40075
40076
40077//================ VSPAERO Actuator Disk and Unsteady Functions ==============//
40131
40132extern std::string FindActuatorDisk( int disk_index );
40133
40205
40207
40259
40260extern std::string FindUnsteadyGroup( int group_index );
40261
40344
40345extern std::string GetUnsteadyGroupName( int group_index );
40346
40391
40392extern std::vector < std::string > GetUnsteadyGroupCompIDs( int group_index );
40393
40438
40439extern std::vector < int > GetUnsteadyGroupSurfIndexes( int group_index );
40440
40525
40527
40613
40615
40616
40617//======================== Parasite Drag Tool Functions ======================//
40686
40687extern void AddExcrescence(const std::string & excresName, const int & excresType, const double & excresVal);
40688
40748
40800
40802
40857
40859
40887
40888extern void DeleteExcrescence(const int & index);
40889
40915
40917
40977
40978extern std::string ExportParasiteDragToCSV( const std::string & file_name );
40979
41026
41027extern void WriteAtmosphereCSVFile( const std::string & file_name, const int &atmos_type );
41028
41119
41120extern void CalcAtmosphere( const double & alt, const double & delta_temp, const int & atmos_type,
41121
41122 double & temp, double & pres, double & pres_ratio, double & rho_ratio );
41164
41165extern void WriteBodyFFCSVFile( const std::string & file_name );
41166
41208
41209extern void WriteWingFFCSVFile( const std::string & file_name );
41210 // TODO: Improve description
41252
41272
41273extern void WriteCfEqnCSVFile( const std::string & file_name );
41274 // TODO: Improve description
41316
41336
41337extern void WritePartialCfMethodCSVFile( const std::string & file_name );
41338
41339
41340//======================== Surface Query Functions ======================//
41419
41420extern vec3d CompPnt01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
41421
41472
41473extern vec3d CompNorm01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
41474
41525
41526extern vec3d CompTanU01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
41527
41578
41579extern vec3d CompTanW01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
41580
41659
41660extern void CompCurvature01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w,
41661 double &k1_out, double &k2_out, double &ka_out, double &kg_out);
41662
41738
41739extern double ProjPnt01(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &u_out, double &w_out);
41740
41823
41824extern double ProjPnt01I(const std::string &geom_id, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
41825
41908
41909extern 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);
41910
41911
41988
41989extern double AxisProjPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, double &u_out, double &w_out);
41990
42069
42070extern double AxisProjPnt01I(const std::string &geom_id, const int &iaxis, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
42071
42185
42186extern 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);
42187
42259
42260extern bool InsideSurf( const std::string &geom_id, const int &surf_indx, const vec3d &pt );
42261
42262
42347
42348extern vec3d CompPntRST( const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t );
42349
42416
42417extern double FindRST( const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &r_out, double &s_out, double &t_out );
42418
42497
42498extern 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 );
42499
42500
42562
42563extern 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 );
42564
42618
42619extern void ConvertRtoL( const std::string &geom_id, const int &surf_indx, const double &r, double &l_out );
42620
42708
42709extern 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 );
42786extern void ConvertLtoR( const std::string &geom_id, const int &surf_indx, const double &l, double &r_out );
42787
42844
42845extern void ConvertUtoEta( const std::string &geom_id, const double &u, double &eta_out );
42846
42898
42899extern void ConvertEtatoU( const std::string &geom_id, const double &eta, double &u_out );
42900
42901
42979
42980extern 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);
42981
43066
43067extern 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);
43068
43134
43135extern std::vector < vec3d > CompVecNorm01(const std::string &geom_id, const int &surf_indx, const std::vector < double > &us, const std::vector < double > &ws);
43136
43247
43248extern 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);
43249
43336
43337extern 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 );
43338
43476
43477extern 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 );
43478
43479
43620
43621extern 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 );
43622
43774
43775extern 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 );
43776
43863
43864extern std::vector < bool > VecInsideSurf( const std::string &geom_id, const int &surf_indx, const std::vector < vec3d > &pts );
43865
43866
43960
43961extern 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 );
43962
44052
44053extern 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 );
44054
44162
44163extern 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 );
44164
44165
44245
44246extern 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,
44247 std::vector < double > &l_out_vec, std::vector < double > &m_out_vec, std::vector < double > &n_out_vec );
44248
44365
44366extern 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,
44367 std::vector < double > &r_out_vec, std::vector < double > &s_out_vec, std::vector < double > &t_out_vec );
44368
44449
44450extern void GetUWTess01(const std::string &geom_id, const int &surf_indx, std::vector < double > &u_out_vec, std::vector < double > &w_out_vec);
44451
44452
44453//======================= Measure Functions ============================//
44507
44578
44627
44628extern void ShowAllRulers();
44629
44660
44661extern void HideAllRulers();
44662
44693
44694extern void ShowAllProbes();
44695
44726
44727extern void HideAllProbes();
44728
44759
44761
44792
44794
44825
44826extern void ShowAllRSTProbes();
44827
44858
44859extern void HideAllRSTProbes();
44860
44910
44911extern std::string AddProtractor( const std::string & startgeomid, int startsurfindx, double startu, double startw,
44912 const std::string & midgeomid, int midsurfindx, double midu, double midw,
44913 const std::string & endgeomid, int endsurfindx, double endu, double endw, const std::string & name );
44914
44959
44960extern std::vector < std::string > GetAllProtractors();
44961
45006
45007extern void DelProtractor( const std::string &id );
45008
45045
45047
45117
45118extern std::string AddRSTProbe( const std::string & geomid, int surfindx, double r, double s, double t, const std::string & name );
45119
45164
45165extern std::vector < std::string > GetAllRSTProbes();
45166
45211
45212extern void DelRSTProbe( const std::string &id );
45213
45263
45265
45310
45311extern std::string AddRuler( const std::string & startgeomid, int startsurfindx, double startu, double startw,
45312 const std::string & endgeomid, int endsurfindx, double endu, double endw, const std::string & name );
45374
45375extern std::vector < std::string > GetAllRulers();
45376
45433
45434extern void DelRuler( const std::string &id );
45435
45485
45486extern void DeleteAllRulers();
45487
45488
45530
45531extern std::string AddProbe( const std::string & geomid, int surfindx, double u, double w, const std::string & name );
45532
45577
45578extern std::vector < std::string > GetAllProbes();
45579
45622
45623extern void DelProbe( const std::string &id );
45624
45666
45667extern void DeleteAllProbes();
45668
45669
45670//======================== Parm Link Functions ======================//
45671
45776
45858
45859extern void CopyAirfoil( const std::string & geom_id, int index );
45860
45899
45900extern void PasteAirfoil( const std::string & geom_id, int index );
45901
45997
45998extern void ClearSkinning( const std::string & geom_id, int index = -1 );
45999
46077
46078extern void ResetGeomScale( const std::string & geom_id );
46079
46142
46209
46210extern void AcceptGeomScale( const std::string & geom_id );
46211
46276
46277extern std::vector < vec3d > GetPtCloudPnts( const std::string & geom_id );
46278
46317
46318extern std::string CreatePtCloudGeom( const std::string & geom_id );
46319
46381
46382extern std::string CreateNGonMeshGeom( const std::string & geom_id );
46383
46467
46468extern std::string CreateConvexHull( const std::string & geom_id );
46469
46541
46542extern void ProjectPtCloudPts( const std::string & geom_id, const std::string & target_geom_id, int surf_index, int dir_index );
46543
46616
46617extern void ShowSet( int set_index );
46618
46650
46651extern void NoShowSet( int set_index );
46652
46700
46701extern void ShowOnlySet( int set_index );
46702
46746
46747extern std::string AddParmLink( const std::string & parm_a_id, const std::string & parm_b_id );
46748
46806
46807extern int GetNumParmLinks();
46808
46875
46876extern std::string GetParmLinkID( int index );
46877
46964
46965extern std::string GetParmLinkAParm( const std::string & link_id );
46966
47017
47018extern std::string GetParmLinkBParm( const std::string & link_id );
47019
47078
47079extern void SetParmLinkAParm( const std::string & link_id, const std::string & parm_id );
47080
47139
47140extern void SetParmLinkBParm( const std::string & link_id, const std::string & parm_id );
47141
47211
47212extern void DelParmLink( const std::string & link_id );
47213
47263
47264extern void DelAllParmLinks();
47265
47318
47319extern void SortParmLinksByA();
47320
47373
47374extern void SortParmLinksByB();
47375
47432
47433extern bool LinkAllComp( const std::string & parm_a_id, const std::string & parm_b_id );
47434
47497
47498extern bool LinkAllGroup( const std::string & parm_a_id, const std::string & parm_b_id );
47499
47554
47555extern bool GetParmLinkOffsetFlag( const std::string & link_id );
47556
47618
47619extern void SetParmLinkOffsetFlag( const std::string & link_id, bool flag );
47620
47675
47676extern bool GetParmLinkScaleFlag( const std::string & link_id );
47677
47739
47740extern void SetParmLinkScaleFlag( const std::string & link_id, bool flag );
47741
47796
47797extern bool GetParmLinkLowerLimitFlag( const std::string & link_id );
47798
47860
47861extern void SetParmLinkLowerLimitFlag( const std::string & link_id, bool flag );
47862
47917
47918extern bool GetParmLinkUpperLimitFlag( const std::string & link_id );
47919
47981
47982extern void SetParmLinkUpperLimitFlag( const std::string & link_id, bool flag );
47983
47984//======================= Advanced Link Functions ============================//
47985
48039
48040extern std::vector< std::string > GetAdvLinkNames();
48041
48119
48120extern int GetLinkIndex( const std::string & name );
48121
48225
48300
48301extern std::string GetAdvLinkName( int index );
48302
48370
48371extern void SetAdvLinkName( int index, const std::string & name );
48372
48400
48401extern void DelAdvLink( int index );
48402
48495
48496extern void DelAllAdvLinks();
48497
48573
48574extern void AddAdvLink( const std::string & name );
48575
48653
48654extern void AddAdvLinkInput( int index, const std::string & parm_id, const std::string & var_name );
48655
48733
48734extern void AddAdvLinkOutput( int index, const std::string & parm_id, const std::string & var_name );
48735
48834
48904
48905extern void DelAllAdvLinkInputs( int index );
48906
48976
48977extern void DelAllAdvLinkOutputs( int index );
48978
49023
49024extern void DelAdvLinkInput( int index, const std::string & var_name );
49025
49124
49125extern void DelAdvLinkOutput( int index, const std::string & var_name );
49126
49191
49192extern std::vector< std::string > GetAdvLinkInputNames( int index );
49193
49258
49259extern std::vector< std::string > GetAdvLinkInputParms( int index );
49260
49325
49326extern std::vector< std::string > GetAdvLinkOutputNames( int index );
49327
49392
49393extern std::vector< std::string > GetAdvLinkOutputParms( int index );
49394
49468
49469extern bool ValidateAdvLinkParms( int index );
49470
49547
49548extern void SetAdvLinkCode( int index, const std::string & code );
49549
49609
49610extern std::string GetAdvLinkCode( int index );
49611
49707
49708extern void SearchReplaceAdvLinkCode( int index, const std::string & from, const std::string & to );
49709
49779
49780extern bool BuildAdvLinkScript( int index );
49781
49847
49848extern void WriteAdvLinkCodeFile( int index, const std::string & file_name );
49849
49904
49905extern void ReorderAdvLinkInput( int index, const std::string & var_name, int reorder_type );
49906
49962
49963extern void ReorderAdvLinkOutput( int index, const std::string & var_name, int reorder_type );
49964
50034
50035extern void ReadAdvLinkCodeFile( int index, const std::string & file_name );
50036
50090
50091extern void SortAdvLinkInputsVar( int index );
50092
50148
50149extern void SortAdvLinkInputsCGP( int index );
50150
50202
50203extern void SortAdvLinkOutputsVar( int index );
50204
50259
50260extern void SortAdvLinkOutputsCGP( int index );
50261
50262
50263} // End vsp namespace
50264
50265#endif // !defined(VSPAPI__INCLUDED_)
double Rad2Deg(double r)
bool CheckForVSPAERO(const std::string &path)
bool CheckForVSPHelp(const std::string &path)
int GetVSPVersionChange()
double Min(double x, double y)
std::string GetVSPVersion()
int GetVSPVersionMinor()
bool SetVSPHelpPath(const std::string &path)
std::string GetVSPHelpPath()
bool SetVSPAEROPath(const std::string &path)
double Deg2Rad(double d)
std::string GetVSPExePath()
std::string GetVSPAEROPath()
int GetVSPVersionMajor()
void VSPRenew()
double Max(double x, double y)
void VSPCheckSetup()
void Print(const std::string &data, bool new_line=true)
std::vector< std::string > GetAnalysisInputNames(const std::string &analysis)
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 DeleteGeometryAnalysis(const std::string &id)
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 SetBORXSecPnts(const std::string &bor_id, std::vector< vec3d > &pnt_vec)
void PromoteBORCSTUpper(const std::string &bor_id)
void SetBORUpperCST(const std::string &bor_id, int deg, const std::vector< double > &coefs)
void SetBORLowerCST(const std::string &bor_id, int deg, const std::vector< double > &coefs)
vec3d ComputeBORXSecTan(const std::string &bor_id, double fract)
int GetBORUpperCSTDegree(const std::string &bor_id)
void DemoteBORCSTLower(const std::string &bor_id)
void PromoteBORCSTLower(const std::string &bor_id)
std::vector< double > GetBORUpperCSTCoefs(const std::string &bor_id)
int GetBORXSecShape(const std::string &bor_id)
std::vector< vec3d > ReadBORFileXSec(const std::string &bor_id, const std::string &file_name)
std::vector< vec3d > GetBORAirfoilUpperPnts(const std::string &bor_id)
void DemoteBORCSTUpper(const std::string &bor_id)
int GetBORLowerCSTDegree(const std::string &bor_id)
void SetBORAirfoilPnts(const std::string &bor_id, const std::vector< vec3d > &up_pnt_vec, const std::vector< vec3d > &low_pnt_vec)
void SetBORAirfoilLowerPnts(const std::string &bor_id, const std::vector< vec3d > &low_pnt_vec)
void SetBEMPropID(const std::string &prop_id)
std::string AddBackground3D()
void ShowAllBackground3Ds()
std::string GetBackground3DAbsolutePath(const std::string &id)
int GetNumBackground3Ds()
void SetBackground3DRelativePath(const std::string &id, const std::string &fname)
std::vector< std::string > GetAllBackground3DRelativePaths()
void DelBackground3D(const std::string &id)
void SetBackground3DAbsolutePath(const std::string &id, const std::string &fname)
std::vector< std::string > GetAllBackground3DAbsolutePaths()
void DelAllBackground3Ds()
std::vector< std::string > GetAllBackground3Ds()
void HideAllBackground3Ds()
std::string GetBackground3DRelativePath(const std::string &id)
int GetCFDSourceType(const std::string &geom_id, int source_index)
std::string GetCFDFarFieldGeomID()
std::string GetComputationFileName(int file_type)
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 DeleteAllCFDSources()
void ComputeCFDMesh(int set, int degenset, int file_export_types)
void SetCFDWakeFlag(const std::string &geom_id, bool flag)
void AddDefaultSources()
void AdjustAllCFDSourceLen(double mult)
std::string GetCFDSourceName(const std::string &geom_id, int source_index)
void SetCFDMeshVal(int type, double val)
void SetComputationFileName(int file_type, const std::string &file_name)
void DeleteCFDSource(const std::string &geom_id, int source_index)
void SetCFDFarFieldGeomID(const std::string &geom_id)
int 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)
void DeleteVSPAEROControlSurfaceGroup(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 CreateVSPAEROControlSurfaceGroup()
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 FindControlSurfaceGroup(int group_index)
std::string GetCpSliceID(int slice_index)
void AutoGroupVSPAEROControlSurfaces()
int GetNumCpSlices()
std::string ComputeCompGeom(int set, bool half_mesh, int file_export_types)
double IntegrateEllipsoidFlow(const vec3d &abc_rad, const int &abc_index)
std::string ComputeMassProps(int set, int num_slices, int idir)
std::string ComputePlaneSlice(int set, int num_slices, const vec3d &norm, bool auto_bnd, double start_bnd=0, double end_bnd=0, bool measureduct=false)
void ComputeDegenGeom(int set, int file_export_types)
void WriteDESFile(const std::string &file_name)
int GetNumDesignVars()
void 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)
@ FIT_MODEL_FREE
Definition APIDefines.h:769
@ 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)
void DeleteFeaAssemblyStructure(const std::string &assembly_id, const std::string &struct_id)
std::vector< std::string > GetFeaStructIDVec()
int GetFeaMeshStructIndex()
void DeleteFeaSubSurf(const std::string &geom_id, int fea_struct_ind, const std::string &ss_id)
void DeleteFeaAssembly(const std::string &assembly_id)
int GetFeaPartType(const std::string &part_id)
int NumFeaParts(const std::string &fea_struct_id)
int NumFeaSubSurfs(const std::string &fea_struct_id)
void DeleteFeaTrimPart(const std::string &trim_id, int index)
std::vector< std::string > GetFeaMaterialIDVec()
void SetFeaMeshStructIndex(int struct_index)
void SetFeaMeshVal(const std::string &geom_id, int fea_struct_ind, int type, double val)
std::string InsertFeaPolySparPt(const std::string &pspar_id, int index)
std::string 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 NumFeaStructures()
int MoveFeaPolySparPt(const std::string &pspar_id, int index, int reorder_type)
std::string AddFeaProperty(int property_type=0)
void AddFeaAssemblyStructure(const std::string &assembly_id, const std::string &struct_id)
std::string AddFeaAssembly()
std::string GetFeaPolySparPtID(const std::string &pspar_id, int index)
void 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 ComputeFeaAssemblyMesh(const std::string &assembly_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::string AddFeaMaterial()
void SetFeaMeshFileName(const std::string &geom_id, int fea_struct_ind, int file_type, const std::string &file_name)
std::vector< std::string > GetFeaPropertyIDVec()
std::string AddFeaPart(const std::string &geom_id, int fea_struct_ind, int type)
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::string GetFeaAssemblyConnectionID(const std::string &assembly_id, int connection_index)
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)
void SearchFitModelTargetUW()
int GetNumFitModelOptVars()
int GetFitModelTargetPtUType(int index)
void AddFitModelTargetPtsFixedUWs(const std::string &geom_id, int surf_indx, const std::vector< vec3d > &pt_vec, const std::vector< double > &u_vec, const std::vector< double > &w_vec)
void AddFitModelTargetPts(const std::string &geom_id, int surf_indx, const std::vector< vec3d > &pt_vec)
int GetNumFitModelVars()
std::string GetFitModelVar(int index)
void ResetFitModel()
int AddFitModelTargetPt(const std::string &geom_id, int surf_indx, const vec3d &pt, int u_type=FIT_MODEL_FREE, int w_type=FIT_MODEL_FREE, double u=0.0, double w=0.0)
void SetFitModelTargetPtWType(int index, int w_type)
double UpdateFitModelDist()
void SetFitModelTargetPtUW(int index, double u, double w)
int GetFitModelTargetPtSurfIndx(int index)
vec3d GetFitModelTargetPtSurfPt(int index)
void AddFitModelTargetPtsFixedW(const std::string &geom_id, int surf_indx, const std::vector< vec3d > &pt_vec, double w)
int LoadFitModelFile(const std::string &file_name)
std::vector< std::string > GetFitModelVarVec()
void SortFitModelTargetPtsByDist()
void DelFitModelVar(const std::string &parm_id)
std::string GetFitModelTargetPtGeom(int index)
int OptimizeFitModel()
int AddFitModelTargetPtFixedU(const std::string &geom_id, int surf_indx, const vec3d &pt, double u)
int GetNumFitModelTargetPts()
void AddFitModelTargetPtsFixedWs(const std::string &geom_id, int surf_indx, const std::vector< vec3d > &pt_vec, const std::vector< double > &w_vec)
void DelAllFitModelVars()
double GetFitModelTargetPtW(int index)
void SetFitModelTargetPtSurfIndx(int index, int surf_indx)
double GetFitModelDist()
double GetFitModelTargetPtDist(int index)
vec3d GetFitModelTargetPt(int index)
int GetFitModelTargetPtWType(int index)
bool UndoFitModel()
void DelFitModelTargetPt(int index)
void SetFitModelTargetPtGeom(int index, const std::string &geom_id)
void SetFitModelTargetPtUType(int index, int u_type)
void DelAllFitModelTargetPts()
void AddFitModelTargetPtsFixedUW(const std::string &geom_id, int surf_indx, const std::vector< vec3d > &pt_vec, double u, double w)
void RefineFitModelTargetUW()
void SaveFitModelFile(const std::string &file_name)
bool CanUndoFitModel()
int AddFitModelTargetPtFixedW(const std::string &geom_id, int surf_indx, const vec3d &pt, double w)
void AddFitModelVar(const std::string &parm_id)
void AddFitModelTargetPtsFixedU(const std::string &geom_id, int surf_indx, const std::vector< vec3d > &pt_vec, double u)
double GetFitModelTargetPtU(int index)
int AddFitModelTargetPtFixedUW(const std::string &geom_id, int surf_indx, const vec3d &pt, double u, double w)
int MoveFitModelTargetPt(int index, int reorder_type)
void SetFitModelTargetPt(int index, const vec3d &pt)
void AddFitModelTargetPtsFixedUs(const std::string &geom_id, int surf_indx, const std::vector< vec3d > &pt_vec, const std::vector< double > &u_vec)
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 SetGeomMaterialName(const std::string &geom_id, const std::string &name)
void ProjectPtCloudPts(const std::string &geom_id, const std::string &target_geom_id, int surf_index, int dir_index)
void ResetGeomScale(const std::string &geom_id)
vec3d GetGeomBBoxMin(const std::string &geom_id, int main_surf_ind=0, bool ref_frame_is_absolute=true)
void 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()
std::string AddProtractor(const std::string &startgeomid, int startsurfindx, double startu, double startw, const std::string &midgeomid, int midsurfindx, double midu, double midw, const std::string &endgeomid, int endsurfindx, double endu, double endw, const std::string &name)
void 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)
std::string AddRuler(const std::string &startgeomid, int startsurfindx, double startu, double startw, const std::string &endgeomid, int endsurfindx, double endu, double endw, const std::string &name)
int GetNumModes()
std::vector< std::string > ModeGetAllSettings(const std::string &mid)
void DelMode(const std::string &mid)
std::vector< std::string > GetAllModes()
std::string 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 ApplyModeSettings(const std::string &mid)
void ShowOnlyMode(const std::string &mid)
void DelAllModes()
void SetModeName(const std::string &mid, const std::string &name)
std::string GetModeName(const std::string &mid)
std::string CreateAndAddMode(const std::string &name, int normal_set, int degen_set)
void SetPCurve(const std::string &geom_id, const int &pcurveid, const std::vector< double > &tvec, const std::vector< double > &valvec, const int &newtype)
std::vector< double > PCurveGetValVec(const std::string &geom_id, const int &pcurveid)
std::vector< double > PCurveGetTVec(const std::string &geom_id, const int &pcurveid)
void ApproximateAllPropellerPCurves(const std::string &geom_id)
void PCurveDeletePt(const std::string &geom_id, const int &pcurveid, const int &indx)
void ResetPropellerThicknessCurve(const std::string &geom_id)
int PCurveSplit(const std::string &geom_id, const int &pcurveid, const double &tsplit)
int PCurveGetType(const std::string &geom_id, const int &pcurveid)
void PCurveConvertTo(const std::string &geom_id, const int &pcurveid, const int &newtype)
void WriteBodyFFCSVFile(const std::string &file_name)
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)
void DeleteExcrescence(const int &index)
std::string GetVehicleID()
std::string GetUserParmContainer()
std::vector< std::string > FindContainerGroupNames(const std::string &parm_container_id)
std::vector< std::string > GetAllUserParms()
void DeleteAllUserParm()
void DeleteUserParm(const std::string &id)
void SetContainerName(const std::string &parm_container_id, const std::string &name)
std::string FindContainer(const std::string &name, int index)
std::vector< std::string > FindContainerParmIDs(const std::string &parm_container_id)
int GetNumUserParms()
int GetNumPredefinedUserParms()
std::vector< std::string > FindContainers()
std::vector< std::string > FindContainersWithName(const std::string &name)
std::string GetContainerName(const std::string &parm_container_id)
std::string AddUserParm(int type, const std::string &name, const std::string &group)
std::string FindParm(const std::string &parm_container_id, const std::string &parm_name, const std::string &group_name)
void SetParmUpperLimit(const std::string &parm_id, double val)
double GetParmLowerLimit(const std::string &parm_id)
std::string GetParmName(const std::string &parm_id)
int GetParmType(const std::string &parm_id)
bool ValidParm(const std::string &id)
std::string GetParmDescript(const std::string &parm_id)
int GetIntParmVal(const std::string &parm_id)
double SetParmVal(const std::string &parm_id, double val)
double SetParmValUpdate(const std::string &parm_id, double val)
double GetParmVal(const std::string &parm_id)
std::string GetParm(const std::string &geom_id, const std::string &name, const std::string &group)
void SetParmDescript(const std::string &parm_id, const std::string &desc)
double GetParmUpperLimit(const std::string &parm_id)
void SetParmLowerLimit(const std::string &parm_id, double val)
double SetParmValLimits(const std::string &parm_id, double val, double lower_limit, double upper_limit)
std::string GetParmDisplayGroupName(const std::string &parm_id)
bool GetBoolParmVal(const std::string &parm_id)
std::string GetParmGroupName(const std::string &parm_id)
std::string GetParmContainer(const std::string &parm_id)
std::vector< vec3d > KeepPtsNearGeom(const std::vector< vec3d > &pt_vec, const std::string &geom_id, int surf_indx, double tol)
std::string CreatePtCloudGeom(const std::string &geom_id)
std::vector< vec3d > KeepPtsInRange(const std::vector< vec3d > &pt_vec, int dir_index, double low, double high)
std::vector< vec3d > RemovePtsNearGeom(const std::vector< vec3d > &pt_vec, const std::string &geom_id, int surf_indx, double tol)
std::vector< vec3d > SubtractPts(const std::vector< vec3d > &pt_vec_a, const std::vector< vec3d > &pt_vec_b, double tol)
std::string CreatePtCloudGeomFromPts(const std::vector< vec3d > &pt_vec, const std::string &name)
std::vector< vec3d > RemovePtsInBBox(const std::vector< vec3d > &pt_vec, const vec3d &min_pt, const vec3d &max_pt)
std::vector< vec3d > KeepPtsInBBox(const std::vector< vec3d > &pt_vec, const vec3d &min_pt, const vec3d &max_pt)
std::vector< vec3d > RemovePtsNearPt(const std::vector< vec3d > &pt_vec, const vec3d &center, double radius)
std::vector< vec3d > KeepPtsAbove(const std::vector< vec3d > &pt_vec, int dir_index, double val)
std::vector< vec3d > KeepPtsNearPt(const std::vector< vec3d > &pt_vec, const vec3d &center, double radius)
std::vector< vec3d > IntersectPts(const std::vector< vec3d > &pt_vec_a, const std::vector< vec3d > &pt_vec_b, double tol)
std::vector< vec3d > RemovePtsInRange(const std::vector< vec3d > &pt_vec, int dir_index, double low, double high)
std::vector< vec3d > UnionPts(const std::vector< vec3d > &pt_vec_a, const std::vector< vec3d > &pt_vec_b, double tol)
std::vector< vec3d > KeepPtsBelow(const std::vector< vec3d > &pt_vec, int dir_index, double val)
std::vector< vec3d > UniquePts(const std::vector< vec3d > &pt_vec, double tol)
int GetNumResults(const std::string &name)
int GetNumData(const std::string &results_id, const std::string &data_name)
void PrintResults(const std::string &results_id)
const std::vector< vec3d > & GetVec3dResults(const std::string &id, const std::string &name, int index=0)
std::string GetResultsEntryDoc(const std::string &results_id, const std::string &data_name)
std::vector< std::string > GetAllResultsNames()
void DeleteResult(const std::string &id)
std::string FindLatestResultsID(const std::string &name)
const std::vector< int > & GetIntResults(const std::string &id, const std::string &name, int index=0)
std::string GetResultsName(const std::string &results_id)
const std::vector< std::vector< double > > & GetDoubleMatResults(const std::string &id, const std::string &name, int index=0)
const std::vector< double > & GetDoubleResults(const std::string &id, const std::string &name, int index=0)
int GetResultsType(const std::string &results_id, const std::string &data_name)
std::string GetResultsSetDoc(const std::string &results_id)
std::vector< std::string > GetAllDataNames(const std::string &results_id)
void WriteResultsCSVFile(const std::string &id, const std::string &file_name)
std::string FindResultsID(const std::string &name, int index=0)
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)
void SetIntersectSubSurfGeomID(const std::string &sub_id, const std::string &geom_id)
std::string GetIntersectSubSurfGeomID(const std::string &sub_id)
void IntersectSubSurf(const std::string &sub_id)
void DeleteSubSurf(const std::string &geom_id, const std::string &sub_id)
int GetSubSurfType(const std::string &sub_id)
void SetSubSurfName(const std::string &geom_id, const std::string &sub_id, const std::string &name)
std::vector< std::string > GetSubSurfParmIDs(const std::string &sub_id)
int GetSubSurfIndex(const std::string &sub_id)
void ReorderSubSurf(const std::string &geom_id, const std::string &sub_id, int reorder_type)
std::string GetSubSurf(const std::string &geom_id, int index)
void CompVecCurvature01(const std::string &geom_id, const int &surf_indx, const std::vector< double > &us, const std::vector< double > &ws, std::vector< double > &k1_out_vec, std::vector< double > &k2_out_vec, std::vector< double > &ka_out_vec, std::vector< double > &kg_out_vec)
vec3d CompTanU01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void AxisProjVecPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const std::vector< vec3d > &pts, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
double ProjPnt01(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &u_out, double &w_out)
vec3d CompPntRST(const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t)
void ConvertLMNtoRST(const std::string &geom_id, const int &surf_indx, const double &l, const double &m, const double &n, double &r_out, double &s_out, double &t_out)
void ProjVecPnt01Guess(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, const std::vector< double > &u0s, const std::vector< double > &w0s, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
void ProjVecPnt01(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
bool InsideSurf(const std::string &geom_id, const int &surf_indx, const vec3d &pt)
vec3d CompPnt01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void FindRSTVec(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, std::vector< double > &r_out_vec, std::vector< double > &s_out_vec, std::vector< double > &t_out_vec, std::vector< double > &d_out_vec)
double ProjPnt01Guess(const std::string &geom_id, const int &surf_indx, const vec3d &pt, const double &u0, const double &w0, double &u_out, double &w_out)
void ConvertLMNtoRSTVec(const std::string &geom_id, const int &surf_indx, const std::vector< double > &l_vec, const std::vector< double > &m_vec, const std::vector< double > &n_vec, std::vector< double > &r_out_vec, std::vector< double > &s_out_vec, std::vector< double > &t_out_vec)
void ConvertRSTtoLMN(const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t, double &l_out, double &m_out, double &n_out)
vec3d CompTanW01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void AxisProjVecPnt01Guess(const std::string &geom_id, const int &surf_indx, const int &iaxis, const std::vector< vec3d > &pts, const std::vector< double > &u0s, const std::vector< double > &w0s, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
void ConvertRSTtoLMNVec(const std::string &geom_id, const int &surf_indx, const std::vector< double > &r_vec, const std::vector< double > &s_vec, const std::vector< double > &t_vec, std::vector< double > &l_out_vec, std::vector< double > &m_out_vec, std::vector< double > &n_out_vec)
double ProjPnt01I(const std::string &geom_id, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out)
void FindRSTVecGuess(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, const std::vector< double > &r0s, const std::vector< double > &s0s, const std::vector< double > &t0s, std::vector< double > &r_out_vec, std::vector< double > &s_out_vec, std::vector< double > &t_out_vec, std::vector< double > &d_out_vec)
void ConvertRtoL(const std::string &geom_id, const int &surf_indx, const double &r, double &l_out)
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 DeleteVarPresetGroup(const std::string &group_id)
void SetVarPresetParmVal(const std::string &group_id, const std::string &setting_id, const std::string &parm_id, double parm_val)
std::string GetSettingName(const std::string &setting_id)
void ApplyVarPresetSetting(const std::string &group_id, const std::string &setting_id)
void DeleteAllVarPresetGroups()
std::vector< std::string > GetVarPresetParmIDs(const std::string &group_id)
std::string AddVarPresetGroup(const std::string &group_name)
void SetVarPresetParmVals(const std::string &setting_id, const std::vector< double > &parm_vals)
void AddVarPresetParm(const std::string &group_id, const std::string &parm_id)
void DeleteVarPresetParm(const std::string &group_id, const std::string &parm_id)
std::string GetGroupName(const std::string &group_id)
void SaveVarPresetParmVals(const std::string &group_id, const std::string &setting_id)
void DeleteAllVarPresetSettings(const std::string &group_id)
std::vector< std::string > GetVarPresetSettings(const std::string &group_id)
void DeleteVarPresetSetting(const std::string &group_id, const std::string &setting_id)
void VSPExit(int error_code)
int GetAndResetUpdateCount()
void Update(bool update_managers=true)
void ClearVSPModel()
std::string GetVSPFileName()
void VSPCrash(int crash_type)
void ResetViews()
void StopGUI()
void PopupMsg(const std::string &msg)
int GetGeomDrawType(const std::string &geom_id)
int GetGeomDisplayType(const std::string &geom_id)
bool IsGUIBuild()
void ScreenGrab(const std::string &fname, int w, int h, bool transparentBG, bool autocrop=false)
bool IsEventLoopRunning()
void SetViewAxis(bool vaxis)
int GetNumLights()
std::vector< std::string > GetMaterialNames()
void ShowScreen(int s)
void SetShowBorders(bool brdr)
void Lock()
void SetGUIElementDisable(int e, bool state)
void SetWindowLayout(int r, int c)
void SetAllViews(int view)
void AddMaterial(const std::string &name, const vec3d &ambient, const vec3d &diffuse, const vec3d &specular, const vec3d &emissive, const double &alpha, const double &shininess)
void HideScreen(int s)
void SetView(int viewport, int view)
void InitGUI()
void SetGeomScreenDisable(int s, bool state)
std::string GetGeomMaterialName(const std::string &geom_id)
void SetGeomWireColor(const std::string &geom_id, int r, int g, int b)
void UpdateGUI()
void SetGeomDrawType(const std::string &geom_id, int type)
vec3d GetGeomWireColor(const std::string &geom_id)
void Unlock()
std::string FindLight(int index)
void SetGeomDisplayType(const std::string &geom_id, int type)
void StartGUI()
void FitAllViews()
void SetBackground(double r, double g, double b)
void DisableStopGUIMenuItem()
void EnableStopGUIMenuItem()
void SetGUIScreenDisable(int s, bool state)
void InsertXSec(const std::string &geom_id, int index, int type)
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)
void SetXSecContinuity(const std::string &xsec_id, int cx)
int GetLowerCSTDegree(const std::string &xsec_id)
void SetXSecWidthHeight(const std::string &xsec_id, double w, double h)
void SetXSecPnts(const std::string &xsec_id, std::vector< vec3d > &pnt_vec)
void DemoteCSTUpper(const std::string &xsec_id)
std::vector< vec3d > GetAirfoilLowerPnts(const std::string &xsec_id)
void SetXSecWidth(const std::string &xsec_id, double w)
double GetXSecWidth(const std::string &xsec_id)
std::vector< std::string > GetXSecParmIDs(const std::string &xsec_id)
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)
void SetDriverGroup(const std::string &geom_id, int section_index, int driver_0, int driver_1=-1, int driver_2=-1)
std::string GetXSecParm(const std::string &xsec_id, const std::string &name)
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 SetXSecTanStrengths(const std::string &xsec_id, int side, double top, double right, double bottom, double left)
void ReadFileAirfoil(const std::string &xsec_id, const std::string &file_name)
void SetXSecTanAngles(const std::string &xsec_id, int side, double top, double right, double bottom, double left)
std::vector< vec3d > GetXSecPnts(const std::string &xsec_id)
std::vector< vec3d > GetHersheyBarDragDist(const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag=false)
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 SetXSecTanSlews(const std::string &xsec_id, int side, double top, double right, double bottom, double left)
void WriteBezierAirfoil(const std::string &file_name, const std::string &geom_id, const double &foilsurf_u)
int GetUpperCSTDegree(const std::string &xsec_id)
void SetXSecAlias(const std::string &id, const std::string &alias)
void SetXSecCurvatures(const std::string &xsec_id, int side, double top, double right, double bottom, double left)
double GetXSecHeight(const std::string &xsec_id)
void WriteSeligAirfoil(const std::string &file_name, const std::string &geom_id, const double &foilsurf_u)
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)
Definition Vec3d.h:238