OpenVSP API Documentation 3.51.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
207
208#if !defined(VSPAPI__INCLUDED_)
209#define VSPAPI__INCLUDED_
210
211#include "APIDefines.h"
212
213#include <string>
214#include <stack>
215#include <vector>
216
217class vec3d;
218class Matrix4d;
219
220using std::string;
221using std::stack;
222using std::vector;
223
224namespace vsp
225{
226
227//======================== API Functions ================================//
254
255extern void VSPCheckSetup();
256
288
289extern void VSPRenew();
290
291
332
333extern void Update( bool update_managers = true );
334
342
343extern void VSPExit( int error_code );
344
352
353extern void VSPCrash( int crash_type );
354
366
368
369
392
393extern std::string GetVSPVersion();
394
425
427
458
460
491
493
518
519extern std::string GetVSPExePath();
520
521
551
552extern bool SetVSPAEROPath( const std::string & path );
553
579
580extern std::string GetVSPAEROPath();
581
612
613extern bool CheckForVSPAERO( const std::string & path );
614
644
645extern bool SetVSPHelpPath( const std::string & path );
646
671
672extern std::string GetVSPHelpPath();
673
702
703extern bool CheckForVSPHelp( const std::string & path );
704
705extern void RegisterCFDMeshAnalyses();
706
707extern void LimitedIntersectSurfaces( const vector < string > & geomvec, vector < vector < vec3d > > & ptchains, vector < vector < vec3d > > & uwchains );
708
709//======================== File I/O ================================//
768
769extern void ReadVSPFile( const std::string & file_name );
770
830
831extern void WriteVSPFile( const std::string & file_name, int set = SET_ALL );
832
891
892extern void SetVSP3FileName( const std::string & file_name );
893
938
939extern std::string GetVSPFileName();
940
966
967extern void ClearVSPModel();
968
978
979extern void InsertVSPFile( const std::string & file_name, const std::string & parent_geom_id );
980
981
1019
1020extern std::string ExportFile( const std::string & file_name, int thick_set, int file_type, int subsFlag = 1, int thin_set = vsp::SET_NONE, bool useMode = false, const string &modeID = "" );
1021
1033
1034extern std::string ImportFile( const std::string & file_name, int file_type, const std::string & parent );
1035
1036
1066
1067extern void SetBEMPropID( const string & prop_id );
1068
1069
1070//======================== Design Files ================================//
1071
1079
1080extern void ReadApplyDESFile( const std::string & file_name );
1081
1089
1090extern void WriteDESFile( const std::string & file_name );
1091
1099
1100extern void ReadApplyXDDMFile( const std::string & file_name );
1101
1109
1110extern void WriteXDDMFile( const std::string & file_name );
1111
1119
1120extern int GetNumDesignVars();
1121
1131
1132extern void AddDesignVar( const std::string & parm_id, int type );
1133
1140
1142
1151
1152extern std::string GetDesignVar( int index );
1153
1163
1164extern int GetDesignVarType( int index );
1165
1166
1167//======================== Computations ================================//
1196
1197extern void SetComputationFileName( int file_type, const std::string & file_name );
1198
1239
1240extern std::string ComputeMassProps( int set, int num_slices, int idir );
1241
1280
1281extern std::string ComputeCompGeom( int set, bool half_mesh, int file_export_types );
1282
1329
1330extern std::string ComputePlaneSlice( int set, int num_slices, const vec3d & norm, bool auto_bnd,
1331
1332 double start_bnd = 0, double end_bnd = 0, bool measureduct = false );
1361
1362extern void ComputeDegenGeom( int set, int file_export_types );
1363
1395
1396extern void ComputeCFDMesh( int set, int degenset, int file_export_types );
1397
1418
1419extern void SetCFDMeshVal( int type, double val );
1420
1454
1455extern void SetCFDWakeFlag( const std::string & geom_id, bool flag );
1456
1484
1486
1510
1511extern void AddDefaultSources();
1512
1548
1549extern void AddCFDSource( int type, const std::string & geom_id, int surf_index,
1550
1551 double l1, double r1, double u1, double w1,
1552 double l2 = 0, double r2 = 0, double u2 = 0, double w2 = 0 );
1553
1561
1562extern string GetVSPAERORefWingID();
1563
1620
1621extern string SetVSPAERORefWingID( const std::string & geom_id );
1622
1623
1624//======================== Analysis ================================//
1625
1648
1649extern int GetNumAnalysis();
1650
1682
1683extern std::vector<std::string> ListAnalysis();
1684
1721
1722extern std::vector<std::string> GetAnalysisInputNames( const std::string & analysis );
1723
1747
1748extern std::string GetAnalysisDoc( const std::string & analysis );
1749
1765
1766extern std::string GetAnalysisInputDoc( const std::string & analysis, const std::string & name );
1767
1791
1792extern std::string ExecAnalysis( const std::string & analysis );
1793
1794
1804
1805extern int GetNumAnalysisInputData( const std::string & analysis, const std::string & name );
1806
1841
1842extern int GetAnalysisInputType( const std::string & analysis, const std::string & name );
1843
1889
1890extern const std::vector< int > & GetIntAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1891
1922
1923extern const std::vector< double > & GetDoubleAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1924
1955
1956extern const std::vector<std::string> & GetStringAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1957
1990
1991extern const std::vector< vec3d > & GetVec3dAnalysisInput( const std::string & analysis, const std::string & name, int index = 0 );
1992
1993
2020
2021extern void SetAnalysisInputDefaults( const std::string & analysis );
2022
2068
2069extern void SetIntAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< int > & indata, int index = 0 );
2070
2111
2112extern void SetDoubleAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< double > & indata, int index = 0 );
2113
2144
2145extern void SetStringAnalysisInput( const std::string & analysis, const std::string & name, const std::vector<std::string> & indata, int index = 0 );
2146
2179
2180extern void SetVec3dAnalysisInput( const std::string & analysis, const std::string & name, const std::vector< vec3d > & indata, int index = 0 );
2181
2182
2209
2210extern void PrintAnalysisInputs( const std::string & analysis_name );
2211
2238
2239extern void PrintAnalysisDocs( const std::string & analysis_name );
2240
2266
2267extern string AddGeometryAnalysis();
2268
2291
2292extern void DeleteGeometryAnalysis( const string &id );
2293
2322
2324
2356
2357extern vector < string > GetAllGeometryAnalysesIDVec();
2358
2381
2382extern void SetActiveGeometryAnalysis( const string &id );
2383
2406
2408
2453
2454extern string MakeMeshGeom( const string &ga_id );
2455
2456//======================== Attributes ================================//
2457
2481
2482extern string SummarizeAttributes();
2483
2506
2508
2536
2537extern vector < string > FindAllAttributes();
2538
2539
2540
2569
2570extern vector < string > FindAttributesByName( const string & search_str );
2571
2596
2597extern string FindAttributeByName( const string & search_str, int index );
2598
2627
2628extern string FindAttributeInCollection( const string & obj_id, const string & search_str, int index );
2629
2662
2663extern vector< string > FindAttributeNamesInCollection(const string & collID );
2664
2697
2698extern vector< string > FindAttributesInCollection(const string & collID );
2699
2728
2729extern vector< string > FindAttributedObjects();
2730
2761
2762extern int GetObjectType(const string & attachID);
2763
2793
2794extern string GetObjectTypeName(const string & attachID);
2795
2826
2827extern string GetObjectName(const string & attachID);
2828
2829
2883
2884extern string GetObjectParent( const string & id );
2885
2914
2915extern string GetChildCollection(const string & attachID );
2916
2940
2941extern string GetGeomSetCollection( const int & index );
2942
2977
2978extern string GetAttributeName( const string & attrID );
2979
3019
3020extern string GetAttributeID(const string & collID, const string & attributeName, int index);
3021
3049
3050extern string GetAttributeDoc(const string & attrID);
3051
3092
3093extern int GetAttributeType( const string & attrID );
3094
3123
3124extern string GetAttributeTypeName(const string & attrID);
3125
3171
3172extern vector< int > GetAttributeBoolVal(const string & attrID);
3173
3219
3220extern vector< int > GetAttributeIntVal(const string & attrID);
3221
3266
3267extern vector< double > GetAttributeDoubleVal(const string & attrID);
3268
3313
3314extern vector< string > GetAttributeStringVal(const string & attrID);
3315
3373
3374extern vector< string > GetAttributeParmID(const string & attrID);
3375
3435
3436extern vector < double > GetAttributeParmVal( const string &attrID );
3437
3496
3497extern vector < string > GetAttributeParmName( const string &attrID );
3498
3547
3548extern vector< vec3d > GetAttributeVec3dVal(const string & attrID);
3549
3603
3604extern vector< vector < int > > GetAttributeIntMatrixVal(const string & attrID);
3605
3653
3654extern vector< vector < double > > GetAttributeDoubleMatrixVal(const string & attrID);
3655
3708
3709extern void SetAttributeName( const string & attrID, const string & name );
3710
3764
3765
3766extern void SetAttributeDoc( const string & attrID, const string & doc );
3767
3820
3821extern void SetAttributeBool( const string & attrID, bool value );
3822
3875
3876extern void SetAttributeInt( const string & attrID, int value );
3877
3933
3934extern void SetAttributeDouble( const string & attrID, double value );
3935
3989
3990extern void SetAttributeString( const string & attrID, const string & value );
3991
4055
4056extern void SetAttributeParmID( const string & attrID, const string & value );
4057
4111
4112extern void SetAttributeVec3d( const string & attrID, const vector < vec3d > & value );
4113
4170
4171extern void SetAttributeIntMatrix( const string & attrID, const vector < vector < int > > & value );
4172
4229
4230extern void SetAttributeDoubleMatrix( const string & attrID, const vector< vector< double > > & value );
4231
4307
4308extern void DeleteAttribute( const string & attrID );
4309
4357
4358extern string AddAttributeBool( const string & collID, const string & attributeName, bool value );
4359
4408
4409extern string AddAttributeInt( const string & collID, const string & attributeName, int value );
4410
4461
4462extern string AddAttributeDouble( const string & collID, const string & attributeName, double value );
4463
4513
4514extern string AddAttributeString( const string & collID, const string & attributeName, const string & value );
4515
4576
4577extern string AddAttributeParm( const string &collID, const string &attributeName, const string &parmID );
4578
4631
4632extern string AddAttributeVec3d( const string & collID, const string & attributeName, const vector < vec3d > & value );
4633
4688
4689extern string AddAttributeIntMatrix( const string & collID, const string & attributeName, const vector < vector < int > > & value );
4690
4745
4746extern string AddAttributeDoubleMatrix( const string & collID, const string & attributeName, const vector < vector < double > > & value );
4747
4793
4794extern string AddAttributeGroup( const string & collID, const string & attributeName );
4795
4843
4844extern int CopyAttribute( const string & attrID );
4845
4915
4916extern void CutAttribute( const string & attrID );
4917
5002
5003extern vector < string > PasteAttribute( const string & coll_id );
5004
5005//======================== Results ================================//
5041
5042extern std::vector<std::string> GetAllResultsNames();
5043
5077
5078extern std::vector<std::string> GetAllDataNames( const std::string & results_id );
5079
5105
5106extern int GetNumResults( const std::string & name );
5107
5147
5148extern std::string GetResultsName(const std::string & results_id );
5149
5189
5190extern std::string GetResultsSetDoc( const std::string & results_id );
5191
5192extern std::string GetResultsEntryDoc( const std::string & results_id, const std::string & data_name );
5193
5224
5225extern std::string FindResultsID( const std::string & name, int index = 0 );
5226
5263
5264extern std::string FindLatestResultsID( const std::string & name );
5265
5312
5313extern int GetNumData( const std::string & results_id, const std::string & data_name );
5314
5355
5356extern int GetResultsType( const std::string & results_id, const std::string & data_name );
5357
5405
5406extern const std::vector< int > & GetIntResults( const std::string & id, const std::string & name, int index = 0 );
5407
5445
5446extern const std::vector< double > & GetDoubleResults( const std::string & id, const std::string & name, int index = 0 );
5447
5458
5459extern const std::vector< std::vector< double > > & GetDoubleMatResults( const std::string & id, const std:: string & name, int index = 0 );
5460
5496
5497extern const std::vector<std::string> & GetStringResults( const std::string & id, const std::string & name, int index = 0 );
5498
5554
5555extern const std::vector< vec3d > & GetVec3dResults( const std::string & id, const std::string & name, int index = 0 );
5556
5597
5598extern std::string CreateGeomResults( const std::string & geom_id, const std::string & name );
5599
5637
5638extern void DeleteAllResults();
5639
5678
5679extern void DeleteResult( const std::string & id );
5680
5714
5715extern void WriteResultsCSVFile( const std::string & id, const std::string & file_name );
5716
5751
5752extern void PrintResults( const std::string &results_id );
5753
5788
5789extern void PrintResultsDocs( const std::string &results_id );
5790
5824
5825extern void WriteTestResults();
5826
5827//======================== GUI Functions ================================//
5828
5849
5850extern void InitGUI();
5851
5874
5875extern void StartGUI();
5876
5909
5911
5940
5942
5973
5974extern void StopGUI();
5975
6002
6003extern void PopupMsg( const std::string &msg );
6004
6043
6044extern void UpdateGUI();
6045
6078
6079extern bool IsGUIBuild();
6080
6127
6128extern void Lock( );
6129
6173
6174extern void Unlock( );
6175
6176
6207
6208extern bool IsEventLoopRunning( );
6209
6242
6243extern void ScreenGrab( const string & fname, int w, int h, bool transparentBG, bool autocrop = false );
6244
6263
6264extern void SetViewAxis( bool vaxis );
6265
6284
6285extern void SetShowBorders( bool brdr );
6286
6311
6312extern void SetGeomDrawType(const string &geom_id, int type);
6313
6339
6340extern void SetGeomWireColor( const string &geom_id, int r, int g, int b );
6341
6366
6367extern void SetGeomDisplayType(const string &geom_id, int type);
6368
6391
6392extern void SetGeomMaterialName( const string &geom_id, const string &name );
6393
6425
6426extern void AddMaterial( const string &name, const vec3d & ambient, const vec3d & diffuse, const vec3d & specular, const vec3d & emissive, const double & alpha, const double & shininess );
6427
6454
6455extern vector < string > GetMaterialNames();
6456
6477
6478extern void SetBackground( double r, double g, double b );
6479
6498
6499extern void SetAllViews( int view );
6500
6520
6521extern void SetView( int viewport, int view );
6522
6540
6541extern void FitAllViews();
6542
6560
6561extern void ResetViews();
6562
6582
6583extern void SetWindowLayout( int r, int c );
6584
6603
6604extern void SetGUIElementDisable( int e, bool state );
6605
6624
6625extern void SetGUIScreenDisable( int s, bool state );
6626
6645extern void SetGeomScreenDisable( int s, bool state );
6646
6664
6665extern void HideScreen( int s );
6666
6684
6685extern void ShowScreen( int s );
6686
6687
6688//======================== Geom Functions ================================//
6719
6720extern std::vector<std::string> GetGeomTypes();
6721
6744
6745extern std::string AddGeom( const std::string & type, const std::string & parent = std::string() );
6746
6782
6783extern void UpdateGeom( const std::string & geom_id );
6784
6815
6816extern void DeleteGeom( const std::string & geom_id );
6817
6850
6851extern void DeleteGeomVec( const std::vector< std::string > & del_vec );
6852
6892
6893extern void CutGeomToClipboard( const std::string & geom_id );
6894
6934
6935extern void CopyGeomToClipboard( const std::string & geom_id );
6936
6976
6977extern std::vector<std::string> PasteGeomClipboard( const std::string & parent = std::string() );
6978
7011
7012extern std::vector<std::string> FindGeoms();
7013
7052
7053extern std::vector<std::string> FindGeomsWithName( const std::string & name );
7054
7098
7099extern std::string FindGeom( const std::string & name, int index );
7100
7138
7139extern void SetGeomName( const std::string & geom_id, const std::string & name );
7140
7174
7175extern std::string GetGeomName( const std::string & geom_id );
7176
7210
7211extern std::vector<std::string> GetGeomParmIDs( const std::string & geom_id );
7212
7242
7243extern std::string GetGeomTypeName( const std::string & geom_id );
7244
7276
7277extern std::string GetParm( const std::string & geom_id, const std::string & name, const std::string & group );
7278
7330
7331extern void SetGeomParent( const std::string& geom_id, const std::string& parent_id );
7332
7366
7367extern std::string GetGeomParent( const std::string& geom_id );
7368
7417
7418extern std::vector< std::string > GetGeomChildren( const std::string& geom_id );
7419
7449
7450extern int GetNumXSecSurfs( const std::string & geom_id );
7451
7490
7491extern int GetNumMainSurfs( const std::string & geom_id );
7492
7531
7532extern int GetTotalNumSurfs( const std::string& geom_id );
7533
7565
7566extern int GetGeomVSPSurfType( const std::string& geom_id, int main_surf_ind = 0 );
7567
7599
7600extern int GetGeomVSPSurfCfdType( const std::string& geom_id, int main_surf_ind = 0 );
7601
7641
7642extern vec3d GetGeomBBoxMax( const std::string& geom_id, int main_surf_ind = 0, bool ref_frame_is_absolute = true );
7643
7683
7684extern vec3d GetGeomBBoxMin( const std::string& geom_id, int main_surf_ind = 0, bool ref_frame_is_absolute = true );
7685
7686
7687//======================== SubSurface Functions ================================//
7720
7721extern std::string AddSubSurf( const std::string & geom_id, int type, int surfindex = 0 );
7722
7763
7764extern std::string GetSubSurf( const std::string & geom_id, int index );
7765
7806
7807extern std::vector<std::string> GetSubSurf( const std::string & geom_id, const std::string & name );
7808
7854
7855extern void DeleteSubSurf( const std::string & geom_id, const std::string & sub_id );
7856
7901
7902extern void DeleteSubSurf( const std::string & sub_id );
7903
7936
7937extern void SetSubSurfName(const std::string & geom_id, const std::string & sub_id, const std::string & name);
7938
7970
7971extern void SetSubSurfName( const std::string & sub_id, const std::string & name );
7972
8009
8010extern std::string GetSubSurfName( const std::string & geom_id, const std::string & sub_id );
8011
8047
8048extern std::string GetSubSurfName( const std::string & sub_id );
8049
8087
8088extern int GetSubSurfIndex( const std::string & sub_id );
8089
8152
8153extern std::vector<std::string> GetSubSurfIDVec( const std::string & geom_id );
8154
8162
8163extern std::vector<std::string> GetAllSubSurfIDs();
8164
8202
8203extern int GetNumSubSurf( const std::string & geom_id );
8204
8268
8269extern int GetSubSurfType( const std::string & sub_id );
8270
8315
8316extern std::vector<std::string> GetSubSurfParmIDs( const std::string & sub_id );
8317
8367
8368extern void IntersectSubSurf( const std::string & sub_id );
8369
8420
8421extern void SetIntersectSubSurfGeomID( const std::string & sub_id, const std::string & geom_id );
8422
8453
8454extern int AddFeaStruct( const std::string & geom_id, bool init_skin = true, int surfindex = 0 );
8455
8491
8492extern void SetFeaMeshStructIndex( int struct_index );
8493
8529
8530extern void DeleteFeaStruct( const std::string & geom_id, int fea_struct_ind );
8531
8564
8565extern std::string GetFeaStructID( const std::string & geom_id, int fea_struct_ind );
8566
8610
8611extern int GetFeaStructIndex( const std::string & struct_id );
8612
8650
8651extern std::string GetFeaStructParentGeomID( const std::string & struct_id );
8652
8696
8697extern std::string GetFeaStructName( const std::string & geom_id, int fea_struct_ind );
8698
8746
8747extern void SetFeaStructName( const std::string & geom_id, int fea_struct_ind, const std::string & name );
8748
8784
8785extern std::vector< std::string > GetFeaStructIDVec();
8786
8825
8826extern void SetFeaPartName( const std::string & part_id, const std::string & name );
8827
8872
8873extern std::string AddFeaPart( const std::string & geom_id, int fea_struct_ind, int type );
8874
8921
8922extern void DeleteFeaPart( const std::string & geom_id, int fea_struct_ind, const std::string & part_id );
8923
8975
8976extern std::string GetFeaPartID( const std::string & fea_struct_id, int fea_part_index );
8977
9027
9028extern std::string GetFeaPartName( const std::string & part_id );
9029
9073
9074extern int GetFeaPartType( const std::string & part_id );
9075
9120
9121extern std::vector< std::string > GetFeaPartIDVec( const std::string & fea_struct_id );
9122
9167
9168extern std::vector< std::string > GetFeaSubSurfIDVec( const std::string & fea_struct_id );
9169
9238
9239extern void SetFeaPartPerpendicularSparID( const std::string& part_id, const std::string& perpendicular_spar_id );
9240
9308
9309extern std::string GetFeaPartPerpendicularSparID( const std::string& part_id );
9310
9349
9350extern void SetFeaSubSurfName( const std::string & subsurf_id, const std::string & name );
9351
9399
9400extern std::string GetFeaSubSurfName( const std::string & subsurf_id );
9401
9446
9447extern std::string AddFeaSubSurf( const std::string & geom_id, int fea_struct_ind, int type );
9448
9495
9496extern void DeleteFeaSubSurf( const std::string & geom_id, int fea_struct_ind, const std::string & ss_id );
9497
9552
9553extern int GetFeaSubSurfIndex( const string & ss_id );
9554
9594
9595extern int GetFeaPolySparNumPt( const string & pspar_id );
9596
9638
9639extern string AddFeaPolySparPt( const string & pspar_id );
9640
9684
9685extern string InsertFeaPolySparPt( const string & pspar_id, int index );
9686
9735
9736extern void DelFeaPolySparPt( const string & pspar_id, int index );
9737
9783
9784extern void DelAllFeaPolySparPt( const string & pspar_id );
9785
9834
9835extern int MoveFeaPolySparPt( const string & pspar_id, int index, int reorder_type );
9836
9880
9881extern void SetFeaPolySparPtName( const string & pspar_id, int index, const string & name );
9882
9924
9925extern string GetFeaPolySparPtName( const string & pspar_id, int index );
9926
9977
9978extern string GetFeaPolySparPtID( const string & pspar_id, int index );
9979
10035
10036extern vector < string > GetAllFeaPolySparPtIDVec( const string & pspar_id );
10037
10075
10076extern int NumFeaStructures();
10077
10127
10128extern int NumFeaParts( const std::string & fea_struct_id );
10129
10178
10179extern int NumFeaSubSurfs( const std::string & fea_struct_id );
10180
10221
10222extern std::string AddFeaBC( const string & fea_struct_id, int type = -1 );
10223
10267
10268extern void DelFeaBC( const string & fea_struct_id, const std::string &bc_id );
10269
10313
10314extern std::vector< std::string > GetFeaBCIDVec( const string & fea_struct_id );
10315
10359
10360extern int NumFeaBCs( const string & fea_struct_id );
10361
10386
10387extern std::string AddFeaMaterial();
10388
10416
10417extern std::string AddFeaProperty( int property_type = 0 );
10418
10460
10461extern void SetFeaMeshVal( const std::string & geom_id, int fea_struct_ind, int type, double val );
10462
10512
10513extern void SetFeaMeshFileName( const std::string & geom_id, int fea_struct_ind, int file_type, const string & file_name );
10514
10565
10566extern void ComputeFeaMesh( const std::string & geom_id, int fea_struct_ind, int file_type );
10567
10617
10618extern void ComputeFeaMesh( const std::string & struct_id, int file_type );
10619
10677
10678extern void SetXSecAlias( const string & id, const string & alias );
10679
10737
10738extern string GetXSecAlias( const string & id );
10739
10797
10798extern void SetXSecCurveAlias( const string & id, const string & alias );
10799
10856
10857extern string GetXSecCurveAlias( const string & id );
10858
10897
10898extern void CutXSec( const std::string & geom_id, int index );
10899
10934
10935extern void CopyXSec( const std::string & geom_id, int index );
10936
10971
10972extern void PasteXSec( const std::string & geom_id, int index );
10973
11001
11002extern void InsertXSec( const std::string & geom_id, int index, int type );
11003
11004
11005//======================== Wing Section Functions ===================//
11006
11036
11037extern void SplitWingXSec( const string & wing_id, int section_index );
11038
11086
11087extern void SetDriverGroup( const std::string & geom_id, int section_index, int driver_0, int driver_1 = -1, int driver_2 = -1 );
11088
11089
11090//======================== XSecSurf ================================//
11119
11120extern std::string GetXSecSurf( const std::string & geom_id, int index );
11121
11172
11173extern int GetNumXSec( const std::string & xsec_surf_id );
11174
11209
11210extern std::string GetXSec( const std::string & xsec_surf_id, int xsec_index );
11211
11261
11262extern void ChangeXSecShape( const std::string & xsec_surf_id, int xsec_index, int type );
11263
11272
11273extern void SetXSecSurfGlobalXForm( const std::string & xsec_surf_id, const Matrix4d & mat );
11274
11283
11284extern Matrix4d GetXSecSurfGlobalXForm( const std::string & xsec_surf_id );
11285
11286
11287//======================== XSec ================================//
11328
11329extern int GetXSecShape( const std::string& xsec_id );
11330
11369
11370extern double GetXSecWidth( const std::string& xsec_id );
11371
11410
11411extern double GetXSecHeight( const std::string& xsec_id );
11412
11453
11454extern void SetXSecWidthHeight( const std::string& xsec_id, double w, double h );
11455
11494
11495extern void SetXSecWidth( const std::string& xsec_id, double w );
11496
11535
11536extern void SetXSecHeight( const std::string& xsec_id, double h );
11537
11575
11576extern std::vector<std::string> GetXSecParmIDs( const std::string& xsec_id );
11577
11620
11621extern std::string GetXSecParm( const std::string& xsec_id, const std::string& name );
11622
11662
11663extern std::vector<vec3d> ReadFileXSec( const std::string& xsec_id, const std::string& file_name );
11664
11717
11718extern void SetXSecPnts( const std::string& xsec_id, std::vector< vec3d > & pnt_vec );
11719
11761
11762extern vec3d ComputeXSecPnt( const std::string& xsec_id, double fract );
11763
11804
11805extern vec3d ComputeXSecTan( const std::string& xsec_id, double fract );
11806
11847
11848extern void ResetXSecSkinParms( const std::string& xsec_id );
11849
11890
11891extern void SetXSecContinuity( const std::string& xsec_id, int cx );
11892
11942
11943extern void SetXSecTanAngles( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
11944
11994
11995extern void SetXSecTanSlews( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
11996
12048
12049extern void SetXSecTanStrengths( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
12050
12102
12103extern void SetXSecCurvatures( const std::string& xsec_id, int side, double top, double right, double bottom, double left );
12104
12142
12143extern void ReadFileAirfoil( const std::string& xsec_id, const std::string& file_name );
12144
12199
12200extern void SetAirfoilUpperPnts( const std::string& xsec_id, const std::vector< vec3d > & up_pnt_vec );
12201
12256
12257extern void SetAirfoilLowerPnts( const std::string& xsec_id, const std::vector< vec3d > & low_pnt_vec );
12258
12322
12323extern void SetAirfoilPnts( const std::string& xsec_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
12324
12372
12373extern std::vector<vec3d> GetHersheyBarLiftDist( const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag = false );
12374
12422
12423extern std::vector<vec3d> GetHersheyBarDragDist( const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag = false );
12424
12476
12477extern std::vector<vec3d> GetVKTAirfoilPnts( const int &npts, const double &alpha, const double &epsilon, const double &kappa, const double &tau );
12478
12531
12532extern std::vector<double> GetVKTAirfoilCpDist( const double &alpha, const double &epsilon, const double &kappa, const double &tau, const std::vector<vec3d> &xyz_data );
12533
12547
12548extern std::vector<vec3d> GetEllipsoidSurfPnts( const vec3d &center, const vec3d &abc_rad, int u_npts = 20, int w_npts = 20 );
12549
12558
12559extern std::vector<vec3d> GetFeatureLinePnts( const string& geom_id );
12560
12642
12643extern std::vector<double> GetEllipsoidCpDist( const std::vector<vec3d> &surf_pnt_vec, const vec3d &abc_rad, const vec3d &V_inf );
12644
12645extern double IntegrateEllipsoidFlow( const vec3d &abc_rad, const int &abc_index );
12646
12689
12690extern std::vector<vec3d> GetAirfoilUpperPnts( const std::string& xsec_id );
12691
12734
12735extern std::vector<vec3d> GetAirfoilLowerPnts( const std::string& xsec_id );
12736
12746
12747extern std::vector<double> GetUpperCSTCoefs( const std::string& xsec_id );
12748
12758
12759extern std::vector<double> GetLowerCSTCoefs( const std::string& xsec_id );
12760
12770
12771extern int GetUpperCSTDegree( const std::string& xsec_id );
12772
12782
12783extern int GetLowerCSTDegree( const std::string& xsec_id );
12784
12795
12796extern void SetUpperCST( const std::string& xsec_id, int deg, const std::vector<double> &coefs );
12797
12808
12809extern void SetLowerCST( const std::string& xsec_id, int deg, const std::vector<double> &coefs );
12810
12819
12820extern void PromoteCSTUpper( const std::string& xsec_id );
12821
12830
12831extern void PromoteCSTLower( const std::string& xsec_id );
12832
12841
12842extern void DemoteCSTUpper( const std::string& xsec_id );
12843
12852
12853extern void DemoteCSTLower( const std::string& xsec_id );
12854
12864
12865extern void FitAfCST( const std::string & xsec_surf_id, int xsec_index, int deg );
12866
12867//======================== Background3D Functions ======================//
12868
12905
12906extern string AddBackground3D();
12907
12944
12946
12998
12999extern vector < string > GetAllBackground3Ds();
13000
13031
13033
13064
13066
13106
13108
13149
13150extern void DelBackground3D( const string &id );
13151
13192
13193extern vector < string > GetAllBackground3DRelativePaths();
13194
13234
13235extern vector < string > GetAllBackground3DAbsolutePaths();
13236
13272
13273extern string GetBackground3DRelativePath( const string &id );
13274
13309
13310extern string GetBackground3DAbsolutePath( const string &id );
13311
13347
13348extern void SetBackground3DRelativePath( const string &id, const string &fname );
13349
13384
13385extern void SetBackground3DAbsolutePath( const string &id, const string &fname );
13386
13387
13388//======================== GearGeom Functions ======================//
13422
13423extern string CreateAndAddBogie( const string &gear_id );
13424
13454
13455extern int GetNumBogies( const string &gear_id );
13456
13486
13487extern vector < string > GetAllBogies( const string &gear_id );
13488
13516
13517extern void DelBogie( const string &gear_id, const string &bogie_id );
13518
13547
13548extern void DelAllBogies( const string &gear_id );
13549
13550
13551//======================== RoutingGeom Functions ======================//
13607
13608extern int GetNumRoutingPts( const string &routing_id );
13609
13664
13665extern string AddRoutingPt( const string &routing_id, const string &geom_id, int surf_index );
13666
13733
13734extern string InsertRoutingPt( const string &routing_id, int index, const string &geom_id, int surf_index );
13735
13791
13792extern void DelRoutingPt( const string &routing_id, int index );
13793
13849
13850extern void DelAllRoutingPt( const string &routing_id );
13851
13908
13909extern int MoveRoutingPt( const string &routing_id, int index, int reorder_type );
13910
13967
13968extern string GetRoutingPtID( const string &routing_id, int index );
13969
14025
14026extern vector < string > GetAllRoutingPtIds( const string &routing_id );
14027
14083
14084extern string GetRoutingPtParentID( const string & pt_id );
14085
14141
14142extern void SetRoutingPtParentID( const string & pt_id, const string &parent_id );
14143
14202
14203extern vec3d GetMainRoutingPtCoord( const string &pt_id );
14204
14264
14265extern vec3d GetRoutingPtCoord( const string &routing_id, int index, int symm_index );
14266
14325
14326extern vector < vec3d > GetAllRoutingPtCoords( const string &routing_id, int symm_index );
14327
14387
14388extern vector < vec3d > GetRoutingCurve( const string &routing_id, int symm_index );
14389
14390//======================== BOR Functions ======================//
14421
14422extern void ChangeBORXSecShape( const string & bor_id, int type );
14423
14453
14454extern int GetBORXSecShape( const string & bor_id );
14455
14486
14487extern std::vector<vec3d> ReadBORFileXSec( const std::string& bor_id, const std::string& file_name );
14488
14532
14533extern void SetBORXSecPnts( const std::string& bor_id, std::vector< vec3d > & pnt_vec );
14534
14567
14568extern vec3d ComputeBORXSecPnt( const std::string& bor_id, double fract );
14569
14600
14601extern vec3d ComputeBORXSecTan( const std::string& bor_id, double fract );
14602
14632
14633extern void ReadBORFileAirfoil( const std::string& bor_id, const std::string& file_name );
14634
14681
14682extern void SetBORAirfoilUpperPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec );
14683
14730
14731extern void SetBORAirfoilLowerPnts( const std::string& bor_id, const std::vector< vec3d > & low_pnt_vec );
14732
14788
14789extern void SetBORAirfoilPnts( const std::string& bor_id, const std::vector< vec3d > & up_pnt_vec, const std::vector< vec3d > & low_pnt_vec );
14790
14825
14826extern std::vector<vec3d> GetBORAirfoilUpperPnts( const std::string& bor_id );
14827
14862
14863extern std::vector<vec3d> GetBORAirfoilLowerPnts( const std::string& bor_id );
14864
14874
14875extern std::vector<double> GetBORUpperCSTCoefs( const std::string& bor_id );
14876
14886
14887extern std::vector<double> GetBORLowerCSTCoefs( const std::string& bor_id );
14888
14898
14899extern int GetBORUpperCSTDegree( const std::string& bor_id );
14900
14910
14911extern int GetBORLowerCSTDegree( const std::string& bor_id );
14912
14923
14924extern void SetBORUpperCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
14925
14936
14937extern void SetBORLowerCST( const std::string& bor_id, int deg, const std::vector<double> &coefs );
14938
14947
14948extern void PromoteBORCSTUpper( const std::string& bor_id );
14949
14958
14959extern void PromoteBORCSTLower( const std::string& bor_id );
14960
14969
14970extern void DemoteBORCSTUpper( const std::string& bor_id );
14971
14980
14981extern void DemoteBORCSTLower( const std::string& bor_id );
14982
14991
14992extern void FitBORAfCST( const std::string & bor_id, int deg );
14993
14994
14995//======================== FoilSurf Functions ======================//
15029
15030extern void WriteBezierAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
15031
15065
15066extern void WriteSeligAirfoil( const std::string & file_name, const std::string & geom_id, const double &foilsurf_u );
15067
15077
15078extern std::vector < vec3d > GetAirfoilCoordinates( const std::string & geom_id, const double &foilsurf_u );
15079
15080
15081//======================== Edit Curve XSec Functions ======================//
15129
15130extern void EditXSecInitShape( const std::string & xsec_id );
15131
15177
15178extern void EditXSecConvertTo( const std::string & xsec_id, const int & newtype );
15179
15235
15236extern std::vector < double > GetEditXSecUVec( const std::string& xsec_id );
15237
15286
15287extern std::vector < vec3d > GetEditXSecCtrlVec( const std::string & xsec_id, bool non_dimensional = true );
15288
15395
15396extern 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 );
15397
15463
15464extern void EditXSecDelPnt( const std::string & xsec_id, const int & indx );
15465
15530
15531extern int EditXSecSplit01( const std::string & xsec_id, const double & u );
15532
15612
15613extern void MoveEditXSecPnt( const std::string & xsec_id, const int & indx, const vec3d & new_pnt );
15614
15664
15665extern void ConvertXSecToEdit( const std::string & geom_id, const int & indx = 0 );
15666
15722
15723extern std::vector < bool > GetEditXSecFixedUVec( const std::string& xsec_id );
15724
15780
15781extern void SetEditXSecFixedUVec( const std::string& xsec_id, std::vector < bool > fixed_u_vec );
15782
15838
15839extern void ReparameterizeEditXSec( const std::string & xsec_id );
15840
15841
15842//======================== Sets ================================//
15862
15863extern int GetNumSets();
15864
15891
15892extern void SetSetName( int index, const std::string& name );
15893
15920
15921extern std::string GetSetName( int index );
15922
15955
15956extern std::vector<std::string> GetGeomSetAtIndex( int index );
15957
15989
15990extern std::vector<std::string> GetGeomSet( const std::string & name );
15991
16017
16018extern int GetSetIndex( const std::string & name );
16019
16052
16053extern bool GetSetFlag( const std::string & geom_id, int set_index );
16054
16087
16088extern void SetSetFlag( const std::string & geom_id, int set_index, bool flag );
16089
16133
16134extern void CopyPasteSet( int copyIndex, int pasteIndex );
16135
16171
16172extern bool GetBBoxSet( int set, double & xmin_out, double & ymin_out, double & zmin_out, double & xlen_out, double & ylen_out, double & zlen_out );
16173
16209
16210extern bool GetScaleIndependentBBoxSet( int set, double & xmin_out, double & ymin_out, double & zmin_out, double & xlen_out, double & ylen_out, double & zlen_out );
16211
16212//======================== Group Modifications ================================//
16244
16245extern void ScaleSet( int set_index, double scale );
16246
16280
16281extern void RotateSet( int set_index, double x_rot_deg, double y_rot_deg, double z_rot_deg );
16282
16314
16315extern void TranslateSet( int set_index, const vec3d &translation_vec );
16316
16354
16355extern 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 );
16356
16357
16358//======================== Parm Functions ================================//
16388
16389extern bool ValidParm( const std::string & id );
16390
16438
16439extern double SetParmVal( const std::string & parm_id, double val );
16440
16490
16491extern double SetParmVal( const std::string & geom_id, const std::string & name, const std::string & group, double val );
16492
16528
16529extern double SetParmValLimits( const std::string & parm_id, double val, double lower_limit, double upper_limit );
16530
16562
16563extern double SetParmValUpdate( const std::string & parm_id, double val );
16564
16598
16599extern double SetParmValUpdate( const std::string & geom_id, const std::string & parm_name, const std::string & parm_group_name, double val );
16600
16646
16647extern double GetParmVal( const std::string & parm_id );
16648
16696
16697extern double GetParmVal( const std::string & geom_id, const std::string & name, const std::string & group );
16698
16728
16729extern int GetIntParmVal( const std::string & parm_id );
16730
16760
16761extern bool GetBoolParmVal( const std::string & parm_id );
16762
16813
16814extern void SetParmUpperLimit( const std::string & parm_id, double val );
16815
16845
16846extern double GetParmUpperLimit( const std::string & parm_id );
16847
16898
16899extern void SetParmLowerLimit( const std::string & parm_id, double val );
16900
16930
16931extern double GetParmLowerLimit( const std::string & parm_id );
16932
16975
16976extern int GetParmType( const std::string & parm_id );
16977
17034
17035extern std::string GetParmName( const std::string & parm_id );
17036
17079
17080extern std::string GetParmGroupName( const std::string & parm_id );
17081
17124
17125extern std::string GetParmDisplayGroupName( const std::string & parm_id );
17126
17172
17173extern std::string GetParmContainer( const std::string & parm_id );
17174
17206
17207extern void SetParmDescript( const std::string & parm_id, const std::string & desc );
17208
17242
17243extern std::string GetParmDescript( const std::string & parm_id );
17244
17278
17279extern std::string FindParm( const std::string & parm_container_id, const std::string& parm_name, const std::string& group_name );
17280
17281
17282//======================== Parm Container Functions ======================//
17283
17319
17320extern std::vector<std::string> FindContainers();
17321
17345
17346extern std::vector<std::string> FindContainersWithName( const std::string & name );
17347
17371
17372extern std::string FindContainer( const std::string & name, int index );
17373
17397
17398extern std::string GetContainerName( const std::string & parm_container_id );
17399
17438
17439extern std::vector<std::string> FindContainerGroupNames( const std::string & parm_container_id );
17440
17497
17498extern std::vector<std::string> FindContainerParmIDs( const std::string & parm_container_id );
17499
17520
17521extern std::string GetVehicleID();
17522
17523
17524//======================== User Parm Functions ======================//
17545
17546extern int GetNumUserParms();
17547
17568
17570
17606
17607extern std::vector < std::string > GetAllUserParms();
17608
17627
17628extern std::string GetUserParmContainer();
17629
17660
17661extern string AddUserParm(int type, const string & name, const string & group );
17662
17692
17693extern void DeleteUserParm( const std::string & id );
17694
17712
17713extern void DeleteAllUserParm();
17714
17715
17716//======================== Snap To Functions ======================//
17759
17760extern double ComputeMinClearanceDistance( const std::string & geom_id, int set = SET_ALL, bool useMode = false, const string &modeID = string() );
17761 // TODO: Validate inc_flag description
17808
17809extern double SnapParm( const std::string & parm_id, double target_min_dist, bool inc_flag, int set = SET_ALL, bool useMode = false, const string &modeID = string() );
17810
17811
17812//======================== Variable Preset Functions ======================//
17813
17839
17840extern string AddVarPresetGroup( const std::string &group_name );
17841
17873
17874extern string AddVarPresetSetting( const std::string &group_id, const std::string &setting_name );
17875
17913
17914extern void AddVarPresetParm( const std::string &group_id, const std::string &parm_id );
17915
17957
17958extern void DeleteVarPresetGroup( const std::string &group_id );
17959
18002
18003extern void DeleteVarPresetSetting( const std::string &group_id, const std::string &setting_id );
18004
18047
18048extern void DeleteVarPresetParm( const std::string &group_id, const std::string &parm_id );
18049
18094
18095extern void SetVarPresetParmVal( const std::string &group_id, const std::string &setting_id, const std::string &parm_id, double parm_val );
18096
18141
18142extern double GetVarPresetParmVal( const std::string &group_id, const std::string &setting_id, const std::string &parm_id );
18143
18174
18175extern std::string GetGroupName( const std::string &group_id );
18176
18211
18212extern std::string GetSettingName( const std::string &setting_id );
18213
18244
18245extern void SetGroupName( const std::string &group_id, const std::string &group_name );
18246
18281
18282extern void SetSettingName( const std::string &setting_id, const std::string &setting_name );
18283
18325
18326extern std::vector< std::string > GetVarPresetGroups();
18327
18370
18371extern std::vector< std::string > GetVarPresetSettings( const std::string &group_id );
18372
18415
18416extern std::vector< std::string > GetVarPresetParmIDs( const std::string &group_id );
18417
18461
18462extern std::vector< double > GetVarPresetParmVals( const std::string &setting_id );
18463
18510
18511extern void SetVarPresetParmVals( const std::string &setting_id, const std::vector< double > &parm_vals );
18512
18555
18556extern void SaveVarPresetParmVals( const std::string &group_id, const std::string &setting_id );
18557
18604
18605extern void ApplyVarPresetSetting( const std::string &group_id, const std::string &setting_id );
18606
18607//======================== Mode Functions ======================//
18608
18763
18764extern string CreateAndAddMode( const string & name, int normal_set, int degen_set );
18765
18921
18922extern int GetNumModes();
18923
19079
19080extern vector < string > GetAllModes();
19081
19237
19238extern void DelMode( const string &mid );
19239
19394
19395extern void DelAllModes();
19396
19548
19549extern void ApplyModeSettings( const string &mid );
19550
19706
19707extern void ShowOnlyMode( const string &mid );
19708
19862
19863extern void ModeAddGroupSetting( const string &mid, const string &gid, const string &sid );
19864
20022
20023extern string ModeGetGroup( const string &mid, int indx );
20024
20182
20183extern string ModeGetSetting( const string &mid, int indx );
20184
20341
20342extern vector < string > ModeGetAllGroups( const string &mid );
20343
20500
20501extern vector < string > ModeGetAllSettings( const string &mid );
20502
20659
20660extern void RemoveGroupSetting( const string &mid, int indx );
20661
20817
20818extern void RemoveAllGroupSettings( const string &mid );
20819
20820//======================== Parametric Curve Functions ======================//
20833
20834extern void SetPCurve( const std::string & geom_id, const int & pcurveid, const std::vector < double > & tvec,
20835
20836 const std::vector < double > & valvec, const int & newtype );
20847
20848extern void PCurveConvertTo( const std::string & geom_id, const int & pcurveid, const int & newtype );
20849
20860
20861extern int PCurveGetType( const std::string & geom_id, const int & pcurveid );
20862
20872
20873extern std::vector < double > PCurveGetTVec( const std::string & geom_id, const int & pcurveid );
20874
20884
20885extern std::vector < double > PCurveGetValVec( const std::string & geom_id, const int & pcurveid );
20886
20896
20897extern void PCurveDeletePt( const std::string & geom_id, const int & pcurveid, const int & indx );
20898
20909
20910extern int PCurveSplit( const std::string & geom_id, const int & pcurveid, const double & tsplit );
20911
20938
20939extern void ApproximateAllPropellerPCurves( const std::string & geom_id );
20940
20969
20970extern void ResetPropellerThicknessCurve( const std::string & geom_id );
20971
20972
20973//======================== VSPAERO Functions ======================//
21064
21066
21103
21105
21136
21137extern void AddAllToVSPAEROControlSurfaceGroup( int CSGroupIndex );
21138
21173
21174extern void RemoveAllFromVSPAEROControlSurfaceGroup( int CSGroupIndex );
21175
21226
21227extern std::vector < std::string > GetActiveCSNameVec( int CSGroupIndex );
21228
21272
21273extern std::vector < std::string > GetCompleteCSNameVec();
21274
21315
21316extern std::vector < std::string > GetAvailableCSNameVec( int CSGroupIndex );
21317
21357
21358extern void SetVSPAEROControlGroupName(const string & name, int CSGroupIndex);
21359
21398
21399extern std::string GetVSPAEROControlGroupName( int CSGroupIndex );
21400
21454
21455extern void AddSelectedToCSGroup( const vector <int> &selected, int CSGroupIndex);
21456
21519
21520extern void RemoveSelectedFromCSGroup( const vector <int> &selected, int CSGroupIndex);
21521
21576
21578
21579
21580//================ VSPAERO Actuator Disk and Unsteady Functions ==============//
21628
21629extern std::string FindActuatorDisk( int disk_index );
21630
21672
21674
21720
21721extern std::string FindUnsteadyGroup( int group_index );
21722
21757
21758extern std::string GetUnsteadyGroupName( int group_index );
21759
21802
21803extern std::vector < std::string > GetUnsteadyGroupCompIDs( int group_index );
21804
21847
21848extern std::vector < int > GetUnsteadyGroupSurfIndexes( int group_index );
21849
21900
21902
21954
21956
21957
21958//======================== Parasite Drag Tool Functions ======================//
21984
21985extern void AddExcrescence(const std::string & excresName, const int & excresType, const double & excresVal);
21986
22017
22018extern void DeleteExcrescence(const int & index);
22019
22026
22028
22054
22055extern void WriteAtmosphereCSVFile( const std::string & file_name, const int &atmos_type );
22056
22095
22096extern void CalcAtmosphere( const double & alt, const double & delta_temp, const int & atmos_type,
22097
22098 double & temp, double & pres, double & pres_ratio, double & rho_ratio );
22119
22120extern void WriteBodyFFCSVFile( const std::string & file_name );
22121
22142
22143extern void WriteWingFFCSVFile( const std::string & file_name );
22144 // TODO: Improve description
22165
22166extern void WriteCfEqnCSVFile( const std::string & file_name );
22167 // TODO: Improve description
22188
22189extern void WritePartialCfMethodCSVFile( const std::string & file_name );
22190
22191
22192//======================== Surface Query Functions ======================//
22235
22236extern vec3d CompPnt01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
22237
22280
22281extern vec3d CompNorm01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
22282
22325
22326extern vec3d CompTanU01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
22327
22370
22371extern vec3d CompTanW01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w);
22372
22422
22423extern void CompCurvature01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w,
22424 double &k1_out, double &k2_out, double &ka_out, double &kg_out);
22425
22488
22489extern double ProjPnt01(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &u_out, double &w_out);
22490
22560
22561extern double ProjPnt01I(const std::string &geom_id, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
22562
22632
22633extern 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);
22634
22635
22696
22697extern double AxisProjPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, double &u_out, double &w_out);
22698
22761
22762extern double AxisProjPnt01I(const std::string &geom_id, const int &iaxis, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out);
22763
22836
22837extern 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);
22838
22900
22901extern bool InsideSurf( const std::string &geom_id, const int &surf_indx, const vec3d &pt );
22902
22903
22949
22950extern vec3d CompPntRST( const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t );
22951
23007
23008extern double FindRST( const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &r_out, double &s_out, double &t_out );
23009
23077
23078extern 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 );
23079
23080
23127
23128extern 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 );
23129
23168
23169extern void ConvertRtoL( const std::string &geom_id, const int &surf_indx, const double &r, double &l_out );
23170
23217
23218extern 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 );
23257extern void ConvertLtoR( const std::string &geom_id, const int &surf_indx, const double &l, double &r_out );
23258
23296
23297extern void ConvertUtoEta( const std::string &geom_id, const double &u, double &eta_out );
23298
23336
23337extern void ConvertEtatoU( const std::string &geom_id, const double &eta, double &u_out );
23338
23339
23393
23394extern 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);
23395
23450
23451extern std::vector < vec3d > CompVecDegenPnt01(const std::string &geom_id, const int &surf_indx, const int &degen_type, const std::vector < double > &u_in_vec, const std::vector < double > &w_in_vec);
23452
23506
23507extern std::vector < vec3d > CompVecNorm01(const std::string &geom_id, const int &surf_indx, const std::vector < double > &us, const std::vector < double > &ws);
23508
23569
23570extern 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);
23571
23647
23648extern 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 );
23649
23747
23748extern 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 );
23749
23750
23851
23852extern 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 );
23853
23965
23966extern 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 );
23967
24040
24041extern std::vector < bool > VecInsideSurf( const std::string &geom_id, const int &surf_indx, const std::vector < vec3d > &pts );
24042
24043
24104
24105extern 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 );
24106
24178
24179extern 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 );
24180
24263
24264extern 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 );
24265
24266
24333
24334extern 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,
24335 std::vector < double > &l_out_vec, std::vector < double > &m_out_vec, std::vector < double > &n_out_vec );
24336
24402
24403extern 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,
24404 std::vector < double > &r_out_vec, std::vector < double > &s_out_vec, std::vector < double > &t_out_vec );
24405
24439
24440extern void GetUWTess01(const std::string &geom_id, const int &surf_indx, std::vector < double > &u_out_vec, std::vector < double > &w_out_vec);
24441
24442
24443//======================= Measure Functions ============================//
24491
24492extern string AddRuler( const string & startgeomid, int startsurfindx, double startu, double startw,
24493 const string & endgeomid, int endsurfindx, double endu, double endw, const string & name );
24549
24550extern std::vector < string > GetAllRulers();
24551
24598
24599extern void DelRuler( const string &id );
24600
24642
24643extern void DeleteAllRulers();
24644
24645
24681
24682extern string AddProbe( const string & geomid, int surfindx, double u, double w, const string & name );
24683
24722
24723extern std::vector < string > GetAllProbes();
24724
24765
24766extern void DelProbe( const string &id );
24767
24807
24808extern void DeleteAllProbes();
24809
24810
24811//======================= Advanced Link Functions ============================//
24812
24840
24841extern std::vector< std::string > GetAdvLinkNames();
24842
24889
24890extern int GetLinkIndex( const string & name );
24891
24955
24956extern void DelAdvLink( int index );
24957
25020
25021extern void DelAllAdvLinks();
25022
25067
25068extern void AddAdvLink( const string & name );
25069
25116
25117extern void AddAdvLinkInput( int index, const string & parm_id, const string & var_name );
25118
25165
25166extern void AddAdvLinkOutput( int index, const string & parm_id, const string & var_name );
25167
25225
25226extern void DelAdvLinkInput( int index, const string & var_name );
25227
25285
25286extern void DelAdvLinkOutput( int index, const string & var_name );
25287
25346
25347extern std::vector< std::string > GetAdvLinkInputNames( int index );
25348
25407
25408extern std::vector< std::string > GetAdvLinkInputParms( int index );
25409
25468
25469extern std::vector< std::string > GetAdvLinkOutputNames( int index );
25470
25529
25530extern std::vector< std::string > GetAdvLinkOutputParms( int index );
25531
25595
25596extern bool ValidateAdvLinkParms( int index );
25597
25643
25644extern void SetAdvLinkCode( int index, const string & code );
25645
25699
25700extern std::string GetAdvLinkCode( int index );
25701
25758
25759extern void SearchReplaceAdvLinkCode( int index, const string & from, const string & to );
25760
25820
25821extern bool BuildAdvLinkScript( int index );
25822
25823
25824} // End vsp namespace
25825
25826#endif // !defined(VSPAPI__INCLUDED_)
Definition Vec3d.h:243
bool CheckForVSPAERO(const std::string &path)
bool CheckForVSPHelp(const std::string &path)
int GetVSPVersionChange()
std::string GetVSPVersion()
int GetVSPVersionMinor()
bool SetVSPHelpPath(const std::string &path)
std::string GetVSPHelpPath()
bool SetVSPAEROPath(const std::string &path)
std::string GetVSPExePath()
std::string GetVSPAEROPath()
int GetVSPVersionMajor()
void VSPRenew()
void VSPCheckSetup()
std::vector< std::string > GetAnalysisInputNames(const std::string &analysis)
const std::vector< int > & GetIntAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
void SetIntAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< int > &indata, int index=0)
string AddGeometryAnalysis()
void DeleteAllGeometryAnalyses()
void PrintAnalysisDocs(const std::string &analysis_name)
std::string ExecAnalysis(const std::string &analysis)
int GetNumAnalysis()
std::vector< std::string > ListAnalysis()
void DeleteGeometryAnalysis(const string &id)
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)
string MakeMeshGeom(const string &ga_id)
string GetActiveGeometryAnalysis()
void SetActiveGeometryAnalysis(const string &id)
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)
vector< string > GetAllGeometryAnalysesIDVec()
int GetNumAnalysisInputData(const std::string &analysis, const std::string &name)
vector< string > GetAttributeStringVal(const string &attrID)
string GetAttributeID(const string &collID, const string &attributeName, int index)
string GetAttributeName(const string &attrID)
vector< double > GetAttributeDoubleVal(const string &attrID)
void SetAttributeDoubleMatrix(const string &attrID, const vector< vector< double > > &value)
void SetAttributeParmID(const string &attrID, const string &value)
void SetAttributeBool(const string &attrID, bool value)
vector< string > FindAttributedObjects()
void SetAttributeVec3d(const string &attrID, const vector< vec3d > &value)
string AddAttributeString(const string &collID, const string &attributeName, const string &value)
vector< int > GetAttributeIntVal(const string &attrID)
vector< vector< double > > GetAttributeDoubleMatrixVal(const string &attrID)
void DeleteAttribute(const string &attrID)
void SetAttributeDouble(const string &attrID, double value)
vector< string > FindAllAttributes()
vector< string > FindAttributeNamesInCollection(const string &collID)
string AddAttributeIntMatrix(const string &collID, const string &attributeName, const vector< vector< int > > &value)
void SetAttributeName(const string &attrID, const string &name)
vector< string > GetAttributeParmID(const string &attrID)
string AddAttributeInt(const string &collID, const string &attributeName, int value)
vector< vec3d > GetAttributeVec3dVal(const string &attrID)
vector< string > FindAttributesByName(const string &search_str)
string GetGeomSetCollection(const int &index)
vector< int > GetAttributeBoolVal(const string &attrID)
string SummarizeAttributesAsTree()
string GetObjectName(const string &attachID)
int CopyAttribute(const string &attrID)
string GetAttributeTypeName(const string &attrID)
string GetChildCollection(const string &attachID)
string SummarizeAttributes()
void CutAttribute(const string &attrID)
string GetObjectParent(const string &id)
void SetAttributeString(const string &attrID, const string &value)
string AddAttributeGroup(const string &collID, const string &attributeName)
vector< string > FindAttributesInCollection(const string &collID)
vector< double > GetAttributeParmVal(const string &attrID)
string AddAttributeParm(const string &collID, const string &attributeName, const string &parmID)
void SetAttributeIntMatrix(const string &attrID, const vector< vector< int > > &value)
vector< vector< int > > GetAttributeIntMatrixVal(const string &attrID)
vector< string > PasteAttribute(const string &coll_id)
int GetAttributeType(const string &attrID)
string AddAttributeDouble(const string &collID, const string &attributeName, double value)
vector< string > GetAttributeParmName(const string &attrID)
string AddAttributeBool(const string &collID, const string &attributeName, bool value)
string AddAttributeDoubleMatrix(const string &collID, const string &attributeName, const vector< vector< double > > &value)
string GetObjectTypeName(const string &attachID)
string AddAttributeVec3d(const string &collID, const string &attributeName, const vector< vec3d > &value)
string FindAttributeByName(const string &search_str, int index)
string GetAttributeDoc(const string &attrID)
string FindAttributeInCollection(const string &obj_id, const string &search_str, int index)
void SetAttributeDoc(const string &attrID, const string &doc)
void SetAttributeInt(const string &attrID, int value)
int GetObjectType(const string &attachID)
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)
void DelAllFeaPolySparPt(const string &pspar_id)
std::vector< std::string > GetFeaStructIDVec()
int MoveFeaPolySparPt(const string &pspar_id, int index, int reorder_type)
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)
string GetFeaPolySparPtID(const string &pspar_id, int index)
int NumFeaSubSurfs(const std::string &fea_struct_id)
void SetFeaMeshStructIndex(int struct_index)
void DelFeaPolySparPt(const string &pspar_id, int 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)
int GetFeaPolySparNumPt(const string &pspar_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)
vector< string > GetAllFeaPolySparPtIDVec(const string &pspar_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)
string InsertFeaPolySparPt(const string &pspar_id, int index)
void SetFeaPolySparPtName(const string &pspar_id, int index, const string &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)
string GetFeaPolySparPtName(const string &pspar_id, int index)
int NumFeaBCs(const string &fea_struct_id)
string AddFeaPolySparPt(const string &pspar_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)
void WriteVSPFile(const std::string &file_name, int set=SET_ALL)
void InsertVSPFile(const std::string &file_name, const std::string &parent_geom_id)
std::string ExportFile(const std::string &file_name, int thick_set, int file_type, int subsFlag=1, int thin_set=vsp::SET_NONE, bool useMode=false, const string &modeID="")
int GetNumBogies(const string &gear_id)
string CreateAndAddBogie(const string &gear_id)
void DelAllBogies(const string &gear_id)
void DelBogie(const string &gear_id, const string &bogie_id)
vector< string > GetAllBogies(const string &gear_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 SetGeomParent(const std::string &geom_id, const std::string &parent_id)
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 SplitWingXSec(const string &wing_id, int section_index)
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)
int GetNumModes()
void ApplyModeSettings(const string &mid)
void RemoveAllGroupSettings(const string &mid)
vector< string > ModeGetAllSettings(const string &mid)
void DelMode(const string &mid)
void ShowOnlyMode(const string &mid)
vector< string > GetAllModes()
void ModeAddGroupSetting(const string &mid, const string &gid, const string &sid)
string ModeGetSetting(const string &mid, int indx)
string CreateAndAddMode(const string &name, int normal_set, int degen_set)
void DelAllModes()
vector< string > ModeGetAllGroups(const string &mid)
string ModeGetGroup(const string &mid, int indx)
void RemoveGroupSetting(const string &mid, int indx)
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)
vector< vec3d > GetRoutingCurve(const string &routing_id, int symm_index)
void DelAllRoutingPt(const string &routing_id)
string InsertRoutingPt(const string &routing_id, int index, const string &geom_id, int surf_index)
int GetNumRoutingPts(const string &routing_id)
vector< string > GetAllRoutingPtIds(const string &routing_id)
vector< vec3d > GetAllRoutingPtCoords(const string &routing_id, int symm_index)
vec3d GetRoutingPtCoord(const string &routing_id, int index, int symm_index)
string AddRoutingPt(const string &routing_id, const string &geom_id, int surf_index)
int MoveRoutingPt(const string &routing_id, int index, int reorder_type)
void SetRoutingPtParentID(const string &pt_id, const string &parent_id)
void DelRoutingPt(const string &routing_id, int index)
string GetRoutingPtParentID(const string &pt_id)
string GetRoutingPtID(const string &routing_id, int index)
vec3d GetMainRoutingPtCoord(const string &pt_id)
void CopyPasteSet(int copyIndex, int pasteIndex)
void SetSetName(int index, const std::string &name)
bool GetSetFlag(const std::string &geom_id, int set_index)
std::vector< std::string > GetGeomSet(const std::string &name)
int GetSetIndex(const std::string &name)
std::vector< std::string > GetGeomSetAtIndex(int index)
bool GetScaleIndependentBBoxSet(int set, double &xmin_out, double &ymin_out, double &zmin_out, double &xlen_out, double &ylen_out, double &zlen_out)
bool GetBBoxSet(int set, double &xmin_out, double &ymin_out, double &zmin_out, double &xlen_out, double &ylen_out, double &zlen_out)
int GetNumSets()
void SetSetFlag(const std::string &geom_id, int set_index, bool flag)
std::string GetSetName(int index)
double SnapParm(const std::string &parm_id, double target_min_dist, bool inc_flag, int set=SET_ALL, bool useMode=false, const string &modeID=string())
double ComputeMinClearanceDistance(const std::string &geom_id, int set=SET_ALL, bool useMode=false, const string &modeID=string())
int GetNumSubSurf(const std::string &geom_id)
std::vector< std::string > GetSubSurfIDVec(const std::string &geom_id)
std::string GetSubSurfName(const std::string &geom_id, const std::string &sub_id)
std::vector< std::string > GetAllSubSurfIDs()
std::string AddSubSurf(const std::string &geom_id, int type, int surfindex=0)
void SetIntersectSubSurfGeomID(const std::string &sub_id, const std::string &geom_id)
void IntersectSubSurf(const std::string &sub_id)
void DeleteSubSurf(const std::string &geom_id, const std::string &sub_id)
int GetSubSurfType(const std::string &sub_id)
void SetSubSurfName(const std::string &geom_id, const std::string &sub_id, const std::string &name)
std::vector< std::string > GetSubSurfParmIDs(const std::string &sub_id)
int GetSubSurfIndex(const std::string &sub_id)
std::string GetSubSurf(const std::string &geom_id, int index)
void CompVecCurvature01(const std::string &geom_id, const int &surf_indx, const std::vector< double > &us, const std::vector< double > &ws, std::vector< double > &k1_out_vec, std::vector< double > &k2_out_vec, std::vector< double > &ka_out_vec, std::vector< double > &kg_out_vec)
vec3d CompTanU01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void AxisProjVecPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const std::vector< vec3d > &pts, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
double ProjPnt01(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &u_out, double &w_out)
vec3d CompPntRST(const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t)
void ConvertLMNtoRST(const std::string &geom_id, const int &surf_indx, const double &l, const double &m, const double &n, double &r_out, double &s_out, double &t_out)
void ProjVecPnt01Guess(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, const std::vector< double > &u0s, const std::vector< double > &w0s, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
void ProjVecPnt01(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
bool InsideSurf(const std::string &geom_id, const int &surf_indx, const vec3d &pt)
vec3d CompPnt01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void FindRSTVec(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, std::vector< double > &r_out_vec, std::vector< double > &s_out_vec, std::vector< double > &t_out_vec, std::vector< double > &d_out_vec)
double ProjPnt01Guess(const std::string &geom_id, const int &surf_indx, const vec3d &pt, const double &u0, const double &w0, double &u_out, double &w_out)
void ConvertLMNtoRSTVec(const std::string &geom_id, const int &surf_indx, const std::vector< double > &l_vec, const std::vector< double > &m_vec, const std::vector< double > &n_vec, std::vector< double > &r_out_vec, std::vector< double > &s_out_vec, std::vector< double > &t_out_vec)
void ConvertRSTtoLMN(const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t, double &l_out, double &m_out, double &n_out)
vec3d CompTanW01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void AxisProjVecPnt01Guess(const std::string &geom_id, const int &surf_indx, const int &iaxis, const std::vector< vec3d > &pts, const std::vector< double > &u0s, const std::vector< double > &w0s, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
void ConvertRSTtoLMNVec(const std::string &geom_id, const int &surf_indx, const std::vector< double > &r_vec, const std::vector< double > &s_vec, const std::vector< double > &t_vec, std::vector< double > &l_out_vec, std::vector< double > &m_out_vec, std::vector< double > &n_out_vec)
double ProjPnt01I(const std::string &geom_id, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out)
void FindRSTVecGuess(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, const std::vector< double > &r0s, const std::vector< double > &s0s, const std::vector< double > &t0s, std::vector< double > &r_out_vec, std::vector< double > &s_out_vec, std::vector< double > &t_out_vec, std::vector< double > &d_out_vec)
void ConvertRtoL(const std::string &geom_id, const int &surf_indx, const double &r, double &l_out)
std::vector< bool > VecInsideSurf(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts)
std::vector< vec3d > CompVecPntRST(const std::string &geom_id, const int &surf_indx, const std::vector< double > &r_in_vec, const std::vector< double > &s_in_vec, const std::vector< double > &t_in_vec)
double AxisProjPnt01Guess(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, const double &u0, const double &w0, double &u_out, double &w_out)
double AxisProjPnt01I(const std::string &geom_id, const int &iaxis, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out)
void CompCurvature01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w, double &k1_out, double &k2_out, double &ka_out, double &kg_out)
void ConvertLtoR(const std::string &geom_id, const int &surf_indx, const double &l, double &r_out)
std::vector< vec3d > CompVecDegenPnt01(const std::string &geom_id, const int &surf_indx, const int &degen_type, const std::vector< double > &u_in_vec, const std::vector< double > &w_in_vec)
void ConvertUtoEta(const std::string &geom_id, const double &u, double &eta_out)
double FindRST(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &r_out, double &s_out, double &t_out)
vec3d CompNorm01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void ConvertEtatoU(const std::string &geom_id, const double &eta, double &u_out)
std::vector< vec3d > CompVecNorm01(const std::string &geom_id, const int &surf_indx, const std::vector< double > &us, const std::vector< double > &ws)
std::vector< vec3d > CompVecPnt01(const std::string &geom_id, const int &surf_indx, const std::vector< double > &u_in_vec, const std::vector< double > &w_in_vec)
void GetUWTess01(const std::string &geom_id, const int &surf_indx, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec)
double FindRSTGuess(const std::string &geom_id, const int &surf_indx, const vec3d &pt, const double &r0, const double &s0, const double &t0, double &r_out, double &s_out, double &t_out)
double AxisProjPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, double &u_out, double &w_out)
int GetNumUnsteadyGroups()
std::string GetUnsteadyGroupName(int group_index)
int GetNumUnsteadyRotorGroups()
std::vector< int > GetUnsteadyGroupSurfIndexes(int group_index)
std::vector< std::string > GetUnsteadyGroupCompIDs(int group_index)
int GetNumActuatorDisks()
std::string FindActuatorDisk(int disk_index)
std::string FindUnsteadyGroup(int group_index)
string GetVSPAERORefWingID()
string SetVSPAERORefWingID(const std::string &geom_id)
string AddVarPresetSetting(const std::string &group_id, const std::string &setting_name)
void SetGroupName(const std::string &group_id, const std::string &group_name)
double GetVarPresetParmVal(const std::string &group_id, const std::string &setting_id, const std::string &parm_id)
void SetSettingName(const std::string &setting_id, const std::string &setting_name)
std::vector< double > GetVarPresetParmVals(const std::string &setting_id)
std::vector< std::string > GetVarPresetGroups()
void DeleteVarPresetGroup(const std::string &group_id)
void SetVarPresetParmVal(const std::string &group_id, const std::string &setting_id, const std::string &parm_id, double parm_val)
std::string GetSettingName(const std::string &setting_id)
void ApplyVarPresetSetting(const std::string &group_id, const std::string &setting_id)
std::vector< std::string > GetVarPresetParmIDs(const std::string &group_id)
void SetVarPresetParmVals(const std::string &setting_id, const std::vector< double > &parm_vals)
void AddVarPresetParm(const std::string &group_id, const std::string &parm_id)
void DeleteVarPresetParm(const std::string &group_id, const std::string &parm_id)
string AddVarPresetGroup(const std::string &group_name)
std::string GetGroupName(const std::string &group_id)
void SaveVarPresetParmVals(const std::string &group_id, const std::string &setting_id)
std::vector< std::string > GetVarPresetSettings(const std::string &group_id)
void DeleteVarPresetSetting(const std::string &group_id, const std::string &setting_id)
void VSPExit(int error_code)
int GetAndResetUpdateCount()
void Update(bool update_managers=true)
void ClearVSPModel()
std::string GetVSPFileName()
void VSPCrash(int crash_type)
void ResetViews()
void StopGUI()
void PopupMsg(const std::string &msg)
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 ShowScreen(int s)
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 HideScreen(int s)
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)
void SetXSecCurveAlias(const string &id, const string &alias)
string GetXSecCurveAlias(const string &id)
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)
void SetXSecAlias(const string &id, const string &alias)
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)
string GetXSecAlias(const string &id)
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)