OpenVSP API Documentation 3.41.2
 
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
189#if !defined(VSPAPI__INCLUDED_)
190#define VSPAPI__INCLUDED_
191
192#ifdef SWIG
193%feature("autodoc", 1);
194%feature("doxygen:ignore:forcpponly", range="end");
195%feature("doxygen:ignore:beginPythonOnly", range="end:endPythonOnly", contents="parse");
196
197#endif
198
199#include "Defines.h"
200
201#include "APIErrorMgr.h"
202#include "APIUpdateCountMgr.h"
203#include "Vec3d.h"
204#include "Matrix4d.h"
205
206#include <string>
207#include <stack>
208#include <vector>
209
210
211using std::string;
212using std::stack;
213using std::vector;
214
215namespace vsp
216{
217
218//======================== API Functions ================================//
246extern void VSPCheckSetup();
247
280extern void VSPRenew();
281
282
324extern void Update( bool update_managers = true );
325
334extern void VSPExit( int error_code );
335
344extern void VSPCrash( int crash_type );
345
359
360
384extern std::string GetVSPVersion();
385
418
451
484
510extern std::string GetVSPExePath();
511
512
543extern bool SetVSPAEROPath( const std::string & path );
544
571extern std::string GetVSPAEROPath();
572
604extern bool CheckForVSPAERO( const std::string & path );
605
636extern bool SetVSPHelpPath( const std::string & path );
637
663extern std::string GetVSPHelpPath();
664
694extern bool CheckForVSPHelp( const std::string & path );
695
696extern void RegisterCFDMeshAnalyses();
697
698
699//======================== File I/O ================================//
759extern void ReadVSPFile( const std::string & file_name );
760
821extern void WriteVSPFile( const std::string & file_name, int set = SET_ALL );
822
882extern void SetVSP3FileName( const std::string & file_name );
883
929extern std::string GetVSPFileName();
930
957extern void ClearVSPModel();
958
969extern void InsertVSPFile( const std::string & file_name, const std::string & parent_geom_id );
970
971
1008extern std::string ExportFile( const std::string & file_name, int thick_set, int file_type, int subsFlag = 1, int thin_set = vsp::SET_NONE );
1009
1022extern std::string ImportFile( const std::string & file_name, int file_type, const std::string & parent );
1023
1024
1055extern void SetBEMPropID( const string & prop_id );
1056
1057
1058//======================== Design Files ================================//
1059
1068extern void ReadApplyDESFile( const std::string & file_name );
1069
1078extern void WriteDESFile( const std::string & file_name );
1079
1088extern void ReadApplyXDDMFile( const std::string & file_name );
1089
1098extern void WriteXDDMFile( const std::string & file_name );
1099
1108extern int GetNumDesignVars();
1109
1120extern void AddDesignVar( const std::string & parm_id, int type );
1121
1130
1140extern std::string GetDesignVar( int index );
1141
1152extern int GetDesignVarType( int index );
1153
1154
1155//======================== Computations ================================//
1185extern void SetComputationFileName( int file_type, const std::string & file_name );
1186
1228extern std::string ComputeMassProps( int set, int num_slices, int idir );
1229
1269extern std::string ComputeCompGeom( int set, bool half_mesh, int file_export_types );
1270
1318extern std::string ComputePlaneSlice( int set, int num_slices, const vec3d & norm, bool auto_bnd,
1319
1320 double start_bnd = 0, double end_bnd = 0, bool measureduct = false );
1350extern void ComputeDegenGeom( int set, int file_export_types );
1351
1384extern void ComputeCFDMesh( int set, int degenset, int file_export_types );
1385
1407extern void SetCFDMeshVal( int type, double val );
1408
1443extern void SetCFDWakeFlag( const std::string & geom_id, bool flag );
1444
1474
1499extern void AddDefaultSources();
1500
1537extern void AddCFDSource( int type, const std::string & geom_id, int surf_index,
1538
1539 double l1, double r1, double u1, double w1,
1540 double l2 = 0, double r2 = 0, double u2 = 0, double w2 = 0 );
1541
1550extern string GetVSPAERORefWingID();
1551
1609extern string SetVSPAERORefWingID( const std::string & geom_id );
1610
1611
1612//======================== Analysis ================================//
1613
1637extern int GetNumAnalysis();
1638
1671extern std::vector<std::string> ListAnalysis();
1672
1710extern std::vector<std::string> GetAnalysisInputNames( const std::string & analysis );
1711
1736extern std::string GetAnalysisDoc( const std::string & analysis );
1737
1754extern std::string GetAnalysisInputDoc( const std::string & analysis, const std::string & name );
1755
1780extern std::string ExecAnalysis( const std::string & analysis );
1781
1782
1793extern int GetNumAnalysisInputData( const std::string & analysis, const std::string & name );
1794
1830extern int GetAnalysisInputType( const std::string & analysis, const std::string & name );
1831
1871extern const std::vector< int > & GetIntAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1872
1904extern const std::vector< double > & GetDoubleAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1905
1937extern const std::vector<std::string> & GetStringAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1938
1972extern const std::vector< vec3d > & GetVec3dAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1973
1974
2002extern void SetAnalysisInputDefaults( const std::string & analysis );
2003
2043extern void SetIntAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< int > & indata, int index = 0 );
2044
2086extern void SetDoubleAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< double > & indata, int index = 0 );
2087
2119extern void SetStringAnalysisInput( const std::string & analysis, const std::string & name, const std::vector<std::string> & indata, int index = 0 );
2120
2154extern void SetVec3dAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< vec3d > & indata, int index = 0 );
2155
2156
2184extern void PrintAnalysisInputs( const std::string & analysis_name );
2185
2213extern void PrintAnalysisDocs( const std::string & analysis_name );
2214
2215
2216//======================== Results ================================//
2253extern std::vector<std::string> GetAllResultsNames();
2254
2289extern std::vector<std::string> GetAllDataNames( const std::string & results_id );
2290
2317extern int GetNumResults( const std::string & name );
2318
2359extern std::string GetResultsName(const std::string & results_id );
2360
2401extern std::string GetResultsSetDoc( const std::string & results_id );
2402
2403extern std::string GetResultsEntryDoc( const std::string & results_id, const std::string & data_name );
2404
2436extern std::string FindResultsID( const std::string & name, int index = 0 );
2437
2475extern std::string FindLatestResultsID( const std::string & name );
2476
2524extern int GetNumData( const std::string & results_id, const std::string & data_name );
2525
2567extern int GetResultsType( const std::string & results_id, const std::string & data_name );
2568
2617extern const std::vector< int > & GetIntResults( const std::string & id, const std::string & name, int index = 0 );
2618
2657extern const std::vector< double > & GetDoubleResults( const std::string & id, const std::string & name, int index = 0 );
2658
2670extern const std::vector< std::vector< double > > & GetDoubleMatResults( const std::string & id, const std:: string & name, int index = 0 );
2671
2708extern const std::vector<std::string> & GetStringResults( const std::string & id, const std::string & name, int index = 0 );
2709
2766extern const std::vector< vec3d > & GetVec3dResults( const std::string & id, const std::string & name, int index = 0 );
2767
2809extern std::string CreateGeomResults( const std::string & geom_id, const std::string & name );
2810
2849extern void DeleteAllResults();
2850
2890extern void DeleteResult( const std::string & id );
2891
2926extern void WriteResultsCSVFile( const std::string & id, const std::string & file_name );
2927
2963extern void PrintResults( const std::string &results_id );
2964
3000extern void PrintResultsDocs( const std::string &results_id );
3001
3036extern void WriteTestResults();
3037
3038//======================== GUI Functions ================================//
3039
3061extern void InitGUI();
3062
3086extern void StartGUI();
3087
3122
3153
3185extern void StopGUI();
3186
3214extern void PopupMsg( const std::string &msg );
3215
3255extern void UpdateGUI();
3256
3290extern bool IsGUIBuild();
3291
3339extern void Lock( );
3340
3385extern void Unlock( );
3386
3387
3419extern bool IsEventLoopRunning( );
3420
3454extern void ScreenGrab( const string & fname, int w, int h, bool transparentBG, bool autocrop = false );
3455
3475extern void SetViewAxis( bool vaxis );
3476
3496extern void SetShowBorders( bool brdr );
3497
3523extern void SetGeomDrawType(const string &geom_id, int type);
3524
3551extern void SetGeomWireColor( const string &geom_id, int r, int g, int b );
3552
3578extern void SetGeomDisplayType(const string &geom_id, int type);
3579
3603extern void SetGeomMaterialName( const string &geom_id, const string &name );
3604
3637extern void AddMaterial( const string &name, const vec3d & ambient, const vec3d & diffuse, const vec3d & specular, const vec3d & emissive, const double & alpha, const double & shininess );
3638
3666extern vector < string > GetMaterialNames();
3667
3689extern void SetBackground( double r, double g, double b );
3690
3710extern void SetAllViews( int view );
3711
3731extern void SetView( int viewport, int view );
3732
3751extern void FitAllViews();
3752
3771extern void ResetViews();
3772
3793extern void SetWindowLayout( int r, int c );
3794
3814extern void SetGUIElementDisable( int e, bool state );
3815
3835extern void SetGUIScreenDisable( int s, bool state );
3836
3855extern void SetGeomScreenDisable( int s, bool state );
3856
3857
3858//======================== Geom Functions ================================//
3890extern std::vector<std::string> GetGeomTypes();
3891
3915extern std::string AddGeom( const std::string & type, const std::string & parent = std::string() );
3916
3953extern void UpdateGeom( const std::string & geom_id );
3954
3986extern void DeleteGeom( const std::string & geom_id );
3987
4021extern void DeleteGeomVec( const std::vector< std::string > & del_vec );
4022
4063extern void CutGeomToClipboard( const std::string & geom_id );
4064
4105extern void CopyGeomToClipboard( const std::string & geom_id );
4106
4147extern std::vector<std::string> PasteGeomClipboard( const std::string & parent = std::string() );
4148
4182extern std::vector<std::string> FindGeoms();
4183
4223extern std::vector<std::string> FindGeomsWithName( const std::string & name );
4224
4269extern std::string FindGeom( const std::string & name, int index );
4270
4309extern void SetGeomName( const std::string & geom_id, const std::string & name );
4310
4345extern std::string GetGeomName( const std::string & geom_id );
4346
4381extern std::vector<std::string> GetGeomParmIDs( const std::string & geom_id );
4382
4413extern std::string GetGeomTypeName( const std::string & geom_id );
4414
4447extern std::string GetParm( const std::string & geom_id, const std::string & name, const std::string & group );
4448
4483extern std::string GetGeomParent( const std::string& geom_id );
4484
4534extern std::vector< std::string > GetGeomChildren( const std::string& geom_id );
4535
4566extern int GetNumXSecSurfs( const std::string & geom_id );
4567
4607extern int GetNumMainSurfs( const std::string & geom_id );
4608
4648extern int GetTotalNumSurfs( const std::string& geom_id );
4649
4682extern int GetGeomVSPSurfType( const std::string& geom_id, int main_surf_ind = 0 );
4683
4716extern int GetGeomVSPSurfCfdType( const std::string& geom_id, int main_surf_ind = 0 );
4717
4758extern vec3d GetGeomBBoxMax( const std::string& geom_id, int main_surf_ind = 0, bool ref_frame_is_absolute = true );
4759
4800extern vec3d GetGeomBBoxMin( const std::string& geom_id, int main_surf_ind = 0, bool ref_frame_is_absolute = true );
4801
4802
4803//======================== SubSurface Functions ================================//
4837extern std::string AddSubSurf( const std::string & geom_id, int type, int surfindex = 0 );
4838
4880extern std::string GetSubSurf( const std::string & geom_id, int index );
4881
4923extern std::vector<std::string> GetSubSurf( const std::string & geom_id, const std::string & name );
4924
4971extern void DeleteSubSurf( const std::string & geom_id, const std::string & sub_id );
4972
5018extern void DeleteSubSurf( const std::string & sub_id );
5019
5053extern void SetSubSurfName(const std::string & geom_id, const std::string & sub_id, const std::string & name);
5054
5087extern void SetSubSurfName( const std::string & sub_id, const std::string & name );
5088
5126extern std::string GetSubSurfName( const std::string & geom_id, const std::string & sub_id );
5127
5164extern std::string GetSubSurfName( const std::string & sub_id );
5165
5204extern int GetSubSurfIndex( const std::string & sub_id );
5205
5269extern std::vector<std::string> GetSubSurfIDVec( const std::string & geom_id );
5270
5279extern std::vector<std::string> GetAllSubSurfIDs();
5280
5319extern int GetNumSubSurf( const std::string & geom_id );
5320
5385extern int GetSubSurfType( const std::string & sub_id );
5386
5432extern std::vector<std::string> GetSubSurfParmIDs( const std::string & sub_id );
5433
5434
5466extern int AddFeaStruct( const std::string & geom_id, bool init_skin = true, int surfindex = 0 );
5467
5504extern void SetFeaMeshStructIndex( int struct_index );
5505
5542extern void DeleteFeaStruct( const std::string & geom_id, int fea_struct_ind );
5543
5577extern std::string GetFeaStructID( const std::string & geom_id, int fea_struct_ind );
5578
5623extern int GetFeaStructIndex( const std::string & struct_id );
5624
5663extern std::string GetFeaStructParentGeomID( const std::string & struct_id );
5664
5709extern std::string GetFeaStructName( const std::string & geom_id, int fea_struct_ind );
5710
5759extern void SetFeaStructName( const std::string & geom_id, int fea_struct_ind, const std::string & name );
5760
5797extern std::vector< std::string > GetFeaStructIDVec();
5798
5838extern void SetFeaPartName( const std::string & part_id, const std::string & name );
5839
5885extern std::string AddFeaPart( const std::string & geom_id, int fea_struct_ind, int type );
5886
5934extern void DeleteFeaPart( const std::string & geom_id, int fea_struct_ind, const std::string & part_id );
5935
5988extern std::string GetFeaPartID( const std::string & fea_struct_id, int fea_part_index );
5989
6040extern std::string GetFeaPartName( const std::string & part_id );
6041
6086extern int GetFeaPartType( const std::string & part_id );
6087
6133extern std::vector< std::string > GetFeaPartIDVec( const std::string & fea_struct_id );
6134
6180extern std::vector< std::string > GetFeaSubSurfIDVec( const std::string & fea_struct_id );
6181
6251extern void SetFeaPartPerpendicularSparID( const std::string& part_id, const std::string& perpendicular_spar_id );
6252
6321extern std::string GetFeaPartPerpendicularSparID( const std::string& part_id );
6322
6362extern void SetFeaSubSurfName( const std::string & subsurf_id, const std::string & name );
6363
6412extern std::string GetFeaSubSurfName( const std::string & subsurf_id );
6413
6459extern std::string AddFeaSubSurf( const std::string & geom_id, int fea_struct_ind, int type );
6460
6508extern void DeleteFeaSubSurf( const std::string & geom_id, int fea_struct_ind, const std::string & ss_id );
6509
6565extern int GetFeaSubSurfIndex( const string & ss_id );
6566
6605extern int NumFeaStructures();
6606
6657extern int NumFeaParts( const std::string & fea_struct_id );
6658
6708extern int NumFeaSubSurfs( const std::string & fea_struct_id );
6709
6751extern std::string AddFeaBC( const string & fea_struct_id, int type = -1 );
6752
6797extern void DelFeaBC( const string & fea_struct_id, const std::string &bc_id );
6798
6843extern std::vector< std::string > GetFeaBCIDVec( const string & fea_struct_id );
6844
6889extern int NumFeaBCs( const string & fea_struct_id );
6890
6916extern std::string AddFeaMaterial();
6917
6946extern std::string AddFeaProperty( int property_type = 0 );
6947
6990extern void SetFeaMeshVal( const std::string & geom_id, int fea_struct_ind, int type, double val );
6991
7042extern void SetFeaMeshFileName( const std::string & geom_id, int fea_struct_ind, int file_type, const string & file_name );
7043
7095extern void ComputeFeaMesh( const std::string & geom_id, int fea_struct_ind, int file_type );
7096
7147extern void ComputeFeaMesh( const std::string & struct_id, int file_type );
7148
7149
7189extern void CutXSec( const std::string & geom_id, int index );
7190
7226extern void CopyXSec( const std::string & geom_id, int index );
7227
7263extern void PasteXSec( const std::string & geom_id, int index );
7264
7293extern void InsertXSec( const std::string & geom_id, int index, int type );
7294
7295
7296//======================== Wing Section Functions ===================//
7345extern void SetDriverGroup( const std::string & geom_id, int section_index, int driver_0, int driver_1 = -1, int driver_2 = -1 );
7346
7347
7348//======================== XSecSurf ================================//
7378extern std::string GetXSecSurf( const std::string & geom_id, int index );
7379
7431extern int GetNumXSec( const std::string & xsec_surf_id );
7432
7468extern std::string GetXSec( const std::string & xsec_surf_id, int xsec_index );
7469
7520extern void ChangeXSecShape( const std::string & xsec_surf_id, int xsec_index, int type );
7521
7531extern void SetXSecSurfGlobalXForm( const std::string & xsec_surf_id, const Matrix4d & mat );
7532
7542extern Matrix4d GetXSecSurfGlobalXForm( const std::string & xsec_surf_id );
7543
7544
7545//======================== XSec ================================//
7587extern int GetXSecShape( const std::string& xsec_id );
7588
7628extern double GetXSecWidth( const std::string& xsec_id );
7629
7669extern double GetXSecHeight( const std::string& xsec_id );
7670
7712extern void SetXSecWidthHeight( const std::string& xsec_id, double w, double h );
7713
7753extern void SetXSecWidth( const std::string& xsec_id, double w );
7754
7794extern void SetXSecHeight( const std::string& xsec_id, double h );
7795
7834extern std::vector<std::string> GetXSecParmIDs( const std::string& xsec_id );
7835
7879extern std::string GetXSecParm( const std::string& xsec_id, const std::string& name );
7880
7921extern std::vector<vec3d> ReadFileXSec( const std::string& xsec_id, const std::string& file_name );
7922
7976extern void SetXSecPnts( const std::string& xsec_id, std::vector< vec3d > & pnt_vec );
7977
8020extern vec3d ComputeXSecPnt( const std::string& xsec_id, double fract );
8021
8063extern vec3d ComputeXSecTan( const std::string& xsec_id, double fract );
8064
8106extern void ResetXSecSkinParms( const std::string& xsec_id );
8107
8149extern void SetXSecContinuity( const std::string& xsec_id, int cx );
8150
8201extern void SetXSecTanAngles( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
8202
8253extern void SetXSecTanSlews( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
8254
8307extern void SetXSecTanStrengths( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
8308
8361extern void SetXSecCurvatures( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
8362
8401extern void ReadFileAirfoil( const std::string& xsec_id, const std::string& file_name );
8402
8458extern void SetAirfoilUpperPnts( const std::string& xsec_id, const std::vector< vec3d > & up_pnt_vec );
8459
8515extern void SetAirfoilLowerPnts( const std::string& xsec_id, const std::vector< vec3d > & low_pnt_vec );
8516
8581extern void SetAirfoilPnts( const std::string& xsec_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
8582
8631extern std::vector<vec3d> GetHersheyBarLiftDist( const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag = false );
8632
8681extern std::vector<vec3d> GetHersheyBarDragDist( const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag = false );
8682
8735extern std::vector<vec3d> GetVKTAirfoilPnts( const int &npts, const double &alpha, const double &epsilon, const double &kappa, const double &tau );
8736
8790extern std::vector<double> GetVKTAirfoilCpDist( const double &alpha, const double &epsilon, const double &kappa, const double &tau, const std::vector<vec3d> &xyz_data );
8791
8806extern std::vector<vec3d> GetEllipsoidSurfPnts( const vec3d &center, const vec3d &abc_rad, int u_npts = 20, int w_npts = 20 );
8807
8817extern std::vector<vec3d> GetFeatureLinePnts( const string& geom_id );
8818
8901extern std::vector<double> GetEllipsoidCpDist( const std::vector<vec3d> &surf_pnt_vec, const vec3d &abc_rad, const vec3d &V_inf );
8902
8903extern double IntegrateEllipsoidFlow( const vec3d &abc_rad, const int &abc_index );
8904
8948extern std::vector<vec3d> GetAirfoilUpperPnts( const std::string& xsec_id );
8949
8993extern std::vector<vec3d> GetAirfoilLowerPnts( const std::string& xsec_id );
8994
9005extern std::vector<double> GetUpperCSTCoefs( const std::string& xsec_id );
9006
9017extern std::vector<double> GetLowerCSTCoefs( const std::string& xsec_id );
9018
9029extern int GetUpperCSTDegree( const std::string& xsec_id );
9030
9041extern int GetLowerCSTDegree( const std::string& xsec_id );
9042
9054extern void SetUpperCST( const std::string& xsec_id, int deg, const std::vector<double> &coefs );
9055
9067extern void SetLowerCST( const std::string& xsec_id, int deg, const std::vector<double> &coefs );
9068
9078extern void PromoteCSTUpper( const std::string& xsec_id );
9079
9089extern void PromoteCSTLower( const std::string& xsec_id );
9090
9100extern void DemoteCSTUpper( const std::string& xsec_id );
9101
9111extern void DemoteCSTLower( const std::string& xsec_id );
9112
9123extern void FitAfCST( const std::string & xsec_surf_id, int xsec_index, int deg );
9124
9125//======================== Background3D Functions ======================//
9126
9164extern string AddBackground3D();
9165
9204
9257extern vector < string > GetAllBackground3Ds();
9258
9291
9324
9366
9408extern void DelBackground3D( const string &id );
9409
9451extern vector < string > GetAllBackground3DRelativePaths();
9452
9493extern vector < string > GetAllBackground3DAbsolutePaths();
9494
9531extern string GetBackground3DRelativePath( const string &id );
9532
9568extern string GetBackground3DAbsolutePath( const string &id );
9569
9606extern void SetBackground3DRelativePath( const string &id, const string &fname );
9607
9643extern void SetBackground3DAbsolutePath( const string &id, const string &fname );
9644
9645//======================== BOR Functions ======================//
9677extern void ChangeBORXSecShape( const string & bor_id, int type );
9678
9709extern int GetBORXSecShape( const string & bor_id );
9710
9742extern std::vector<vec3d> ReadBORFileXSec( const std::string& bor_id, const std::string& file_name );
9743
9788extern void SetBORXSecPnts( const std::string& bor_id, std::vector< vec3d > & pnt_vec );
9789
9823extern vec3d ComputeBORXSecPnt( const std::string& bor_id, double fract );
9824
9856extern vec3d ComputeBORXSecTan( const std::string& bor_id, double fract );
9857
9888extern void ReadBORFileAirfoil( const std::string& bor_id, const std::string& file_name );
9889
9937extern void SetBORAirfoilUpperPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec );
9938
9986extern void SetBORAirfoilLowerPnts( const std::string& bor_id, const std::vector< vec3d > & low_pnt_vec );
9987
10044extern void SetBORAirfoilPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
10045
10081extern std::vector<vec3d> GetBORAirfoilUpperPnts( const std::string& bor_id );
10082
10118extern std::vector<vec3d> GetBORAirfoilLowerPnts( const std::string& bor_id );
10119
10130extern std::vector<double> GetBORUpperCSTCoefs( const std::string& bor_id );
10131
10142extern std::vector<double> GetBORLowerCSTCoefs( const std::string& bor_id );
10143
10154extern int GetBORUpperCSTDegree( const std::string& bor_id );
10155
10166extern int GetBORLowerCSTDegree( const std::string& bor_id );
10167
10179extern void SetBORUpperCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
10180
10192extern void SetBORLowerCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
10193
10203extern void PromoteBORCSTUpper( const std::string& bor_id );
10204
10214extern void PromoteBORCSTLower( const std::string& bor_id );
10215
10225extern void DemoteBORCSTUpper( const std::string& bor_id );
10226
10236extern void DemoteBORCSTLower( const std::string& bor_id );
10237
10247extern void FitBORAfCST( const std::string & bor_id, int deg );
10248
10249
10250//======================== FoilSurf Functions ======================//
10285extern void WriteBezierAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
10286
10321extern void WriteSeligAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
10322
10333extern std::vector < vec3d > GetAirfoilCoordinates( const std::string & geom_id, const double &foilsurf_u );
10334
10335
10336//======================== Edit Curve XSec Functions ======================//
10385extern void EditXSecInitShape( const std::string & xsec_id );
10386
10433extern void EditXSecConvertTo( const std::string & xsec_id, const int & newtype );
10434
10491extern std::vector < double > GetEditXSecUVec( const std::string& xsec_id );
10492
10542extern std::vector < vec3d > GetEditXSecCtrlVec( const std::string & xsec_id, bool non_dimensional = true );
10543
10651extern 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 );
10652
10719extern void EditXSecDelPnt( const std::string & xsec_id, const int & indx );
10720
10786extern int EditXSecSplit01( const std::string & xsec_id, const double & u );
10787
10868extern void MoveEditXSecPnt( const std::string & xsec_id, const int & indx, const vec3d & new_pnt );
10869
10920extern void ConvertXSecToEdit( const std::string & geom_id, const int & indx = 0 );
10921
10978extern std::vector < bool > GetEditXSecFixedUVec( const std::string& xsec_id );
10979
11036extern void SetEditXSecFixedUVec( const std::string& xsec_id, std::vector < bool > fixed_u_vec );
11037
11094extern void ReparameterizeEditXSec( const std::string & xsec_id );
11095
11096
11097//======================== Sets ================================//
11118extern int GetNumSets();
11119
11147extern void SetSetName( int index, const std::string& name );
11148
11176extern std::string GetSetName( int index );
11177
11211extern std::vector<std::string> GetGeomSetAtIndex( int index );
11212
11245extern std::vector<std::string> GetGeomSet( const std::string & name );
11246
11273extern int GetSetIndex( const std::string & name );
11274
11308extern bool GetSetFlag( const std::string & geom_id, int set_index );
11309
11343extern void SetSetFlag( const std::string & geom_id, int set_index, bool flag );
11344
11389extern void CopyPasteSet( int copyIndex, int pasteIndex );
11390
11391
11392//======================== Group Modifications ================================//
11425extern void ScaleSet( int set_index, double scale );
11426
11461extern void RotateSet( int set_index, double x_rot_deg, double y_rot_deg, double z_rot_deg );
11462
11495extern void TranslateSet( int set_index, const vec3d &translation_vec );
11496
11535extern 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 );
11536
11537
11538//======================== Parm Functions ================================//
11569extern bool ValidParm( const std::string & id );
11570
11619extern double SetParmVal( const std::string & parm_id, double val );
11620
11671extern double SetParmVal( const std::string & geom_id, const std::string & name, const std::string & group, double val );
11672
11709extern double SetParmValLimits( const std::string & parm_id, double val, double lower_limit, double upper_limit );
11710
11743extern double SetParmValUpdate( const std::string & parm_id, double val );
11744
11779extern double SetParmValUpdate( const std::string & geom_id, const std::string & parm_name, const std::string & parm_group_name, double val );
11780
11827extern double GetParmVal( const std::string & parm_id );
11828
11877extern double GetParmVal( const std::string & geom_id, const std::string & name, const std::string & group );
11878
11909extern int GetIntParmVal( const std::string & parm_id );
11910
11941extern bool GetBoolParmVal( const std::string & parm_id );
11942
11994extern void SetParmUpperLimit( const std::string & parm_id, double val );
11995
12026extern double GetParmUpperLimit( const std::string & parm_id );
12027
12079extern void SetParmLowerLimit( const std::string & parm_id, double val );
12080
12111extern double GetParmLowerLimit( const std::string & parm_id );
12112
12156extern int GetParmType( const std::string & parm_id );
12157
12215extern std::string GetParmName( const std::string & parm_id );
12216
12260extern std::string GetParmGroupName( const std::string & parm_id );
12261
12305extern std::string GetParmDisplayGroupName( const std::string & parm_id );
12306
12353extern std::string GetParmContainer( const std::string & parm_id );
12354
12387extern void SetParmDescript( const std::string & parm_id, const std::string & desc );
12388
12423extern std::string GetParmDescript( const std::string & parm_id );
12424
12459extern std::string FindParm( const std::string & parm_container_id, const std::string& parm_name, const std::string& group_name );
12460
12461
12462//======================== Parm Container Functions ======================//
12463
12500extern std::vector<std::string> FindContainers();
12501
12526extern std::vector<std::string> FindContainersWithName( const std::string & name );
12527
12552extern std::string FindContainer( const std::string & name, int index );
12553
12578extern std::string GetContainerName( const std::string & parm_container_id );
12579
12619extern std::vector<std::string> FindContainerGroupNames( const std::string & parm_container_id );
12620
12678extern std::vector<std::string> FindContainerParmIDs( const std::string & parm_container_id );
12679
12701extern std::string GetVehicleID();
12702
12703
12704//======================== User Parm Functions ======================//
12726extern int GetNumUserParms();
12727
12750
12787extern std::vector < std::string > GetAllUserParms();
12788
12808extern std::string GetUserParmContainer();
12809
12841extern string AddUserParm(int type, const string & name, const string & group );
12842
12873extern void DeleteUserParm( const std::string & id );
12874
12893extern void DeleteAllUserParm();
12894
12895
12896//======================== Snap To Functions ======================//
12938extern double ComputeMinClearanceDistance( const std::string & geom_id, int set = SET_ALL );
12939
12983 // TODO: Validate inc_flag description
12984
12985extern double SnapParm( const std::string & parm_id, double target_min_dist, bool inc_flag, int set = SET_ALL );
12986
12987
12988//======================== Variable Preset Functions ======================//
13018extern void AddVarPresetGroup( const std::string &group_name );
13019
13053extern void AddVarPresetSetting( const std::string &setting_name );
13054
13092extern void AddVarPresetParm( const std::string &parm_id );
13093
13132extern void AddVarPresetParm( const std::string &parm_id, const std::string &group_name );
13133
13176extern void EditVarPresetParm( const std::string &parm_id, double parm_val );
13177
13222extern void EditVarPresetParm( const std::string &parm_id, double parm_val, const std::string &group_name, const std::string &setting_name );
13223
13265extern void DeleteVarPresetParm( const std::string &parm_id );
13266
13309extern void DeleteVarPresetParm( const std::string &parm_id, const std::string &group_name );
13310
13357extern void SwitchVarPreset( const std::string &group_name, const std::string &setting_name );
13358
13392extern bool DeleteVarPresetSet( const std::string &group_name, const std::string &setting_name );
13393
13447extern std::string GetCurrentGroupName();
13448
13502extern std::string GetCurrentSettingName();
13503
13533extern std::vector< std::string > GetVarPresetGroupNames();
13534
13569extern std::vector< std::string > GetVarPresetSettingNamesWName( const std::string &group_name );
13570
13627extern std::vector< std::string > GetVarPresetSettingNamesWIndex( int group_index );
13628
13678extern std::vector< double > GetVarPresetParmVals();
13679
13737extern std::vector< double > GetVarPresetParmValsWNames( const std::string &group_name, const std::string &setting_name );
13738
13784extern std::vector< std::string > GetVarPresetParmIDs();
13785
13838extern std::vector< std::string > GetVarPresetParmIDsWName( const std::string &group_name );
13839
13840
13841//======================== Parametric Curve Functions ======================//
13855extern void SetPCurve( const std::string & geom_id, const int & pcurveid, const std::vector < double > & tvec,
13856
13857 const std::vector < double > & valvec, const int & newtype );
13869extern void PCurveConvertTo( const std::string & geom_id, const int & pcurveid, const int & newtype );
13870
13882extern int PCurveGetType( const std::string & geom_id, const int & pcurveid );
13883
13894extern std::vector < double > PCurveGetTVec( const std::string & geom_id, const int & pcurveid );
13895
13906extern std::vector < double > PCurveGetValVec( const std::string & geom_id, const int & pcurveid );
13907
13918extern void PCurveDeletePt( const std::string & geom_id, const int & pcurveid, const int & indx );
13919
13931extern int PCurveSplit( const std::string & geom_id, const int & pcurveid, const double & tsplit );
13932
13960extern void ApproximateAllPropellerPCurves( const std::string & geom_id );
13961
13991extern void ResetPropellerThicknessCurve( const std::string & geom_id );
13992
13993
13994//======================== VSPAERO Functions ======================//
14087
14126
14158extern void AddAllToVSPAEROControlSurfaceGroup( int CSGroupIndex );
14159
14195extern void RemoveAllFromVSPAEROControlSurfaceGroup( int CSGroupIndex );
14196
14248extern std::vector < std::string > GetActiveCSNameVec( int CSGroupIndex );
14249
14294extern std::vector < std::string > GetCompleteCSNameVec();
14295
14337extern std::vector < std::string > GetAvailableCSNameVec( int CSGroupIndex );
14338
14379extern void SetVSPAEROControlGroupName(const string & name, int CSGroupIndex);
14380
14420extern std::string GetVSPAEROControlGroupName( int CSGroupIndex );
14421
14476extern void AddSelectedToCSGroup( const vector <int> &selected, int CSGroupIndex);
14477
14541extern void RemoveSelectedFromCSGroup( const vector <int> &selected, int CSGroupIndex);
14542
14599
14600
14601//================ VSPAERO Actuator Disk and Unsteady Functions ==============//
14650extern std::string FindActuatorDisk( int disk_index );
14651
14695
14742extern std::string FindUnsteadyGroup( int group_index );
14743
14779extern std::string GetUnsteadyGroupName( int group_index );
14780
14824extern std::vector < std::string > GetUnsteadyGroupCompIDs( int group_index );
14825
14869extern std::vector < int > GetUnsteadyGroupSurfIndexes( int group_index );
14870
14923
14977
14978
14979//======================== Parasite Drag Tool Functions ======================//
15006extern void AddExcrescence(const std::string & excresName, const int & excresType, const double & excresVal);
15007
15039extern void DeleteExcrescence(const int & index);
15040
15049
15076extern void WriteAtmosphereCSVFile( const std::string & file_name, const int &atmos_type );
15077
15117extern void CalcAtmosphere( const double & alt, const double & delta_temp, const int & atmos_type,
15118
15119 double & temp, double & pres, double & pres_ratio, double & rho_ratio );
15141extern void WriteBodyFFCSVFile( const std::string & file_name );
15142
15164extern void WriteWingFFCSVFile( const std::string & file_name );
15165
15185 // TODO: Improve description
15186
15187extern void WriteCfEqnCSVFile( const std::string & file_name );
15188
15208 // TODO: Improve description
15209
15210extern void WritePartialCfMethodCSVFile( const std::string & file_name );
15211
15212
15213//======================== Surface Query Functions ======================//
15257extern vec3d CompPnt01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
15258
15302extern vec3d CompNorm01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
15303
15347extern vec3d CompTanU01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
15348
15392extern vec3d CompTanW01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
15393
15444extern void CompCurvature01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w,
15445 double &k1_out, double &k2_out, double &ka_out, double &kg_out);
15446
15510extern double ProjPnt01(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &u_out, double &w_out);
15511
15582extern double ProjPnt01I(const std::string &geom_id, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
15583
15654extern 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);
15655
15656
15718extern double AxisProjPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, double &u_out, double &w_out);
15719
15783extern double AxisProjPnt01I(const std::string &geom_id, const int &iaxis, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
15784
15858extern 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);
15859
15922extern bool InsideSurf( const std::string &geom_id, const int &surf_indx, const vec3d &pt );
15923
15924
15971extern vec3d CompPntRST( const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t );
15972
16029extern double FindRST( const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &r_out, double &s_out, double &t_out );
16030
16099extern 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 );
16100
16101
16149extern 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 );
16150
16190extern void ConvertRtoL( const std::string &geom_id, const int &surf_indx, const double &r, double &l_out );
16191
16239extern 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 );
16278extern void ConvertLtoR( const std::string &geom_id, const int &surf_indx, const double &l, double &r_out );
16279
16318extern void ConvertUtoEta( const std::string &geom_id, const double &u, double &eta_out );
16319
16358extern void ConvertEtatoU( const std::string &geom_id, const double &eta, double &u_out );
16359
16360
16415extern 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);
16416
16471extern std::vector < vec3d > CompVecNorm01(const std::string &geom_id, const int &surf_indx, const std::vector < double > &us, const std::vector < double > &ws);
16472
16534extern 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);
16535
16612extern 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 );
16613
16712extern 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 );
16713
16714
16816extern 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 );
16817
16930extern 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 );
16931
17005extern std::vector < bool > VecInsideSurf( const std::string &geom_id, const int &surf_indx, const std::vector < vec3d > &pts );
17006
17007
17069extern 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 );
17070
17143extern 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 );
17144
17228extern 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 );
17229
17230
17298extern 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,
17299 std::vector < double > &l_out_vec, std::vector < double > &m_out_vec, std::vector < double > &n_out_vec );
17300
17367extern 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,
17368 std::vector < double > &r_out_vec, std::vector < double > &s_out_vec, std::vector < double > &t_out_vec );
17369
17404extern void GetUWTess01(const std::string &geom_id, const int &surf_indx, std::vector < double > &u_out_vec, std::vector < double > &w_out_vec);
17405
17406
17407//======================= Measure Functions ============================//
17456extern string AddRuler( const string & startgeomid, int startsurfindx, double startu, double startw,
17457 const string & endgeomid, int endsurfindx, double endu, double endw, const string & name );
17514extern std::vector < string > GetAllRulers();
17515
17563extern void DelRuler( const string &id );
17564
17607extern void DeleteAllRulers();
17608
17609
17646extern string AddProbe( const string & geomid, int surfindx, double u, double w, const string & name );
17647
17687extern std::vector < string > GetAllProbes();
17688
17730extern void DelProbe( const string &id );
17731
17772extern void DeleteAllProbes();
17773
17774
17775//======================= Advanced Link Functions ============================//
17776
17805extern std::vector< std::string > GetAdvLinkNames();
17806
17854extern int GetLinkIndex( const string & name );
17855
17920extern void DelAdvLink( int index );
17921
17985extern void DelAllAdvLinks();
17986
18032extern void AddAdvLink( const string & name );
18033
18081extern void AddAdvLinkInput( int index, const string & parm_id, const string & var_name );
18082
18130extern void AddAdvLinkOutput( int index, const string & parm_id, const string & var_name );
18131
18190extern void DelAdvLinkInput( int index, const string & var_name );
18191
18250extern void DelAdvLinkOutput( int index, const string & var_name );
18251
18311extern std::vector< std::string > GetAdvLinkInputNames( int index );
18312
18372extern std::vector< std::string > GetAdvLinkInputParms( int index );
18373
18433extern std::vector< std::string > GetAdvLinkOutputNames( int index );
18434
18494extern std::vector< std::string > GetAdvLinkOutputParms( int index );
18495
18560extern bool ValidateAdvLinkParms( int index );
18561
18608extern void SetAdvLinkCode( int index, const string & code );
18609
18664extern std::string GetAdvLinkCode( int index );
18665
18723extern void SearchReplaceAdvLinkCode( int index, const string & from, const string & to );
18724
18785extern bool BuildAdvLinkScript( int index );
18786
18787
18788} // End vsp namespace
18789
18790
18791#endif // !defined(VSPAPI__INCLUDED_)
Definition Vec3d.h:235
bool CheckForVSPAERO(const std::string &path)
bool CheckForVSPHelp(const std::string &path)
int GetVSPVersionChange()
std::string GetVSPVersion()
int GetVSPVersionMinor()
bool SetVSPHelpPath(const std::string &path)
std::string GetVSPHelpPath()
bool SetVSPAEROPath(const std::string &path)
std::string GetVSPExePath()
std::string GetVSPAEROPath()
int GetVSPVersionMajor()
void VSPRenew()
void VSPCheckSetup()
std::vector< std::string > GetAnalysisInputNames(const std::string &analysis)
const std::vector< int > & GetIntAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
void SetIntAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< int > &indata, int index=0)
void PrintAnalysisDocs(const std::string &analysis_name)
std::string ExecAnalysis(const std::string &analysis)
int GetNumAnalysis()
std::vector< std::string > ListAnalysis()
void SetVec3dAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< vec3d > &indata, int index=0)
void SetStringAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< std::string > &indata, int index=0)
void PrintAnalysisInputs(const std::string &analysis_name)
int GetAnalysisInputType(const std::string &analysis, const std::string &name)
void SetAnalysisInputDefaults(const std::string &analysis)
const std::vector< double > & GetDoubleAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
std::string GetAnalysisDoc(const std::string &analysis)
const std::vector< vec3d > & GetVec3dAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
void SetDoubleAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< double > &indata, int index=0)
std::string GetAnalysisInputDoc(const std::string &analysis, const std::string &name)
const std::vector< std::string > & GetStringAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
int GetNumAnalysisInputData(const std::string &analysis, const std::string &name)
void SetBORAirfoilUpperPnts(const std::string &bor_id, const std::vector< vec3d > &up_pnt_vec)
void ReadBORFileAirfoil(const std::string &bor_id, const std::string &file_name)
void FitBORAfCST(const std::string &bor_id, int deg)
std::vector< double > GetBORLowerCSTCoefs(const std::string &bor_id)
vec3d ComputeBORXSecPnt(const std::string &bor_id, double fract)
std::vector< vec3d > GetBORAirfoilLowerPnts(const std::string &bor_id)
void SetBORXSecPnts(const std::string &bor_id, std::vector< vec3d > &pnt_vec)
void PromoteBORCSTUpper(const std::string &bor_id)
void SetBORUpperCST(const std::string &bor_id, int deg, const std::vector< double > &coefs)
void SetBORLowerCST(const std::string &bor_id, int deg, const std::vector< double > &coefs)
void ChangeBORXSecShape(const string &bor_id, int type)
vec3d ComputeBORXSecTan(const std::string &bor_id, double fract)
int GetBORUpperCSTDegree(const std::string &bor_id)
void DemoteBORCSTLower(const std::string &bor_id)
void PromoteBORCSTLower(const std::string &bor_id)
int GetBORXSecShape(const string &bor_id)
std::vector< double > GetBORUpperCSTCoefs(const std::string &bor_id)
std::vector< vec3d > ReadBORFileXSec(const std::string &bor_id, const std::string &file_name)
std::vector< vec3d > GetBORAirfoilUpperPnts(const std::string &bor_id)
void DemoteBORCSTUpper(const std::string &bor_id)
int GetBORLowerCSTDegree(const std::string &bor_id)
void SetBORAirfoilPnts(const std::string &bor_id, const std::vector< vec3d > &up_pnt_vec, const std::vector< vec3d > &low_pnt_vec)
void SetBORAirfoilLowerPnts(const std::string &bor_id, const std::vector< vec3d > &low_pnt_vec)
void SetBackground3DRelativePath(const string &id, const string &fname)
void ShowAllBackground3Ds()
int GetNumBackground3Ds()
string AddBackground3D()
vector< string > GetAllBackground3DAbsolutePaths()
vector< string > GetAllBackground3Ds()
string GetBackground3DRelativePath(const string &id)
void SetBackground3DAbsolutePath(const string &id, const string &fname)
void DelBackground3D(const string &id)
vector< string > GetAllBackground3DRelativePaths()
void DelAllBackground3Ds()
string GetBackground3DAbsolutePath(const string &id)
void HideAllBackground3Ds()
void AddCFDSource(int type, const std::string &geom_id, int surf_index, double l1, double r1, double u1, double w1, double l2=0, double r2=0, double u2=0, double w2=0)
void DeleteAllCFDSources()
void ComputeCFDMesh(int set, int degenset, int file_export_types)
void SetCFDWakeFlag(const std::string &geom_id, bool flag)
void AddDefaultSources()
void SetCFDMeshVal(int type, double val)
void SetComputationFileName(int file_type, const std::string &file_name)
void AddSelectedToCSGroup(const vector< int > &selected, int CSGroupIndex)
void SetVSPAEROControlGroupName(const string &name, int CSGroupIndex)
std::vector< std::string > GetActiveCSNameVec(int CSGroupIndex)
void RemoveSelectedFromCSGroup(const vector< int > &selected, int CSGroupIndex)
void AddAllToVSPAEROControlSurfaceGroup(int CSGroupIndex)
std::vector< std::string > GetAvailableCSNameVec(int CSGroupIndex)
int CreateVSPAEROControlSurfaceGroup()
int GetNumControlSurfaceGroups()
std::string GetVSPAEROControlGroupName(int CSGroupIndex)
std::vector< std::string > GetCompleteCSNameVec()
void RemoveAllFromVSPAEROControlSurfaceGroup(int CSGroupIndex)
void AutoGroupVSPAEROControlSurfaces()
std::string ComputeCompGeom(int set, bool half_mesh, int file_export_types)
std::string ComputeMassProps(int set, int num_slices, int idir)
std::string ComputePlaneSlice(int set, int num_slices, const vec3d &norm, bool auto_bnd, double start_bnd=0, double end_bnd=0, bool measureduct=false)
void ComputeDegenGeom(int set, int file_export_types)
void WriteDESFile(const std::string &file_name)
int GetNumDesignVars()
void AddDesignVar(const std::string &parm_id, int type)
void DeleteAllDesignVars()
void ReadApplyXDDMFile(const std::string &file_name)
void ReadApplyDESFile(const std::string &file_name)
void WriteXDDMFile(const std::string &file_name)
std::string GetDesignVar(int index)
int GetDesignVarType(int index)
void MoveEditXSecPnt(const std::string &xsec_id, const int &indx, const vec3d &new_pnt)
void EditXSecDelPnt(const std::string &xsec_id, const int &indx)
void EditXSecConvertTo(const std::string &xsec_id, const int &newtype)
std::vector< bool > GetEditXSecFixedUVec(const std::string &xsec_id)
void ConvertXSecToEdit(const std::string &geom_id, const int &indx=0)
void SetEditXSecFixedUVec(const std::string &xsec_id, std::vector< bool > fixed_u_vec)
std::vector< vec3d > GetEditXSecCtrlVec(const std::string &xsec_id, bool non_dimensional=true)
void SetEditXSecPnts(const std::string &xsec_id, const std::vector< double > &u_vec, const std::vector< vec3d > &control_pts, const std::vector< double > &r_vec)
int EditXSecSplit01(const std::string &xsec_id, const double &u)
std::vector< double > GetEditXSecUVec(const std::string &xsec_id)
void EditXSecInitShape(const std::string &xsec_id)
void ReparameterizeEditXSec(const std::string &xsec_id)
@ SET_NONE
@ SET_ALL
std::string GetFeaPartID(const std::string &fea_struct_id, int fea_part_index)
std::string GetFeaStructName(const std::string &geom_id, int fea_struct_ind)
std::vector< std::string > GetFeaSubSurfIDVec(const std::string &fea_struct_id)
void DeleteFeaPart(const std::string &geom_id, int fea_struct_ind, const std::string &part_id)
std::vector< std::string > GetFeaStructIDVec()
void DeleteFeaSubSurf(const std::string &geom_id, int fea_struct_ind, const std::string &ss_id)
int GetFeaSubSurfIndex(const string &ss_id)
int GetFeaPartType(const std::string &part_id)
int NumFeaParts(const std::string &fea_struct_id)
int NumFeaSubSurfs(const std::string &fea_struct_id)
void SetFeaMeshStructIndex(int struct_index)
void SetFeaMeshVal(const std::string &geom_id, int fea_struct_ind, int type, double val)
std::string AddFeaBC(const string &fea_struct_id, int type=-1)
void DeleteFeaStruct(const std::string &geom_id, int fea_struct_ind)
int GetFeaStructIndex(const std::string &struct_id)
void SetFeaSubSurfName(const std::string &subsurf_id, const std::string &name)
std::vector< std::string > GetFeaPartIDVec(const std::string &fea_struct_id)
std::string GetFeaStructParentGeomID(const std::string &struct_id)
void SetFeaPartName(const std::string &part_id, const std::string &name)
void SetFeaStructName(const std::string &geom_id, int fea_struct_ind, const std::string &name)
void ComputeFeaMesh(const std::string &geom_id, int fea_struct_ind, int file_type)
std::string GetFeaPartName(const std::string &part_id)
std::string GetFeaPartPerpendicularSparID(const std::string &part_id)
std::string AddFeaSubSurf(const std::string &geom_id, int fea_struct_ind, int type)
std::vector< std::string > GetFeaBCIDVec(const string &fea_struct_id)
int NumFeaStructures()
std::string AddFeaProperty(int property_type=0)
void SetFeaMeshFileName(const std::string &geom_id, int fea_struct_ind, int file_type, const string &file_name)
void SetFeaPartPerpendicularSparID(const std::string &part_id, const std::string &perpendicular_spar_id)
void DelFeaBC(const string &fea_struct_id, const std::string &bc_id)
std::string AddFeaMaterial()
std::string AddFeaPart(const std::string &geom_id, int fea_struct_ind, int type)
int NumFeaBCs(const string &fea_struct_id)
std::string GetFeaSubSurfName(const std::string &subsurf_id)
int AddFeaStruct(const std::string &geom_id, bool init_skin=true, int surfindex=0)
std::string GetFeaStructID(const std::string &geom_id, int fea_struct_ind)
void ReadVSPFile(const std::string &file_name)
void SetVSP3FileName(const std::string &file_name)
void SetBEMPropID(const string &prop_id)
std::string ImportFile(const std::string &file_name, int file_type, const std::string &parent)
std::string ExportFile(const std::string &file_name, int thick_set, int file_type, int subsFlag=1, int thin_set=vsp::SET_NONE)
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 DeleteGeom(const std::string &geom_id)
std::string GetGeomName(const std::string &geom_id)
std::vector< std::string > GetGeomTypes()
vec3d GetGeomBBoxMax(const std::string &geom_id, int main_surf_ind=0, bool ref_frame_is_absolute=true)
std::vector< std::string > GetGeomParmIDs(const std::string &geom_id)
int GetGeomVSPSurfType(const std::string &geom_id, int main_surf_ind=0)
std::vector< std::string > FindGeomsWithName(const std::string &name)
std::string FindGeom(const std::string &name, int index)
int GetTotalNumSurfs(const std::string &geom_id)
void UpdateGeom(const std::string &geom_id)
std::string GetGeomParent(const std::string &geom_id)
void SetDriverGroup(const std::string &geom_id, int section_index, int driver_0, int driver_1=-1, int driver_2=-1)
int GetNumMainSurfs(const std::string &geom_id)
std::vector< std::string > PasteGeomClipboard(const std::string &parent=std::string())
void CutGeomToClipboard(const std::string &geom_id)
std::vector< std::string > FindGeoms()
void SetGeomName(const std::string &geom_id, const std::string &name)
std::vector< std::string > GetGeomChildren(const std::string &geom_id)
std::string AddGeom(const std::string &type, const std::string &parent=std::string())
std::string GetGeomTypeName(const std::string &geom_id)
vec3d GetGeomBBoxMin(const std::string &geom_id, int main_surf_ind=0, bool ref_frame_is_absolute=true)
void CopyGeomToClipboard(const std::string &geom_id)
int GetGeomVSPSurfCfdType(const std::string &geom_id, int main_surf_ind=0)
void DeleteGeomVec(const std::vector< std::string > &del_vec)
void TranslateSet(int set_index, const vec3d &translation_vec)
void TransformSet(int set_index, const vec3d &translation_vec, double x_rot_deg, double y_rot_deg, double z_rot_deg, double scale, bool scale_translations_flag)
void ScaleSet(int set_index, double scale)
void RotateSet(int set_index, double x_rot_deg, double y_rot_deg, double z_rot_deg)
string AddProbe(const string &geomid, int surfindx, double u, double w, const string &name)
void DeleteAllRulers()
void DeleteAllProbes()
void DelProbe(const string &id)
string AddRuler(const string &startgeomid, int startsurfindx, double startu, double startw, const string &endgeomid, int endsurfindx, double endu, double endw, const string &name)
std::vector< string > GetAllProbes()
std::vector< string > GetAllRulers()
void DelRuler(const string &id)
void SetPCurve(const std::string &geom_id, const int &pcurveid, const std::vector< double > &tvec, const std::vector< double > &valvec, const int &newtype)
std::vector< double > PCurveGetValVec(const std::string &geom_id, const int &pcurveid)
std::vector< double > PCurveGetTVec(const std::string &geom_id, const int &pcurveid)
void ApproximateAllPropellerPCurves(const std::string &geom_id)
void PCurveDeletePt(const std::string &geom_id, const int &pcurveid, const int &indx)
void ResetPropellerThicknessCurve(const std::string &geom_id)
int PCurveSplit(const std::string &geom_id, const int &pcurveid, const double &tsplit)
int PCurveGetType(const std::string &geom_id, const int &pcurveid)
void PCurveConvertTo(const std::string &geom_id, const int &pcurveid, const int &newtype)
void WriteBodyFFCSVFile(const std::string &file_name)
void AddExcrescence(const std::string &excresName, const int &excresType, const double &excresVal)
void UpdateParasiteDrag()
void WriteCfEqnCSVFile(const std::string &file_name)
void WritePartialCfMethodCSVFile(const std::string &file_name)
void WriteAtmosphereCSVFile(const std::string &file_name, const int &atmos_type)
void WriteWingFFCSVFile(const std::string &file_name)
void CalcAtmosphere(const double &alt, const double &delta_temp, const int &atmos_type, double &temp, double &pres, double &pres_ratio, double &rho_ratio)
void DeleteExcrescence(const int &index)
std::string GetVehicleID()
std::string GetUserParmContainer()
std::vector< std::string > FindContainerGroupNames(const std::string &parm_container_id)
std::vector< std::string > GetAllUserParms()
void DeleteAllUserParm()
void DeleteUserParm(const std::string &id)
std::string FindContainer(const std::string &name, int index)
std::vector< std::string > FindContainerParmIDs(const std::string &parm_container_id)
int GetNumUserParms()
int GetNumPredefinedUserParms()
std::vector< std::string > FindContainers()
std::vector< std::string > FindContainersWithName(const std::string &name)
std::string GetContainerName(const std::string &parm_container_id)
string AddUserParm(int type, const string &name, const string &group)
std::string FindParm(const std::string &parm_container_id, const std::string &parm_name, const std::string &group_name)
void SetParmUpperLimit(const std::string &parm_id, double val)
double GetParmLowerLimit(const std::string &parm_id)
std::string GetParmName(const std::string &parm_id)
int GetParmType(const std::string &parm_id)
bool ValidParm(const std::string &id)
std::string GetParmDescript(const std::string &parm_id)
int GetIntParmVal(const std::string &parm_id)
double SetParmVal(const std::string &parm_id, double val)
double SetParmValUpdate(const std::string &parm_id, double val)
double GetParmVal(const std::string &parm_id)
std::string GetParm(const std::string &geom_id, const std::string &name, const std::string &group)
void SetParmDescript(const std::string &parm_id, const std::string &desc)
double GetParmUpperLimit(const std::string &parm_id)
void SetParmLowerLimit(const std::string &parm_id, double val)
double SetParmValLimits(const std::string &parm_id, double val, double lower_limit, double upper_limit)
std::string GetParmDisplayGroupName(const std::string &parm_id)
bool GetBoolParmVal(const std::string &parm_id)
std::string GetParmGroupName(const std::string &parm_id)
std::string GetParmContainer(const std::string &parm_id)
int GetNumResults(const std::string &name)
int GetNumData(const std::string &results_id, const std::string &data_name)
void PrintResults(const std::string &results_id)
const std::vector< vec3d > & GetVec3dResults(const std::string &id, const std::string &name, int index=0)
std::vector< std::string > GetAllResultsNames()
void DeleteResult(const std::string &id)
std::string FindLatestResultsID(const std::string &name)
const std::vector< int > & GetIntResults(const std::string &id, const std::string &name, int index=0)
std::string GetResultsName(const std::string &results_id)
const std::vector< std::vector< double > > & GetDoubleMatResults(const std::string &id, const std::string &name, int index=0)
const std::vector< double > & GetDoubleResults(const std::string &id, const std::string &name, int index=0)
int GetResultsType(const std::string &results_id, const std::string &data_name)
std::string GetResultsSetDoc(const std::string &results_id)
std::vector< std::string > GetAllDataNames(const std::string &results_id)
void WriteResultsCSVFile(const std::string &id, const std::string &file_name)
std::string FindResultsID(const std::string &name, int index=0)
void DeleteAllResults()
void WriteTestResults()
void PrintResultsDocs(const std::string &results_id)
std::string CreateGeomResults(const std::string &geom_id, const std::string &name)
const std::vector< std::string > & GetStringResults(const std::string &id, const std::string &name, int index=0)
void CopyPasteSet(int copyIndex, int pasteIndex)
void SetSetName(int index, const std::string &name)
bool GetSetFlag(const std::string &geom_id, int set_index)
std::vector< std::string > GetGeomSet(const std::string &name)
int GetSetIndex(const std::string &name)
std::vector< std::string > GetGeomSetAtIndex(int index)
int GetNumSets()
void SetSetFlag(const std::string &geom_id, int set_index, bool flag)
std::string GetSetName(int index)
double ComputeMinClearanceDistance(const std::string &geom_id, int set=SET_ALL)
double SnapParm(const std::string &parm_id, double target_min_dist, bool inc_flag, int set=SET_ALL)
int GetNumSubSurf(const std::string &geom_id)
std::vector< std::string > GetSubSurfIDVec(const std::string &geom_id)
std::string GetSubSurfName(const std::string &geom_id, const std::string &sub_id)
std::vector< std::string > GetAllSubSurfIDs()
std::string AddSubSurf(const std::string &geom_id, int type, int surfindex=0)
void DeleteSubSurf(const std::string &geom_id, const std::string &sub_id)
int GetSubSurfType(const std::string &sub_id)
void SetSubSurfName(const std::string &geom_id, const std::string &sub_id, const std::string &name)
std::vector< std::string > GetSubSurfParmIDs(const std::string &sub_id)
int GetSubSurfIndex(const std::string &sub_id)
std::string GetSubSurf(const std::string &geom_id, int index)
void CompVecCurvature01(const std::string &geom_id, const int &surf_indx, const std::vector< double > &us, const std::vector< double > &ws, std::vector< double > &k1_out_vec, std::vector< double > &k2_out_vec, std::vector< double > &ka_out_vec, std::vector< double > &kg_out_vec)
vec3d CompTanU01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void AxisProjVecPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const std::vector< vec3d > &pts, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
double ProjPnt01(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &u_out, double &w_out)
vec3d CompPntRST(const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t)
void ConvertLMNtoRST(const std::string &geom_id, const int &surf_indx, const double &l, const double &m, const double &n, double &r_out, double &s_out, double &t_out)
void ProjVecPnt01Guess(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, const std::vector< double > &u0s, const std::vector< double > &w0s, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
void ProjVecPnt01(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
bool InsideSurf(const std::string &geom_id, const int &surf_indx, const vec3d &pt)
vec3d CompPnt01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void FindRSTVec(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, std::vector< double > &r_out_vec, std::vector< double > &s_out_vec, std::vector< double > &t_out_vec, std::vector< double > &d_out_vec)
double ProjPnt01Guess(const std::string &geom_id, const int &surf_indx, const vec3d &pt, const double &u0, const double &w0, double &u_out, double &w_out)
void ConvertLMNtoRSTVec(const std::string &geom_id, const int &surf_indx, const std::vector< double > &l_vec, const std::vector< double > &m_vec, const std::vector< double > &n_vec, std::vector< double > &r_out_vec, std::vector< double > &s_out_vec, std::vector< double > &t_out_vec)
void ConvertRSTtoLMN(const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t, double &l_out, double &m_out, double &n_out)
vec3d CompTanW01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void AxisProjVecPnt01Guess(const std::string &geom_id, const int &surf_indx, const int &iaxis, const std::vector< vec3d > &pts, const std::vector< double > &u0s, const std::vector< double > &w0s, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
void ConvertRSTtoLMNVec(const std::string &geom_id, const int &surf_indx, const std::vector< double > &r_vec, const std::vector< double > &s_vec, const std::vector< double > &t_vec, std::vector< double > &l_out_vec, std::vector< double > &m_out_vec, std::vector< double > &n_out_vec)
double ProjPnt01I(const std::string &geom_id, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out)
void FindRSTVecGuess(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, const std::vector< double > &r0s, const std::vector< double > &s0s, const std::vector< double > &t0s, std::vector< double > &r_out_vec, std::vector< double > &s_out_vec, std::vector< double > &t_out_vec, std::vector< double > &d_out_vec)
void ConvertRtoL(const std::string &geom_id, const int &surf_indx, const double &r, double &l_out)
std::vector< bool > VecInsideSurf(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts)
std::vector< vec3d > CompVecPntRST(const std::string &geom_id, const int &surf_indx, const std::vector< double > &r_in_vec, const std::vector< double > &s_in_vec, const std::vector< double > &t_in_vec)
double AxisProjPnt01Guess(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, const double &u0, const double &w0, double &u_out, double &w_out)
double AxisProjPnt01I(const std::string &geom_id, const int &iaxis, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out)
void CompCurvature01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w, double &k1_out, double &k2_out, double &ka_out, double &kg_out)
void ConvertLtoR(const std::string &geom_id, const int &surf_indx, const double &l, double &r_out)
void ConvertUtoEta(const std::string &geom_id, const double &u, double &eta_out)
double FindRST(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &r_out, double &s_out, double &t_out)
vec3d CompNorm01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void ConvertEtatoU(const std::string &geom_id, const double &eta, double &u_out)
std::vector< vec3d > CompVecNorm01(const std::string &geom_id, const int &surf_indx, const std::vector< double > &us, const std::vector< double > &ws)
std::vector< vec3d > CompVecPnt01(const std::string &geom_id, const int &surf_indx, const std::vector< double > &u_in_vec, const std::vector< double > &w_in_vec)
void GetUWTess01(const std::string &geom_id, const int &surf_indx, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec)
double FindRSTGuess(const std::string &geom_id, const int &surf_indx, const vec3d &pt, const double &r0, const double &s0, const double &t0, double &r_out, double &s_out, double &t_out)
double AxisProjPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, double &u_out, double &w_out)
int GetNumUnsteadyGroups()
std::string GetUnsteadyGroupName(int group_index)
int GetNumUnsteadyRotorGroups()
std::vector< int > GetUnsteadyGroupSurfIndexes(int group_index)
std::vector< std::string > GetUnsteadyGroupCompIDs(int group_index)
int GetNumActuatorDisks()
std::string FindActuatorDisk(int disk_index)
std::string FindUnsteadyGroup(int group_index)
string GetVSPAERORefWingID()
string SetVSPAERORefWingID(const std::string &geom_id)
void AddVarPresetParm(const std::string &parm_id)
std::vector< std::string > GetVarPresetParmIDs()
bool DeleteVarPresetSet(const std::string &group_name, const std::string &setting_name)
std::vector< double > GetVarPresetParmValsWNames(const std::string &group_name, const std::string &setting_name)
std::string GetCurrentSettingName()
std::vector< std::string > GetVarPresetGroupNames()
std::vector< std::string > GetVarPresetParmIDsWName(const std::string &group_name)
std::vector< double > GetVarPresetParmVals()
void DeleteVarPresetParm(const std::string &parm_id)
void AddVarPresetGroup(const std::string &group_name)
std::string GetCurrentGroupName()
void AddVarPresetSetting(const std::string &setting_name)
void EditVarPresetParm(const std::string &parm_id, double parm_val)
std::vector< std::string > GetVarPresetSettingNamesWName(const std::string &group_name)
std::vector< std::string > GetVarPresetSettingNamesWIndex(int group_index)
void SwitchVarPreset(const std::string &group_name, const std::string &setting_name)
void VSPExit(int error_code)
int GetAndResetUpdateCount()
void Update(bool update_managers=true)
void ClearVSPModel()
std::string GetVSPFileName()
void VSPCrash(int crash_type)
void ResetViews()
void StopGUI()
void PopupMsg(const std::string &msg)
bool IsGUIBuild()
bool IsEventLoopRunning()
void SetViewAxis(bool vaxis)
void SetGeomMaterialName(const string &geom_id, const string &name)
void SetGeomDisplayType(const string &geom_id, int type)
void SetShowBorders(bool brdr)
vector< string > GetMaterialNames()
void Lock()
void SetGUIElementDisable(int e, bool state)
void SetWindowLayout(int r, int c)
void SetAllViews(int view)
void SetView(int viewport, int view)
void InitGUI()
void SetGeomScreenDisable(int s, bool state)
void SetGeomDrawType(const string &geom_id, int type)
void UpdateGUI()
void Unlock()
void SetGeomWireColor(const string &geom_id, int r, int g, int b)
void StartGUI()
void FitAllViews()
void SetBackground(double r, double g, double b)
void DisableStopGUIMenuItem()
void ScreenGrab(const string &fname, int w, int h, bool transparentBG, bool autocrop=false)
void EnableStopGUIMenuItem()
void SetGUIScreenDisable(int s, bool state)
void AddMaterial(const string &name, const vec3d &ambient, const vec3d &diffuse, const vec3d &specular, const vec3d &emissive, const double &alpha, const double &shininess)
void InsertXSec(const std::string &geom_id, int index, int type)
std::vector< vec3d > ReadFileXSec(const std::string &xsec_id, const std::string &file_name)
void SetXSecContinuity(const std::string &xsec_id, int cx)
int GetLowerCSTDegree(const std::string &xsec_id)
void SetXSecWidthHeight(const std::string &xsec_id, double w, double h)
void SetXSecPnts(const std::string &xsec_id, std::vector< vec3d > &pnt_vec)
void DemoteCSTUpper(const std::string &xsec_id)
std::vector< vec3d > GetAirfoilLowerPnts(const std::string &xsec_id)
void SetXSecWidth(const std::string &xsec_id, double w)
double GetXSecWidth(const std::string &xsec_id)
std::vector< std::string > GetXSecParmIDs(const std::string &xsec_id)
std::vector< vec3d > GetFeatureLinePnts(const string &geom_id)
void SetXSecHeight(const std::string &xsec_id, double h)
void SetLowerCST(const std::string &xsec_id, int deg, const std::vector< double > &coefs)
void PasteXSec(const std::string &geom_id, int index)
std::vector< double > GetUpperCSTCoefs(const std::string &xsec_id)
vec3d ComputeXSecTan(const std::string &xsec_id, double fract)
void SetAirfoilPnts(const std::string &xsec_id, const std::vector< vec3d > &up_pnt_vec, const std::vector< vec3d > &low_pnt_vec)
std::string GetXSecParm(const std::string &xsec_id, const std::string &name)
std::vector< vec3d > GetAirfoilCoordinates(const std::string &geom_id, const double &foilsurf_u)
void PromoteCSTUpper(const std::string &xsec_id)
void PromoteCSTLower(const std::string &xsec_id)
std::vector< double > GetVKTAirfoilCpDist(const double &alpha, const double &epsilon, const double &kappa, const double &tau, const std::vector< vec3d > &xyz_data)
void DemoteCSTLower(const std::string &xsec_id)
void FitAfCST(const std::string &xsec_surf_id, int xsec_index, int deg)
void CopyXSec(const std::string &geom_id, int index)
vec3d ComputeXSecPnt(const std::string &xsec_id, double fract)
std::vector< double > GetLowerCSTCoefs(const std::string &xsec_id)
void SetXSecTanStrengths(const std::string &xsec_id, int side, double top, double right, double bottom, double left)
void ReadFileAirfoil(const std::string &xsec_id, const std::string &file_name)
void SetXSecTanAngles(const std::string &xsec_id, int side, double top, double right, double bottom, double left)
std::vector< vec3d > GetHersheyBarDragDist(const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag=false)
void ResetXSecSkinParms(const std::string &xsec_id)
std::vector< vec3d > GetAirfoilUpperPnts(const std::string &xsec_id)
std::vector< vec3d > GetHersheyBarLiftDist(const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag=false)
std::vector< vec3d > GetVKTAirfoilPnts(const int &npts, const double &alpha, const double &epsilon, const double &kappa, const double &tau)
std::vector< vec3d > GetEllipsoidSurfPnts(const vec3d &center, const vec3d &abc_rad, int u_npts=20, int w_npts=20)
void CutXSec(const std::string &geom_id, int index)
std::vector< double > GetEllipsoidCpDist(const std::vector< vec3d > &surf_pnt_vec, const vec3d &abc_rad, const vec3d &V_inf)
void SetAirfoilLowerPnts(const std::string &xsec_id, const std::vector< vec3d > &low_pnt_vec)
void SetAirfoilUpperPnts(const std::string &xsec_id, const std::vector< vec3d > &up_pnt_vec)
int GetXSecShape(const std::string &xsec_id)
void SetXSecTanSlews(const std::string &xsec_id, int side, double top, double right, double bottom, double left)
void WriteBezierAirfoil(const std::string &file_name, const std::string &geom_id, const double &foilsurf_u)
int GetUpperCSTDegree(const std::string &xsec_id)
void SetXSecCurvatures(const std::string &xsec_id, int side, double top, double right, double bottom, double left)
double GetXSecHeight(const std::string &xsec_id)
void WriteSeligAirfoil(const std::string &file_name, const std::string &geom_id, const double &foilsurf_u)
void SetUpperCST(const std::string &xsec_id, int deg, const std::vector< double > &coefs)
std::string GetXSecSurf(const std::string &geom_id, int index)
void SetXSecSurfGlobalXForm(const std::string &xsec_surf_id, const Matrix4d &mat)
std::string GetXSec(const std::string &xsec_surf_id, int xsec_index)
int GetNumXSecSurfs(const std::string &geom_id)
Matrix4d GetXSecSurfGlobalXForm(const std::string &xsec_surf_id)
int GetNumXSec(const std::string &xsec_surf_id)
void ChangeXSecShape(const std::string &xsec_surf_id, int xsec_index, int type)