OpenVSP API Documentation  3.38.0
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 
185 #ifdef SWIG
186 %feature("autodoc", 1);
187 %feature("doxygen:ignore:forcpponly", range="end");
188 %feature("doxygen:ignore:beginPythonOnly", range="end:endPythonOnly", contents="parse");
189 
190 #endif
191 
192 
193 
194 #if !defined(VSPAPI__INCLUDED_)
195 #define VSPAPI__INCLUDED_
196 
197 #include "Defines.h"
198 
199 #include "APIErrorMgr.h"
200 #include "APIUpdateCountMgr.h"
201 #include "Vec3d.h"
202 #include "Matrix4d.h"
203 
204 #include <string>
205 #include <stack>
206 #include <vector>
207 
208 
209 using std::string;
210 using std::stack;
211 using std::vector;
212 
213 namespace vsp
214 {
215 
216 //======================== API Functions ================================//
244 extern void VSPCheckSetup();
245 
278 extern void VSPRenew();
279 
280 
322 extern void Update( bool update_managers = true );
323 
332 extern void VSPExit( int error_code );
333 
347 
348 
372 extern std::string GetVSPVersion();
373 
405 extern int GetVSPVersionMajor();
406 
438 extern int GetVSPVersionMinor();
439 
471 extern int GetVSPVersionChange();
472 
498 extern std::string GetVSPExePath();
499 
500 
531 extern bool SetVSPAEROPath( const std::string & path );
532 
559 extern std::string GetVSPAEROPath();
560 
592 extern bool CheckForVSPAERO( const std::string & path );
593 
594 
595 extern void RegisterCFDMeshAnalyses();
596 
597 
598 //======================== File I/O ================================//
658 extern void ReadVSPFile( const std::string & file_name );
659 
720 extern void WriteVSPFile( const std::string & file_name, int set = SET_ALL );
721 
781 extern void SetVSP3FileName( const std::string & file_name );
782 
828 extern std::string GetVSPFileName();
829 
856 extern void ClearVSPModel();
857 
868 extern void InsertVSPFile( const std::string & file_name, const std::string & parent_geom_id );
869 
870 
907 extern std::string ExportFile( const std::string & file_name, int thick_set, int file_type, int subsFlag = 1, int thin_set = vsp::SET_NONE );
908 
921 extern std::string ImportFile( const std::string & file_name, int file_type, const std::string & parent );
922 
923 
954 extern void SetBEMPropID( const string & prop_id );
955 
956 
957 //======================== Design Files ================================//
958 
967 extern void ReadApplyDESFile( const std::string & file_name );
968 
977 extern void WriteDESFile( const std::string & file_name );
978 
987 extern void ReadApplyXDDMFile( const std::string & file_name );
988 
997 extern void WriteXDDMFile( const std::string & file_name );
998 
1007 extern int GetNumDesignVars();
1008 
1019 extern void AddDesignVar( const std::string & parm_id, int type );
1020 
1028 extern void DeleteAllDesignVars();
1029 
1039 extern std::string GetDesignVar( int index );
1040 
1051 extern int GetDesignVarType( int index );
1052 
1053 
1054 //======================== Computations ================================//
1084 extern void SetComputationFileName( int file_type, const std::string & file_name );
1085 
1127 extern std::string ComputeMassProps( int set, int num_slices, int idir );
1128 
1168 extern std::string ComputeCompGeom( int set, bool half_mesh, int file_export_types );
1169 
1217 extern std::string ComputePlaneSlice( int set, int num_slices, const vec3d & norm, bool auto_bnd,
1218 
1219  double start_bnd = 0, double end_bnd = 0, bool measureduct = false );
1249 extern void ComputeDegenGeom( int set, int file_export_types );
1250 
1283 extern void ComputeCFDMesh( int set, int degenset, int file_export_types );
1284 
1306 extern void SetCFDMeshVal( int type, double val );
1307 
1342 extern void SetCFDWakeFlag( const std::string & geom_id, bool flag );
1343 
1372 extern void DeleteAllCFDSources();
1373 
1398 extern void AddDefaultSources();
1399 
1436 extern void AddCFDSource( int type, const std::string & geom_id, int surf_index,
1437 
1438  double l1, double r1, double u1, double w1,
1439  double l2 = 0, double r2 = 0, double u2 = 0, double w2 = 0 );
1440 
1449 extern string GetVSPAERORefWingID();
1450 
1508 extern string SetVSPAERORefWingID( const std::string & geom_id );
1509 
1510 
1511 //======================== Analysis ================================//
1512 
1536 extern int GetNumAnalysis();
1537 
1570 extern std::vector<std::string> ListAnalysis();
1571 
1609 extern std::vector<std::string> GetAnalysisInputNames( const std::string & analysis );
1610 
1635 extern std::string GetAnalysisDoc( const std::string & analysis );
1636 
1653 extern std::string GetAnalysisInputDoc( const std::string & analysis, const std::string & name );
1654 
1679 extern std::string ExecAnalysis( const std::string & analysis );
1680 
1681 
1692 extern int GetNumAnalysisInputData( const std::string & analysis, const std::string & name );
1693 
1729 extern int GetAnalysisInputType( const std::string & analysis, const std::string & name );
1730 
1770 extern const std::vector< int > & GetIntAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1771 
1803 extern const std::vector< double > & GetDoubleAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1804 
1836 extern const std::vector<std::string> & GetStringAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1837 
1871 extern const std::vector< vec3d > & GetVec3dAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1872 
1873 
1901 extern void SetAnalysisInputDefaults( const std::string & analysis );
1902 
1942 extern void SetIntAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< int > & indata, int index = 0 );
1943 
1985 extern void SetDoubleAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< double > & indata, int index = 0 );
1986 
2018 extern void SetStringAnalysisInput( const std::string & analysis, const std::string & name, const std::vector<std::string> & indata, int index = 0 );
2019 
2053 extern void SetVec3dAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< vec3d > & indata, int index = 0 );
2054 
2055 
2083 extern void PrintAnalysisInputs( const std::string & analysis_name );
2084 
2112 extern void PrintAnalysisDocs( const std::string & analysis_name );
2113 
2114 
2115 //======================== Results ================================//
2152 extern std::vector<std::string> GetAllResultsNames();
2153 
2188 extern std::vector<std::string> GetAllDataNames( const std::string & results_id );
2189 
2216 extern int GetNumResults( const std::string & name );
2217 
2258 extern std::string GetResultsName(const std::string & results_id );
2259 
2300 extern std::string GetResultsSetDoc( const std::string & results_id );
2301 
2302 extern std::string GetResultsEntryDoc( const std::string & results_id, const std::string & data_name );
2303 
2335 extern std::string FindResultsID( const std::string & name, int index = 0 );
2336 
2374 extern std::string FindLatestResultsID( const std::string & name );
2375 
2423 extern int GetNumData( const std::string & results_id, const std::string & data_name );
2424 
2466 extern int GetResultsType( const std::string & results_id, const std::string & data_name );
2467 
2516 extern const std::vector< int > & GetIntResults( const std::string & id, const std::string & name, int index = 0 );
2517 
2556 extern const std::vector< double > & GetDoubleResults( const std::string & id, const std::string & name, int index = 0 );
2557 
2569 extern const std::vector< std::vector< double > > & GetDoubleMatResults( const std::string & id, const std:: string & name, int index = 0 );
2570 
2607 extern const std::vector<std::string> & GetStringResults( const std::string & id, const std::string & name, int index = 0 );
2608 
2665 extern const std::vector< vec3d > & GetVec3dResults( const std::string & id, const std::string & name, int index = 0 );
2666 
2708 extern std::string CreateGeomResults( const std::string & geom_id, const std::string & name );
2709 
2748 extern void DeleteAllResults();
2749 
2789 extern void DeleteResult( const std::string & id );
2790 
2825 extern void WriteResultsCSVFile( const std::string & id, const std::string & file_name );
2826 
2862 extern void PrintResults( const std::string &results_id );
2863 
2899 extern void PrintResultsDocs( const std::string &results_id );
2900 
2935 extern void WriteTestResults();
2936 
2937 //======================== GUI Functions ================================//
2938 
2965 extern void InitGUI();
2966 
2994  extern void StartGUI();
2995 
3032 
3065 
3099 extern void StopGUI();
3100 
3130 extern void PopupMsg( const std::string &msg );
3131 
3173 extern void UpdateGUI();
3174 
3208 extern bool IsGUIBuild();
3209 
3259 extern void Lock( );
3260 
3307 extern void Unlock( );
3308 
3342 extern void ScreenGrab( const string & fname, int w, int h, bool transparentBG, bool autocrop = false );
3343 
3363 extern void SetViewAxis( bool vaxis );
3364 
3384 extern void SetShowBorders( bool brdr );
3385 
3411 extern void SetGeomDrawType(const string &geom_id, int type);
3412 
3438 extern void SetGeomDisplayType(const string &geom_id, int type);
3439 
3461 extern void SetBackground( double r, double g, double b );
3462 
3482 extern void SetGUIElementDisable( int e, bool state );
3483 
3503 extern void SetGUIScreenDisable( int s, bool state );
3504 
3523 extern void SetGeomScreenDisable( int s, bool state );
3524 
3525 
3526 //======================== Geom Functions ================================//
3558 extern std::vector<std::string> GetGeomTypes();
3559 
3583 extern std::string AddGeom( const std::string & type, const std::string & parent = std::string() );
3584 
3621 extern void UpdateGeom( const std::string & geom_id );
3622 
3654 extern void DeleteGeom( const std::string & geom_id );
3655 
3689 extern void DeleteGeomVec( const std::vector< std::string > & del_vec );
3690 
3731 extern void CutGeomToClipboard( const std::string & geom_id );
3732 
3773 extern void CopyGeomToClipboard( const std::string & geom_id );
3774 
3815 extern std::vector<std::string> PasteGeomClipboard( const std::string & parent = std::string() );
3816 
3850 extern std::vector<std::string> FindGeoms();
3851 
3891 extern std::vector<std::string> FindGeomsWithName( const std::string & name );
3892 
3937 extern std::string FindGeom( const std::string & name, int index );
3938 
3977 extern void SetGeomName( const std::string & geom_id, const std::string & name );
3978 
4013 extern std::string GetGeomName( const std::string & geom_id );
4014 
4049 extern std::vector<std::string> GetGeomParmIDs( const std::string & geom_id );
4050 
4081 extern std::string GetGeomTypeName( const std::string & geom_id );
4082 
4115 extern std::string GetParm( const std::string & geom_id, const std::string & name, const std::string & group );
4116 
4151 extern std::string GetGeomParent( const std::string& geom_id );
4152 
4202 extern std::vector< std::string > GetGeomChildren( const std::string& geom_id );
4203 
4234 extern int GetNumXSecSurfs( const std::string & geom_id );
4235 
4275 extern int GetNumMainSurfs( const std::string & geom_id );
4276 
4316 extern int GetTotalNumSurfs( const std::string& geom_id );
4317 
4350 extern int GetGeomVSPSurfType( const std::string& geom_id, int main_surf_ind = 0 );
4351 
4384 extern int GetGeomVSPSurfCfdType( const std::string& geom_id, int main_surf_ind = 0 );
4385 
4426 extern vec3d GetGeomBBoxMax( const std::string& geom_id, int main_surf_ind = 0, bool ref_frame_is_absolute = true );
4427 
4468 extern vec3d GetGeomBBoxMin( const std::string& geom_id, int main_surf_ind = 0, bool ref_frame_is_absolute = true );
4469 
4470 
4471 //======================== SubSurface Functions ================================//
4505 extern std::string AddSubSurf( const std::string & geom_id, int type, int surfindex = 0 );
4506 
4548 extern std::string GetSubSurf( const std::string & geom_id, int index );
4549 
4591 extern std::vector<std::string> GetSubSurf( const std::string & geom_id, const std::string & name );
4592 
4639 extern void DeleteSubSurf( const std::string & geom_id, const std::string & sub_id );
4640 
4686 extern void DeleteSubSurf( const std::string & sub_id );
4687 
4721 extern void SetSubSurfName(const std::string & geom_id, const std::string & sub_id, const std::string & name);
4722 
4755 extern void SetSubSurfName( const std::string & sub_id, const std::string & name );
4756 
4794 extern std::string GetSubSurfName( const std::string & geom_id, const std::string & sub_id );
4795 
4832 extern std::string GetSubSurfName( const std::string & sub_id );
4833 
4872 extern int GetSubSurfIndex( const std::string & sub_id );
4873 
4937 extern std::vector<std::string> GetSubSurfIDVec( const std::string & geom_id );
4938 
4947 extern std::vector<std::string> GetAllSubSurfIDs();
4948 
4987 extern int GetNumSubSurf( const std::string & geom_id );
4988 
5053 extern int GetSubSurfType( const std::string & sub_id );
5054 
5100 extern std::vector<std::string> GetSubSurfParmIDs( const std::string & sub_id );
5101 
5102 
5134 extern int AddFeaStruct( const std::string & geom_id, bool init_skin = true, int surfindex = 0 );
5135 
5172 extern void SetFeaMeshStructIndex( int struct_index );
5173 
5210 extern void DeleteFeaStruct( const std::string & geom_id, int fea_struct_ind );
5211 
5245 extern std::string GetFeaStructID( const std::string & geom_id, int fea_struct_ind );
5246 
5291 extern int GetFeaStructIndex( const std::string & struct_id );
5292 
5331 extern std::string GetFeaStructParentGeomID( const std::string & struct_id );
5332 
5377 extern std::string GetFeaStructName( const std::string & geom_id, int fea_struct_ind );
5378 
5427 extern void SetFeaStructName( const std::string & geom_id, int fea_struct_ind, const std::string & name );
5428 
5465 extern std::vector< std::string > GetFeaStructIDVec();
5466 
5506 extern void SetFeaPartName( const std::string & part_id, const std::string & name );
5507 
5553 extern std::string AddFeaPart( const std::string & geom_id, int fea_struct_ind, int type );
5554 
5602 extern void DeleteFeaPart( const std::string & geom_id, int fea_struct_ind, const std::string & part_id );
5603 
5656 extern std::string GetFeaPartID( const std::string & fea_struct_id, int fea_part_index );
5657 
5708 extern std::string GetFeaPartName( const std::string & part_id );
5709 
5754 extern int GetFeaPartType( const std::string & part_id );
5755 
5801 extern std::vector< std::string > GetFeaPartIDVec( const std::string & fea_struct_id );
5802 
5848 extern std::vector< std::string > GetFeaSubSurfIDVec( const std::string & fea_struct_id );
5849 
5919 extern void SetFeaPartPerpendicularSparID( const std::string& part_id, const std::string& perpendicular_spar_id );
5920 
5989 extern std::string GetFeaPartPerpendicularSparID( const std::string& part_id );
5990 
6036 extern std::string AddFeaSubSurf( const std::string & geom_id, int fea_struct_ind, int type );
6037 
6085 extern void DeleteFeaSubSurf( const std::string & geom_id, int fea_struct_ind, const std::string & ss_id );
6086 
6142 extern int GetFeaSubSurfIndex( const string & ss_id );
6143 
6182 extern int NumFeaStructures();
6183 
6234 extern int NumFeaParts( const std::string & fea_struct_id );
6235 
6285 extern int NumFeaSubSurfs( const std::string & fea_struct_id );
6286 
6312 extern std::string AddFeaMaterial();
6313 
6342 extern std::string AddFeaProperty( int property_type = 0 );
6343 
6386 extern void SetFeaMeshVal( const std::string & geom_id, int fea_struct_ind, int type, double val );
6387 
6438 extern void SetFeaMeshFileName( const std::string & geom_id, int fea_struct_ind, int file_type, const string & file_name );
6439 
6491 extern void ComputeFeaMesh( const std::string & geom_id, int fea_struct_ind, int file_type );
6492 
6543 extern void ComputeFeaMesh( const std::string & struct_id, int file_type );
6544 
6545 
6585 extern void CutXSec( const std::string & geom_id, int index );
6586 
6622 extern void CopyXSec( const std::string & geom_id, int index );
6623 
6659 extern void PasteXSec( const std::string & geom_id, int index );
6660 
6689 extern void InsertXSec( const std::string & geom_id, int index, int type );
6690 
6691 
6692 //======================== Wing Section Functions ===================//
6741 extern void SetDriverGroup( const std::string & geom_id, int section_index, int driver_0, int driver_1 = -1, int driver_2 = -1 );
6742 
6743 
6744 //======================== XSecSurf ================================//
6774 extern std::string GetXSecSurf( const std::string & geom_id, int index );
6775 
6827 extern int GetNumXSec( const std::string & xsec_surf_id );
6828 
6864 extern std::string GetXSec( const std::string & xsec_surf_id, int xsec_index );
6865 
6916 extern void ChangeXSecShape( const std::string & xsec_surf_id, int xsec_index, int type );
6917 
6927 extern void SetXSecSurfGlobalXForm( const std::string & xsec_surf_id, const Matrix4d & mat );
6928 
6938 extern Matrix4d GetXSecSurfGlobalXForm( const std::string & xsec_surf_id );
6939 
6940 
6941 //======================== XSec ================================//
6983 extern int GetXSecShape( const std::string& xsec_id );
6984 
7024 extern double GetXSecWidth( const std::string& xsec_id );
7025 
7065 extern double GetXSecHeight( const std::string& xsec_id );
7066 
7108 extern void SetXSecWidthHeight( const std::string& xsec_id, double w, double h );
7109 
7149 extern void SetXSecWidth( const std::string& xsec_id, double w );
7150 
7190 extern void SetXSecHeight( const std::string& xsec_id, double h );
7191 
7230 extern std::vector<std::string> GetXSecParmIDs( const std::string& xsec_id );
7231 
7275 extern std::string GetXSecParm( const std::string& xsec_id, const std::string& name );
7276 
7317 extern std::vector<vec3d> ReadFileXSec( const std::string& xsec_id, const std::string& file_name );
7318 
7372 extern void SetXSecPnts( const std::string& xsec_id, std::vector< vec3d > & pnt_vec );
7373 
7416 extern vec3d ComputeXSecPnt( const std::string& xsec_id, double fract );
7417 
7459 extern vec3d ComputeXSecTan( const std::string& xsec_id, double fract );
7460 
7502 extern void ResetXSecSkinParms( const std::string& xsec_id );
7503 
7545 extern void SetXSecContinuity( const std::string& xsec_id, int cx );
7546 
7597 extern void SetXSecTanAngles( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
7598 
7649 extern void SetXSecTanSlews( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
7650 
7703 extern void SetXSecTanStrengths( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
7704 
7757 extern void SetXSecCurvatures( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
7758 
7797 extern void ReadFileAirfoil( const std::string& xsec_id, const std::string& file_name );
7798 
7854 extern void SetAirfoilUpperPnts( const std::string& xsec_id, const std::vector< vec3d > & up_pnt_vec );
7855 
7911 extern void SetAirfoilLowerPnts( const std::string& xsec_id, const std::vector< vec3d > & low_pnt_vec );
7912 
7977 extern void SetAirfoilPnts( const std::string& xsec_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
7978 
8027 extern std::vector<vec3d> GetHersheyBarLiftDist( const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag = false );
8028 
8077 extern std::vector<vec3d> GetHersheyBarDragDist( const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag = false );
8078 
8131 extern std::vector<vec3d> GetVKTAirfoilPnts( const int &npts, const double &alpha, const double &epsilon, const double &kappa, const double &tau );
8132 
8186 extern std::vector<double> GetVKTAirfoilCpDist( const double &alpha, const double &epsilon, const double &kappa, const double &tau, std::vector<vec3d> xyz_data );
8187 
8202 extern std::vector<vec3d> GetEllipsoidSurfPnts( const vec3d &center, const vec3d &abc_rad, int u_npts = 20, int w_npts = 20 );
8203 
8213 extern std::vector<vec3d> GetFeatureLinePnts( const string& geom_id );
8214 
8297 extern std::vector<double> GetEllipsoidCpDist( const std::vector<vec3d> &surf_pnt_vec, const vec3d &abc_rad, const vec3d &V_inf );
8298 
8299 extern double IntegrateEllipsoidFlow( const vec3d &abc_rad, const int &abc_index );
8300 
8344 extern std::vector<vec3d> GetAirfoilUpperPnts( const std::string& xsec_id );
8345 
8389 extern std::vector<vec3d> GetAirfoilLowerPnts( const std::string& xsec_id );
8390 
8401 extern std::vector<double> GetUpperCSTCoefs( const std::string& xsec_id );
8402 
8413 extern std::vector<double> GetLowerCSTCoefs( const std::string& xsec_id );
8414 
8425 extern int GetUpperCSTDegree( const std::string& xsec_id );
8426 
8437 extern int GetLowerCSTDegree( const std::string& xsec_id );
8438 
8450 extern void SetUpperCST( const std::string& xsec_id, int deg, const std::vector<double> &coefs );
8451 
8463 extern void SetLowerCST( const std::string& xsec_id, int deg, const std::vector<double> &coefs );
8464 
8474 extern void PromoteCSTUpper( const std::string& xsec_id );
8475 
8485 extern void PromoteCSTLower( const std::string& xsec_id );
8486 
8496 extern void DemoteCSTUpper( const std::string& xsec_id );
8497 
8507 extern void DemoteCSTLower( const std::string& xsec_id );
8508 
8519 extern void FitAfCST( const std::string & xsec_surf_id, int xsec_index, int deg );
8520 
8521 
8522 //======================== BOR Functions ======================//
8554 extern void ChangeBORXSecShape( const string & bor_id, int type );
8555 
8586 extern int GetBORXSecShape( const string & bor_id );
8587 
8619 extern std::vector<vec3d> ReadBORFileXSec( const std::string& bor_id, const std::string& file_name );
8620 
8665 extern void SetBORXSecPnts( const std::string& bor_id, std::vector< vec3d > & pnt_vec );
8666 
8700 extern vec3d ComputeBORXSecPnt( const std::string& bor_id, double fract );
8701 
8733 extern vec3d ComputeBORXSecTan( const std::string& bor_id, double fract );
8734 
8765 extern void ReadBORFileAirfoil( const std::string& bor_id, const std::string& file_name );
8766 
8814 extern void SetBORAirfoilUpperPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec );
8815 
8863 extern void SetBORAirfoilLowerPnts( const std::string& bor_id, const std::vector< vec3d > & low_pnt_vec );
8864 
8921 extern void SetBORAirfoilPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
8922 
8958 extern std::vector<vec3d> GetBORAirfoilUpperPnts( const std::string& bor_id );
8959 
8995 extern std::vector<vec3d> GetBORAirfoilLowerPnts( const std::string& bor_id );
8996 
9007 extern std::vector<double> GetBORUpperCSTCoefs( const std::string& bor_id );
9008 
9019 extern std::vector<double> GetBORLowerCSTCoefs( const std::string& bor_id );
9020 
9031 extern int GetBORUpperCSTDegree( const std::string& bor_id );
9032 
9043 extern int GetBORLowerCSTDegree( const std::string& bor_id );
9044 
9056 extern void SetBORUpperCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
9057 
9069 extern void SetBORLowerCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
9070 
9080 extern void PromoteBORCSTUpper( const std::string& bor_id );
9081 
9091 extern void PromoteBORCSTLower( const std::string& bor_id );
9092 
9102 extern void DemoteBORCSTUpper( const std::string& bor_id );
9103 
9113 extern void DemoteBORCSTLower( const std::string& bor_id );
9114 
9124 extern void FitBORAfCST( const std::string & bor_id, int deg );
9125 
9126 
9127 //======================== FoilSurf Functions ======================//
9162 extern void WriteBezierAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
9163 
9198 extern void WriteSeligAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
9199 
9210 extern std::vector < vec3d > GetAirfoilCoordinates( const std::string & geom_id, const double &foilsurf_u );
9211 
9212 
9213 //======================== Edit Curve XSec Functions ======================//
9262 extern void EditXSecInitShape( const std::string & xsec_id );
9263 
9310 extern void EditXSecConvertTo( const std::string & xsec_id, const int & newtype );
9311 
9368 extern std::vector < double > GetEditXSecUVec( const std::string& xsec_id );
9369 
9419 extern std::vector < vec3d > GetEditXSecCtrlVec( const std::string & xsec_id, const bool non_dimensional = true );
9420 
9528 extern void SetEditXSecPnts( const std::string & xsec_id, std::vector < double > u_vec, std::vector < vec3d > control_pts, std::vector < double > r_vec );
9529 
9596 extern void EditXSecDelPnt( const std::string & xsec_id, const int & indx );
9597 
9663 extern int EditXSecSplit01( const std::string & xsec_id, const double & u );
9664 
9745 extern void MoveEditXSecPnt( const std::string & xsec_id, const int & indx, const vec3d & new_pnt );
9746 
9797 extern void ConvertXSecToEdit( const std::string & geom_id, const int & indx = 0 );
9798 
9855 extern std::vector < bool > GetEditXSecFixedUVec( const std::string& xsec_id );
9856 
9913 extern void SetEditXSecFixedUVec( const std::string& xsec_id, std::vector < bool > fixed_u_vec );
9914 
9971 extern void ReparameterizeEditXSec( const std::string & xsec_id );
9972 
9973 
9974 //======================== Sets ================================//
9995 extern int GetNumSets();
9996 
10024 extern void SetSetName( int index, const std::string& name );
10025 
10053 extern std::string GetSetName( int index );
10054 
10088 extern std::vector<std::string> GetGeomSetAtIndex( int index );
10089 
10122 extern std::vector<std::string> GetGeomSet( const std::string & name );
10123 
10150 extern int GetSetIndex( const std::string & name );
10151 
10185 extern bool GetSetFlag( const std::string & geom_id, int set_index );
10186 
10220 extern void SetSetFlag( const std::string & geom_id, int set_index, bool flag );
10221 
10266 extern void CopyPasteSet( int copyIndex, int pasteIndex );
10267 
10268 
10269 //======================== Group Modifications ================================//
10302 extern void ScaleSet( int set_index, double scale );
10303 
10338 extern void RotateSet( int set_index, double x_rot_deg, double y_rot_deg, double z_rot_deg );
10339 
10372 extern void TranslateSet( int set_index, const vec3d &translation_vec );
10373 
10412 extern 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 );
10413 
10414 
10415 //======================== Parm Functions ================================//
10446 extern bool ValidParm( const std::string & id );
10447 
10496 extern double SetParmVal( const std::string & parm_id, double val );
10497 
10548 extern double SetParmVal( const std::string & geom_id, const std::string & name, const std::string & group, double val );
10549 
10586 extern double SetParmValLimits( const std::string & parm_id, double val, double lower_limit, double upper_limit );
10587 
10620 extern double SetParmValUpdate( const std::string & parm_id, double val );
10621 
10656 extern double SetParmValUpdate( const std::string & geom_id, const std::string & parm_name, const std::string & parm_group_name, double val );
10657 
10704 extern double GetParmVal( const std::string & parm_id );
10705 
10754 extern double GetParmVal( const std::string & geom_id, const std::string & name, const std::string & group );
10755 
10786 extern int GetIntParmVal( const std::string & parm_id );
10787 
10818 extern bool GetBoolParmVal( const std::string & parm_id );
10819 
10871 extern void SetParmUpperLimit( const std::string & parm_id, double val );
10872 
10903 extern double GetParmUpperLimit( const std::string & parm_id );
10904 
10956 extern void SetParmLowerLimit( const std::string & parm_id, double val );
10957 
10988 extern double GetParmLowerLimit( const std::string & parm_id );
10989 
11033 extern int GetParmType( const std::string & parm_id );
11034 
11092 extern std::string GetParmName( const std::string & parm_id );
11093 
11137 extern std::string GetParmGroupName( const std::string & parm_id );
11138 
11182 extern std::string GetParmDisplayGroupName( const std::string & parm_id );
11183 
11230 extern std::string GetParmContainer( const std::string & parm_id );
11231 
11264 extern void SetParmDescript( const std::string & parm_id, const std::string & desc );
11265 
11300 extern std::string GetParmDescript( const std::string & parm_id );
11301 
11336 extern std::string FindParm( const std::string & parm_container_id, const std::string& parm_name, const std::string& group_name );
11337 
11338 
11339 //======================== Parm Container Functions ======================//
11340 
11377 extern std::vector<std::string> FindContainers();
11378 
11403 extern std::vector<std::string> FindContainersWithName( const std::string & name );
11404 
11429 extern std::string FindContainer( const std::string & name, int index );
11430 
11455 extern std::string GetContainerName( const std::string & parm_container_id );
11456 
11496 extern std::vector<std::string> FindContainerGroupNames( const std::string & parm_container_id );
11497 
11555 extern std::vector<std::string> FindContainerParmIDs( const std::string & parm_container_id );
11556 
11578 extern std::string GetVehicleID();
11579 
11580 
11581 //======================== User Parm Functions ======================//
11603 extern int GetNumUserParms();
11604 
11627 
11664 extern std::vector < std::string > GetAllUserParms();
11665 
11685 extern std::string GetUserParmContainer();
11686 
11718 extern string AddUserParm(int type, const string & name, const string & group );
11719 
11750 extern void DeleteUserParm( const std::string & id );
11751 
11770 extern void DeleteAllUserParm();
11771 
11772 
11773 //======================== Snap To Functions ======================//
11815 extern double ComputeMinClearanceDistance( const std::string & geom_id, int set = SET_ALL );
11816  // TODO: Validate inc_flag description
11861 
11862 extern double SnapParm( const std::string & parm_id, double target_min_dist, bool inc_flag, int set = SET_ALL );
11863 
11864 
11865 //======================== Variable Preset Functions ======================//
11895 extern void AddVarPresetGroup( const std::string &group_name );
11896 
11930 extern void AddVarPresetSetting( const std::string &setting_name );
11931 
11969 extern void AddVarPresetParm( const std::string &parm_id );
11970 
12009 extern void AddVarPresetParm( const std::string &parm_id, const std::string &group_name );
12010 
12053 extern void EditVarPresetParm( const std::string &parm_id, double parm_val );
12054 
12099 extern void EditVarPresetParm( const std::string &parm_id, double parm_val, const std::string &group_name, const std::string &setting_name );
12100 
12142 extern void DeleteVarPresetParm( const std::string &parm_id );
12143 
12186 extern void DeleteVarPresetParm( const std::string &parm_id, const std::string &group_name );
12187 
12234 extern void SwitchVarPreset( const std::string &group_name, const std::string &setting_name );
12235 
12269 extern bool DeleteVarPresetSet( const std::string &group_name, const std::string &setting_name );
12270 
12324 extern std::string GetCurrentGroupName();
12325 
12379 extern std::string GetCurrentSettingName();
12380 
12410 extern std::vector< std::string > GetVarPresetGroupNames();
12411 
12446 extern std::vector< std::string > GetVarPresetSettingNamesWName( const std::string &group_name );
12447 
12504 extern std::vector< std::string > GetVarPresetSettingNamesWIndex( int group_index );
12505 
12555 extern std::vector< double > GetVarPresetParmVals();
12556 
12614 extern std::vector< double > GetVarPresetParmValsWNames( const std::string &group_name, const std::string &setting_name );
12615 
12661 extern std::vector< std::string > GetVarPresetParmIDs();
12662 
12715 extern std::vector< std::string > GetVarPresetParmIDsWName( const std::string &group_name );
12716 
12717 
12718 //======================== Parametric Curve Functions ======================//
12732 extern void SetPCurve( const std::string & geom_id, const int & pcurveid, const std::vector < double > & tvec,
12733 
12734  const std::vector < double > & valvec, const int & newtype );
12746 extern void PCurveConvertTo( const std::string & geom_id, const int & pcurveid, const int & newtype );
12747 
12759 extern int PCurveGetType( const std::string & geom_id, const int & pcurveid );
12760 
12771 extern std::vector < double > PCurveGetTVec( const std::string & geom_id, const int & pcurveid );
12772 
12783 extern std::vector < double > PCurveGetValVec( const std::string & geom_id, const int & pcurveid );
12784 
12795 extern void PCurveDeletePt( const std::string & geom_id, const int & pcurveid, const int & indx );
12796 
12808 extern int PCurveSplit( const std::string & geom_id, const int & pcurveid, const double & tsplit );
12809 
12837 extern void ApproximateAllPropellerPCurves( const std::string & geom_id );
12838 
12868 extern void ResetPropellerThicknessCurve( const std::string & geom_id );
12869 
12870 
12871 //======================== VSPAERO Functions ======================//
12964 
13003 
13035 extern void AddAllToVSPAEROControlSurfaceGroup( int CSGroupIndex );
13036 
13072 extern void RemoveAllFromVSPAEROControlSurfaceGroup( int CSGroupIndex );
13073 
13125 extern std::vector < std::string > GetActiveCSNameVec( int CSGroupIndex );
13126 
13171 extern std::vector < std::string > GetCompleteCSNameVec();
13172 
13214 extern std::vector < std::string > GetAvailableCSNameVec( int CSGroupIndex );
13215 
13256 extern void SetVSPAEROControlGroupName(const string & name, int CSGroupIndex);
13257 
13297 extern std::string GetVSPAEROControlGroupName( int CSGroupIndex );
13298 
13353 extern void AddSelectedToCSGroup(vector <int> selected, int CSGroupIndex);
13354 
13418 extern void RemoveSelectedFromCSGroup(vector <int> selected, int CSGroupIndex);
13419 
13476 
13477 
13478 //================ VSPAERO Actuator Disk and Unsteady Functions ==============//
13527 extern std::string FindActuatorDisk( int disk_index );
13528 
13571 extern int GetNumActuatorDisks();
13572 
13619 extern std::string FindUnsteadyGroup( int group_index );
13620 
13656 extern std::string GetUnsteadyGroupName( int group_index );
13657 
13701 extern std::vector < std::string > GetUnsteadyGroupCompIDs( int group_index );
13702 
13746 extern std::vector < int > GetUnsteadyGroupSurfIndexes( int group_index );
13747 
13800 
13854 
13855 
13856 //======================== Parasite Drag Tool Functions ======================//
13883 extern void AddExcrescence(const std::string & excresName, const int & excresType, const double & excresVal);
13884 
13916 extern void DeleteExcrescence(const int & index);
13917 
13925 extern void UpdateParasiteDrag();
13926 
13953 extern void WriteAtmosphereCSVFile( const std::string & file_name, const int &atmos_type );
13954 
13994 extern void CalcAtmosphere( const double & alt, const double & delta_temp, const int & atmos_type,
13995 
13996  double & temp, double & pres, double & pres_ratio, double & rho_ratio );
14018 extern void WriteBodyFFCSVFile( const std::string & file_name );
14019 
14041 extern void WriteWingFFCSVFile( const std::string & file_name );
14042  // TODO: Improve description
14063 
14064 extern void WriteCfEqnCSVFile( const std::string & file_name );
14065  // TODO: Improve description
14086 
14087 extern void WritePartialCfMethodCSVFile( const std::string & file_name );
14088 
14089 
14090 //======================== Surface Query Functions ======================//
14134 extern vec3d CompPnt01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
14135 
14179 extern vec3d CompNorm01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
14180 
14224 extern vec3d CompTanU01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
14225 
14269 extern vec3d CompTanW01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
14270 
14321 extern void CompCurvature01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w,
14322  double &k1_out, double &k2_out, double &ka_out, double &kg_out);
14323 
14387 extern double ProjPnt01(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &u_out, double &w_out);
14388 
14459 extern double ProjPnt01I(const std::string &geom_id, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
14460 
14531 extern 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);
14532 
14533 
14595 extern double AxisProjPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, double &u_out, double &w_out);
14596 
14660 extern double AxisProjPnt01I(const std::string &geom_id, const int &iaxis, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
14661 
14735 extern 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);
14736 
14799 extern bool InsideSurf( const std::string &geom_id, const int &surf_indx, const vec3d &pt );
14800 
14801 
14848 extern vec3d CompPntRST( const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t );
14849 
14906 extern double FindRST( const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &r_out, double &s_out, double &t_out );
14907 
14976 extern 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 );
14977 
14978 
15026 extern 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 );
15027 
15067 extern void ConvertRtoL( const std::string &geom_id, const int &surf_indx, const double &r, double &l_out );
15068 
15116 extern 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 );
15155 extern void ConvertLtoR( const std::string &geom_id, const int &surf_indx, const double &l, double &r_out );
15156 
15195 extern void ConvertUtoEta( const std::string &geom_id, const double &u, double &eta_out );
15196 
15235 extern void ConvertEtatoU( const std::string &geom_id, const double &eta, double &u_out );
15236 
15237 
15292 extern 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);
15293 
15348 extern std::vector < vec3d > CompVecNorm01(const std::string &geom_id, const int &surf_indx, const std::vector < double > &us, const std::vector < double > &ws);
15349 
15411 extern 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);
15412 
15489 extern 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 );
15490 
15589 extern 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 );
15590 
15591 
15693 extern 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 );
15694 
15807 extern 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 );
15808 
15882 extern std::vector < bool > VecInsideSurf( const std::string &geom_id, const int &surf_indx, const std::vector < vec3d > &pts );
15883 
15884 
15946 extern 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 );
15947 
16020 extern 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 );
16021 
16105 extern 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 );
16106 
16107 
16175 extern 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,
16176  std::vector < double > &l_out_vec, std::vector < double > &m_out_vec, std::vector < double > &n_out_vec );
16177 
16244 extern 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,
16245  std::vector < double > &r_out_vec, std::vector < double > &s_out_vec, std::vector < double > &t_out_vec );
16246 
16281 extern void GetUWTess01(const std::string &geom_id, const int &surf_indx, std::vector < double > &u_out_vec, std::vector < double > &w_out_vec);
16282 
16283 
16284 //======================= Measure Functions ============================//
16333 extern string AddRuler( const string & startgeomid, int startsurfindx, double startu, double startw,
16334  const string & endgeomid, int endsurfindx, double endu, double endw, const string & name );
16391 extern std::vector < string > GetAllRulers();
16392 
16440 extern void DelRuler( const string &id );
16441 
16484 extern void DeleteAllRulers();
16485 
16486 
16523 extern string AddProbe( const string & geomid, int surfindx, double u, double w, const string & name );
16524 
16564 extern std::vector < string > GetAllProbes();
16565 
16607 extern void DelProbe( const string &id );
16608 
16649 extern void DeleteAllProbes();
16650 
16651 
16652 //======================= Advanced Link Functions ============================//
16653 
16682 extern std::vector< std::string > GetAdvLinkNames();
16683 
16731 extern int GetLinkIndex( const string & name );
16732 
16797 extern void DelAdvLink( int index );
16798 
16862 extern void DelAllAdvLinks();
16863 
16909 extern void AddAdvLink( const string & name );
16910 
16958 extern void AddAdvLinkInput( int index, const string & parm_id, const string & var_name );
16959 
17007 extern void AddAdvLinkOutput( int index, const string & parm_id, const string & var_name );
17008 
17067 extern void DelAdvLinkInput( int index, const string & var_name );
17068 
17127 extern void DelAdvLinkOutput( int index, const string & var_name );
17128 
17188 extern std::vector< std::string > GetAdvLinkInputNames( int index );
17189 
17249 extern std::vector< std::string > GetAdvLinkInputParms( int index );
17250 
17310 extern std::vector< std::string > GetAdvLinkOutputNames( int index );
17311 
17371 extern std::vector< std::string > GetAdvLinkOutputParms( int index );
17372 
17437 extern bool ValidateAdvLinkParms( int index );
17438 
17485 extern void SetAdvLinkCode( int index, const string & code );
17486 
17541 extern std::string GetAdvLinkCode( int index );
17542 
17600 extern void SearchReplaceAdvLinkCode( int index, const string & from, const string & to );
17601 
17662 extern bool BuildAdvLinkScript( int index );
17663 
17664 
17665 } // End vsp namespace
17666 
17667 
17668 #endif // !defined(VSPAPI__INCLUDED_)
Definition: Vec3d.h:235
bool CheckForVSPAERO(const std::string &path)
int GetVSPVersionChange()
std::string GetVSPVersion()
int GetVSPVersionMinor()
bool SetVSPAEROPath(const std::string &path)
std::string GetVSPExePath()
std::string GetVSPAEROPath()
int GetVSPVersionMajor()
void VSPRenew()
void VSPCheckSetup()
void SetIntAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< int > &indata, int index=0)
const std::vector< vec3d > & GetVec3dAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
void PrintAnalysisDocs(const std::string &analysis_name)
const std::vector< double > & GetDoubleAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
std::string ExecAnalysis(const std::string &analysis)
int GetNumAnalysis()
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)
std::vector< std::string > GetAnalysisInputNames(const std::string &analysis)
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< std::string > & GetStringAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
std::string GetAnalysisDoc(const std::string &analysis)
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)
std::vector< std::string > ListAnalysis()
const std::vector< int > & GetIntAnalysisInput(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 > GetBORUpperCSTCoefs(const std::string &bor_id)
vec3d ComputeBORXSecPnt(const std::string &bor_id, double fract)
std::vector< vec3d > GetBORAirfoilUpperPnts(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)
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)
std::vector< double > GetBORLowerCSTCoefs(const std::string &bor_id)
void PromoteBORCSTLower(const std::string &bor_id)
int GetBORXSecShape(const string &bor_id)
std::vector< vec3d > ReadBORFileXSec(const std::string &bor_id, const std::string &file_name)
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 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 SetVSPAEROControlGroupName(const string &name, int CSGroupIndex)
std::vector< std::string > GetActiveCSNameVec(int CSGroupIndex)
void AddAllToVSPAEROControlSurfaceGroup(int CSGroupIndex)
std::vector< std::string > GetAvailableCSNameVec(int CSGroupIndex)
int CreateVSPAEROControlSurfaceGroup()
int GetNumControlSurfaceGroups()
void AddSelectedToCSGroup(vector< int > selected, int CSGroupIndex)
std::string GetVSPAEROControlGroupName(int CSGroupIndex)
std::vector< std::string > GetCompleteCSNameVec()
void RemoveAllFromVSPAEROControlSurfaceGroup(int CSGroupIndex)
void RemoveSelectedFromCSGroup(vector< int > selected, 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)
std::vector< vec3d > GetEditXSecCtrlVec(const std::string &xsec_id, const bool non_dimensional=true)
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)
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)
void SetEditXSecPnts(const std::string &xsec_id, std::vector< double > u_vec, std::vector< vec3d > control_pts, std::vector< double > r_vec)
@ SET_NONE
Definition: APIDefines.h:1092
@ SET_ALL
Definition: APIDefines.h:1093
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)
void ComputeFeaMesh(const std::string &struct_id, int file_type)
void DeleteFeaStruct(const std::string &geom_id, int fea_struct_ind)
int GetFeaStructIndex(const std::string &struct_id)
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)
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)
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)
std::string AddFeaMaterial()
std::string AddFeaPart(const std::string &geom_id, int fea_struct_ind, int type)
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::vector< std::string > GetGeomTypes()
std::string GetGeomName(const std::string &geom_id)
vec3d GetGeomBBoxMax(const std::string &geom_id, int main_surf_ind=0, bool ref_frame_is_absolute=true)
std::vector< std::string > PasteGeomClipboard(const std::string &parent=std::string())
int GetGeomVSPSurfType(const std::string &geom_id, int main_surf_ind=0)
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)
std::vector< std::string > FindGeomsWithName(const std::string &name)
int GetNumMainSurfs(const std::string &geom_id)
void CutGeomToClipboard(const std::string &geom_id)
void SetGeomName(const std::string &geom_id, const std::string &name)
std::vector< std::string > GetGeomChildren(const std::string &geom_id)
std::vector< std::string > GetGeomParmIDs(const std::string &geom_id)
std::vector< std::string > FindGeoms()
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::vector< std::string > FindContainerParmIDs(const std::string &parm_container_id)
std::string FindContainer(const std::string &name, int index)
std::vector< std::string > FindContainers()
int GetNumUserParms()
int GetNumPredefinedUserParms()
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)
double SetParmVal(const std::string &geom_id, const std::string &name, const std::string &group, double val)
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)
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 SetParmValUpdate(const std::string &geom_id, const std::string &parm_name, const std::string &parm_group_name, 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)
double GetParmVal(const std::string &geom_id, const std::string &name, const std::string &group)
const std::vector< double > & GetDoubleResults(const std::string &id, const std::string &name, int index=0)
const std::vector< std::string > & GetStringResults(const std::string &id, const std::string &name, int index=0)
int GetNumResults(const std::string &name)
int GetNumData(const std::string &results_id, const std::string &data_name)
const std::vector< std::vector< double > > & GetDoubleMatResults(const std::string &id, const std::string &name, int index=0)
void PrintResults(const std::string &results_id)
void DeleteResult(const std::string &id)
std::string FindLatestResultsID(const std::string &name)
std::string GetResultsName(const std::string &results_id)
std::vector< std::string > GetAllDataNames(const std::string &results_id)
std::vector< std::string > GetAllResultsNames()
int GetResultsType(const std::string &results_id, const std::string &data_name)
std::string GetResultsSetDoc(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()
const std::vector< vec3d > & GetVec3dResults(const std::string &id, const std::string &name, int index=0)
void PrintResultsDocs(const std::string &results_id)
const std::vector< int > & GetIntResults(const std::string &id, const std::string &name, int index=0)
std::string CreateGeomResults(const std::string &geom_id, const std::string &name)
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 > GetGeomSetAtIndex(int index)
int GetSetIndex(const std::string &name)
std::vector< std::string > GetGeomSet(const std::string &name)
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 &sub_id)
std::string AddSubSurf(const std::string &geom_id, int type, int surfindex=0)
std::vector< std::string > GetSubSurf(const std::string &geom_id, const std::string &name)
int GetSubSurfType(const std::string &sub_id)
void DeleteSubSurf(const std::string &sub_id)
std::vector< std::string > GetSubSurfParmIDs(const std::string &sub_id)
int GetSubSurfIndex(const std::string &sub_id)
std::vector< std::string > GetAllSubSurfIDs()
void SetSubSurfName(const std::string &sub_id, const std::string &name)
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)
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()
void EditVarPresetParm(const std::string &parm_id, double parm_val, const std::string &group_name, const std::string &setting_name)
std::vector< std::string > GetVarPresetGroupNames()
std::vector< std::string > GetVarPresetParmIDsWName(const std::string &group_name)
std::vector< double > GetVarPresetParmVals()
void AddVarPresetGroup(const std::string &group_name)
std::string GetCurrentGroupName()
void AddVarPresetSetting(const std::string &setting_name)
void AddVarPresetParm(const std::string &parm_id, const std::string &group_name)
std::vector< std::string > GetVarPresetSettingNamesWName(const std::string &group_name)
void DeleteVarPresetParm(const std::string &parm_id, 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 StopGUI()
void PopupMsg(const std::string &msg)
bool IsGUIBuild()
void SetViewAxis(bool vaxis)
void SetGeomDisplayType(const string &geom_id, int type)
void SetShowBorders(bool brdr)
void Lock()
void SetGUIElementDisable(int e, bool state)
void InitGUI()
void SetGeomScreenDisable(int s, bool state)
void SetGeomDrawType(const string &geom_id, int type)
void UpdateGUI()
void Unlock()
void StartGUI()
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 InsertXSec(const std::string &geom_id, int index, int type)
std::vector< vec3d > GetHersheyBarLiftDist(const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag=false)
std::vector< double > GetVKTAirfoilCpDist(const double &alpha, const double &epsilon, const double &kappa, const double &tau, std::vector< vec3d > xyz_data)
std::vector< double > GetEllipsoidCpDist(const std::vector< vec3d > &surf_pnt_vec, const vec3d &abc_rad, const vec3d &V_inf)
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)
void SetXSecWidth(const std::string &xsec_id, double w)
double GetXSecWidth(const std::string &xsec_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)
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::vector< double > GetLowerCSTCoefs(const std::string &xsec_id)
std::string GetXSecParm(const std::string &xsec_id, const std::string &name)
std::vector< vec3d > GetEllipsoidSurfPnts(const vec3d &center, const vec3d &abc_rad, int u_npts=20, int w_npts=20)
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< vec3d > GetFeatureLinePnts(const string &geom_id)
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< vec3d > GetAirfoilLowerPnts(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)
std::vector< vec3d > GetAirfoilUpperPnts(const std::string &xsec_id)
void SetXSecTanAngles(const std::string &xsec_id, int side, double top, double right, double bottom, double left)
void ResetXSecSkinParms(const std::string &xsec_id)
void CutXSec(const std::string &geom_id, int index)
std::vector< vec3d > GetVKTAirfoilPnts(const int &npts, const double &alpha, const double &epsilon, const double &kappa, const double &tau)
std::vector< double > GetUpperCSTCoefs(const std::string &xsec_id)
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)
std::vector< vec3d > ReadFileXSec(const std::string &xsec_id, const std::string &file_name)
int GetXSecShape(const std::string &xsec_id)
void SetXSecTanSlews(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)
std::vector< std::string > GetXSecParmIDs(const std::string &xsec_id)
void WriteBezierAirfoil(const std::string &file_name, const std::string &geom_id, const double &foilsurf_u)
int GetUpperCSTDegree(const std::string &xsec_id)
void 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)