222#if !defined(VSPAPI__INCLUDED_)
223#define VSPAPI__INCLUDED_
225#include "APIDefines.h"
385extern void Update(
bool update_managers =
true );
1004extern void RegisterCFDMeshAnalyses();
1006extern void LimitedIntersectSurfaces(
const std::vector < std::string > & geomvec, std::vector < std::vector < vec3d > > & ptchains, std::vector < std::vector < vec3d > > & uwchains );
1440extern void InsertVSPFile(
const std::string & file_name,
const std::string & parent_geom_id );
1489extern std::string
ExportFile(
const std::string & file_name,
int thick_set,
int file_type,
int subsFlag = 1,
int thin_set =
vsp::SET_NONE,
bool useMode =
false,
const std::string &modeID =
"" );
1503extern std::string
ImportFile(
const std::string & file_name,
int file_type,
const std::string & parent );
1607extern void SetBEMPropID(
const std::string & prop_id );
1813extern void SetComputationFileName(
int file_type,
const std::string & file_name );
1960 double start_bnd = 0,
double end_bnd = 0,
bool measureduct =
false );
2209extern void SetCFDMeshVal(
int type,
double val );
2324extern void SetCFDWakeFlag(
const std::string & geom_id,
bool flag );
2662extern void SetCFDSourceName(
const std::string & geom_id,
int source_index,
const std::string & name );
2664extern int GetCFDSourceType(
const std::string & geom_id,
int source_index );
2747extern void DeleteAllCFDSources();
3035extern void AddCFDSource(
int type,
const std::string & geom_id,
int surf_index,
3037 double l1,
double r1,
double u1,
double w1,
3038 double l2 = 0,
double r2 = 0,
double u2 = 0,
double w2 = 0 );
3534extern const std::vector< int > &
GetIntAnalysisInput(
const std::string & analysis,
const std::string & name,
int index = 0 );
3572extern const std::vector< double > &
GetDoubleAnalysisInput(
const std::string & analysis,
const std::string & name,
int index = 0 );
3611extern const std::vector<std::string> &
GetStringAnalysisInput(
const std::string & analysis,
const std::string & name,
int index = 0 );
3652extern const std::vector< vec3d > &
GetVec3dAnalysisInput(
const std::string & analysis,
const std::string & name,
int index = 0 );
3777extern void SetIntAnalysisInput(
const std::string & analysis,
const std::string & name,
const std::vector< int > & indata,
int index = 0 );
3828extern void SetDoubleAnalysisInput(
const std::string & analysis,
const std::string & name,
const std::vector< double > & indata,
int index = 0 );
3869extern void SetStringAnalysisInput(
const std::string & analysis,
const std::string & name,
const std::vector<std::string> & indata,
int index = 0 );
3918extern void SetVec3dAnalysisInput(
const std::string & analysis,
const std::string & name,
const std::vector< vec3d > & indata,
int index = 0 );
4389extern void DeleteGeometryAnalysis(
const std::string &
id );
5321extern std::string
GetAttributeID(
const std::string & collID,
const std::string & attributeName,
int index);
6743extern std::string
AddAttributeBool(
const std::string & collID,
const std::string & attributeName,
bool value );
6795extern std::string
AddAttributeInt(
const std::string & collID,
const std::string & attributeName,
int value );
6849extern std::string
AddAttributeDouble(
const std::string & collID,
const std::string & attributeName,
double value );
6902extern std::string
AddAttributeString(
const std::string & collID,
const std::string & attributeName,
const std::string & value );
6966extern std::string
AddAttributeParm(
const std::string &collID,
const std::string &attributeName,
const std::string &parmID );
7022extern std::string
AddAttributeVec3d(
const std::string & collID,
const std::string & attributeName,
const std::vector < vec3d > & value );
7080extern std::string
AddAttributeIntMatrix(
const std::string & collID,
const std::string & attributeName,
const std::vector < std::vector < int > > & value );
7138extern std::string
AddAttributeDoubleMatrix(
const std::string & collID,
const std::string & attributeName,
const std::vector < std::vector < double > > & value );
7187extern std::string
AddAttributeGroup(
const std::string & collID,
const std::string & attributeName );
7643extern std::string GetResultsEntryDoc(
const std::string & results_id,
const std::string & data_name );
7778extern int GetNumData(
const std::string & results_id,
const std::string & data_name );
7875extern int GetResultsType(
const std::string & results_id,
const std::string & data_name );
7931extern const std::vector< int > &
GetIntResults(
const std::string &
id,
const std::string & name,
int index = 0 );
7977extern const std::vector< double > &
GetDoubleResults(
const std::string &
id,
const std::string & name,
int index = 0 );
7990extern const std::vector< std::vector< double > > &
GetDoubleMatResults(
const std::string &
id,
const std::string & name,
int index = 0 );
8030extern const std::vector<std::string> &
GetStringResults(
const std::string &
id,
const std::string & name,
int index = 0 );
8094extern const std::vector< vec3d > &
GetVec3dResults(
const std::string &
id,
const std::string & name,
int index = 0 );
8926extern void ScreenGrab(
const std::string & fname,
int w,
int h,
bool transparentBG,
bool autocrop =
false );
9429extern void SetGeomMaterialName(
const std::string &geom_id,
const std::string &name );
9512extern void AddMaterial(
const std::string &name,
const vec3d & ambient,
const vec3d & diffuse,
const vec3d & specular,
const vec3d & emissive,
const double & alpha,
const double & shininess );
9845extern std::string
AddGeom(
const std::string & type,
const std::string & parent = std::string() );
10253extern std::string
FindGeom(
const std::string & name,
int index );
10295extern void SetGeomName(
const std::string & geom_id,
const std::string & name );
10482extern std::string
GetParm(
const std::string & geom_id,
const std::string & name,
const std::string & group );
10537extern void SetGeomParent(
const std::string& geom_id,
const std::string& parent_id );
11177extern vec3d GetGeomBBoxMax(
const std::string& geom_id,
int main_surf_ind = 0,
bool ref_frame_is_absolute =
true );
11231extern vec3d GetGeomBBoxMin(
const std::string& geom_id,
int main_surf_ind = 0,
bool ref_frame_is_absolute =
true );
11274extern std::string
AddSubSurf(
const std::string & geom_id,
int type,
int surfindex = 0 );
11370extern std::string
GetSubSurf(
const std::string & geom_id,
int index );
11466extern std::vector<std::string>
GetSubSurf(
const std::string & geom_id,
const std::string & name );
11524extern void DeleteSubSurf(
const std::string & geom_id,
const std::string & sub_id );
11577extern void ReorderSubSurf(
const std::string & geom_id,
const std::string & sub_id,
int reorder_type );
11677extern void SetSubSurfName(
const std::string & geom_id,
const std::string & sub_id,
const std::string & name);
11764extern std::string
GetSubSurfName(
const std::string & geom_id,
const std::string & sub_id );
12429extern void SetIntersectSubSurfGeomID(
const std::string & sub_id,
const std::string & geom_id );
12498extern int AddFeaStruct(
const std::string & geom_id,
bool init_skin =
true,
int surfindex = 0 );
12598extern void SetFeaMeshStructIndex(
int struct_index );
12953extern void SetFeaStructName(
const std::string & geom_id,
int fea_struct_ind,
const std::string & name );
13099extern std::string
AddFeaPart(
const std::string & geom_id,
int fea_struct_ind,
int type );
13183extern void DeleteFeaPart(
const std::string & geom_id,
int fea_struct_ind,
const std::string & part_id );
13247extern void ReorderFeaPart(
const std::string & geom_id,
int fea_struct_ind,
const std::string & part_id,
int reorder_type );
13367extern std::string
GetFeaPartID(
const std::string & fea_struct_id,
int fea_part_index );
13874extern std::string
AddFeaSubSurf(
const std::string & geom_id,
int fea_struct_ind,
int type );
13939extern void DeleteFeaSubSurf(
const std::string & geom_id,
int fea_struct_ind,
const std::string & ss_id );
14736extern std::string AddFeaAssembly();
15274 const std::string & start_fix_pt_id,
const std::string & start_struct_id,
int start_index,
15275 const std::string & end_fix_pt_id,
const std::string & end_struct_id,
int end_index );
15438extern void ComputeFeaAssemblyMesh(
const std::string & assembly_id );
15440extern int NumFeaStructures();
15595extern std::string
AddFeaBC(
const std::string & fea_struct_id,
int type = -1 );
15664extern void DelFeaBC(
const std::string & fea_struct_id,
const std::string &bc_id );
15716extern std::vector< std::string >
GetFeaBCIDVec(
const std::string & fea_struct_id );
16007extern void DeleteFeaLayer(
const std::string & material_id,
const std::string & layer_id );
16071extern void ReorderFeaLayer(
const std::string & material_id,
const std::string & layer_id,
int reorder_type );
16097extern std::vector < std::string > GetFeaMaterialIDVec();
16167extern std::string AddFeaMaterial();
16333extern std::string AddFeaProperty(
int property_type = 0 );
16488extern double GetFeaMeshVal(
const std::string & geom_id,
int fea_struct_ind,
int type );
16490extern void SetFeaMeshVal(
const std::string & geom_id,
int fea_struct_ind,
int type,
double val );
16645extern void SetFeaMeshFileName(
const std::string & geom_id,
int fea_struct_ind,
int file_type,
const std::string & file_name );
16732extern void ComputeFeaMesh(
const std::string & geom_id,
int fea_struct_ind,
int file_type );
17153extern void CutXSec(
const std::string & geom_id,
int index );
17241extern void CopyXSec(
const std::string & geom_id,
int index );
17388extern void InsertXSec(
const std::string & geom_id,
int index,
int type );
17634extern std::vector < int >
GetDriverGroup(
const std::string & geom_id,
int section_index );
17636extern void SetDriverGroup(
const std::string & geom_id,
int section_index,
int driver_0,
int driver_1 = -1,
int driver_2 = -1 );
17805extern std::string
GetXSec(
const std::string & xsec_surf_id,
int xsec_index );
17930extern void FitCSTAirfoil(
const std::string & xsec_surf_id,
int xsec_index,
int deg );
18344extern std::string
GetXSecParm(
const std::string& xsec_id,
const std::string& name );
18437extern std::vector<vec3d>
ReadFileXSec(
const std::string& xsec_id,
const std::string& file_name );
18813extern void SetXSecPnts(
const std::string& xsec_id, std::vector< vec3d > & pnt_vec );
19194extern void SetXSecContinuity(
const std::string& xsec_id,
int cx );
19379extern void SetXSecTanAngles(
const std::string& xsec_id,
int side,
double top,
double right,
double bottom,
double left );
19564extern void SetXSecTanSlews(
const std::string& xsec_id,
int side,
double top,
double right,
double bottom,
double left );
19751extern void SetXSecTanStrengths(
const std::string& xsec_id,
int side,
double top,
double right,
double bottom,
double left );
19938extern void SetXSecCurvatures(
const std::string& xsec_id,
int side,
double top,
double right,
double bottom,
double left );
20385extern void SetAirfoilPnts(
const std::string& xsec_id,
const std::vector< vec3d > & up_pnt_vec,
const std::vector< vec3d > & low_pnt_vec );
20441extern std::vector<vec3d>
GetHersheyBarLiftDist(
const int &npts,
const double &alpha,
const double &Vinf,
const double &span,
bool full_span_flag =
false );
20497extern std::vector<vec3d>
GetHersheyBarDragDist(
const int &npts,
const double &alpha,
const double &Vinf,
const double &span,
bool full_span_flag =
false );
20557extern std::vector<vec3d>
GetVKTAirfoilPnts(
const int &npts,
const double &alpha,
const double &epsilon,
const double &kappa,
const double &tau );
20618extern std::vector<double>
GetVKTAirfoilCpDist(
const double &alpha,
const double &epsilon,
const double &kappa,
const double &tau,
const std::vector<vec3d> &xyz_data );
20737extern double IntegrateEllipsoidFlow(
const vec3d &abc_rad,
const int &abc_index );
20900extern void SetUpperCST(
const std::string& xsec_id,
int deg,
const std::vector<double> &coefs );
20913extern void SetLowerCST(
const std::string& xsec_id,
int deg,
const std::vector<double> &coefs );
20969extern void FitAfCST(
const std::string & xsec_surf_id,
int xsec_index,
int deg );
21741extern void DelBogie(
const std::string &gear_id,
const std::string &bogie_id );
22152extern std::string
AddRoutingPt(
const std::string &routing_id,
const std::string &geom_id,
int surf_index );
22227extern std::string
InsertRoutingPt(
const std::string &routing_id,
int index,
const std::string &geom_id,
int surf_index );
22451extern int MoveRoutingPt(
const std::string &routing_id,
int index,
int reorder_type );
23213extern std::vector<vec3d>
ReadBORFileXSec(
const std::string& bor_id,
const std::string& file_name );
23374extern void SetBORXSecPnts(
const std::string& bor_id, std::vector< vec3d > & pnt_vec );
23911extern void SetBORAirfoilPnts(
const std::string& bor_id,
const std::vector< vec3d > & up_pnt_vec,
const std::vector< vec3d > & low_pnt_vec );
24058extern void SetBORUpperCST(
const std::string& bor_id,
int deg,
const std::vector<double> &coefs );
24071extern void SetBORLowerCST(
const std::string& bor_id,
int deg,
const std::vector<double> &coefs );
24185extern void WriteBezierAirfoil(
const std::string & file_name,
const std::string & geom_id,
const double &foilsurf_u );
24242extern void WriteSeligAirfoil(
const std::string & file_name,
const std::string & geom_id,
const double &foilsurf_u );
24684extern void SetEditXSecPnts(
const std::string & xsec_id,
const std::vector < double > &u_vec,
const std::vector < vec3d > &control_pts,
const std::vector < double > &r_vec );
25470extern std::vector<std::string>
GetGeomSet(
const std::string & name );
25571extern void SetSetFlag(
const std::string & geom_id,
int set_index,
bool flag );
25668extern bool GetBBoxSet(
int set,
double & xmin_out,
double & ymin_out,
double & zmin_out,
double & xlen_out,
double & ylen_out,
double & zlen_out );
25717extern bool GetScaleIndependentBBoxSet(
int set,
double & xmin_out,
double & ymin_out,
double & zmin_out,
double & xlen_out,
double & ylen_out,
double & zlen_out );
25848extern void RotateSet(
int set_index,
double x_rot_deg,
double y_rot_deg,
double z_rot_deg );
25994extern void TransformSet(
int set_index,
const vec3d &translation_vec,
double x_rot_deg,
double y_rot_deg,
double z_rot_deg,
double scale,
bool scale_translations_flag );
26136extern double SetParmVal(
const std::string & geom_id,
const std::string & name,
const std::string & group,
double val );
26210extern double SetParmValLimits(
const std::string & parm_id,
double val,
double lower_limit,
double upper_limit );
26296extern double SetParmValUpdate(
const std::string & geom_id,
const std::string & parm_name,
const std::string & parm_group_name,
double val );
26398extern double GetParmVal(
const std::string & geom_id,
const std::string & name,
const std::string & group );
27117extern std::string
FindParm(
const std::string & parm_container_id,
const std::string& parm_name,
const std::string& group_name );
27332extern std::string GetContainerName(
const std::string & parm_container_id );
27665extern std::string
AddUserParm(
int type,
const std::string & name,
const std::string & group );
27915extern double SnapParm(
const std::string & parm_id,
double target_min_dist,
bool inc_flag,
int set =
SET_ALL,
bool useMode =
false,
const std::string &modeID = std::string() );
28176extern void DeleteVarPresetGroup(
const std::string &group_id );
28293extern void DeleteVarPresetSetting(
const std::string &group_id,
const std::string &setting_id );
28403extern void SetVarPresetParmVal(
const std::string &group_id,
const std::string &setting_id,
const std::string &parm_id,
double parm_val );
28483extern double GetVarPresetParmVal(
const std::string &group_id,
const std::string &setting_id,
const std::string &parm_id );
28606extern void SetGroupName(
const std::string &group_id,
const std::string &group_name );
28651extern void SetSettingName(
const std::string &setting_id,
const std::string &setting_name );
30210extern void SetModeName(
const std::string &mid,
const std::string &name );
30212extern void ApplyModeSettings(
const std::string &mid );
31687extern void SetPCurve(
const std::string & geom_id,
const int & pcurveid,
const std::vector < double > & tvec,
31689 const std::vector < double > & valvec,
const int & newtype );
31701extern void PCurveConvertTo(
const std::string & geom_id,
const int & pcurveid,
const int & newtype );
31726extern std::vector < double >
PCurveGetTVec(
const std::string & geom_id,
const int & pcurveid );
31738extern std::vector < double >
PCurveGetValVec(
const std::string & geom_id,
const int & pcurveid );
31750extern void PCurveDeletePt(
const std::string & geom_id,
const int & pcurveid,
const int & indx );
31763extern int PCurveSplit(
const std::string & geom_id,
const int & pcurveid,
const double & tsplit );
32590extern void DeleteVSPAEROControlSurfaceGroup(
int CSGroupIndex );
32592extern int CreateVSPAEROControlSurfaceGroup();
33903extern void AddExcrescence(
const std::string & excresName,
const int & excresType,
const double & excresVal);
34076extern void DeleteExcrescence(
const int & index);
34289extern void CalcAtmosphere(
const double & alt,
const double & delta_temp,
const int & atmos_type,
34291 double & temp,
double & pres,
double & pres_ratio,
double & rho_ratio );
34549extern vec3d CompPnt01(
const std::string &geom_id,
const int &surf_indx,
const double &u,
const double &w);
34602extern vec3d CompNorm01(
const std::string &geom_id,
const int &surf_indx,
const double &u,
const double &w);
34655extern vec3d CompTanU01(
const std::string &geom_id,
const int &surf_indx,
const double &u,
const double &w);
34708extern vec3d CompTanW01(
const std::string &geom_id,
const int &surf_indx,
const double &u,
const double &w);
34789extern void CompCurvature01(
const std::string &geom_id,
const int &surf_indx,
const double &u,
const double &w,
34790 double &k1_out,
double &k2_out,
double &ka_out,
double &kg_out);
34868extern double ProjPnt01(
const std::string &geom_id,
const int &surf_indx,
const vec3d &pt,
double &u_out,
double &w_out);
34953extern double ProjPnt01I(
const std::string &geom_id,
const vec3d &pt,
int &surf_indx_out,
double &u_out,
double &w_out);
35038extern double ProjPnt01Guess(
const std::string &geom_id,
const int &surf_indx,
const vec3d &pt,
const double &u0,
const double &w0,
double &u_out,
double &w_out);
35118extern double AxisProjPnt01(
const std::string &geom_id,
const int &surf_indx,
const int &iaxis,
const vec3d &pt,
double &u_out,
double &w_out);
35199extern double AxisProjPnt01I(
const std::string &geom_id,
const int &iaxis,
const vec3d &pt,
int &surf_indx_out,
double &u_out,
double &w_out);
35315extern double AxisProjPnt01Guess(
const std::string &geom_id,
const int &surf_indx,
const int &iaxis,
const vec3d &pt,
const double &u0,
const double &w0,
double &u_out,
double &w_out);
35477extern vec3d CompPntRST(
const std::string &geom_id,
const int &surf_indx,
const double &r,
const double &s,
const double &t );
35546extern double FindRST(
const std::string &geom_id,
const int &surf_indx,
const vec3d &pt,
double &r_out,
double &s_out,
double &t_out );
35627extern double FindRSTGuess(
const std::string &geom_id,
const int &surf_indx,
const vec3d &pt,
const double &r0,
const double &s0,
const double &t0,
double &r_out,
double &s_out,
double &t_out );
35692extern void ConvertRSTtoLMN(
const std::string &geom_id,
const int &surf_indx,
const double &r,
const double &s,
const double &t,
double &l_out,
double &m_out,
double &n_out );
35748extern void ConvertRtoL(
const std::string &geom_id,
const int &surf_indx,
const double &r,
double &l_out );
35838extern void ConvertLMNtoRST(
const std::string &geom_id,
const int &surf_indx,
const double &l,
const double &m,
const double &n,
double &r_out,
double &s_out,
double &t_out );
35915extern void ConvertLtoR(
const std::string &geom_id,
const int &surf_indx,
const double &l,
double &r_out );
35974extern void ConvertUtoEta(
const std::string &geom_id,
const double &u,
double &eta_out );
36028extern void ConvertEtatoU(
const std::string &geom_id,
const double &eta,
double &u_out );
36109extern std::vector < vec3d >
CompVecPnt01(
const std::string &geom_id,
const int &surf_indx,
const std::vector < double > &u_in_vec,
const std::vector < double > &w_in_vec);
36196extern std::vector < vec3d >
CompVecDegenPnt01(
const std::string &geom_id,
const int &surf_indx,
const int °en_type,
const std::vector < double > &u_in_vec,
const std::vector < double > &w_in_vec);
36264extern std::vector < vec3d >
CompVecNorm01(
const std::string &geom_id,
const int &surf_indx,
const std::vector < double > &us,
const std::vector < double > &ws);
36377extern void CompVecCurvature01(
const std::string &geom_id,
const int &surf_indx,
const std::vector < double > &us,
const std::vector < double > &ws, std::vector < double > &k1_out_vec, std::vector < double > &k2_out_vec, std::vector < double > &ka_out_vec, std::vector < double > &kg_out_vec);
36466extern void ProjVecPnt01(
const std::string &geom_id,
const int &surf_indx,
const std::vector < vec3d > &pts, std::vector < double > &u_out_vec, std::vector < double > &w_out_vec, std::vector < double > &d_out_vec );
36606extern void ProjVecPnt01Guess(
const std::string &geom_id,
const int &surf_indx,
const std::vector < vec3d > &pts,
const std::vector < double > &u0s,
const std::vector < double > &w0s, std::vector < double > &u_out_vec, std::vector < double > &w_out_vec, std::vector < double > &d_out_vec );
36750extern void AxisProjVecPnt01(
const std::string &geom_id,
const int &surf_indx,
const int &iaxis,
const std::vector < vec3d > &pts, std::vector < double > &u_out_vec, std::vector < double > &w_out_vec, std::vector < double > &d_out_vec );
36904extern void AxisProjVecPnt01Guess(
const std::string &geom_id,
const int &surf_indx,
const int &iaxis,
const std::vector < vec3d > &pts,
const std::vector < double > &u0s,
const std::vector < double > &w0s, std::vector < double > &u_out_vec, std::vector < double > &w_out_vec, std::vector < double > &d_out_vec );
36993extern std::vector < bool >
VecInsideSurf(
const std::string &geom_id,
const int &surf_indx,
const std::vector < vec3d > &pts );
37090extern std::vector < vec3d >
CompVecPntRST(
const std::string &geom_id,
const int &surf_indx,
const std::vector < double > &r_in_vec,
const std::vector < double > &s_in_vec,
const std::vector < double > &t_in_vec );
37182extern void FindRSTVec(
const std::string &geom_id,
const int &surf_indx,
const std::vector < vec3d > &pts, std::vector < double > &r_out_vec, std::vector < double > &s_out_vec, std::vector < double > &t_out_vec, std::vector < double > &d_out_vec );
37293extern void FindRSTVecGuess(
const std::string &geom_id,
const int &surf_indx,
const std::vector < vec3d > &pts,
const std::vector < double > &r0s,
const std::vector < double > &s0s,
const std::vector < double > &t0s, std::vector < double > &r_out_vec, std::vector < double > &s_out_vec, std::vector < double > &t_out_vec, std::vector < double > &d_out_vec );
37376extern void ConvertRSTtoLMNVec(
const std::string &geom_id,
const int &surf_indx,
const std::vector < double > &r_vec,
const std::vector < double > &s_vec,
const std::vector < double > &t_vec,
37377 std::vector < double > &l_out_vec, std::vector < double > &m_out_vec, std::vector < double > &n_out_vec );
37496extern void ConvertLMNtoRSTVec(
const std::string &geom_id,
const int &surf_indx,
const std::vector < double > &l_vec,
const std::vector < double > &m_vec,
const std::vector < double > &n_vec,
37497 std::vector < double > &r_out_vec, std::vector < double > &s_out_vec, std::vector < double > &t_out_vec );
37580extern void GetUWTess01(
const std::string &geom_id,
const int &surf_indx, std::vector < double > &u_out_vec, std::vector < double > &w_out_vec);
37830extern std::string AddProtractor(
const std::string & startgeomid,
int startsurfindx,
double startu,
double startw,
37831 const std::string & midgeomid,
int midsurfindx,
double midu,
double midw,
37832 const std::string & endgeomid,
int endsurfindx,
double endu,
double endw,
const std::string & name );
38037extern std::string
AddRSTProbe(
const std::string & geomid,
int surfindx,
double r,
double s,
double t,
const std::string & name );
38185extern std::string AddRuler(
const std::string & startgeomid,
int startsurfindx,
double startu,
double startw,
38186 const std::string & endgeomid,
int endsurfindx,
double endu,
double endw,
const std::string & name );
38405extern std::string
AddProbe(
const std::string & geomid,
int surfindx,
double u,
double w,
const std::string & name );
39124extern std::string CreatePtCloudGeom(
const std::string & geom_id );
39348extern void ProjectPtCloudPts(
const std::string & geom_id,
const std::string & target_geom_id,
int surf_index,
int dir_index );
39486extern std::string AddParmLink(
const std::string & parm_a_id,
const std::string & parm_b_id );
40172extern bool LinkAllComp(
const std::string & parm_a_id,
const std::string & parm_b_id );
40237extern bool LinkAllGroup(
const std::string & parm_a_id,
const std::string & parm_b_id );
41112extern void DelAdvLink(
int index );
41365extern void AddAdvLinkInput(
int index,
const std::string & parm_id,
const std::string & var_name );
41445extern void AddAdvLinkOutput(
int index,
const std::string & parm_id,
const std::string & var_name );
41690extern void DelAdvLinkInput(
int index,
const std::string & var_name );
bool CheckForVSPAERO(const std::string &path)
bool CheckForVSPHelp(const std::string &path)
int GetVSPVersionChange()
std::string GetVSPVersion()
bool SetVSPHelpPath(const std::string &path)
std::string GetVSPHelpPath()
bool SetVSPAEROPath(const std::string &path)
std::string GetVSPExePath()
std::string GetVSPAEROPath()
void DelAllAdvLinkOutputs(int index)
void ReorderAdvLinkInput(int index, const std::string &var_name, int reorder_type)
void SortAdvLinkInputsCGP(int index)
void SortAdvLinkOutputsVar(int index)
void SearchReplaceAdvLinkCode(int index, const std::string &from, const std::string &to)
int GetLinkIndex(const std::string &name)
void SetAdvLinkName(int index, const std::string &name)
void ReadAdvLinkCodeFile(int index, const std::string &file_name)
void DelAllAdvLinkInputs(int index)
void DelAdvLinkOutput(int index, const std::string &var_name)
void WriteAdvLinkCodeFile(int index, const std::string &file_name)
std::vector< std::string > GetAdvLinkNames()
void ReorderAdvLinkOutput(int index, const std::string &var_name, int reorder_type)
std::string GetAdvLinkCode(int index)
void AddAdvLinkOutput(int index, const std::string &parm_id, const std::string &var_name)
std::string GetAdvLinkName(int index)
void AddAdvLink(const std::string &name)
void SortAdvLinkOutputsCGP(int index)
void SortAdvLinkInputsVar(int index)
void SetAdvLinkCode(int index, const std::string &code)
void AddAdvLinkInput(int index, const std::string &parm_id, const std::string &var_name)
std::vector< std::string > GetAdvLinkInputParms(int index)
bool ValidateAdvLinkParms(int index)
std::vector< std::string > GetAdvLinkOutputParms(int index)
std::vector< std::string > GetAdvLinkInputNames(int index)
std::vector< std::string > GetAdvLinkOutputNames(int index)
bool BuildAdvLinkScript(int index)
std::vector< std::string > GetAnalysisInputNames(const std::string &analysis)
const std::vector< int > & GetIntAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
std::string GetActiveGeometryAnalysis()
void DeleteAllGeometryAnalysisAzEl(const std::string &geom_analysis_id)
void SetIntAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< int > &indata, int index=0)
void DeleteAllGeometryAnalyses()
void PrintAnalysisDocs(const std::string &analysis_name)
void SetActiveGeometryAnalysis(const std::string &id)
std::string GetGeometryAnalysisElevationParm(const std::string &geom_analysis_id, int index)
std::string ExecAnalysis(const std::string &analysis)
std::string MakeMeshGeom(const std::string &ga_id)
std::vector< std::string > ListAnalysis()
void DeleteGeometryAnalysisAzEl(const std::string &geom_analysis_id, int index)
void AddGeometryAnalysisAzEl(const std::string &geom_analysis_id, double azimuth, double elevation)
void SetVec3dAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< vec3d > &indata, int index=0)
std::string GetGeometryAnalysisAzimuthParm(const std::string &geom_analysis_id, int index)
void SetStringAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< std::string > &indata, int index=0)
std::vector< std::string > GetAllGeometryAnalysesIDVec()
void PrintAnalysisInputs(const std::string &analysis_name)
int GetAnalysisInputType(const std::string &analysis, const std::string &name)
std::string AddGeometryAnalysis()
void SetAnalysisInputDefaults(const std::string &analysis)
const std::vector< double > & GetDoubleAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
int GetNumGeometryAnalysisAzEl(const std::string &geom_analysis_id)
std::string GetAnalysisDoc(const std::string &analysis)
const std::vector< vec3d > & GetVec3dAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
void SetDoubleAnalysisInput(const std::string &analysis, const std::string &name, const std::vector< double > &indata, int index=0)
std::string GetAnalysisInputDoc(const std::string &analysis, const std::string &name)
const std::vector< std::string > & GetStringAnalysisInput(const std::string &analysis, const std::string &name, int index=0)
int GetNumAnalysisInputData(const std::string &analysis, const std::string &name)
std::vector< std::string > FindAttributedObjects()
std::vector< double > GetAttributeParmVal(const std::string &attrID)
std::string GetObjectParent(const std::string &id)
void SetAttributeName(const std::string &attrID, const std::string &name)
std::string AddAttributeGroup(const std::string &collID, const std::string &attributeName)
void SetAttributeString(const std::string &attrID, const std::string &value)
std::string AddAttributeBool(const std::string &collID, const std::string &attributeName, bool value)
void SetAttributeVec3d(const std::string &attrID, const std::vector< vec3d > &value)
std::string FindAttributeInCollection(const std::string &obj_id, const std::string &search_str, int index)
std::string GetAttributeTypeName(const std::string &attrID)
std::string SummarizeAttributesAsTree()
std::vector< int > GetAttributeBoolVal(const std::string &attrID)
std::string AddAttributeInt(const std::string &collID, const std::string &attributeName, int value)
std::vector< vec3d > GetAttributeVec3dVal(const std::string &attrID)
std::vector< std::string > GetAttributeParmName(const std::string &attrID)
int GetObjectType(const std::string &attachID)
int CopyAttribute(const std::string &attrID)
std::vector< std::string > FindAttributesInCollection(const std::string &collID)
void SetAttributeParmID(const std::string &attrID, const std::string &value)
std::string GetAttributeDoc(const std::string &attrID)
std::string AddAttributeParm(const std::string &collID, const std::string &attributeName, const std::string &parmID)
std::string AddAttributeIntMatrix(const std::string &collID, const std::string &attributeName, const std::vector< std::vector< int > > &value)
std::string GetObjectName(const std::string &attachID)
std::vector< std::string > PasteAttribute(const std::string &coll_id)
std::string AddAttributeString(const std::string &collID, const std::string &attributeName, const std::string &value)
std::vector< std::vector< int > > GetAttributeIntMatrixVal(const std::string &attrID)
std::string GetChildCollection(const std::string &attachID)
std::vector< std::string > FindAllAttributes()
std::vector< std::string > GetAttributeStringVal(const std::string &attrID)
std::string AddAttributeDoubleMatrix(const std::string &collID, const std::string &attributeName, const std::vector< std::vector< double > > &value)
void SetAttributeInt(const std::string &attrID, int value)
std::string GetAttributeName(const std::string &attrID)
void DeleteAttribute(const std::string &attrID)
std::string GetGeomSetCollection(const int &index)
std::vector< std::string > GetAttributeParmID(const std::string &attrID)
std::string FindAttributeByName(const std::string &search_str, int index)
void CutAttribute(const std::string &attrID)
int GetAttributeType(const std::string &attrID)
void SetAttributeBool(const std::string &attrID, bool value)
void SetAttributeDouble(const std::string &attrID, double value)
std::string AddAttributeVec3d(const std::string &collID, const std::string &attributeName, const std::vector< vec3d > &value)
std::string GetObjectTypeName(const std::string &attachID)
std::vector< double > GetAttributeDoubleVal(const std::string &attrID)
std::string GetAttributeID(const std::string &collID, const std::string &attributeName, int index)
std::string SummarizeAttributes()
void SetAttributeDoc(const std::string &attrID, const std::string &doc)
std::vector< int > GetAttributeIntVal(const std::string &attrID)
std::string AddAttributeDouble(const std::string &collID, const std::string &attributeName, double value)
std::vector< std::string > FindAttributeNamesInCollection(const std::string &collID)
std::vector< std::string > FindAttributesByName(const std::string &search_str)
std::vector< std::vector< double > > GetAttributeDoubleMatrixVal(const std::string &attrID)
void SetAttributeIntMatrix(const std::string &attrID, const std::vector< std::vector< int > > &value)
void SetAttributeDoubleMatrix(const std::string &attrID, const std::vector< std::vector< double > > &value)
void ReadAuxiliaryGeomCCEFile(const std::string &geom_id, const std::string &file_name)
std::string GetAuxiliaryGeomContactPtID(const std::string &geom_id, int index)
void SetAuxiliaryGeomContactPtID(const std::string &geom_id, int index, const std::string &bogie_id)
void SetBORAirfoilUpperPnts(const std::string &bor_id, const std::vector< vec3d > &up_pnt_vec)
void ReadBORFileAirfoil(const std::string &bor_id, const std::string &file_name)
void FitBORAfCST(const std::string &bor_id, int deg)
std::vector< double > GetBORLowerCSTCoefs(const std::string &bor_id)
void ChangeBORXSecShape(const std::string &bor_id, int type)
vec3d ComputeBORXSecPnt(const std::string &bor_id, double fract)
std::vector< vec3d > GetBORXSecPnts(const std::string &bor_id)
std::vector< vec3d > GetBORAirfoilLowerPnts(const std::string &bor_id)
void PromoteBORCSTUpper(const std::string &bor_id)
void SetBORUpperCST(const std::string &bor_id, int deg, const std::vector< double > &coefs)
void SetBORLowerCST(const std::string &bor_id, int deg, const std::vector< double > &coefs)
vec3d ComputeBORXSecTan(const std::string &bor_id, double fract)
int GetBORUpperCSTDegree(const std::string &bor_id)
void DemoteBORCSTLower(const std::string &bor_id)
void PromoteBORCSTLower(const std::string &bor_id)
std::vector< double > GetBORUpperCSTCoefs(const std::string &bor_id)
int GetBORXSecShape(const std::string &bor_id)
std::vector< vec3d > ReadBORFileXSec(const std::string &bor_id, const std::string &file_name)
std::vector< vec3d > GetBORAirfoilUpperPnts(const std::string &bor_id)
void DemoteBORCSTUpper(const std::string &bor_id)
int GetBORLowerCSTDegree(const std::string &bor_id)
void SetBORAirfoilPnts(const std::string &bor_id, const std::vector< vec3d > &up_pnt_vec, const std::vector< vec3d > &low_pnt_vec)
void SetBORAirfoilLowerPnts(const std::string &bor_id, const std::vector< vec3d > &low_pnt_vec)
std::string AddBackground3D()
void ShowAllBackground3Ds()
std::string GetBackground3DAbsolutePath(const std::string &id)
int GetNumBackground3Ds()
void SetBackground3DRelativePath(const std::string &id, const std::string &fname)
std::vector< std::string > GetAllBackground3DRelativePaths()
void DelBackground3D(const std::string &id)
void SetBackground3DAbsolutePath(const std::string &id, const std::string &fname)
std::vector< std::string > GetAllBackground3DAbsolutePaths()
void DelAllBackground3Ds()
std::vector< std::string > GetAllBackground3Ds()
void HideAllBackground3Ds()
std::string GetBackground3DRelativePath(const std::string &id)
std::string GetComputationFileName(int file_type)
void AddCFDSource(int type, const std::string &geom_id, int surf_index, double l1, double r1, double u1, double w1, double l2=0, double r2=0, double u2=0, double w2=0)
void SetCFDSourceName(const std::string &geom_id, int source_index, const std::string &name)
double GetCFDMeshVal(int type)
void AdjustAllCFDSourceRad(double mult)
bool GetCFDWakeFlag(const std::string &geom_id)
std::string GetCFDSourceID(const std::string &geom_id, int source_index)
void ComputeCFDMesh(int set, int degenset, int file_export_types)
void AdjustAllCFDSourceLen(double mult)
std::string GetCFDSourceName(const std::string &geom_id, int source_index)
void DeleteCFDSource(const std::string &geom_id, int source_index)
int GetNumCFDSources(const std::string &geom_id)
void SetVSPAEROControlGroupName(const std::string &name, int CSGroupIndex)
std::vector< std::string > GetActiveCSNameVec(int CSGroupIndex)
void AddSelectedToCSGroup(const std::vector< int > &selected, int CSGroupIndex)
std::string AddCpSlice(int cut_type, double location)
void AddAllToVSPAEROControlSurfaceGroup(int CSGroupIndex)
void DelCpSlice(int slice_index)
std::vector< std::string > GetAvailableCSNameVec(int CSGroupIndex)
int GetNumControlSurfaceGroups()
std::string GetVSPAEROControlGroupName(int CSGroupIndex)
void RemoveSelectedFromCSGroup(const std::vector< int > &selected, int CSGroupIndex)
std::vector< std::string > GetCompleteCSNameVec()
void RemoveAllFromVSPAEROControlSurfaceGroup(int CSGroupIndex)
std::string GetCpSliceID(int slice_index)
void AutoGroupVSPAEROControlSurfaces()
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)
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)
std::string GetFeaPartID(const std::string &fea_struct_id, int fea_part_index)
void DeleteFeaLayer(const std::string &material_id, const std::string &layer_id)
void AddFeaStructureToAssembly(const std::string &assembly_id, const std::string &struct_id)
void SetFeaAssemblyName(const std::string &assembly_id, const std::string &name)
std::string GetFeaAssemblyName(const std::string &assembly_id)
std::string GetFeaPolySparPtName(const std::string &pspar_id, int index)
std::string GetFeaStructName(const std::string &geom_id, int fea_struct_ind)
std::vector< std::string > GetFeaSubSurfIDVec(const std::string &fea_struct_id)
void DeleteFeaPart(const std::string &geom_id, int fea_struct_ind, const std::string &part_id)
int GetFeaPolySparNumPt(const std::string &pspar_id)
std::vector< std::string > GetFeaStructIDVec()
int GetFeaMeshStructIndex()
void DeleteFeaSubSurf(const std::string &geom_id, int fea_struct_ind, const std::string &ss_id)
void DeleteFeaAssembly(const std::string &assembly_id)
int GetFeaPartType(const std::string &part_id)
int NumFeaParts(const std::string &fea_struct_id)
int NumFeaSubSurfs(const std::string &fea_struct_id)
void DeleteFeaTrimPart(const std::string &trim_id, int index)
std::string InsertFeaPolySparPt(const std::string &pspar_id, int index)
std::string GetFeaMeshFileName(const std::string &geom_id, int fea_struct_ind, int file_type)
std::vector< std::string > GetAllFeaPolySparPtIDVec(const std::string &pspar_id)
void DelFeaPolySparPt(const std::string &pspar_id, int index)
int NumFeaLayers(const std::string &material_id)
int NumFeaAssemblyConnections(const std::string &assembly_id)
void DeleteFeaStruct(const std::string &geom_id, int fea_struct_ind)
std::vector< std::string > GetFeaTrimPartIDVec(const std::string &trim_id)
void DelFeaBC(const std::string &fea_struct_id, const std::string &bc_id)
void ReorderFeaLayer(const std::string &material_id, const std::string &layer_id, int reorder_type)
int GetFeaStructIndex(const std::string &struct_id)
void SetFeaSubSurfName(const std::string &subsurf_id, const std::string &name)
std::vector< std::string > GetFeaPartIDVec(const std::string &fea_struct_id)
void DeleteFeaProperty(const std::string &id)
int NumFeaBCs(const std::string &fea_struct_id)
std::string GetFeaStructParentGeomID(const std::string &struct_id)
void SetFeaPartName(const std::string &part_id, const std::string &name)
void IndividualizeFeaPart(const std::string &geom_id, int fea_struct_ind, const std::string &part_id)
void SetFeaStructName(const std::string &geom_id, int fea_struct_ind, const std::string &name)
void ComputeFeaMesh(const std::string &geom_id, int fea_struct_ind, int file_type)
int GetFeaSubSurfIndex(const std::string &ss_id)
std::vector< std::string > GetFeaAssemblyStructureIDVec(const std::string &assembly_id)
std::string GetFeaPartName(const std::string &part_id)
std::string GetFeaPartPerpendicularSparID(const std::string &part_id)
void SetFeaPolySparPtName(const std::string &pspar_id, int index, const std::string &name)
void SetFeaAssemblyFileName(const std::string &assembly_id, int file_type, const std::string &file_name)
std::string AddFeaPolySparPt(const std::string &pspar_id)
std::string AddFeaSubSurf(const std::string &geom_id, int fea_struct_ind, int type)
int MoveFeaPolySparPt(const std::string &pspar_id, int index, int reorder_type)
std::string GetFeaPolySparPtID(const std::string &pspar_id, int index)
void ReorderFeaPart(const std::string &geom_id, int fea_struct_ind, const std::string &part_id, int reorder_type)
double GetFeaMeshVal(const std::string &geom_id, int fea_struct_ind, int type)
std::vector< std::string > GetFeaLayerIDVec(const std::string &material_id)
void DelAllFeaPolySparPt(const std::string &pspar_id)
void DeleteFeaAssemblyConnection(const std::string &assembly_id, int connection_index)
void SetFeaPartPerpendicularSparID(const std::string &part_id, const std::string &perpendicular_spar_id)
std::string GetFeaAssemblyFileName(const std::string &assembly_id, int file_type)
std::vector< std::string > GetFeaPropertyIDVec()
std::string AddFeaPart(const std::string &geom_id, int fea_struct_ind, int type)
std::vector< std::string > GetFeaAssemblyIDVec()
std::string AddFeaLayer(const std::string &material_id)
std::string GetFeaSubSurfName(const std::string &subsurf_id)
void DeleteFeaMaterial(const std::string &id)
void AddFeaTrimPart(const std::string &trim_id, const std::string &part_id)
int AddFeaStruct(const std::string &geom_id, bool init_skin=true, int surfindex=0)
void AddFeaAssemblyConnection(const std::string &assembly_id, const std::string &start_fix_pt_id, const std::string &start_struct_id, int start_index, const std::string &end_fix_pt_id, const std::string &end_struct_id, int end_index)
std::string GetFeaStructID(const std::string &geom_id, int fea_struct_ind)
void DeleteFeaStructureFromAssembly(const std::string &assembly_id, const std::string &struct_id)
std::string AddFeaBC(const std::string &fea_struct_id, int type=-1)
std::vector< std::string > GetFeaBCIDVec(const std::string &fea_struct_id)
std::string ExportFile(const std::string &file_name, int thick_set, int file_type, int subsFlag=1, int thin_set=vsp::SET_NONE, bool useMode=false, const std::string &modeID="")
std::string GetBEMPropID()
void ReadVSPFile(const std::string &file_name)
void SetVSP3FileName(const std::string &file_name)
std::string ImportFile(const std::string &file_name, int file_type, const std::string &parent)
void WriteVSPFile(const std::string &file_name, int set=SET_ALL)
void InsertVSPFile(const std::string &file_name, const std::string &parent_geom_id)
std::string CreateAndAddBogie(const std::string &gear_id)
int GetNumBogies(const std::string &gear_id)
void DelAllBogies(const std::string &gear_id)
void DelBogie(const std::string &gear_id, const std::string &bogie_id)
std::vector< std::string > GetAllBogies(const std::string &gear_id)
std::vector< vec3d > GetPtCloudPnts(const std::string &geom_id)
void DeleteGeom(const std::string &geom_id)
std::string GetGeomName(const std::string &geom_id)
std::vector< std::string > GetGeomTypes()
std::string CreateNGonMeshGeom(const std::string &geom_id)
vec3d GetGeomBBoxMax(const std::string &geom_id, int main_surf_ind=0, bool ref_frame_is_absolute=true)
void RemoveGeomTexture(const std::string &geom_id, const std::string &texture_id)
std::vector< std::string > GetGeomParmIDs(const std::string &geom_id)
void AcceptGeomScale(const std::string &geom_id)
int GetGeomVSPSurfType(const std::string &geom_id, int main_surf_ind=0)
std::string AttachGeomTexture(const std::string &geom_id, const std::string &file_name)
std::vector< std::string > FindGeomsWithName(const std::string &name)
std::string FindGeom(const std::string &name, int index)
int GetTotalNumSurfs(const std::string &geom_id)
void UpdateGeom(const std::string &geom_id)
std::string CreateConvexHull(const std::string &geom_id)
std::string GetGeomParent(const std::string &geom_id)
void SplitWingXSec(const std::string &wing_id, int section_index)
std::vector< std::string > GetGeomTextureIDVec(const std::string &geom_id)
int GetNumMainSurfs(const std::string &geom_id)
std::vector< std::string > PasteGeomClipboard(const std::string &parent=std::string())
void SetGeomParent(const std::string &geom_id, const std::string &parent_id)
void CutGeomToClipboard(const std::string &geom_id)
std::vector< int > GetDriverGroup(const std::string &geom_id, int section_index)
void ResetPropellerThickness(const std::string &geom_id)
std::vector< std::string > FindGeoms()
void SetGeomName(const std::string &geom_id, const std::string &name)
std::vector< std::string > GetGeomChildren(const std::string &geom_id)
void PasteAirfoil(const std::string &geom_id, int index)
void CopyAirfoil(const std::string &geom_id, int index)
std::string GetGeomTextureFileName(const std::string &geom_id, const std::string &texture_id)
void ClearSkinning(const std::string &geom_id, int index=-1)
void ReorderGeom(const std::string &geom_id, int reorder_type)
std::string AddGeom(const std::string &type, const std::string &parent=std::string())
std::string GetGeomTypeName(const std::string &geom_id)
void ProjectPtCloudPts(const std::string &geom_id, const std::string &target_geom_id, int surf_index, int dir_index)
void ResetGeomScale(const std::string &geom_id)
vec3d GetGeomBBoxMin(const std::string &geom_id, int main_surf_ind=0, bool ref_frame_is_absolute=true)
void CopyGeomToClipboard(const std::string &geom_id)
int GetGeomVSPSurfCfdType(const std::string &geom_id, int main_surf_ind=0)
void DeleteGeomVec(const std::vector< std::string > &del_vec)
void TranslateSet(int set_index, const vec3d &translation_vec)
void TransformSet(int set_index, const vec3d &translation_vec, double x_rot_deg, double y_rot_deg, double z_rot_deg, double scale, bool scale_translations_flag)
void ScaleSet(int set_index, double scale)
void RotateSet(int set_index, double x_rot_deg, double y_rot_deg, double z_rot_deg)
void DelProbe(const std::string &id)
std::vector< std::string > GetAllRSTProbes()
void DeleteAllProtractors()
std::string AddRSTProbe(const std::string &geomid, int surfindx, double r, double s, double t, const std::string &name)
void ShowAllProtractors()
void DelRuler(const std::string &id)
void HideAllProtractors()
std::string AddProbe(const std::string &geomid, int surfindx, double u, double w, const std::string &name)
void DelRSTProbe(const std::string &id)
void DeleteAllRSTProbes()
std::vector< std::string > GetAllProbes()
std::vector< std::string > GetAllProtractors()
std::vector< std::string > GetAllRulers()
void DelProtractor(const std::string &id)
std::vector< std::string > ModeGetAllSettings(const std::string &mid)
void DelMode(const std::string &mid)
std::vector< std::string > GetAllModes()
std::string ModeGetSetting(const std::string &mid, int indx)
void RemoveGroupSetting(const std::string &mid, int indx)
std::string ModeGetGroup(const std::string &mid, int indx)
std::vector< std::string > ModeGetAllGroups(const std::string &mid)
void ModeAddGroupSetting(const std::string &mid, const std::string &gid, const std::string &sid)
void RemoveAllGroupSettings(const std::string &mid)
void ShowOnlyMode(const std::string &mid)
void SetModeName(const std::string &mid, const std::string &name)
std::string GetModeName(const std::string &mid)
std::string CreateAndAddMode(const std::string &name, int normal_set, int degen_set)
void SetPCurve(const std::string &geom_id, const int &pcurveid, const std::vector< double > &tvec, const std::vector< double > &valvec, const int &newtype)
std::vector< double > PCurveGetValVec(const std::string &geom_id, const int &pcurveid)
std::vector< double > PCurveGetTVec(const std::string &geom_id, const int &pcurveid)
void ApproximateAllPropellerPCurves(const std::string &geom_id)
void PCurveDeletePt(const std::string &geom_id, const int &pcurveid, const int &indx)
void ResetPropellerThicknessCurve(const std::string &geom_id)
int PCurveSplit(const std::string &geom_id, const int &pcurveid, const double &tsplit)
int PCurveGetType(const std::string &geom_id, const int &pcurveid)
void PCurveConvertTo(const std::string &geom_id, const int &pcurveid, const int &newtype)
void WriteBodyFFCSVFile(const std::string &file_name)
void AddExcrescence(const std::string &excresName, const int &excresType, const double &excresVal)
void UpdateParasiteDrag()
void WriteCfEqnCSVFile(const std::string &file_name)
void WritePartialCfMethodCSVFile(const std::string &file_name)
void WriteAtmosphereCSVFile(const std::string &file_name, const int &atmos_type)
std::string ExportParasiteDragToCSV(const std::string &file_name)
void DeleteAllExcrescences()
void WriteWingFFCSVFile(const std::string &file_name)
void CalcAtmosphere(const double &alt, const double &delta_temp, const int &atmos_type, double &temp, double &pres, double &pres_ratio, double &rho_ratio)
std::string GetVehicleID()
std::string GetUserParmContainer()
std::vector< std::string > FindContainerGroupNames(const std::string &parm_container_id)
std::vector< std::string > GetAllUserParms()
void DeleteUserParm(const std::string &id)
void SetContainerName(const std::string &parm_container_id, const std::string &name)
std::string FindContainer(const std::string &name, int index)
std::vector< std::string > FindContainerParmIDs(const std::string &parm_container_id)
int GetNumPredefinedUserParms()
std::vector< std::string > FindContainers()
std::vector< std::string > FindContainersWithName(const std::string &name)
std::string AddUserParm(int type, const std::string &name, const std::string &group)
std::string FindParm(const std::string &parm_container_id, const std::string &parm_name, const std::string &group_name)
void SetParmUpperLimit(const std::string &parm_id, double val)
double GetParmLowerLimit(const std::string &parm_id)
std::string GetParmName(const std::string &parm_id)
int GetParmType(const std::string &parm_id)
bool ValidParm(const std::string &id)
std::string GetParmDescript(const std::string &parm_id)
int GetIntParmVal(const std::string &parm_id)
double SetParmVal(const std::string &parm_id, double val)
double SetParmValUpdate(const std::string &parm_id, double val)
double GetParmVal(const std::string &parm_id)
std::string GetParm(const std::string &geom_id, const std::string &name, const std::string &group)
void SetParmDescript(const std::string &parm_id, const std::string &desc)
double GetParmUpperLimit(const std::string &parm_id)
void SetParmLowerLimit(const std::string &parm_id, double val)
double SetParmValLimits(const std::string &parm_id, double val, double lower_limit, double upper_limit)
std::string GetParmDisplayGroupName(const std::string &parm_id)
bool GetBoolParmVal(const std::string &parm_id)
std::string GetParmGroupName(const std::string &parm_id)
std::string GetParmContainer(const std::string &parm_id)
std::string GetParmLinkID(int index)
void SetParmLinkOffsetFlag(const std::string &link_id, bool flag)
std::string GetParmLinkAParm(const std::string &link_id)
bool GetParmLinkScaleFlag(const std::string &link_id)
std::string GetParmLinkBParm(const std::string &link_id)
bool LinkAllComp(const std::string &parm_a_id, const std::string &parm_b_id)
bool GetParmLinkUpperLimitFlag(const std::string &link_id)
bool GetParmLinkLowerLimitFlag(const std::string &link_id)
void SetParmLinkScaleFlag(const std::string &link_id, bool flag)
void SetParmLinkLowerLimitFlag(const std::string &link_id, bool flag)
void DelParmLink(const std::string &link_id)
bool GetParmLinkOffsetFlag(const std::string &link_id)
void SetParmLinkAParm(const std::string &link_id, const std::string &parm_id)
bool LinkAllGroup(const std::string &parm_a_id, const std::string &parm_b_id)
void SetParmLinkBParm(const std::string &link_id, const std::string &parm_id)
void SetParmLinkUpperLimitFlag(const std::string &link_id, bool flag)
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 PrintResultsDocs(const std::string &results_id)
std::string CreateGeomResults(const std::string &geom_id, const std::string &name)
const std::vector< std::string > & GetStringResults(const std::string &id, const std::string &name, int index=0)
std::vector< std::string > GetAllRoutingPtIds(const std::string &routing_id)
std::string InsertRoutingPt(const std::string &routing_id, int index, const std::string &geom_id, int surf_index)
std::vector< vec3d > GetRoutingCurve(const std::string &routing_id, int symm_index)
void DelRoutingPt(const std::string &routing_id, int index)
vec3d GetRoutingPtCoord(const std::string &routing_id, int index, int symm_index)
int GetNumRoutingPts(const std::string &routing_id)
std::string GetRoutingPtID(const std::string &routing_id, int index)
void SetRoutingPtParentID(const std::string &pt_id, const std::string &parent_id)
std::vector< vec3d > GetAllRoutingPtCoords(const std::string &routing_id, int symm_index)
vec3d GetMainRoutingPtCoord(const std::string &pt_id)
int MoveRoutingPt(const std::string &routing_id, int index, int reorder_type)
std::string AddRoutingPt(const std::string &routing_id, const std::string &geom_id, int surf_index)
void DelAllRoutingPt(const std::string &routing_id)
std::string GetRoutingPtParentID(const std::string &pt_id)
void ShowOnlySet(int set_index)
void CopyPasteSet(int copyIndex, int pasteIndex)
void SetSetName(int index, const std::string &name)
bool GetSetFlag(const std::string &geom_id, int set_index)
std::vector< std::string > GetGeomSet(const std::string &name)
int GetSetIndex(const std::string &name)
std::vector< std::string > GetGeomSetAtIndex(int index)
bool GetScaleIndependentBBoxSet(int set, double &xmin_out, double &ymin_out, double &zmin_out, double &xlen_out, double &ylen_out, double &zlen_out)
void NoShowSet(int set_index)
bool GetBBoxSet(int set, double &xmin_out, double &ymin_out, double &zmin_out, double &xlen_out, double &ylen_out, double &zlen_out)
void SetSetFlag(const std::string &geom_id, int set_index, bool flag)
void ShowSet(int set_index)
std::string GetSetName(int index)
double SnapParm(const std::string &parm_id, double target_min_dist, bool inc_flag, int set=SET_ALL, bool useMode=false, const std::string &modeID=std::string())
double ComputeMinClearanceDistance(const std::string &geom_id, int set=SET_ALL, bool useMode=false, const std::string &modeID=std::string())
void InitStackPreset(const std::string &geom_id, int preset)
int GetNumSubSurf(const std::string &geom_id)
std::vector< std::string > GetSubSurfIDVec(const std::string &geom_id)
std::string GetSubSurfName(const std::string &geom_id, const std::string &sub_id)
std::vector< std::string > GetAllSubSurfIDs()
std::string AddSubSurf(const std::string &geom_id, int type, int surfindex=0)
std::string GetIntersectSubSurfGeomID(const std::string &sub_id)
void IntersectSubSurf(const std::string &sub_id)
void DeleteSubSurf(const std::string &geom_id, const std::string &sub_id)
int GetSubSurfType(const std::string &sub_id)
void SetSubSurfName(const std::string &geom_id, const std::string &sub_id, const std::string &name)
std::vector< std::string > GetSubSurfParmIDs(const std::string &sub_id)
int GetSubSurfIndex(const std::string &sub_id)
void ReorderSubSurf(const std::string &geom_id, const std::string &sub_id, int reorder_type)
std::string GetSubSurf(const std::string &geom_id, int index)
void CompVecCurvature01(const std::string &geom_id, const int &surf_indx, const std::vector< double > &us, const std::vector< double > &ws, std::vector< double > &k1_out_vec, std::vector< double > &k2_out_vec, std::vector< double > &ka_out_vec, std::vector< double > &kg_out_vec)
vec3d CompTanU01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void AxisProjVecPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const std::vector< vec3d > &pts, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
double ProjPnt01(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &u_out, double &w_out)
vec3d CompPntRST(const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t)
void ConvertLMNtoRST(const std::string &geom_id, const int &surf_indx, const double &l, const double &m, const double &n, double &r_out, double &s_out, double &t_out)
void ProjVecPnt01Guess(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, const std::vector< double > &u0s, const std::vector< double > &w0s, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
void ProjVecPnt01(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
bool InsideSurf(const std::string &geom_id, const int &surf_indx, const vec3d &pt)
vec3d CompPnt01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void FindRSTVec(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, std::vector< double > &r_out_vec, std::vector< double > &s_out_vec, std::vector< double > &t_out_vec, std::vector< double > &d_out_vec)
double ProjPnt01Guess(const std::string &geom_id, const int &surf_indx, const vec3d &pt, const double &u0, const double &w0, double &u_out, double &w_out)
void ConvertLMNtoRSTVec(const std::string &geom_id, const int &surf_indx, const std::vector< double > &l_vec, const std::vector< double > &m_vec, const std::vector< double > &n_vec, std::vector< double > &r_out_vec, std::vector< double > &s_out_vec, std::vector< double > &t_out_vec)
void ConvertRSTtoLMN(const std::string &geom_id, const int &surf_indx, const double &r, const double &s, const double &t, double &l_out, double &m_out, double &n_out)
vec3d CompTanW01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void AxisProjVecPnt01Guess(const std::string &geom_id, const int &surf_indx, const int &iaxis, const std::vector< vec3d > &pts, const std::vector< double > &u0s, const std::vector< double > &w0s, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec, std::vector< double > &d_out_vec)
void ConvertRSTtoLMNVec(const std::string &geom_id, const int &surf_indx, const std::vector< double > &r_vec, const std::vector< double > &s_vec, const std::vector< double > &t_vec, std::vector< double > &l_out_vec, std::vector< double > &m_out_vec, std::vector< double > &n_out_vec)
double ProjPnt01I(const std::string &geom_id, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out)
void FindRSTVecGuess(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts, const std::vector< double > &r0s, const std::vector< double > &s0s, const std::vector< double > &t0s, std::vector< double > &r_out_vec, std::vector< double > &s_out_vec, std::vector< double > &t_out_vec, std::vector< double > &d_out_vec)
void ConvertRtoL(const std::string &geom_id, const int &surf_indx, const double &r, double &l_out)
std::vector< bool > VecInsideSurf(const std::string &geom_id, const int &surf_indx, const std::vector< vec3d > &pts)
std::vector< vec3d > CompVecPntRST(const std::string &geom_id, const int &surf_indx, const std::vector< double > &r_in_vec, const std::vector< double > &s_in_vec, const std::vector< double > &t_in_vec)
double AxisProjPnt01Guess(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, const double &u0, const double &w0, double &u_out, double &w_out)
double AxisProjPnt01I(const std::string &geom_id, const int &iaxis, const vec3d &pt, int &surf_indx_out, double &u_out, double &w_out)
void CompCurvature01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w, double &k1_out, double &k2_out, double &ka_out, double &kg_out)
void ConvertLtoR(const std::string &geom_id, const int &surf_indx, const double &l, double &r_out)
std::vector< vec3d > CompVecDegenPnt01(const std::string &geom_id, const int &surf_indx, const int °en_type, const std::vector< double > &u_in_vec, const std::vector< double > &w_in_vec)
void ConvertUtoEta(const std::string &geom_id, const double &u, double &eta_out)
double FindRST(const std::string &geom_id, const int &surf_indx, const vec3d &pt, double &r_out, double &s_out, double &t_out)
vec3d CompNorm01(const std::string &geom_id, const int &surf_indx, const double &u, const double &w)
void ConvertEtatoU(const std::string &geom_id, const double &eta, double &u_out)
std::vector< vec3d > CompVecNorm01(const std::string &geom_id, const int &surf_indx, const std::vector< double > &us, const std::vector< double > &ws)
std::vector< vec3d > CompVecPnt01(const std::string &geom_id, const int &surf_indx, const std::vector< double > &u_in_vec, const std::vector< double > &w_in_vec)
void GetUWTess01(const std::string &geom_id, const int &surf_indx, std::vector< double > &u_out_vec, std::vector< double > &w_out_vec)
double FindRSTGuess(const std::string &geom_id, const int &surf_indx, const vec3d &pt, const double &r0, const double &s0, const double &t0, double &r_out, double &s_out, double &t_out)
double AxisProjPnt01(const std::string &geom_id, const int &surf_indx, const int &iaxis, const vec3d &pt, double &u_out, double &w_out)
int GetNumUnsteadyGroups()
std::string GetUnsteadyGroupName(int group_index)
int GetNumUnsteadyRotorGroups()
std::vector< int > GetUnsteadyGroupSurfIndexes(int group_index)
std::vector< std::string > GetUnsteadyGroupCompIDs(int group_index)
int GetNumActuatorDisks()
std::string FindActuatorDisk(int disk_index)
std::string FindUnsteadyGroup(int group_index)
std::string SetVSPAERORefWingID(const std::string &geom_id)
std::string GetVSPAERORefWingID()
void SetGroupName(const std::string &group_id, const std::string &group_name)
double GetVarPresetParmVal(const std::string &group_id, const std::string &setting_id, const std::string &parm_id)
std::string AddVarPresetSetting(const std::string &group_id, const std::string &setting_name)
void SetSettingName(const std::string &setting_id, const std::string &setting_name)
std::vector< double > GetVarPresetParmVals(const std::string &setting_id)
std::vector< std::string > GetVarPresetGroups()
void SetVarPresetParmVal(const std::string &group_id, const std::string &setting_id, const std::string &parm_id, double parm_val)
std::string GetSettingName(const std::string &setting_id)
void ApplyVarPresetSetting(const std::string &group_id, const std::string &setting_id)
void DeleteAllVarPresetGroups()
std::vector< std::string > GetVarPresetParmIDs(const std::string &group_id)
std::string AddVarPresetGroup(const std::string &group_name)
void SetVarPresetParmVals(const std::string &setting_id, const std::vector< double > &parm_vals)
void AddVarPresetParm(const std::string &group_id, const std::string &parm_id)
void DeleteVarPresetParm(const std::string &group_id, const std::string &parm_id)
std::string GetGroupName(const std::string &group_id)
void SaveVarPresetParmVals(const std::string &group_id, const std::string &setting_id)
void DeleteAllVarPresetSettings(const std::string &group_id)
std::vector< std::string > GetVarPresetSettings(const std::string &group_id)
void VSPExit(int error_code)
int GetAndResetUpdateCount()
void Update(bool update_managers=true)
std::string GetVSPFileName()
void VSPCrash(int crash_type)
void PopupMsg(const std::string &msg)
int GetGeomDrawType(const std::string &geom_id)
int GetGeomDisplayType(const std::string &geom_id)
void ScreenGrab(const std::string &fname, int w, int h, bool transparentBG, bool autocrop=false)
bool IsEventLoopRunning()
void SetViewAxis(bool vaxis)
std::vector< std::string > GetMaterialNames()
void SetShowBorders(bool brdr)
void SetGUIElementDisable(int e, bool state)
void SetWindowLayout(int r, int c)
void SetAllViews(int view)
void AddMaterial(const std::string &name, const vec3d &ambient, const vec3d &diffuse, const vec3d &specular, const vec3d &emissive, const double &alpha, const double &shininess)
void SetView(int viewport, int view)
void SetGeomScreenDisable(int s, bool state)
std::string GetGeomMaterialName(const std::string &geom_id)
void SetGeomWireColor(const std::string &geom_id, int r, int g, int b)
void SetGeomDrawType(const std::string &geom_id, int type)
vec3d GetGeomWireColor(const std::string &geom_id)
void SetGeomDisplayType(const std::string &geom_id, int type)
void SetBackground(double r, double g, double b)
void DisableStopGUIMenuItem()
void EnableStopGUIMenuItem()
void SetGUIScreenDisable(int s, bool state)
void InsertXSec(const std::string &geom_id, int index, int type)
std::vector< double > GetXSecTanAngles(const std::string &xsec_id, int side)
std::vector< vec3d > GetFeatureLinePnts(const std::string &geom_id)
std::string GetXSecCurveAlias(const std::string &id)
std::vector< vec3d > ReadFileXSec(const std::string &xsec_id, const std::string &file_name)
int GetLowerCSTDegree(const std::string &xsec_id)
void SetXSecWidthHeight(const std::string &xsec_id, double w, double h)
void DemoteCSTUpper(const std::string &xsec_id)
std::vector< vec3d > GetAirfoilLowerPnts(const std::string &xsec_id)
void SetXSecWidth(const std::string &xsec_id, double w)
double GetXSecWidth(const std::string &xsec_id)
std::vector< std::string > GetXSecParmIDs(const std::string &xsec_id)
void CopyXSecCurve(const std::string &geom_id, int index)
std::string GetXSecAlias(const std::string &id)
void SetXSecHeight(const std::string &xsec_id, double h)
void SetLowerCST(const std::string &xsec_id, int deg, const std::vector< double > &coefs)
void PasteXSec(const std::string &geom_id, int index)
std::vector< double > GetUpperCSTCoefs(const std::string &xsec_id)
vec3d ComputeXSecTan(const std::string &xsec_id, double fract)
void SetAirfoilPnts(const std::string &xsec_id, const std::vector< vec3d > &up_pnt_vec, const std::vector< vec3d > &low_pnt_vec)
std::string GetXSecParm(const std::string &xsec_id, const std::string &name)
void SetXSecCurveAlias(const std::string &id, const std::string &alias)
std::vector< double > GetXSecCurvatures(const std::string &xsec_id, int side)
std::vector< vec3d > GetAirfoilCoordinates(const std::string &geom_id, const double &foilsurf_u)
void PromoteCSTUpper(const std::string &xsec_id)
void PromoteCSTLower(const std::string &xsec_id)
std::vector< double > GetVKTAirfoilCpDist(const double &alpha, const double &epsilon, const double &kappa, const double &tau, const std::vector< vec3d > &xyz_data)
void DemoteCSTLower(const std::string &xsec_id)
void FitAfCST(const std::string &xsec_surf_id, int xsec_index, int deg)
void CopyXSec(const std::string &geom_id, int index)
vec3d ComputeXSecPnt(const std::string &xsec_id, double fract)
void PasteXSecCurve(const std::string &geom_id, int index)
std::vector< double > GetLowerCSTCoefs(const std::string &xsec_id)
std::vector< double > GetXSecTanStrengths(const std::string &xsec_id, int side)
void ReadFileAirfoil(const std::string &xsec_id, const std::string &file_name)
std::vector< vec3d > GetXSecPnts(const std::string &xsec_id)
std::vector< vec3d > GetHersheyBarDragDist(const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag=false)
void ResetXSecSkinParms(const std::string &xsec_id)
std::vector< vec3d > GetAirfoilUpperPnts(const std::string &xsec_id)
std::vector< vec3d > GetHersheyBarLiftDist(const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag=false)
std::vector< vec3d > GetVKTAirfoilPnts(const int &npts, const double &alpha, const double &epsilon, const double &kappa, const double &tau)
int GetXSecContinuity(const std::string &xsec_id)
std::vector< vec3d > GetEllipsoidSurfPnts(const vec3d ¢er, const vec3d &abc_rad, int u_npts=20, int w_npts=20)
void CutXSec(const std::string &geom_id, int index)
std::vector< double > GetEllipsoidCpDist(const std::vector< vec3d > &surf_pnt_vec, const vec3d &abc_rad, const vec3d &V_inf)
void SetAirfoilLowerPnts(const std::string &xsec_id, const std::vector< vec3d > &low_pnt_vec)
void SetAirfoilUpperPnts(const std::string &xsec_id, const std::vector< vec3d > &up_pnt_vec)
void FitCSTAirfoil(const std::string &xsec_surf_id, int xsec_index, int deg)
int GetXSecShape(const std::string &xsec_id)
void WriteBezierAirfoil(const std::string &file_name, const std::string &geom_id, const double &foilsurf_u)
int GetUpperCSTDegree(const std::string &xsec_id)
void SetXSecAlias(const std::string &id, const std::string &alias)
double GetXSecHeight(const std::string &xsec_id)
void WriteSeligAirfoil(const std::string &file_name, const std::string &geom_id, const double &foilsurf_u)
std::vector< double > GetXSecTanSlews(const std::string &xsec_id, int side)
void SetUpperCST(const std::string &xsec_id, int deg, const std::vector< double > &coefs)
std::string GetXSecSurf(const std::string &geom_id, int index)
void SetXSecSurfGlobalXForm(const std::string &xsec_surf_id, const Matrix4d &mat)
std::string GetXSec(const std::string &xsec_surf_id, int xsec_index)
int GetNumXSecSurfs(const std::string &geom_id)
Matrix4d GetXSecSurfGlobalXForm(const std::string &xsec_surf_id)
int GetNumXSec(const std::string &xsec_surf_id)
void ChangeXSecShape(const std::string &xsec_surf_id, int xsec_index, int type)