libsurf
Programmer's Documentation

Classes | Functions
Geometry

A large part of libsurf implements curve and surface geometry objects which are used in the mesh generation functions. More...

Detailed Description

A large part of libsurf implements curve and surface geometry objects which are used in the mesh generation functions.

Note that even though a wide variety of different types of curves and surfaces are equally fully supported, their performance characteristics differ, simply because of the mathematical complexity of their evaluation. Significant effort has been expended to speed up the evaluation of cubic (non-rational) b-spline curves and surfaces.

Classes

class  AbstractCurve
 Base class for all curve objects. More...
 
class  AbstractUvCurve
 Curve in (u,v) domain of parametric surface. More...
 
class  Airfoil
 Airfoil as spline. More...
 
class  AirfoilCollection
 Collection of airfoil coordinates. More...
 
class  AirfoilFitter
 Fit airfoil to cut through mesh/geometry. More...
 
class  BezierSegment
 Single cubic Bezier segment. More...
 
class  CircularArc
 Exactly represented circular arc. More...
 
class  CompositeCurve
 Composite curve. More...
 
class  Curve
 Cubic section curve. More...
 
class  Cylinder
 Cylinder surface. More...
 
class  EdgeFaceIsec
 Intersection between edge and triangular face. More...
 
class  EfImprove
 Improves accuracy in intersection handling. More...
 
class  EggFrame
 Huegelschaeffer curve. More...
 
class  EllipFrame
 Elliptic fuselage frame. More...
 
class  FaceTree
 Binary tree for triangles. More...
 
class  FlapSpec
 Geometrical specification of control surface. More...
 
class  HexBoxPart
 Hexahedral box. More...
 
class  Instance
 Base class for geometric object instancing. More...
 
class  InstanceSurf
 Associative copy of another surface. More...
 
class  Intersector
 Locates intersection lines. More...
 
class  LazyIsecTree
 Lazily constructed triangle tree. More...
 
class  LinearSurf
 Ruled surface with multiple sections. More...
 
class  LineCurve
 Straight line segment with AbstractCurve interface. More...
 
class  LongCapSurf
 Special tip cap surface. More...
 
class  MappedCurve
 Curve generated by linearly mapping the parameter space. More...
 
class  MultiSurfProjector
 Project point onto nearest of multiple surfaces. More...
 
class  Naca6Generator
 Compute coordinates for NACA 6-series airfoils. More...
 
class  OpenFrame
 Open spline curve. More...
 
class  PlaneSurface
 Simple plane surface. More...
 
class  PolySplineCurve
 Polynomial spline curve. More...
 
class  PolySplineSurf
 Polynomial spline surface. More...
 
class  Product
 Structure, surface geometry and tessellation of surface model. More...
 
class  ProductTree
 Tree structure for geometric instances. More...
 
class  RationalSplineCurve
 NURBS curve. More...
 
class  RationalSplineSurf
 NURBS surface. More...
 
class  RevoSurf
 Surface of revolution. More...
 
class  RingCapSurf
 Ring-parameterized cap surface. More...
 
class  RoundCapSurf
 Round cap surface. More...
 
class  SkinSurf
 Skinned surface. More...
 
class  SlavedWake
 A wake surface which autmatically attaches to a parent wing TE. More...
 
class  SplineCapSurf
 Cap surface as a polynomial spline surface. More...
 
class  SrfProjector
 Computes projection of a point onto a surface. More...
 
class  StitchedSurf
 Combined surface. More...
 
class  SubSurface
 Rectangular parametric region of another surface. More...
 
class  Surface
 Surface interface. More...
 
class  SymFrame
 Symmetric fuselage frame. More...
 
class  SymSurf
 Symmetric surface. More...
 
class  TranSurf
 Cubic transition patch. More...
 
class  TrimmedSurf
 Trimmed surface. More...
 
class  UvCubicCurve
 Cubic spline curve in parameter space. More...
 
class  UvPolyline
 Straight-segment line in parameter space. More...
 
class  UvSplineCurve< P >
 Parameter-space spline curve with compile-time degree. More...
 
class  WakeComponent
 Manages surface mesh generation on wakes. More...
 
class  WakeSurf
 Wake surface attached to wing trailing edge. More...
 
class  WingletBlend
 Elliptic arc surface for blended winglets. More...
 
class  WingTipArc
 Splined wing-tip arc. More...
 
class  WingtipCap
 Mesh cap for open wing tips. More...
 

Functions

bool qr_segment_nearest (const SVector< ND, FloatType > sa[], const SVector< ND, FloatType > sb[], SVector< 2, FloatType > &tab)
 
bool qr_project_point (const SVector< 3, FloatType > tri[], const SVector< 3, FloatType > &p, SVector< 2, FloatType > &uv)
 
FloatType qr_sqdistance (const SVector< 3, FloatType > tri[], const SVector< 3, FloatType > &p)
 
FloatType qr_tritri_sqdistance (const SVector< 3, FloatType > t1[], const SVector< 3, FloatType > t2[], FloatType sqlimit=FloatType(0))
 
bool adp_project_point (const SVector< 3, FloatType > tri[], const SVector< 3, FloatType > &p, SVector< 2, FloatType > &uv)
 
FloatType adp_sqdistance (const SVector< 3, FloatType > tri[], const SVector< 3, FloatType > &p)
 
bool mt_line_triangle (const FloatType lineOrigin[3], const FloatType lineDirection[3], const FloatType tri0[3], const FloatType tri1[3], const FloatType tri2[3], FloatType &t, FloatType &u, FloatType &v)
 
bool mt_line_triangle (const FloatType lineOrigin[3], const FloatType lineDirection[3], const FloatType tri0[3], const FloatType tri1[3], const FloatType tri2[3])
 
bool segura_line_triangle (const FloatType lineP1[], const FloatType lineP2[], const FloatType triP1[], const FloatType triP2[], const FloatType triP3[])
 
bool point_in_polygon (int nv, const FloatType poly[], const FloatType p[])
 
void rxyz_slerp (const FloatType ra[], const FloatType rb[], FloatType s, FloatType rs[])
 
void radial_repldup (const PointList< N, FloatType > &pts, Indices &repl, Indices &keep, FloatType threshold=gmepsilon)
 
int naca6 (int iprofile, int icamber, double toc, int ncmbl, double *cli, double *a, int *nout, double *xyout)
 Generate NACA 6- and 6A-series airfoil coordinates. More...
 

Function Documentation

int naca6 ( int  iprofile,
int  icamber,
double  toc,
int  ncmbl,
double *  cli,
double *  a,
int *  nout,
double *  xyout 
)

Generate NACA 6- and 6A-series airfoil coordinates.

Parameters
iprofileProfile family code, 63-67 or 163-165 for 63A-65A family
icamberCamber code, 0: uncambered, 1: standard camber line, 2: modified camber line (A-profiles)
tocThickness-to-chord ratio
ncmblNumber of mean lines to superimpose (max 10)
cliDesign lift coefficients for camber lines (size 10)
aMean-line chordwise loading factor (0.8 for A-series) (size 10)
noutNumber of chordwise stations for coordinates
xyoutCoordinate output, size at least 800
Returns
Error code (<0) or 0 on success.
See Also
Airfoil
Generated on Sun Nov 17 2019 03:03:17 for libsurf by   doxygen 1.8.5