User Tools

Site Tools


api

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
api [2019/11/09 18:36]
ramcdona removed
— (current)
Line 1: Line 1:
-===== Script/API Functions And Classes ===== 
- 
-==== Computation ==== 
-**void SetComputationFileName( int [[api#​Computation File Enums|file_type]],​ string file_name )** 
-Set the file name for the results of a computation described by the [[api#​Computation File Enums|file_type]] enum. \\ 
-**string ComputeMassProps( int [[api#Set Type Enums|set]],​ int num_slices )** 
-Compute the mass properties of the geometry in the set.  Num_slices dictates accuracy. Return the geom_id of the resulting mesh. \\ 
-**string ComputeCompGeom( int [[api#Set Type Enums|set]],​ bool half_mesh, int [[api#​Computation File Enums|file_type]] )** 
-Compute the wetted area/volume of the geometry in the set.\\ ​ 
-**string ComputePlaneSlice( int [[api#Set Type Enums|set]],​ int num_slices, vec3d norm, bool auto_bnd, double start_bnd = 0, double end_bnd = 0 )** 
-Slice the geometry in the set.  Define the orientation of the plane with norm.  Set the start and end slices manually or set auto_bnd = TRUE. \\ 
-**string ComputeAwaveSlice( int [[api#Set Type Enums|set]],​ int num_slices, int num_rots, double ang_control,​ bool comp_ang, vec3d norm, bool auto_bnd, double start_bnd = 0, double end_bnd = 0)** 
-Slice the geometry in the set using cones.\\ 
-**void ComputeDegenGeom( int [[api#Set Type Enums|set]],​ int [[api#​Computation File Enums|file_type]] )** 
-Compute degenerate geometry from the components in the set and export to the specfied file type.\\ 
-**void ComputeCFDMesh( int [[api#Set Type Enums|set]],​ int [[api#​Computation File Enums|file_type]] )** 
-Compute the CFD mesh from the geometry in the set and export and export to the specfied file type.\\ 
-**void SetCFDMeshVal( int [[api#CFD Control Type Enums|type]],​ double val )** 
-Set the values required to control meshing (tri sizes, far fields, wakes, etc)\\ 
-**void SetCFDWakeFlag( string geom_id, bool flag  )** 
-Turn wake on/off for given geometry\\ 
-**void DeleteAllCFDSources()** 
-Delete all mesh size sources.\\ 
-**void AddDefaultSources()** 
-Add default sources for all geometry.\\ 
-**void AddCFDSource( int [[api#CFD Mesh Source Type Enums|type]],​ const 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 )**\\ 
-Add a CFD mesh source of specified type to geom.  l1 = length of tri, r1 = radius of source, u1 and w1 are parametric coordinates. 
- 
- 
-==== ErrorObj Class ==== 
-**ErrorObj** 
-Class containing information about an error event.\\ 
-**[[api#​Error Code Enums|int]] ErrorObj::​GetErrorCode()** 
-Return the [[api#Error Code Enums|error code]] from this error object.\\ 
-**string ErrorObj::​GetErrorString()** 
-Return the error string from this error object.\\ 
- 
- 
-==== Error Functions ==== 
-**bool GetErrorLastCallFlag()** 
-Return true if last call resulted in an error.\\ 
-**int GetNumTotalErrors()** 
-Return the number of errors on the stack.\\ 
-**ErrorObj PopLastError() ** 
-Return and remove the last error object on the stack.\\ 
-**ErrorObj GetLastError() ** 
-Return but do not remove the last error object on the stack.\\ 
-**VSPExit( int error_code )** 
-Exits program with provided error code\\ 
- 
- 
-==== File I/O Functions ==== 
-**string GetVSPFileName()**\\ 
-**void ReadVSPFile( string file_name )** 
-Read a vsp geometry file. Clear old geometry first.\\ 
-**void WriteVSPFile( string file_name, int [[api#Set Type Enums|set]] )** 
-Write geometry in set to file.\\ 
-**void InsertVSPFile( string file_name, string parent_id )** 
-Read a vsp geometry file and insert it as a child of parent geometry.\\ 
-**void ExportFile( string file_name, int [[api#Set Type Enums|set]],​ int [[api#​Export Type Enums|export_type]] )   ** 
-Export the geometry components in the [[api#Set Type Enums|set]] to a file.  \\ 
-**string ImportFile( string file_name, int [[api#​Import Type Enums|import_type]],​ string parent )** 
-Import a file and insert it as a child of parent. \\ 
- 
- 
-==== Geom ==== 
-**array<​string>​@ ​ GetGeomTypes()** 
-Get a vector of available geometry type strings. \\ 
-**string AddGeom( string geom_type, string parent = string() )** 
-Add a geometry component to the vehicle. ​ Add as a child of parent (if defined). \\ 
-**void CutGeomToClipboard(string geom_id)** 
-Remove the geometry component and place in clipboard. \\ 
-**void CopyGeomToClipboard(const string & in geom_id)** 
-Copy the geometry component to the clipboard. ​ \\ 
-**void PasteGeomClipboard( string parent_id = string() )** 
-Copy the components in the clipboard to the vehicle. ​ Add as a child of parent (if defined). ​ \\ 
-**array<​string>​@ FindGeoms()** 
-Return a vector of string containing all geom ids in vehicle. \\ 
-**array<​string>​@ FindGeomsWithName(string name)** 
-Returns a vector of geom id with the input name. \\ 
-**void SetGeomName( string geom_id, string name )** 
-Set the geom name. \\ 
-**string GetGeomName( string geom_id )** 
-Return the name of the geom. \\ 
-**array<​string>​@ ​ GetGeomParmIDs(string geom_id )** 
-Get a vector of all parm ids for this geom.\\ 
-**string GetParm(string geom_id, string name, string group )** 
-Returns the parm id.\\ 
-**int GetNumXSecSurfs( string geom_id )** 
-Return the number of cross-section surf for this geom.\\ 
-**int GetNumMainSurfs( string geom_id )** 
-Return the number of VspSurfs for this geom.\\ 
-**string AddSubSurf( string geom_id, int [[api#Sub Surface Type Enums|set]] )** 
-Add a sub surface to the geometry. A string ID is returned which can be used with FindParm to edit the sub surface.\\ 
-**void DeleteSubSurf( string geom_id, string subsurf_id )** 
-Delete sub surface given geom ID and sub surface ID.\\ 
-**void CutXSec( string geom_id, int index )** 
-Cut cross section (or wing section depending on geometry type).\\ 
-**void CopyXSec( string geom_id, int index )** 
-Copy cross section to clipboard.\\ 
-**void PasteXSec( string geom_id, int index )** 
-Paste cross section from clipboard to xsec at index.\\ 
-**void InsertXSec( strin geom_id, int index, int type )** 
-Insert xsec of provided type after index.\\ 
- 
- 
-==== Wing Section Functions ==== 
-**void SetDriverGroup(const string&​in,​ int, int, int, int)**\\ 
- 
- 
-==== Container Functions ==== 
-**array<​string>​@ FindContainers()**\\ 
-**array<​string>​@ FindContainersWithName(const string&​in)**\\ 
-**string FindContainer(const string&​in,​ int)**\\ 
-**string GetContainerName(const string&​in)**\\ 
-**array<​string>​@ FindContainerGroupNames(const string&​in)**\\ 
-**array<​string>​@ FindContainerParmIDs(const string&​in)**\\ 
- 
- 
-==== Matrix4d Class ==== 
-**Matrix4d** 
-Double 4x4 matrix class.\\ 
-**Matrix4d::​Matrix4d()** 
-Default constructor,​ loads identity matrix.\\ 
-**void Matrix4d::​loadIdentity()** 
-Loads identity matrix.\\ 
-**void Matrix4d::​translatef( double x, double y, double z)** 
-Sets translation and pre-multiply current matrix.\\ 
-**void Matrix4d::​rotateX( double)** 
-Sets rotation about x-axis and pre-multiply current matrix.\\ 
-**void Matrix4d::​rotateY( double)** 
-Sets rotation about y-axis and pre-multiply current matrix.\\ 
-**void Matrix4d::​rotateZ( double)** 
-Sets rotation about z-axis and pre-multiply current matrix.\\ 
-**void Matrix4d::​scale( double)** 
-Sets scale and pre-multiply current matrix.\\ 
-**vec3d Matrix4d::​xform( vec3d )** 
-Tranform vector and return result.\\ 
-**vec3d Matrix4d::​getAngles()** 
-Return the current angle about each axis.\\ 
-**void Matrix4d::​loadXZRef()** 
-Set identity matrix and reflection about XZ plane.\\ 
-**void Matrix4d::​loadXYRef()** 
-Set identity matrix and reflection about XY plane.\\ 
-**void Matrix4d::​loadYZRef()** 
-Set identity matrix and reflection about YZ plane.\\ 
-**void Matrix4d::​affineInverse()** 
-Invert matrix of rotations and translation (not scale or shear).\\ 
-**void Matrix4d::​buildXForm(vec3d pos, vec3d rot, vec3d center_of_rot)** 
-Build a matrix to translate to pos and rot about center of rotation.\\ 
- 
- 
-==== Parm Functions ==== 
-**bool ValidParm( string id )** 
-Check if parm is valid.\\ 
-**double SetParmVal(string parm_id, double val )** 
-Set the parm value. ​ Returns new parm value (may be different that input because of limits).\\ 
-**double SetParmVal(string geom_id, string name, string group, double val )** 
-Find the parm and set value.\\ 
-**double SetParmValUpdate(string parm_id, double val )** 
-Set the parm limit and update.\\ 
-**double SetParmValUpdate(string geom_id, string name, string group, double val )** 
-Find the parm, set value and update.\\ 
-**double GetParmVal(string parm_id )** 
-Returns the parms value.\\ 
-**double GetParmVal( string geom_id, string name, string group )** 
-Find the parm and return the parms value.\\ 
-**int GetIntParmVal(string parm_id )** 
-Returns the parms value as an int.\\ 
-**bool GetBoolParmVal(string parm_id )** 
-Returns the parms value as a bool.\\ 
-**double SetParmValLimits(string parm_id, double val, double lower_limit,​ double upper_limit )** 
-Set the parm limits.\\ 
-**void SetParmUpperLimit( string parm_id, double val )** 
-Set parm upper limit.\\ 
-**double GetParmUpperLimit( string parm_id )** 
-Get parm upper limit.\\ 
-**void SetParmLowerLimit( string parm_id, double val )** 
-Set parm lower limit.\\ 
-**double GetParmLowerLimit( string parm_id )** 
-Get parm lower limit.\\ 
-**int GetParmType( string parm_id )** 
-Get parm [[api#Parm Type Enums|type]].\\ 
-**string GetParmName( string parm_id )** 
-Returns parm name string.\\ 
-**string GetParmGroupName(const string&​in)**\\ 
-**string GetParmDisplayGroupName(const string&​in)**\\ 
-**string GetParmContainer( string parm_id )** 
-Returns the parm container'​s id string.\\ 
-**void SetParmDescript( string parm_id, string description )** 
-Sets the full description for this parm.\\ 
-**string FindParm( string parm_container_id,​ string name, string group )** 
-Find a parm ID given parm container id, name and group.\\ 
- 
- 
-==== Results ==== 
-**int GetNumResults( string name )** 
-Get the number of stored results with the input name. \\ 
-**string FindResultsID( string name, int index = 0 )** 
-Get the results id string for the input name and index. \\ 
-**string FindLatestResultsID( string name )** 
-Get the results id for the latest results with the input name. \\ 
-**int GetNumData( string results_id, string data_name )** 
-Get the number of data entries with the input results_id and data name. \\ 
-**array<​string>​@ ​ GetAllResultsNames()** 
-Returns a vector of string containing all available result names. \\ 
-**array<​string>​@ ​ GetAllDataNames( string results_id )** 
-Returns a vector of strings containing all the data names for the given result id.\\ 
-**array<​int>​@ GetIntResults( string result_id, string data_name, int index = 0)** 
-Returns a vector of ints containing the result data for the given result_id, data_name, and index.\\ 
-**array<​double>​@ GetDoubleResults( string result_id, string data_name, int index = 0)** 
-Returns a vector of doubles containing the result data for the given result_id, data_name, and index.\\ 
-**array<​int>​@ GetStringResults( string result_id, string data_name, int index = 0)** 
-Returns a vector of strings containing the result data for the given result_id, data_name, and index.\\ 
-**array<​int>​@ GetVec3dResults( string result_id, string data_name, int index = 0)** 
-Returns a vector of vec3d containing the result data for the given result_id, data_name, and index.\\ 
-**string CreateGeomResults(string geom_id, string name )** 
-Create points, cross-section and/or triangles in the results depending on type of geometry.\\ 
-**void DeleteAllResults()** 
-Delete all results from memory.\\ 
-**void DeleteResult( string id )** 
-Delete result with specified id.\\ 
-**void WriteResultsCSVFile(string id, string file_name )** 
-Write the specified results to a csv file.\\ 
-**WriteTestResults()**\\ 
- 
- 
-==== Set Functions ==== 
-**int GetNumSets()** 
-Returns the number of geometry sets\\ 
-**void SetSetName( int index, string name )** 
-Set the sets name.\\ 
-**string GetSetName( int index )** 
-Get the sets name.\\ 
-**array<​string>​@ ​ GetGeomSetAtIndex( int index )** 
-Returns an array of geom ids that belong to the set.\\ 
-**array<​string>​@ ​ GetGeomSet( string name )()** 
-Returns an array of geom ids that belong to the named set.\\ 
-**bool GetSetFlag( string geom_id, int set_index )** 
-Returns true is geom belongs to set.\\ 
-**void SetSetFlag( string geom_id, int set_index, bool flag )** 
-Set the geometry set flag.\\ 
- 
- 
-==== Utility Functions==== 
-**void Print( string, bool )**      
-Print string to console with optional line return.\\ ​     
-**void Print( int, bool )**                
-Print int  to console with optional line return.\\ ​ 
-**void Print( double, bool )**                
-Print double ​ to console with optional line return.\\ 
-**void Print( vec3d, bool )**                
-Print vec3d  to console with optional line return.\\ ​ 
-**double Min( double, double )**                
-Returns min of two doubles.\\ ​ 
-**double Max( double, double )**                
-Returns max of two doubles.\\ ​ 
-**double Rad2Deg( double )**                
-Convert radians to degrees.\\ ​ 
-**double Deg2Rad( double )**                
-Convert degrees to radians.\\ ​ 
- 
- 
-==== vec3d Class ==== 
-**vec3d** 
-Vector of 3 doubles class.\\ 
-**vec3d::​vec3d()** 
-Default constructor,​ loads zeros.\\ 
-**vec3d::​vec3d(double x, double y, double z)** 
-Constructor,​ loads input values.\\ 
-**vec3d::​vec3d(vec3d vin)** 
-Constructor,​ loads input values from vin\\ 
-**double vec3d::[ int index ]** 
-Index operator, returns value at index. \\ 
-**double vec3d::[ int index ]** 
-Index operator, returns value at index. \\ 
-**+ Operator ** 
-Add two vec3d: A = B + C\\ 
-**- Operator ** 
-Subtract two vec3d: A = B - C\\ 
-*** Operator ** 
-Multiply two vec3d: A = B * C\\ 
-*** Operator ** 
-Multiply vec3d and scalar: A = B*double\\ 
-**/ Operator ** 
-Divide vec3d and scalar: A = B/double\\ 
-**double vec3d::​x()** 
-Returns x value (vec3d[0]); \\ 
-**double vec3d::​y()** 
-Returns y value (vec3d[1]); \\ 
-**double vec3d::​z()** 
-Returns z value (vec3d[2]); \\ 
-**vec3d set_xyz(double x, double y, double z)** 
-Set all three values.\\ 
-**vec3d set_x(double x)** 
-Set x value\\ 
-**vec3d set_y(double y)** 
-Set y value\\ 
-**vec3d set_z(double z)** 
-Set z value\\ 
-**void rotate_x(double cos_alpha, double sin_alpha)** 
-Rotate about the x-axis by angle theta. ​ Input sin/cos theta\\ 
-**void rotate_y(double cos_alpha, double sin_alpha)** 
-Rotate about the y-axis by angle theta. ​ Input sin/cos theta\\ 
-**void rotate_z(double cos_alpha, double sin_alpha)** 
-Rotate about the z-axis by angle theta. ​ Input sin/cos theta\\ 
-**void offset_x(double offset)** 
-Add offset to x.\\ 
-**void offset_y(double offset)** 
-Add offset to y.\\ 
-**void offset_z(double offset)** 
-Add offset to z.\\ 
-**vec3d reflect_xy()** 
-Reflect vec across xy plane.\\ 
-**vec3d reflect_xz()** 
-Reflect vec across xz plane.\\ 
-**vec3d reflect_yz()** 
-Reflect vec across yz plane.\\ 
-**double mag()** 
-Compute and return magnitude of vector.\\ 
-**void normalize()** 
-Normalize the vec.\\ 
-**double dist(vec3d a, vec3d b)** 
-Compute the distance between two vectors.\\ 
-**double dist_squared(vec3d a, vec3d b)** 
-Compute the distance squared between two vectors.\\ 
-**double dot(vec3d a, vec3d b)** 
-Compute the dot product of two vectors.\\ 
-**vec3d cross(vec3d a, vec3d b)** 
-Compute the cross product of two vectors.\\ 
-**double angle(vec3d a, vec3d b)** 
-Compute the angle between two vectors\\ 
-**double signed_angle(vec3d a, vec3d b, vec3d ref )** 
-Compute the signed angle between two vectors given a reference vector.\\ 
-**double cos_angle(vec3d a, vec3d b )** 
-Compute the cos of the angle between two vecs.\\ 
-**vec3d RotateArbAxis(vec3d p, double theta, vec3d axis )** 
-Rotate the vector about an arbitrary axis.\\ 
-**array<​vec3d>​@ GetProxyVec3dArray()**\\ 
-**void SetVec3dArray(array<​vec3d>​@)**\\ 
- 
-==== Vehicle Functions ==== 
-**void Update()** 
-Force an update of the geometry.\\ 
-**void ClearVSPModel()** 
-Clear all geometry.\\ 
- 
- 
-==== XSec ==== 
-**int GetXSecShape( string xsec_id )** 
-Get the xsec curve [[api#Cross Sections Curve Type Enums|type]]. \\ 
-**double GetXSecWidth( string xsec_id )** 
-Return the xsec width.\\ 
-**double GetXSecHeight( string xsec_id )** 
-Return the xsec height.\\ 
-**void SetXSecWidthHeight( string xsec_id, double w, double h )** 
-Set the width and height of the xsec.\\ 
-**array<​string>​@ ​ GetXSecParmIDs(string xsec_id )** 
-Returns a vector of all parm ids in the xsec.\\ 
-**string GetXSecParm( string xsec_id, string name )** 
-Returns the parm id given the xsec id and parm name.\\ 
-**array<​vec3d>​@ ​ ReadFileXSec(string xsec_id, string file_name ​ )** 
-Read the xsec points from a file and return them in the array. ​ XSec type must be XS_FILE_FUSE.\\ 
-**void SetXSecPnts( string xsec_id, array<​vec3d>​@ pnt_arr ) ** 
-Interpolate the given array of points for the xsec curve. XSec type must be XS_FILE_FUSE.\\ 
-**vec3d ComputeXSecPnt( string xsec_id, double fract )** 
-Compute a point on the xsec given the u fraction between 0 and 1.\\ 
-**vec3d ComputeXSecTan( string xsec_id, double fract )** 
-Compute a tangent on the xsec given the u fraction between 0 and 1.\\ 
-**void SetXSecContinuity( string, int cx )** 
-Set the continuity at the xsec (0,1 or 2)\\ 
-**void SetXSecTanAngles( string xsec_id, int [[api#Cross Sections Side Enums|side]],​ double top, double right = 0, double bottom = 0, double left = 0 )** 
-Set the tangent angles (degrees) at the xsec.  Values left blank will be copied (top->​bottom->​right->​left).\\ 
-**void SetXSecTanStrengths( string xsec_id, int [[api#Cross Sections Side Enums|side]],​ double top, double right = 0, double bottom = 0, double left = 0 )** 
-Set the tangent strengths (degrees) at the xsec.  Values left blank will be copied (top->​bottom->​right->​left).\\ 
-**void SetXSecCurvatures( string xsec_id, int [[api#Cross Sections Side Enums|side]],​ double top, double right = 0, double bottom = 0, double left = 0 )** 
-Set the curvatue angles (degrees) at the xsec.  Values left blank will be copied (top->​bottom->​right->​left).\\ 
-**void ResetXSecSkinParms( string xsec_id )** 
-Reset all xsec skim parms to default\\ 
-**void ReadFileAirfoil(const string&​in,​ const string&​in)**\\ 
-**void SetAirfoilPnts(const string&​in,​ array<​vec3d>​@,​ array<​vec3d>​@)**\\ 
-**array<​vec3d>​@ GetAirfoilUpperPnts(const string&​in)**\\ 
-**array<​vec3d>​@ GetAirfoilLowerPnts(const string&​in)**\\ 
- 
- 
-==== XSec Surf ==== 
-**string GetXSecSurf( string geom_id, int index )** 
-Return the xsec surf id.\\ 
-**int GetNumXSec( string xsec_surf_id )** 
-Return the number of cross sections in the xsec surf.\\ 
-**string GetXSec( string xsec_surf_id,​ int xsec_index )** 
-Retuyrn the xsec id given the xsec_surf id and index.\\ 
-**string AppendXSec - Removed**\\ 
-**void CutXSec - Removed use this [[api#​Geom|version]]**\\ 
-**void CopyXSec - Removed use this [[api#​Geom|version]]**\\ 
-**void PasteXSec - Removed use this [[api#​Geom|version]]**\\ 
-**string InsertXSec - Removed use this [[api#​Geom|version]]**\\ 
-**void ChangeXSecShape( string xsec_surf_id,​ int xsec_index, int [[api#Cross Sections Curve Type Enums|type]] )** 
-Change the xsec at xsec_index to the given type.\\ 
-**void SetXSecSurfGlobalXForm( string xsec_surf_id,​ Matrix4d mat )** 
-Set the global transform mat for the given xsec_surf.\\ 
-**Matrix4d GetXSecSurfGlobalXForm( string xsec_surf_id )** 
-Return the global transform mat for the given xsec_surf.\\ 
- 
- 
-===== Custom Component Functions ===== 
-**string AddParm( int [[api#Parm Type Enums|type]],​ string name, string group )** 
-Add parm to custom component. ​ Returns parm id string.\\ 
-**string GetCurrCustomGeom()** 
-Return the current active custom geom id.\\ 
-**string GetCustomParm( int )**\\ 
-**int AddGui( int [[api#GUI Device Enums|type]],​ string label = string(), string parm_name = string(), string group_name = string(), double range = 10.0 )** 
-Add a GUI device the the custom geom definition. ​ If parm_name and group_name are provided then UpdateGui is not required.\\ 
-**void UpdateGui( int, const string & in )**\\ 
-**string AddXSecSurf()** 
-Add a cross-section surface to the active custom component. ​ Returns xsecsurf id string.\\ 
-**void RemoveXSecSurf(const string & in xsec_id)** 
-Remove the xsec surf from the active custom component.\\ 
-**void ClearXSecSurfs()** 
-Remove all xsec surfs.\\ 
-**void SkinXSecSurf( bool closed_flag = false ) ** 
-Skin all the xsec surf attached to the custom component.\\ 
-**void CloneSurf(int index, Matrix4d mat)** 
-Clone the xsec surf and transform by mat.\\ 
-**void TransformSurf( int, Matrix4d & in )**\\ 
-**void SetVspSurfType(int,​ int = - 1)**\\ 
-**void SetVspSurfCfdType(int,​ int = - 1)**\\ 
-**void SetCustomXSecLoc( string xsec_id, vec3d loc )** 
-Set the cross section location.\\ 
-**vec3d GetCustomXSecLoc(const string&​in)**\\ 
-**void SetCustomXSecRot( string xsec_id, vec3d rot )** 
-Set the cross section rotation.\\ 
-**vec3d GetCustomXSecRot(const string&​in)**\\ 
-**bool CheckClearTriggerEvent( int gui_id )** 
-Check for a trigger event and clear trigger if found.\\ 
-**void SetupCustomDefaultSource(int,​ int, double, double, double, double, double = 0, double = 0, double = 0, double = 0)**\\ 
-**void ClearAllCustomDefaultSources()**\\ 
-**void SetCustomCenter(double,​ double, double)**\\ 
-**string AppendXSec(const string&​in,​ int)**\\ 
-**string AppendCustomXSec( int xsec_surf_id,​ int [[api#Cross Sections Curve Type Enums|type]] ​ )** 
-Append a xsec to the xsec_surf. Returns xsec id.\\ 
-**void CutCustomXSec( sint xsec_surf_id,​ int index )** 
-Cut the xsec at index\\ 
-**void CopyCustomXSec( sint xsec_surf_id,​ int index )** 
-Copy the xsec at index to the clipboard.\\ 
-**void PasteCustomXSec( sint xsec_surf_id,​ int index )** 
-Paste clipboard xsec to index\\ 
-**string InsertCustomXSec( int xsec_surf_id,​ int index, int [[api#Cross Sections Curve Type Enums|type]] ​ )** 
-Insert a xsec to the xsec_surf after index.\\ 
- 
- 
-==== Advanced Parameter Link Functions ==== 
-**void AddInput(const string&​in,​ int, const string&​in,​ const string&​in,​ const string&​in)**\\ 
-**void AddOutput(const string&​in,​ int, const string&​in,​ const string&​in,​ const string&​in)**\\ 
-**void SetVar(const string&​in,​ double)**\\ 
-**double GetVar(const string&​in)**\\ 
- 
- 
-==== Design Variable Functions ==== 
-**void ReadApplyDESFile(const string&​in)**\\ 
-**void WriteDESFile(const string&​in)**\\ 
-**void ReadApplyXDDMFile(const string&​in)**\\ 
-**void WriteXDDMFile(const string&​in)**\\ 
-**int GetNumDesignVars()**\\ 
-**void AddDesignVar(const string&​in,​ int)**\\ 
-**void DeleteAllDesignVars()**\\ 
-**string GetDesignVar(int)**\\ 
-**int GetDesignVarType(int)**\\ 
- 
-===== Script/API Enums ===== 
- 
-==== Absolute or Relative Flag Enums ==== 
-**ABS**\\ 
-**REL**\\ 
- 
-==== CFD Control Type Enums ==== 
-**CFD_MIN_EDGE_LEN**\\ 
-**CFD_MAX_EDGE_LEN**\\ 
-**CFD_MAX_GAP**\\ 
-**CFD_NUM_CIRCLE_SEGS**\\ 
-**CFD_GROWTH_RATIO**\\ 
-**CFD_LIMIT_GROWTH_FLAG**\\ 
-**CFD_INTERSECT_SUBSURFACE_FLAG**\\ 
-**CFD_HALF_MESH_FLAG**\\ 
-**CFD_FAR_FIELD_FLAG**\\ 
-**CFD_FAR_MAX_EDGE_LEN**\\ 
-**CFD_FAR_MAX_GAP**\\ 
-**CFD_FAR_NUM_CIRCLE_SEGS**\\ 
-**CFD_FAR_SIZE_ABS_FLAG**\\ 
-**CFD_FAR_LENGTH**\\ 
-**CFD_FAR_WIDTH**\\ 
-**CFD_FAR_HEIGHT**\\ 
-**CFD_FAR_X_SCALE**\\ 
-**CFD_FAR_Y_SCALE**\\ 
-**CFD_FAR_Z_SCALE**\\ 
-**CFD_FAR_LOC_MAN_FLAG**\\ 
-**CFD_FAR_LOC_X**\\ 
-**CFD_FAR_LOC_Y**\\ 
-**CFD_FAR_LOC_Z**\\ 
-**CFD_WAKE_SCALE**\\ 
-**CFD_WAKE_ANGLE**\\ 
- 
-==== CFD Mesh Source Type Enums ==== 
-**POINT_SOURCE**\\ 
-**LINE_SOURCE**\\ 
-**BOX_SOURCE**\\ 
- 
-==== VSP Surface Behavior Type Enums ==== 
-**NORMAL_SURF**\\ 
-**WING_SURF**\\ 
-**DISK_SURF**\\ 
- 
-==== VSP CFD Surface Behavior Type Enums ==== 
-**CFD_NORMAL**\\ 
-**CFD_NEGATIVE**\\ 
-**CFD_TRANSPARENT**\\ 
- 
-==== Computation File Enums ==== 
-**NO_FILE_TYPE**\\ 
-**COMP_GEOM_TXT_TYPE**\\ 
-**COMP_GEOM_CSV_TYPE**\\ 
-**DRAG_BUILD_TSV_TYPE**\\ 
-**SLICE_TXT_TYPE**\\ 
-**MASS_PROP_TXT_TYPE**\\ 
-**DEGEN_GEOM_CSV_TYPE**\\ 
-**DEGEN_GEOM_M_TYPE**\\ 
-**CFD_STL_TYPE**\\ 
-**CFD_POLY_TYPE**\\ 
-**CFD_TRI_TYPE**\\ 
-**CFD_OBJ_TYPE**\\ 
-**CFD_DAT_TYPE**\\ 
-**CFD_KEY_TYPE**\\ 
-**CFD_GMSH_TYPE**\\ 
-**CFD_SRF_TYPE**\\ 
-**CFD_TKEY_TYPE**\\ 
- 
-==== Cross Section Type Enums ==== 
-**XSEC_FUSE**\\ 
-**XSEC_STACK**\\ 
-**XSEC_NUM_TYPES**\\ 
- 
-==== Cross Sections Curve Type Enums ==== 
-**XS_POINT**\\ 
-**XS_CIRCLE**\\ 
-**XS_ELLIPSE**\\ 
-**XS_SUPER_ELLIPSE**\\ 
-**XS_ROUNDED_RECTANGLE**\\ 
-**XS_GENERAL_FUSE**\\ 
-**XS_FILE_FUSE**\\ 
-**XS_FOUR_SERIES**\\ 
-**XS_SIX_SERIES**\\ 
-**XS_BICONVEX**\\ 
-**XS_WEDGE**\\ 
-**XS_BEZIER**\\ 
-**XS_FILE_AIRFOIL**\\ 
- 
-==== Cross Sections Side Enums ==== 
-**XSEC_BOTH_SIDES**\\ 
-**XSEC_LEFT_SIDE**\\ 
-**XSEC_RIGHT_SIDE**\\ 
- 
-==== Cross Section Width Shift Enums ==== 
-**XS_SHIFT_LE**\\ 
-**XS_SHIFT_MID**\\ 
-**XS_SHIFT_TE**\\ 
- 
-==== Wing Driver Selection Enums ==== 
-**AR_WSECT_DRIVER**\\ 
-**SPAN_WSECT_DRIVER**\\ 
-**AREA_WSECT_DRIVER**\\ 
-**TAPER_WSECT_DRIVER**\\ 
-**AVEC_WSECT_DRIVER**\\ 
-**ROOTC_WSECT_DRIVER**\\ 
-**TIPC_WSECT_DRIVER**\\ 
-**SECSWEEP_WSECT_DRIVER**\\ 
- 
-==== Cross Section Closure Type Enums ==== 
-**CLOSE_NONE**\\ 
-**CLOSE_SKEWLOW**\\ 
-**CLOSE_SKEWUP**\\ 
-**CLOSE_SKEWBOTH**\\ 
-**CLOSE_EXTRAP**\\ 
-**CLOSE_NUM_TYPES**\\ 
- 
-==== Cross Section Trim Type Enums ==== 
-**TRIM_NONE**\\ 
-**TRIM_X**\\ 
-**TRIM_THICK**\\ 
-**TRIM_NUM_TYPES**\\ 
- 
-==== Direction Index Enums ==== 
-**X_DIR**\\ 
-**Y_DIR**\\ 
-**Z_DIR**\\ 
- 
-==== Symmetry Code Enums ==== 
-**SYM_XY**\\ 
-**SYM_XZ**\\ 
-**SYM_YZ**\\ 
-**SYM_ROT_X**\\ 
-**SYM_ROT_Y**\\ 
-**SYM_ROT_Z**\\ 
-**SYM_PLANAR_TYPES**\\ 
-**SYM_NUM_TYPES**\\ 
- 
-==== Error Code Enums ==== 
-**VSP_OK**\\ 
-**VSP_INVALID_PTR**\\ 
-**VSP_CANT_FIND_TYPE**\\ 
-**VSP_CANT_FIND_PARM**\\ 
-**VSP_CANT_FIND_NAME**\\ 
-**VSP_INVALID_GEOM_ID**\\ 
-**VSP_FILE_DOES_NOT_EXIST**\\ 
-**VSP_FILE_WRITE_FAILURE**\\ 
-**VSP_WRONG_XSEC_TYPE**\\ 
-**VSP_WRONG_FILE_TYPE**\\ 
-**VSP_INDEX_OUT_RANGE**\\ 
-**VSP_INVALID_XSEC_ID**\\ 
- 
-==== Export Type Enums ==== 
-**EXPORT_FELISA**\\ 
-**EXPORT_XSEC**\\ 
-**EXPORT_STL**\\ 
-**EXPORT_AWAVE**\\ 
-**EXPORT_NASCART**\\ 
-**EXPORT_POVRAY**\\ 
-**EXPORT_CART3D**\\ 
-**EXPORT_VORXSEC**\\ 
-**EXPORT_XSECGEOM**\\ 
-**EXPORT_GMSH**\\ 
-**EXPORT_X3D**\\ 
- 
-==== GUI Device Enums ==== 
-**GDEV_TAB**\\ 
-**GDEV_SCROLL_TAB**\\ 
-**GDEV_GROUP**\\ 
-**GDEV_PARM_BUTTON**\\ 
-**GDEV_INPUT**\\ 
-**GDEV_SLIDER**\\ 
-**GDEV_LOG_SLIDER**\\ 
-**GDEV_SLIDER_ADJ_RANGE**\\ 
-**GDEV_CHECK_BUTTON**\\ 
-**GDEV_RADIO_BUTTON**\\ 
-**GDEV_TOGGLE_BUTTON**\\ 
-**GDEV_TRIGGER_BUTTON**\\ 
-**GDEV_TOGGLE_RADIO_GROUP**\\ 
-**GDEV_COUNTER**\\ 
-**GDEV_CHOICE**\\ 
-**GDEV_ADD_CHOICE_ITEM**\\ 
-**GDEV_SLIDER_INPUT**\\ 
-**GDEV_SLIDER_ADJ_RANGE_INPUT**\\ 
-**GDEV_SLIDER_ADJ_RANGE_TWO_INPUT**\\ 
-**GDEV_FRACT_PARM_SLIDER**\\ 
-**GDEV_INDEX_SELECTOR**\\ 
-**GDEV_STRING_INPUT**\\ 
-**GDEV_COLOR_PICKER**\\ 
-**GDEV_YGAP**\\ 
-**GDEV_DIVIDER_BOX**\\ 
-**GDEV_BEGIN_SAME_LINE**\\ 
-**GDEV_END_SAME_LINE**\\ 
-**GDEV_FORCE_WIDTH**\\ 
-**GDEV_SET_FORMAT**\\ 
- 
-==== Import Type Enums ==== 
-**IMPORT_STL**\\ 
-**IMPORT_NASCART**\\ 
-**IMPORT_CART3D_TRI**\\ 
-**IMPORT_XSEC_MESH**\\ 
-**IMPORT_PTS**\\ 
- 
-==== Parm Type Enums ==== 
-**PARM_DOUBLE_TYPE**\\ 
-**PARM_INT_TYPE**\\ 
-**PARM_BOOL_TYPE**\\ 
-**PARM_FRACTION_TYPE**\\ 
-**PARM_STRING_TYPE**\\ 
- 
-==== Set Type Enums ==== 
-**SET_ALL**\\ 
-**SET_SHOWN**\\ 
-**SET_NOT_SHOWN**\\ 
-**SET_FIRST_USER**\\ 
- 
-==== Sub Surface Type Enums ==== 
-**SS_LINE**\\ 
-**SS_RECTANGLE**\\ 
-**SS_ELLIPSE**\\ 
- 
-==== XDDM Quantity Type Enums ==== 
-**XDDM_VAR**\\ 
-**XDDM_CONST**\\ 
- 
- 
- 
-===== AngelScript Functions And Classes ===== 
- 
-==== Script Language ===== 
-http://​www.angelcode.com/​angelscript/​sdk/​docs/​manual/​doc_script.html 
- 
-==== Array Class ===== 
-http://​www.angelcode.com/​angelscript/​sdk/​docs/​manual/​doc_datatypes_arrays.html 
- 
-==== Math Functions ===== 
-http://​www.angelcode.com/​angelscript/​sdk/​docs/​manual/​doc_addon_math.html 
- 
-==== String Class ===== 
-http://​www.angelcode.com/​angelscript/​sdk/​docs/​manual/​doc_datatypes_strings.html 
- 
- 
-