This group of functions provides API control of cross-sections (XSecs). Airfoils are a type of XSec included in this group as well. API functions for Body of Revolution XSecs are included in the Specialized Geometry group. Click here to return to the main page. More...
Functions | |
| void | vsp::SetXSecAlias (const std::string &id, const std::string &alias) |
| std::string | vsp::GetXSecAlias (const std::string &id) |
| void | vsp::SetXSecCurveAlias (const std::string &id, const std::string &alias) |
| std::string | vsp::GetXSecCurveAlias (const std::string &id) |
| void | vsp::CutXSec (const std::string &geom_id, int index) |
| void | vsp::CutXSecByID (const std::string &xsec_id) |
| void | vsp::CopyXSec (const std::string &geom_id, int index) |
| void | vsp::CopyXSecByID (const std::string &xsec_id) |
| void | vsp::PasteXSec (const std::string &geom_id, int index) |
| void | vsp::PasteXSecByID (const std::string &xsec_id) |
| void | vsp::InsertXSec (const std::string &geom_id, int index, int type) |
| std::string | vsp::InsertXSecByID (const std::string &xsec_id, int type) |
| std::string | vsp::SplitWingXSecByID (const std::string &xsec_id) |
| std::vector< int > | vsp::GetDriverGroupByID (const std::string &xsec_id) |
| void | vsp::SetDriverGroup (const std::string &geom_id, int section_index, int driver_0, int driver_1=-1, int driver_2=-1) |
| void | vsp::SetDriverGroupByID (const std::string &xsec_id, int driver_0, int driver_1=-1, int driver_2=-1) |
| void | vsp::SetEngineInletFaceXSecID (const std::string &geom_id, const std::string &xsec_id) |
| std::string | vsp::GetEngineInletFaceXSecID (const std::string &geom_id) |
| void | vsp::SetEngineInletLipXSecID (const std::string &geom_id, const std::string &xsec_id) |
| std::string | vsp::GetEngineInletLipXSecID (const std::string &geom_id) |
| void | vsp::SetEngineOutletFaceXSecID (const std::string &geom_id, const std::string &xsec_id) |
| std::string | vsp::GetEngineOutletFaceXSecID (const std::string &geom_id) |
| void | vsp::SetEngineOutletLipXSecID (const std::string &geom_id, const std::string &xsec_id) |
| std::string | vsp::GetEngineOutletLipXSecID (const std::string &geom_id) |
| void | vsp::ChangeXSecShapeByID (const std::string &xsec_id, int type) |
| void | vsp::FitCSTAirfoil (const std::string &xsec_surf_id, int xsec_index, int deg) |
| void | vsp::FitCSTAirfoilByID (const std::string &xsec_id, int deg) |
| int | vsp::GetXSecShape (const std::string &xsec_id) |
| double | vsp::GetXSecWidth (const std::string &xsec_id) |
| double | vsp::GetXSecHeight (const std::string &xsec_id) |
| void | vsp::SetXSecWidthHeight (const std::string &xsec_id, double w, double h) |
| void | vsp::SetXSecWidth (const std::string &xsec_id, double w) |
| void | vsp::SetXSecHeight (const std::string &xsec_id, double h) |
| std::vector< std::string > | vsp::GetXSecParmIDs (const std::string &xsec_id) |
| std::string | vsp::GetXSecParm (const std::string &xsec_id, const std::string &name) |
| std::vector< vec3d > | vsp::ReadFileXSec (const std::string &xsec_id, const std::string &file_name) |
| std::vector< vec3d > | vsp::GetXSecPnts (const std::string &xsec_id) |
| void | vsp::CopyXSecCurve (const std::string &geom_id, int index) |
| void | vsp::CopyXSecCurveByID (const std::string &xsec_id) |
| void | vsp::PasteXSecCurve (const std::string &geom_id, int index) |
| void | vsp::PasteXSecCurveByID (const std::string &xsec_id) |
| void | vsp::SetXSecPnts (const std::string &xsec_id, std::vector< vec3d > &pnt_vec) |
| vec3d | vsp::ComputeXSecPnt (const std::string &xsec_id, double fract) |
| vec3d | vsp::ComputeXSecTan (const std::string &xsec_id, double fract) |
| void | vsp::ResetXSecSkinParms (const std::string &xsec_id) |
| int | vsp::GetXSecContinuity (const std::string &xsec_id) |
| void | vsp::SetXSecContinuity (const std::string &xsec_id, int cx) |
| int | vsp::AddSkinSpine (const std::string &geom_id, double w01) |
| void | vsp::DelSkinSpine (const std::string &geom_id, int index) |
| void | vsp::DelSkinSpineByID (const std::string &spine_id) |
| void | vsp::DelAllSkinSpines (const std::string &geom_id) |
| int | vsp::GetNumSkinSpines (const std::string &geom_id) |
| std::string | vsp::GetSkinSpineName (const std::string &geom_id, int index) |
| std::string | vsp::GetSkinSpineNameByID (const std::string &spine_id) |
| void | vsp::SetSkinSpineName (const std::string &geom_id, int index, const std::string &name) |
| void | vsp::SetSkinSpineNameByID (const std::string &spine_id, const std::string &name) |
| std::string | vsp::GetSkinSpineID (const std::string &xsec_id, int index) |
| std::vector< std::string > | vsp::GetSkinSpineIDVec (const std::string &xsec_id) |
| std::string | vsp::GetSkinSpineParm (const std::string &spine_id, const std::string &name) |
| std::vector< double > | vsp::GetXSecTanAngles (const std::string &xsec_id, int side) |
| void | vsp::SetXSecTanAngles (const std::string &xsec_id, int side, double top, double right, double bottom, double left) |
| std::vector< double > | vsp::GetXSecTanSlews (const std::string &xsec_id, int side) |
| void | vsp::SetXSecTanSlews (const std::string &xsec_id, int side, double top, double right, double bottom, double left) |
| std::vector< double > | vsp::GetXSecTanStrengths (const std::string &xsec_id, int side) |
| void | vsp::SetXSecTanStrengths (const std::string &xsec_id, int side, double top, double right, double bottom, double left) |
| std::vector< double > | vsp::GetXSecCurvatures (const std::string &xsec_id, int side) |
| void | vsp::SetXSecCurvatures (const std::string &xsec_id, int side, double top, double right, double bottom, double left) |
| void | vsp::ReadFileAirfoil (const std::string &xsec_id, const std::string &file_name) |
| void | vsp::SetAirfoilUpperPnts (const std::string &xsec_id, const std::vector< vec3d > &up_pnt_vec) |
| void | vsp::SetAirfoilLowerPnts (const std::string &xsec_id, const std::vector< vec3d > &low_pnt_vec) |
| void | vsp::SetAirfoilPnts (const std::string &xsec_id, const std::vector< vec3d > &up_pnt_vec, const std::vector< vec3d > &low_pnt_vec) |
| std::vector< vec3d > | vsp::GetHersheyBarLiftDist (const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag=false) |
| std::vector< vec3d > | vsp::GetHersheyBarDragDist (const int &npts, const double &alpha, const double &Vinf, const double &span, bool full_span_flag=false) |
| std::vector< vec3d > | vsp::GetVKTAirfoilPnts (const int &npts, const double &alpha, const double &epsilon, const double &kappa, const double &tau) |
| std::vector< double > | vsp::GetVKTAirfoilCpDist (const double &alpha, const double &epsilon, const double &kappa, const double &tau, const std::vector< vec3d > &xyz_data) |
| std::vector< vec3d > | vsp::GetEllipsoidSurfPnts (const vec3d ¢er, const vec3d &abc_rad, int u_npts=20, int w_npts=20) |
| std::vector< vec3d > | vsp::GetFeatureLinePnts (const std::string &geom_id) |
| std::vector< double > | vsp::GetEllipsoidCpDist (const std::vector< vec3d > &surf_pnt_vec, const vec3d &abc_rad, const vec3d &V_inf) |
| std::vector< vec3d > | vsp::GetAirfoilUpperPnts (const std::string &xsec_id) |
| std::vector< vec3d > | vsp::GetAirfoilLowerPnts (const std::string &xsec_id) |
| std::vector< double > | vsp::GetUpperCSTCoefs (const std::string &xsec_id) |
| std::vector< double > | vsp::GetLowerCSTCoefs (const std::string &xsec_id) |
| int | vsp::GetUpperCSTDegree (const std::string &xsec_id) |
| int | vsp::GetLowerCSTDegree (const std::string &xsec_id) |
| void | vsp::SetUpperCST (const std::string &xsec_id, int deg, const std::vector< double > &coefs) |
| void | vsp::SetLowerCST (const std::string &xsec_id, int deg, const std::vector< double > &coefs) |
| void | vsp::PromoteCSTUpper (const std::string &xsec_id) |
| void | vsp::PromoteCSTLower (const std::string &xsec_id) |
| void | vsp::DemoteCSTUpper (const std::string &xsec_id) |
| void | vsp::DemoteCSTLower (const std::string &xsec_id) |
| void | vsp::FitAfCST (const std::string &xsec_surf_id, int xsec_index, int deg) |
| void | vsp::FitAfCSTByID (const std::string &xsec_id, int deg) |
| void | vsp::WriteBezierAirfoil (const std::string &file_name, const std::string &geom_id, const double &foilsurf_u) |
| void | vsp::WriteSeligAirfoil (const std::string &file_name, const std::string &geom_id, const double &foilsurf_u) |
| std::vector< vec3d > | vsp::GetAirfoilCoordinates (const std::string &geom_id, const double &foilsurf_u) |
| void | vsp::CopyAirfoilByID (const std::string &xsec_id) |
| void | vsp::PasteAirfoilByID (const std::string &xsec_id) |
| void | vsp::ClearSkinningByID (const std::string &xsec_id) |
|
extern |
Add a user defined skinning spine to a Fuselage or Stack. Skinning is otherwise controlled only at the four fixed stations – Right, Bottom, Left and Top, at W01 of 0, 0.25, 0.5 and 0.75. A spine adds another anywhere in between. It runs the length of the body, so it is added to every cross section at once; its values are then set per cross section.
| [in] | geom_id | string Geom ID |
| [in] | w01 | double Position around the cross section, on a [0, 1] basis |
|
extern |
Change the shape of a cross-section, by XSec ID. The cross-section keeps its ID.
| [in] | xsec_id | string XSec ID |
| [in] | type | int XSec type enum (i.e. XS_ELLIPSE) |
|
extern |
Release the skinning controls of one cross-section, by XSec ID.
| [in] | xsec_id | string XSec ID |
|
extern |
Compute 3D coordinate for a point on an XSec curve given the parameter value (U) along the curve
| [in] | xsec_id | string XSec ID |
| [in] | fract | double Curve parameter value (range: 0 - 1) |
|
extern |
Compute the tangent vector of a point on an XSec curve given the parameter value (U) along the curve
| [in] | xsec_id | string XSec ID |
| [in] | fract | double Curve parameter value (range: 0 - 1) |
|
extern |
Copy the airfoil of a wing section to the clipboard, by XSec ID.
| [in] | xsec_id | string Wing section XSec ID |
|
extern |
Copy a cross-section from the specified geometry and maintain it in memory
| [in] | geom_id | string Geom ID |
| [in] | index | int XSec index |
|
extern |
Copy a cross-section to the clipboard, by XSec ID.
| [in] | xsec_id | string XSec ID |
|
extern |
Copy the XSecCurve of a cross section to the XSecCurve clipboard. This carries the section shape without the section's placement, and works on a body of revolution too, where the index is ignored because it holds only one curve.
| [in] | geom_id | string Geom ID |
| [in] | index | int XSec index, ignored for a body of revolution |
|
extern |
Copy the XSecCurve of a cross-section to the clipboard, by XSec ID.
| [in] | xsec_id | string XSec ID |
|
extern |
Cut a cross-section from the specified geometry and maintain it in memory. Refused on a Clone; change the Geom it copies.
| [in] | geom_id | string Geom ID |
| [in] | index | int XSec index |
|
extern |
Cut a cross-section from its Geom, by XSec ID, and put it on the clipboard.
| [in] | xsec_id | string XSec ID |
|
extern |
Delete every user defined skinning spine from a Geom.
| [in] | geom_id | string Geom ID |
|
extern |
Delete a user defined skinning spine from every cross section of a Geom.
| [in] | geom_id | string Geom ID |
| [in] | index | int Spine index |
|
extern |
Delete a skin spine from every cross-section of its Geom, by the ID of the spine on any one of them.
| [in] | spine_id | string Skin spine ID |
|
extern |
Demote the CST for the lower airfoil surface. The XSec must be of type XS_CST_AIRFOIL
| [in] | xsec_id | string XSec ID |
|
extern |
Demote the CST for the upper airfoil surface. The XSec must be of type XS_CST_AIRFOIL
| [in] | xsec_id | string XSec ID |
|
extern |
Fit a CST airfoil for an existing airfoil of type XS_FOUR_SERIES, XS_SIX_SERIES, XS_FOUR_DIGIT_MOD, XS_FIVE_DIGIT, XS_FIVE_DIGIT_MOD, XS_ONE_SIX_SERIES, or XS_FILE_AIRFOIL.
| [in] | xsec_surf_id | string XsecSurf ID |
| [in] | xsec_index | int XSec index |
| [in] | deg | int CST degree |
|
extern |
Convert an analytic or file airfoil cross-section to a CST airfoil fit to its shape, by XSec ID.
| [in] | xsec_id | string XSec ID |
| [in] | deg | int CST degree |
|
extern |
Convert an airfoil cross section to a CST airfoil fitted to the shape it already has, the way the Fit CST button on the airfoil panels does. A CST airfoil is described by coefficients rather than by a table or a series designation, which is what makes it useful for optimization; fitting is how an airfoil of any other type is brought into that form without changing shape.
| [in] | xsec_surf_id | string XSecSurf ID |
| [in] | xsec_index | int XSec index |
| [in] | deg | int Degree to fit the CST airfoil at |
|
extern |
Convert an airfoil cross-section to a CST airfoil fit to its shape, by XSec ID.
| [in] | xsec_id | string XSec ID |
| [in] | deg | int CST degree |
|
extern |
Get the untwisted unit-length 2D coordinate points for the specified airfoil
| [in] | geom_id | string Geom ID |
| [in] | foilsurf_u | double U location (range: 0 - 1) along the surface. The foil surface does not include root and tip caps (i.e. 2 section wing -> XSec0 @ u=0, XSec1 @ u=0.5, XSec2 @ u=1.0) |
|
extern |
Get the coordinate points for the lower surface of an airfoil. The XSec must be of type XS_FILE_AIRFOIL
| [in] | xsec_id | string XSec ID |
|
extern |
Get the coordinate points for the upper surface of an airfoil. The XSec must be of type XS_FILE_AIRFOIL
| [in] | xsec_id | string XSec ID |
|
extern |
Get the driver group of a wing section or XSecCurve, by XSec ID.
| [in] | xsec_id | string XSec ID |
|
extern |
Generate Analytical Solution for Potential Flow for specified ellipsoid shape at input surface points for input velocity vector. Based on Munk, M. M., 'Remarks on the Pressure Distribution over the Surface of an Ellipsoid, Moving Translationally Through a Perfect Fluid,' NACA TN-196, June 1924. Function initially created to compare VSPAERO results to theory.
| [in] | surf_pnt_vec | vector<vec3d> Vector of points on the ellipsoid surface to assess |
| [in] | abc_rad | vec3d Radius along the A (X), B (Y), and C (Z) axes |
| [in] | V_inf | vec3d 3D components of freestream velocity |
|
extern |
Generate the surface coordinate points for a ellipsoid at specified center of input radius along each axis. Based on the MATLAB function ellipsoid (https://in.mathworks.com/help/matlab/ref/ellipsoid.html).
| [in] | center | vec3d 3D location of the ellipsoid center |
| [in] | abc_rad | vec3d Radius along the A (X), B (Y), and C (Z) axes |
| [in] | u_npts | int Number of points in the U direction |
| [in] | w_npts | int Number of points in the W direction |
|
extern |
Get the cross-section an engine Geom models its inlet face at.
| [in] | geom_id | string Engine Geom ID |
|
extern |
Get the cross-section an engine Geom models its inlet lip at.
| [in] | geom_id | string Engine Geom ID |
|
extern |
Get the cross-section an engine Geom models its outlet face at.
| [in] | geom_id | string Engine Geom ID |
|
extern |
Get the cross-section an engine Geom models its outlet lip at.
| [in] | geom_id | string Engine Geom ID |
|
extern |
Get the points along the feature lines of a particular Geom
| [in] | geom_id | string Geom ID |
|
extern |
Get the theoretical drag (Cd) distribution for a Hershey Bar wing with unit chord length using Glauert's Method. This function was initially created to compare VSPAERO results to Lifting Line Theory. If full_span_flag is set to true symmetry is applied to the results.
| [in] | npts | int Number of points along the span to assess |
| [in] | alpha | double Wing angle of attack (Radians) |
| [in] | Vinf | double Freestream velocity |
| [in] | span | double Hershey Bar full-span. Note, only half is used in the calculation |
| [in] | full_span_flag | bool Flag to apply symmetry to results (default: false) |
|
extern |
Get the theoretical lift (Cl) distribution for a Hershey Bar wing with unit chord length using Glauert's Method. This function was initially created to compare VSPAERO results to Lifting Line Theory. If full_span_flag is set to true symmetry is applied to the results.
| [in] | npts | int Number of points along the span to assess |
| [in] | alpha | double Wing angle of attack (Radians) |
| [in] | Vinf | double Freestream velocity |
| [in] | span | double Hershey Bar full-span. Note, only half is used in the calculation |
| [in] | full_span_flag | bool Flag to apply symmetry to results |
|
extern |
Get the CST coefficients for the lower surface of an airfoil. The XSec must be of type XS_CST_AIRFOIL
| [in] | xsec_id | string XSec ID |
|
extern |
Get the CST degree for the lower surface of an airfoil. The XSec must be of type XS_CST_AIRFOIL
| [in] | xsec_id | string XSec ID |
|
extern |
Get the number of user defined skinning spines on a Geom.
| [in] | geom_id | string Geom ID |
|
extern |
Get the Parm container ID of one cross section's copy of a skinning spine. Position and symmetry are the same on every cross section; the skinning values are not.
Note that a spine's W and symmetry flags are properties of the whole spine, and are held by the first cross section. Setting them on any other cross section is undone by the next update; set them on cross section 0. The skinning values carry no such restriction.
Use GetSkinSpineParm to reach the spine's Parms. FindParm reaches them too, given the spine's own ID returned here and the group name "SkinSpine" – not the cross section's ID, since a spine's Parms are in a container of its own. GetSkinSpineParm does not ask the caller to know either of those.
| [in] | xsec_id | string XSec ID |
| [in] | index | int Spine index |
|
extern |
Get the IDs of the skin spines of one cross-section, in the order of their indexes.
| [in] | xsec_id | string XSec ID |
|
extern |
Get the name of a skinning spine.
The name belongs to the whole spine rather than to one cross section: it is held by the first cross section and synced outwards, the same way the position and the symmetry flags are. It is also what the spine's Parms are grouped under, so it is how they are told apart in the Parm Link and Design Variable pickers.
| [in] | geom_id | string Geom ID |
| [in] | index | int Spine index |
|
extern |
Get the name of a skin spine, by the ID of the spine on any one cross-section.
| [in] | spine_id | string Skin spine ID |
|
extern |
Get a Parm ID from a skinning spine by name. The counterpart of GetXSecParm: FindParm on the spine's own container would do the same job, but only if the caller knows the group is named "SkinSpine".
| [in] | spine_id | string Spine Parm container ID, from GetSkinSpineID |
| [in] | name | string Parm name |
|
extern |
Get the CST coefficients for the upper surface of an airfoil. The XSec must be of type XS_CST_AIRFOIL
| [in] | xsec_id | string XSec ID |
|
extern |
Get the CST degree for the upper surface of an airfoil. The XSec must be of type XS_CST_AIRFOIL
| [in] | xsec_id | string XSec ID |
|
extern |
Get the pressure coefficient (Cp) along a Von Kármán-Trefftz airfoil of specified shape at specified points along the airfoil
| [in] | alpha | double Airfoil angle of attack (Radians) |
| [in] | epsilon | double Airfoil thickness |
| [in] | kappa | double Airfoil camber |
| [in] | tau | double Airfoil trailing edge angle (Radians) |
| [in] | xyz_data | vector<vec3d> Vector of points on the airfoil to evaluate |
|
extern |
Get the 2D coordinates an input number of points along a Von K�rm�n-Trefftz airfoil of specified shape
| [in] | npts | int Number of points along the airfoil to return |
| [in] | alpha | double Airfoil angle of attack (Radians) |
| [in] | epsilon | double Airfoil thickness |
| [in] | kappa | double Airfoil camber |
| [in] | tau | double Airfoil trailing edge angle (Radians) |
|
extern |
Get XSec Alias by ID
| [in] | id | string XSec ID |
|
extern |
Set C-type continuity enforcement for a particular XSec
| [in] | xsec_id | string XSec ID |
| [in] | cx | int Continuity level (0, 1, or 2) |
Get the C-type continuity enforcement for a particular XSec
| [in] | xsec_id | string XSec ID |
|
extern |
Set curvatures for the specified XSec
| [in] | xsec_id | string XSec ID |
| [in] | side | int Side type enum (i.e. XSEC_BOTH_SIDES) |
| [in] | top | double Top curvature |
| [in] | right | double Right curvature |
| [in] | bottom | double Bottom curvature |
| [in] | left | double Left curvature |
Get the curvatures for one side of the specified XSec. The four values come back in the order the setter takes them: top, right, bottom and left. The two sides can hold different values, so XSEC_BOTH_SIDES is not accepted here.
| [in] | xsec_id | string XSec ID |
| [in] | side | int Side type enum (XSEC_LEFT_SIDE or XSEC_RIGHT_SIDE) |
|
extern |
Get XSecCurve Alias by XSec ID
| [in] | id | string XSec ID |
|
extern |
Get the height of an XSec. Note that POINT type XSecs have a width and height of 0, regardless of what width and height it is set to.
| [in] | xsec_id | string XSec ID |
|
extern |
Get a specific Parm ID from an Xsec
| [in] | xsec_id | string XSec ID |
| [in] | name | string Parm name |
|
extern |
Get all Parm IDs for specified XSec Parm Container
| [in] | xsec_id | string XSec ID |
|
extern |
Set the coordinate points for a specific XSec. The XSec must be of type XS_FILE_FUSE.
| [in] | xsec_id | string XSec ID |
| [in] | pnt_vec | vector<vec3d> Vector of XSec coordinate points |
Get the coordinate points for a specific XSec. The XSec must be of type XS_FILE_FUSE. The points are returned normalized to the section's width and height.
| [in] | xsec_id | string XSec ID |
|
extern |
Get the shape of an XSec
| [in] | xsec_id | string XSec ID |
|
extern |
Set the tangent angles for the specified XSec
| [in] | xsec_id | string XSec ID |
| [in] | side | int Side type enum (i.e. XSEC_BOTH_SIDES) |
| [in] | top | double Top angle (degrees) |
| [in] | right | double Right angle (degrees) |
| [in] | bottom | double Bottom angle (degrees) |
| [in] | left | double Left angle (degrees) |
Get the tangent angles for one side of the specified XSec. The four values come back in the order the setter takes them: top, right, bottom and left. The two sides can hold different values, so XSEC_BOTH_SIDES is not accepted here.
| [in] | xsec_id | string XSec ID |
| [in] | side | int Side type enum (XSEC_LEFT_SIDE or XSEC_RIGHT_SIDE) |
|
extern |
Set the tangent slew angles for the specified XSec
| [in] | xsec_id | string XSec ID |
| [in] | side | int Side type enum (i.e. XSEC_BOTH_SIDES) |
| [in] | top | double Top angle (degrees) |
| [in] | right | double Right angle (degrees) |
| [in] | bottom | double Bottom angle (degrees) |
| [in] | left | double Left angle (degrees) |
Get the tangent slew angles for one side of the specified XSec. The four values come back in the order the setter takes them: top, right, bottom and left. The two sides can hold different values, so XSEC_BOTH_SIDES is not accepted here.
| [in] | xsec_id | string XSec ID |
| [in] | side | int Side type enum (XSEC_LEFT_SIDE or XSEC_RIGHT_SIDE) |
|
extern |
Set the tangent strengths for the specified XSec
| [in] | xsec_id | string XSec ID |
| [in] | side | int Side type enum (i.e. XSEC_BOTH_SIDES) |
| [in] | top | double Top strength |
| [in] | right | double Right strength |
| [in] | bottom | double Bottom strength |
| [in] | left | double Left strength |
Get the tangent strengths for one side of the specified XSec. The four values come back in the order the setter takes them: top, right, bottom and left. The two sides can hold different values, so XSEC_BOTH_SIDES is not accepted here.
| [in] | xsec_id | string XSec ID |
| [in] | side | int Side type enum (XSEC_LEFT_SIDE or XSEC_RIGHT_SIDE) |
|
extern |
Get the width of an XSec. Note that POINT type XSecs have a width and height of 0, regardless of what width and height it is set to.
| [in] | xsec_id | string XSec ID |
|
extern |
Insert a cross-section of particular type to the specified geometry after the given index. Refused on a Clone; change the Geom it copies.
| [in] | geom_id | string Geom ID |
| [in] | index | int XSec index |
| [in] | type | int XSec type enum (i.e. XS_GENERAL_FUSE) |
|
extern |
Insert a cross-section after the one with the given ID, and return the new cross-section's ID.
| [in] | xsec_id | string ID of the XSec the new one follows |
| [in] | type | int XSec type enum (i.e. XS_ELLIPSE) |
|
extern |
Paste the airfoil on the clipboard into a wing section, by XSec ID.
| [in] | xsec_id | string Wing section XSec ID |
|
extern |
Paste the cross-section currently held in memory to the specified geometry. Refused on a Clone; change the Geom it copies.
| [in] | geom_id | string Geom ID |
| [in] | index | int XSec index |
|
extern |
Paste the cross-section on the clipboard over a cross-section, by XSec ID. The cross-section keeps its ID.
| [in] | xsec_id | string XSec ID |
|
extern |
Paste the XSecCurve clipboard onto a cross section
| [in] | geom_id | string Geom ID |
| [in] | index | int XSec index, ignored for a body of revolution |
|
extern |
Paste the XSecCurve on the clipboard into a cross-section, by XSec ID.
| [in] | xsec_id | string XSec ID |
|
extern |
Promote the CST for the lower airfoil surface. The XSec must be of type XS_CST_AIRFOIL
| [in] | xsec_id | string XSec ID |
|
extern |
Promote the CST for the upper airfoil surface. The XSec must be of type XS_CST_AIRFOIL
| [in] | xsec_id | string XSec ID |
|
extern |
Read in XSec shape from airfoil file and set to the specified XSec. The XSec must be of type XS_FILE_AIRFOIL. Airfoil files may be in Lednicer or Selig format with \*.af or \*.dat extensions.
| [in] | xsec_id | string XSec ID |
| [in] | file_name | string Airfoil XSec file name |
|
extern |
Read in XSec shape from fuselage (\*.fsx) file and set to the specified XSec. The XSec must be of type XS_FILE_FUSE.
| [in] | xsec_id | string XSec ID |
| [in] | file_name | string Fuselage XSec file name |
|
extern |
Reset all skinning Parms for a specified XSec. Set top, bottom, left, and right strengths, slew, angle, and curvature to 0. Set all symmetry and equality conditions to false.
| [in] | xsec_id | string XSec ID |
|
extern |
Set the lower points for an airfoil. The XSec must be of type XS_FILE_AIRFOIL.
| [in] | xsec_id | string XSec ID |
| [in] | low_pnt_vec | vector<vec3d> Array of points defining the lower surface of the airfoil |
|
extern |
Set the upper and lower points for an airfoil. The XSec must be of type XS_FILE_AIRFOIL.
| [in] | xsec_id | string XSec ID |
| [in] | up_pnt_vec | vector<vec3d> Array of points defining the upper surface of the airfoil |
| [in] | low_pnt_vec | vector<vec3d> Array of points defining the lower surface of the airfoil |
|
extern |
Set the upper points for an airfoil. The XSec must be of type XS_FILE_AIRFOIL.
| [in] | xsec_id | string XSec ID |
| [in] | up_pnt_vec | vector<vec3d> Array of points defining the upper surface of the airfoil |
|
extern |
Choose which quantities drive a wing section. A section is defined by three of its measures and the rest follow; this says which three.
| [in] | geom_id | string Geom ID |
| [in] | section_index | int Wing section index |
| [in] | driver_0 | int Wing driver enum (i.e. SPAN_WSECT_DRIVER) |
| [in] | driver_1 | int Second wing driver enum |
| [in] | driver_2 | int Third wing driver enum |
|
extern |
Set the driver group of a wing section or XSecCurve, by XSec ID.
| [in] | xsec_id | string XSec ID |
| [in] | driver_0 | int First driver enum (i.e. SPAN_WSECT_DRIVER) |
| [in] | driver_1 | int Second driver enum (i.e. ROOTC_WSECT_DRIVER) |
| [in] | driver_2 | int Third driver enum (i.e. TIPC_WSECT_DRIVER) |
|
extern |
Set the cross-section an engine Geom models its inlet face at, by XSec ID.
| [in] | geom_id | string Engine Geom ID (a stack, fuselage or other engine Geom) |
| [in] | xsec_id | string XSec ID on that Geom |
|
extern |
Set the cross-section an engine Geom models its inlet lip at, by XSec ID.
| [in] | geom_id | string Engine Geom ID (a stack, fuselage or other engine Geom) |
| [in] | xsec_id | string XSec ID on that Geom |
|
extern |
Set the cross-section an engine Geom models its outlet face at, by XSec ID.
| [in] | geom_id | string Engine Geom ID (a stack, fuselage or other engine Geom) |
| [in] | xsec_id | string XSec ID on that Geom |
|
extern |
Set the cross-section an engine Geom models its outlet lip at, by XSec ID.
| [in] | geom_id | string Engine Geom ID (a stack, fuselage or other engine Geom) |
| [in] | xsec_id | string XSec ID on that Geom |
|
extern |
Set the CST degree and coefficients for the lower surface of an airfoil. The number of coefficients should be one more than the CST degree. The XSec must be of type XS_CST_AIRFOIL
| [in] | xsec_id | string XSec ID |
| [in] | deg | int CST degree of lower airfoil surface |
| [in] | coefs | vector<double> Vector of CST coefficients for the lower airfoil surface |
|
extern |
Set the name of a skinning spine. See GetSkinSpineName for what the name is used for.
| [in] | geom_id | string Geom ID |
| [in] | index | int Spine index |
| [in] | name | string Spine name |
|
extern |
Set the name of a skin spine, by the ID of the spine on any one cross-section.
| [in] | spine_id | string Skin spine ID |
| [in] | name | string New name for the spine |
|
extern |
Set the CST degree and coefficients for the upper surface of an airfoil. The number of coefficients should be one more than the CST degree. The XSec must be of type XS_CST_AIRFOIL
| [in] | xsec_id | string XSec ID |
| [in] | deg | int CST degree of upper airfoil surface |
| [in] | coefs | vector<double> Vector of CST coefficients for the upper airfoil surface |
|
extern |
Set XSec Alias by ID
| [in] | id | string XSec ID |
| [in] | alias | string Xsec alias |
|
extern |
Set how many derivatives are continuous across an XSec: 0 for position only, 1 to also match slope, 2 to also match curvature.
| [in] | xsec_id | string XSec ID |
| [in] | cx | int Number of continuous derivatives, 0, 1 or 2 |
|
extern |
Set the curvatures for one side of an XSec. The four values are given in the order top, right, bottom and left; a value of -1.0e12 leaves that position as it was. XSEC_BOTH_SIDES sets both sides at once.
| [in] | xsec_id | string XSec ID |
| [in] | side | int XSec side type enum (i.e. XSEC_BOTH_SIDES) |
| [in] | top | double Value at the top, or -1.0e12 to leave it |
| [in] | right | double Value at the right, or -1.0e12 to leave it |
| [in] | bottom | double Value at the bottom, or -1.0e12 to leave it |
| [in] | left | double Value at the left, or -1.0e12 to leave it |
|
extern |
Set XSecCurve Alias by XSec ID
| [in] | id | string XSec ID |
| [in] | alias | string XsecCurve alias |
|
extern |
Set the height of an XSec. Note that POINT type XSecs have a width and height of 0, regardless of what is input to SetXSecHeight.
| [in] | xsec_id | string XSec ID |
| [in] | h | double Xsec height |
|
extern |
Set the points of a file XSec. The XSec must be of type XS_FILE_FUSE; this is how a section read from a file is replaced from a script.
| [in] | xsec_id | string XSec ID, of type XS_FILE_FUSE |
| [in] | pnt_vec | vector<vec3d> Points defining the section: a closed curve in the XY plane, running from the right-hand point down through the bottom, round the side and over the top. Any other set is refused with VSP_INVALID_INPUT_VAL and the section is left as it was |
|
extern |
Set the tangent angles for one side of an XSec. The four values are given in the order top, right, bottom and left; a value of -1.0e12 leaves that position as it was. XSEC_BOTH_SIDES sets both sides at once.
| [in] | xsec_id | string XSec ID |
| [in] | side | int XSec side type enum (i.e. XSEC_BOTH_SIDES) |
| [in] | top | double Value at the top, or -1.0e12 to leave it |
| [in] | right | double Value at the right, or -1.0e12 to leave it |
| [in] | bottom | double Value at the bottom, or -1.0e12 to leave it |
| [in] | left | double Value at the left, or -1.0e12 to leave it |
|
extern |
Set the tangent slews for one side of an XSec. The four values are given in the order top, right, bottom and left; a value of -1.0e12 leaves that position as it was. XSEC_BOTH_SIDES sets both sides at once.
| [in] | xsec_id | string XSec ID |
| [in] | side | int XSec side type enum (i.e. XSEC_BOTH_SIDES) |
| [in] | top | double Value at the top, or -1.0e12 to leave it |
| [in] | right | double Value at the right, or -1.0e12 to leave it |
| [in] | bottom | double Value at the bottom, or -1.0e12 to leave it |
| [in] | left | double Value at the left, or -1.0e12 to leave it |
|
extern |
Set the tangent strengths for one side of an XSec. The four values are given in the order top, right, bottom and left; a value of -1.0e12 leaves that position as it was. XSEC_BOTH_SIDES sets both sides at once.
| [in] | xsec_id | string XSec ID |
| [in] | side | int XSec side type enum (i.e. XSEC_BOTH_SIDES) |
| [in] | top | double Value at the top, or -1.0e12 to leave it |
| [in] | right | double Value at the right, or -1.0e12 to leave it |
| [in] | bottom | double Value at the bottom, or -1.0e12 to leave it |
| [in] | left | double Value at the left, or -1.0e12 to leave it |
|
extern |
Set the width of an XSec. Note that POINT type XSecs have a width and height of 0, regardless of what is input to SetXSecWidth.
| [in] | xsec_id | string XSec ID |
| [in] | w | double Xsec width |
|
extern |
Set the width and height of an XSec. Note, if the XSec is an EDIT_CURVE type and PreserveARFlag is true, the input width value will be ignored and instead set from on the input height and aspect ratio. Use SetXSecWidth and SetXSecHeight directly to avoid this.
| [in] | xsec_id | string XSec ID |
| [in] | w | double Xsec width |
| [in] | h | double Xsec height |
|
extern |
Split a wing section in two, by XSec ID, and return the ID of the new outboard section.
| [in] | xsec_id | string Wing section XSec ID |
|
extern |
Write out the untwisted unit-length 2D Bezier curve for the specified airfoil in custom\*.bz format. The output will describe the analytical shape of the airfoil. See BezierAirfoilExample.m and BezierCtrlToCoordPnts.m for examples of discretizing the Bezier curve and generating a Selig airfoil file.
| [in] | file_name | string Airfoil (\*.bz) output file name |
| [in] | geom_id | string Geom ID |
| [in] | foilsurf_u | double U location (range: 0 - 1) along the surface. The foil surface does not include root and tip caps (i.e. 2 section wing -> XSec0 @ u=0, XSec1 @ u=0.5, XSec2 @ u=1.0) |
|
extern |
Write out the untwisted unit-length 2D coordinate points for the specified airfoil in Selig format. Coordinate points follow the on-screen wire frame W tessellation.
| [in] | file_name | string Airfoil (\*.dat) output file name |
| [in] | geom_id | string Geom ID |
| [in] | foilsurf_u | double U location (range: 0 - 1) along the surface. The foil surface does not include root and tip caps (i.e. 2 section wing -> XSec0 @ u=0, XSec1 @ u=0.5, XSec2 @ u=1.0) |