QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
opennurbs_math.h File Reference

Go to the source code of this file.

Classes

class  ON_Evaluator
 
class  ON_Sum
 

Macros

#define ON_IS_FINITE(x)   (_finite(x)?true:false)
 
#define ON_IS_VALID(x)   (x != ON_UNSET_VALUE && ON_IS_FINITE(x))
 
#define ON_IS_VALID_FLOAT(x)   (x != ON_UNSET_FLOAT && ON_IS_FINITE(x))
 

Functions

ON_DECL int ON_ArePointsOnLine (int, int, int, int, const double *, const ON_BoundingBox &, const ON_Line &, double)
 
ON_DECL int ON_ArePointsOnPlane (int, int, int, int, const double *, const ON_BoundingBox &, const ON_Plane &, double)
 
ON_DECL void ON_Array_aA_plus_B (int, double, const double *, const double *, double *)
 
ON_DECL void ON_Array_aA_plus_B (int, float, const float *, const float *, float *)
 
ON_DECL double ON_ArrayDistance (int, const double *, const double *)
 
ON_DECL double ON_ArrayDistanceSquared (int, const double *, const double *)
 
ON_DECL double ON_ArrayDotDifference (int, const double *, const double *, const double *)
 
ON_DECL double ON_ArrayDotProduct (int, const double *, const double *)
 
ON_DECL float ON_ArrayDotProduct (int, const float *, const float *)
 
ON_DECL double ON_ArrayMagnitude (int, const double *)
 
ON_DECL double ON_ArrayMagnitudeSquared (int, const double *)
 
ON_DECL void ON_ArrayScale (int, double, const double *, double *)
 
ON_DECL void ON_ArrayScale (int, float, const float *, float *)
 
ON_DECL const ON_2dexON_BinarySearch2dexArray (int key_i, const ON_2dex *base, size_t nel)
 
ON_DECL const double * ON_BinarySearchDoubleArray (double key, const double *base, size_t nel)
 
ON_DECL const int * ON_BinarySearchIntArray (int key, const int *base, size_t nel)
 
ON_DECL const unsigned int * ON_BinarySearchUnsignedIntArray (unsigned int key, const unsigned int *base, size_t nel)
 
ON_DECL double ON_BinomialCoefficient (int i, int j)
 
ON_DECL int ON_Compare2dex (const ON_2dex *a, const ON_2dex *b)
 
ON_DECL int ON_Compare3dex (const ON_3dex *a, const ON_3dex *b)
 
ON_DECL int ON_ComparePoint (int, ON_BOOL32, const double *, const double *)
 
ON_DECL int ON_ComparePointList (int, ON_BOOL32, int, int, const double *, int, const double *)
 
ON_DECL int ON_DecomposeVector (const ON_3dVector &V, const ON_3dVector &A, const ON_3dVector &B, double *x, double *y)
 
ON_DECL bool ON_EvaluateQuotientRule (int dim, int der_count, int v_stride, double *v)
 
ON_DECL bool ON_EvaluateQuotientRule2 (int dim, int der_count, int v_stride, double *v)
 
ON_DECL bool ON_EvaluateQuotientRule3 (int dim, int der_count, int v_stride, double *v)
 
ON_DECL ON_BOOL32 ON_EvCurvature (const ON_3dVector &, const ON_3dVector &, ON_3dVector &, ON_3dVector &)
 
ON_DECL ON_BOOL32 ON_EvJacobian (double, double, double, double *)
 
ON_DECL ON_BOOL32 ON_EvNormal (int, const ON_3dVector &, const ON_3dVector &, const ON_3dVector &, const ON_3dVector &, const ON_3dVector &, ON_3dVector &)
 
ON_DECL ON_BOOL32 ON_EvNormalPartials (const ON_3dVector &ds, const ON_3dVector &dt, const ON_3dVector &dss, const ON_3dVector &dst, const ON_3dVector &dtt, ON_3dVector &ns, ON_3dVector &nt)
 
ON_DECL ON_BOOL32 ON_EvPrincipalCurvatures (const ON_3dVector &, const ON_3dVector &, const ON_3dVector &, const ON_3dVector &, const ON_3dVector &, const ON_3dVector &, double *, double *, double *, double *, ON_3dVector &, ON_3dVector &)
 
ON_DECL ON_BOOL32 ON_EvPrincipalCurvatures (const ON_3dVector &, const ON_3dVector &, double l, double m, double n, const ON_3dVector &, double *, double *, double *, double *, ON_3dVector &, ON_3dVector &)
 
ON_DECL bool ON_EvSectionalCurvature (const ON_3dVector &S10, const ON_3dVector &S01, const ON_3dVector &S20, const ON_3dVector &S11, const ON_3dVector &S02, const ON_3dVector &planeNormal, ON_3dVector &K)
 
ON_DECL bool ON_GetClosestPointInPointList (int point_count, const ON_3dPoint *point_list, ON_3dPoint P, int *closest_point_index)
 
ON_DECL bool ON_GetConicEquationThrough6Points (int stride, const double *points2d, double conic[6], double *max_pivot, double *min_pivot, double *zero_pivot)
 
ON_DECL bool ON_GetEllipseConicEquation (double a, double b, double x0, double y0, double alpha, double conic[6])
 
ON_DECL ON_BOOL32 ON_GetParameterTolerance (double, double, double, double *, double *)
 
ON_DECL bool ON_GetPolylineLength (int, ON_BOOL32, int, int, const double *, double *)
 
ON_DECL void ON_hsort (void *base, size_t count, size_t sizeof_element, int(*compare)(const void *, const void *))
 
ON_DECL void ON_hsort (void *base, size_t count, size_t sizeof_element, int(*compare)(void *, const void *, const void *), void *context)
 
ON_DECL int ON_Intersect (const ON_Line &, const ON_Cylinder &, ON_3dPoint &, ON_3dPoint &)
 
ON_DECL bool ON_Intersect (const ON_Line &, const ON_Line &, double *, double *)
 
ON_DECL bool ON_Intersect (const ON_Line &, const ON_Plane &, double *)
 
ON_DECL int ON_Intersect (const ON_Line &, const ON_Sphere &, ON_3dPoint &, ON_3dPoint &)
 
ON_DECL int ON_Intersect (const ON_Line &line, const ON_Arc &arc, double *line_t0, ON_3dPoint &arc_point0, double *line_t1, ON_3dPoint &arc_point1)
 
ON_DECL int ON_Intersect (const ON_Line &line, const ON_Circle &circle, double *line_t0, ON_3dPoint &circle_point0, double *line_t1, ON_3dPoint &circle_point1)
 
ON_DECL bool ON_Intersect (const ON_Plane &, const ON_Plane &, const ON_Plane &, ON_3dPoint &)
 
ON_DECL bool ON_Intersect (const ON_Plane &, const ON_Plane &, ON_Line &)
 
ON_DECL int ON_Intersect (const ON_Plane &, const ON_Sphere &, ON_Circle &)
 
ON_DECL int ON_Intersect (const ON_Plane &plane, const ON_Arc &arc, ON_3dPoint &point0, ON_3dPoint &point1)
 
ON_DECL int ON_Intersect (const ON_Plane &plane, const ON_Circle &circle, ON_3dPoint &point0, ON_3dPoint &point1)
 
ON_DECL bool ON_IsConicEquationAnEllipse (const double conic[6], ON_2dPoint &center, ON_2dVector &major_axis, ON_2dVector &minor_axis, double *major_radius, double *minor_radius)
 
ON_DECL ON_BOOL32 ON_IsContinuous (ON::continuity c, ON_3dPoint Pa, ON_3dVector D1a, ON_3dVector D2a, ON_3dPoint Pb, ON_3dVector D1b, ON_3dVector D2b, double point_tolerance=ON_ZERO_TOLERANCE, double d1_tolerance=ON_ZERO_TOLERANCE, double d2_tolerance=ON_ZERO_TOLERANCE, double cos_angle_tolerance=0.99984769515639123915701155881391, double curvature_tolerance=ON_SQRT_EPSILON)
 
ON_DECL bool ON_IsCurvatureDiscontinuity (const ON_3dVector Km, const ON_3dVector Kp, double cos_angle_tolerance, double curvature_tolerance, double zero_curvature, double radius_tolerance)
 
ON_DECL ON_BOOL32 ON_IsPointGridClosed (int, ON_BOOL32, int, int, int, int, const double *, int)
 
ON_DECL ON_BOOL32 ON_IsPointListClosed (int, int, int, int, const double *)
 
ON_DECL int ON_IsPointListPlanar (bool bRational, int count, int stride, const double *points, const double *boxMin, const double *boxMax, double tolerance, ON_PlaneEquation *plane_equation)
 
ON_DECL bool ON_IsValid (double x)
 
ON_DECL bool ON_IsValidFloat (float x)
 
ON_DECL ON_BOOL32 ON_IsValidPointGrid (int, ON_BOOL32, int, int, int, int, const double *)
 
ON_DECL ON_BOOL32 ON_IsValidPointList (int, ON_BOOL32, int, int, const double *)
 
ON_DECL ON_BOOL32 ON_IsValidPointList (int, ON_BOOL32, int, int, const float *)
 
ON_DECL double ON_Max (double a, double b)
 
ON_DECL float ON_Max (float a, float b)
 
ON_DECL int ON_Max (int a, int b)
 
ON_DECL double ON_Min (double a, double b)
 
ON_DECL float ON_Min (float a, float b)
 
ON_DECL int ON_Min (int a, int b)
 
ON_DECL ON_3dVector ON_NormalCurvature (const ON_3dVector &, const ON_3dVector &, const ON_3dVector &, const ON_3dVector &, const ON_3dVector &, const ON_3dVector &, const ON_3dVector &)
 
ON_DECL ON_BOOL32 ON_Pullback3dVector (const ON_3dVector &, double, const ON_3dVector &, const ON_3dVector &, const ON_3dVector &, const ON_3dVector &, const ON_3dVector &, ON_2dVector &)
 
ON_DECL void ON_qsort (void *base, size_t count, size_t sizeof_element, int(*compare)(const void *, const void *))
 
ON_DECL void ON_qsort (void *base, size_t count, size_t sizeof_element, int(*compare)(void *, const void *, const void *), void *context)
 
ON_DECL ON_BOOL32 ON_ReversePointGrid (int, ON_BOOL32, int, int, int, int, double *, int)
 
ON_DECL bool ON_ReversePointList (int, ON_BOOL32, int, int, double *)
 
ON_DECL int ON_Round (double x)
 
ON_DECL int ON_SearchMonotoneArray (const double *, int, double)
 
ON_DECL int ON_Solve2x2 (double, double, double, double, double, double, double *, double *, double *)
 
ON_DECL int ON_Solve3x2 (const double[3], const double[3], double, double, double, double *, double *, double *, double *)
 
ON_DECL int ON_Solve3x3 (const double row0[3], const double row1[3], const double row2[3], double d0, double d1, double d2, double *x_addr, double *y_addr, double *z_addr, double *pivot_ratio)
 
ON_DECL int ON_Solve4x4 (const double row0[4], const double row1[4], const double row2[4], const double row3[4], double d0, double d1, double d2, double d3, double *x_addr, double *y_addr, double *z_addr, double *w_addr, double *pivot_ratio)
 
ON_DECL double ON_SolveNxN (bool bFullPivot, bool bNormalize, int n, double *M[], double B[], double X[])
 
ON_DECL int ON_SolveQuadraticEquation (double, double, double, double *, double *)
 
ON_DECL ON_BOOL32 ON_SolveTriDiagonal (int, int, double *, const double *, double *, const double *, double *)
 
ON_DECL void ON_Sort (ON::sort_algorithm method, int *index, const void *base, size_t count, size_t sizeof_element, int(*compare)(const void *, const void *))
 
ON_DECL void ON_Sort (ON::sort_algorithm method, int *index, const void *base, size_t count, size_t sizeof_element, int(*compare)(const void *, const void *, void *), void *context)
 
ON_DECL void ON_SortDoubleArray (ON::sort_algorithm, double *, size_t)
 
ON_DECL void ON_SortIntArray (ON::sort_algorithm, int *, size_t)
 
ON_DECL void ON_SortStringArray (ON::sort_algorithm, char **, size_t)
 
ON_DECL void ON_SortUnsignedIntArray (ON::sort_algorithm, unsigned int *, size_t)
 
ON_DECL ON_BOOL32 ON_SwapPointGridCoordinates (int, int, int, int, double *, int, int)
 
ON_DECL bool ON_SwapPointListCoordinates (int, int, double *, int, int)
 
ON_DECL bool ON_SwapPointListCoordinates (int, int, float *, int, int)
 
ON_DECL double ON_TestMathFunction (int function_index, double x, double y)
 
ON_DECL ON_BOOL32 ON_TransformPointGrid (int, ON_BOOL32, int, int, int, int, double *, const ON_Xform &)
 
ON_DECL bool ON_TransformPointList (int, ON_BOOL32, int, int, double *, const ON_Xform &)
 
ON_DECL bool ON_TransformPointList (int, ON_BOOL32, int, int, float *, const ON_Xform &)
 
ON_DECL ON_BOOL32 ON_TransformVectorList (int, int, int, double *, const ON_Xform &)
 
ON_DECL ON_BOOL32 ON_TransformVectorList (int, int, int, float *, const ON_Xform &)
 
ON_DECL double ON_TrinomialCoefficient (int i, int j, int k)
 

Macro Definition Documentation

◆ ON_IS_FINITE

#define ON_IS_FINITE ( x)    (_finite(x)?true:false)

◆ ON_IS_VALID

#define ON_IS_VALID ( x)    (x != ON_UNSET_VALUE && ON_IS_FINITE(x))

◆ ON_IS_VALID_FLOAT

#define ON_IS_VALID_FLOAT ( x)    (x != ON_UNSET_FLOAT && ON_IS_FINITE(x))

Function Documentation

◆ ON_ArePointsOnLine()

ON_DECL int ON_ArePointsOnLine ( int dim,
int is_rat,
int count,
int stride,
const double * point,
const ON_BoundingBox & bbox,
const ON_Line & line,
double tolerance )

◆ ON_ArePointsOnPlane()

ON_DECL int ON_ArePointsOnPlane ( int dim,
int is_rat,
int count,
int stride,
const double * point,
const ON_BoundingBox & bbox,
const ON_Plane & plane,
double tolerance )

◆ ON_Array_aA_plus_B() [1/2]

ON_DECL void ON_Array_aA_plus_B ( int dim,
double a,
const double * A,
const double * B,
double * aA_plus_B )

◆ ON_Array_aA_plus_B() [2/2]

ON_DECL void ON_Array_aA_plus_B ( int dim,
float a,
const float * A,
const float * B,
float * aA_plus_B )

◆ ON_ArrayDistance()

ON_DECL double ON_ArrayDistance ( int dim,
const double * A,
const double * B )

◆ ON_ArrayDistanceSquared()

ON_DECL double ON_ArrayDistanceSquared ( int dim,
const double * A,
const double * B )

◆ ON_ArrayDotDifference()

ON_DECL double ON_ArrayDotDifference ( int dim,
const double * A,
const double * B,
const double * C )

◆ ON_ArrayDotProduct() [1/2]

ON_DECL double ON_ArrayDotProduct ( int dim,
const double * A,
const double * B )

◆ ON_ArrayDotProduct() [2/2]

ON_DECL float ON_ArrayDotProduct ( int dim,
const float * A,
const float * B )

◆ ON_ArrayMagnitude()

ON_DECL double ON_ArrayMagnitude ( int dim,
const double * A )

◆ ON_ArrayMagnitudeSquared()

ON_DECL double ON_ArrayMagnitudeSquared ( int dim,
const double * A )

◆ ON_ArrayScale() [1/2]

ON_DECL void ON_ArrayScale ( int dim,
double s,
const double * A,
double * sA )

◆ ON_ArrayScale() [2/2]

ON_DECL void ON_ArrayScale ( int dim,
float s,
const float * A,
float * sA )

◆ ON_BinarySearch2dexArray()

ON_DECL const ON_2dex * ON_BinarySearch2dexArray ( int key_i,
const ON_2dex * base,
size_t nel )

◆ ON_BinarySearchDoubleArray()

ON_DECL const double * ON_BinarySearchDoubleArray ( double key,
const double * base,
size_t nel )

◆ ON_BinarySearchIntArray()

ON_DECL const int * ON_BinarySearchIntArray ( int key,
const int * base,
size_t nel )

◆ ON_BinarySearchUnsignedIntArray()

ON_DECL const unsigned int * ON_BinarySearchUnsignedIntArray ( unsigned int key,
const unsigned int * base,
size_t nel )

◆ ON_BinomialCoefficient()

ON_DECL double ON_BinomialCoefficient ( int i,
int j )

◆ ON_Compare2dex()

ON_DECL int ON_Compare2dex ( const ON_2dex * a,
const ON_2dex * b )

◆ ON_Compare3dex()

ON_DECL int ON_Compare3dex ( const ON_3dex * a,
const ON_3dex * b )

◆ ON_ComparePoint()

ON_DECL int ON_ComparePoint ( int dim,
ON_BOOL32 is_rat,
const double * pointA,
const double * pointB )

◆ ON_ComparePointList()

ON_DECL int ON_ComparePointList ( int dim,
ON_BOOL32 is_rat,
int point_count,
int point_strideA,
const double * pointA,
int point_strideB,
const double * pointB )

◆ ON_DecomposeVector()

ON_DECL int ON_DecomposeVector ( const ON_3dVector & V,
const ON_3dVector & A,
const ON_3dVector & B,
double * x,
double * y )

◆ ON_EvaluateQuotientRule()

ON_DECL bool ON_EvaluateQuotientRule ( int dim,
int der_count,
int v_stride,
double * v )

◆ ON_EvaluateQuotientRule2()

ON_DECL bool ON_EvaluateQuotientRule2 ( int dim,
int der_count,
int v_stride,
double * v )

◆ ON_EvaluateQuotientRule3()

ON_DECL bool ON_EvaluateQuotientRule3 ( int dim,
int der_count,
int v_stride,
double * v )

◆ ON_EvCurvature()

ON_DECL ON_BOOL32 ON_EvCurvature ( const ON_3dVector & D1,
const ON_3dVector & D2,
ON_3dVector & T,
ON_3dVector & K )

◆ ON_EvJacobian()

ON_DECL ON_BOOL32 ON_EvJacobian ( double ds_o_ds,
double ds_o_dt,
double dt_o_dt,
double * det_addr )

◆ ON_EvNormal()

ON_DECL ON_BOOL32 ON_EvNormal ( int limit_dir,
const ON_3dVector & Du,
const ON_3dVector & Dv,
const ON_3dVector & Duu,
const ON_3dVector & Duv,
const ON_3dVector & Dvv,
ON_3dVector & N )

◆ ON_EvNormalPartials()

ON_DECL ON_BOOL32 ON_EvNormalPartials ( const ON_3dVector & ds,
const ON_3dVector & dt,
const ON_3dVector & dss,
const ON_3dVector & dst,
const ON_3dVector & dtt,
ON_3dVector & ns,
ON_3dVector & nt )

◆ ON_EvPrincipalCurvatures() [1/2]

ON_DECL ON_BOOL32 ON_EvPrincipalCurvatures ( const ON_3dVector & Ds,
const ON_3dVector & Dt,
const ON_3dVector & Dss,
const ON_3dVector & Dst,
const ON_3dVector & Dtt,
const ON_3dVector & N,
double * gauss,
double * mean,
double * kappa1,
double * kappa2,
ON_3dVector & K1,
ON_3dVector & K2 )

◆ ON_EvPrincipalCurvatures() [2/2]

ON_DECL ON_BOOL32 ON_EvPrincipalCurvatures ( const ON_3dVector & Ds,
const ON_3dVector & Dt,
double l,
double m,
double n,
const ON_3dVector & N,
double * gauss,
double * mean,
double * kappa1,
double * kappa2,
ON_3dVector & K1,
ON_3dVector & K2 )

◆ ON_EvSectionalCurvature()

ON_DECL bool ON_EvSectionalCurvature ( const ON_3dVector & S10,
const ON_3dVector & S01,
const ON_3dVector & S20,
const ON_3dVector & S11,
const ON_3dVector & S02,
const ON_3dVector & planeNormal,
ON_3dVector & K )

◆ ON_GetClosestPointInPointList()

ON_DECL bool ON_GetClosestPointInPointList ( int point_count,
const ON_3dPoint * point_list,
ON_3dPoint P,
int * closest_point_index )

◆ ON_GetConicEquationThrough6Points()

ON_DECL bool ON_GetConicEquationThrough6Points ( int stride,
const double * points2d,
double conic[6],
double * max_pivot,
double * min_pivot,
double * zero_pivot )

◆ ON_GetEllipseConicEquation()

ON_DECL bool ON_GetEllipseConicEquation ( double a,
double b,
double x0,
double y0,
double alpha,
double conic[6] )

◆ ON_GetParameterTolerance()

ON_DECL ON_BOOL32 ON_GetParameterTolerance ( double t0,
double t1,
double t,
double * tminus,
double * tplus )

◆ ON_GetPolylineLength()

ON_DECL bool ON_GetPolylineLength ( int dim,
ON_BOOL32 is_rat,
int count,
int stride,
const double * P,
double * length )

◆ ON_hsort() [1/2]

ON_DECL void ON_hsort ( void * base,
size_t count,
size_t sizeof_element,
int(*)(const void *, const void *) compare )

◆ ON_hsort() [2/2]

ON_DECL void ON_hsort ( void * base,
size_t count,
size_t sizeof_element,
int(*)(void *, const void *, const void *) compare,
void * context )

◆ ON_Intersect() [1/11]

ON_DECL int ON_Intersect ( const ON_Line & line,
const ON_Cylinder & cylinder,
ON_3dPoint & A,
ON_3dPoint & B )

◆ ON_Intersect() [2/11]

ON_DECL bool ON_Intersect ( const ON_Line & lineA,
const ON_Line & lineB,
double * lineA_parameter,
double * lineB_parameter )

◆ ON_Intersect() [3/11]

ON_DECL bool ON_Intersect ( const ON_Line & line,
const ON_Plane & plane,
double * line_parameter )

◆ ON_Intersect() [4/11]

ON_DECL int ON_Intersect ( const ON_Line & line,
const ON_Sphere & sphere,
ON_3dPoint & A,
ON_3dPoint & B )

◆ ON_Intersect() [5/11]

ON_DECL int ON_Intersect ( const ON_Line & line,
const ON_Arc & arc,
double * line_t0,
ON_3dPoint & arc_point0,
double * line_t1,
ON_3dPoint & arc_point1 )

◆ ON_Intersect() [6/11]

ON_DECL int ON_Intersect ( const ON_Line & line,
const ON_Circle & circle,
double * line_t0,
ON_3dPoint & circle_point0,
double * line_t1,
ON_3dPoint & circle_point1 )

◆ ON_Intersect() [7/11]

ON_DECL bool ON_Intersect ( const ON_Plane & R,
const ON_Plane & S,
const ON_Plane & T,
ON_3dPoint & P )

◆ ON_Intersect() [8/11]

ON_DECL bool ON_Intersect ( const ON_Plane & R,
const ON_Plane & S,
ON_Line & L )

◆ ON_Intersect() [9/11]

ON_DECL int ON_Intersect ( const ON_Plane & plane,
const ON_Sphere & sphere,
ON_Circle & circle )

◆ ON_Intersect() [10/11]

ON_DECL int ON_Intersect ( const ON_Plane & plane,
const ON_Arc & arc,
ON_3dPoint & point0,
ON_3dPoint & point1 )

◆ ON_Intersect() [11/11]

ON_DECL int ON_Intersect ( const ON_Plane & plane,
const ON_Circle & circle,
ON_3dPoint & point0,
ON_3dPoint & point1 )

◆ ON_IsConicEquationAnEllipse()

ON_DECL bool ON_IsConicEquationAnEllipse ( const double conic[6],
ON_2dPoint & center,
ON_2dVector & major_axis,
ON_2dVector & minor_axis,
double * major_radius,
double * minor_radius )

◆ ON_IsContinuous()

ON_DECL ON_BOOL32 ON_IsContinuous ( ON::continuity c,
ON_3dPoint Pa,
ON_3dVector D1a,
ON_3dVector D2a,
ON_3dPoint Pb,
ON_3dVector D1b,
ON_3dVector D2b,
double point_tolerance = ON_ZERO_TOLERANCE,
double d1_tolerance = ON_ZERO_TOLERANCE,
double d2_tolerance = ON_ZERO_TOLERANCE,
double cos_angle_tolerance = 0.99984769515639123915701155881391,
double curvature_tolerance = ON_SQRT_EPSILON )

◆ ON_IsCurvatureDiscontinuity()

ON_DECL bool ON_IsCurvatureDiscontinuity ( const ON_3dVector Km,
const ON_3dVector Kp,
double cos_angle_tolerance,
double curvature_tolerance,
double zero_curvature,
double radius_tolerance )

◆ ON_IsPointGridClosed()

ON_DECL ON_BOOL32 ON_IsPointGridClosed ( int dim,
ON_BOOL32 is_rat,
int point_count0,
int point_count1,
int point_stride0,
int point_stride1,
const double * p,
int dir )

◆ ON_IsPointListClosed()

ON_DECL ON_BOOL32 ON_IsPointListClosed ( int dim,
int is_rat,
int count,
int stride,
const double * p )

◆ ON_IsPointListPlanar()

ON_DECL int ON_IsPointListPlanar ( bool bRational,
int count,
int stride,
const double * points,
const double * boxMin,
const double * boxMax,
double tolerance,
ON_PlaneEquation * plane_equation )

◆ ON_IsValid()

ON_DECL bool ON_IsValid ( double x)

◆ ON_IsValidFloat()

ON_DECL bool ON_IsValidFloat ( float x)

◆ ON_IsValidPointGrid()

ON_DECL ON_BOOL32 ON_IsValidPointGrid ( int dim,
ON_BOOL32 is_rat,
int point_count0,
int point_count1,
int point_stride0,
int point_stride1,
const double * p )

◆ ON_IsValidPointList() [1/2]

ON_DECL ON_BOOL32 ON_IsValidPointList ( int dim,
ON_BOOL32 is_rat,
int count,
int stride,
const double * p )

◆ ON_IsValidPointList() [2/2]

ON_DECL ON_BOOL32 ON_IsValidPointList ( int dim,
ON_BOOL32 is_rat,
int count,
int stride,
const float * p )

◆ ON_Max() [1/3]

ON_DECL double ON_Max ( double a,
double b )

◆ ON_Max() [2/3]

ON_DECL float ON_Max ( float a,
float b )

◆ ON_Max() [3/3]

ON_DECL int ON_Max ( int a,
int b )

◆ ON_Min() [1/3]

ON_DECL double ON_Min ( double a,
double b )

◆ ON_Min() [2/3]

ON_DECL float ON_Min ( float a,
float b )

◆ ON_Min() [3/3]

ON_DECL int ON_Min ( int a,
int b )

◆ ON_NormalCurvature()

ON_DECL ON_3dVector ON_NormalCurvature ( const ON_3dVector & S10,
const ON_3dVector & S01,
const ON_3dVector & S20,
const ON_3dVector & S11,
const ON_3dVector & S02,
const ON_3dVector & UnitNormal,
const ON_3dVector & UnitTangent )

◆ ON_Pullback3dVector()

ON_DECL ON_BOOL32 ON_Pullback3dVector ( const ON_3dVector & vector,
double distance,
const ON_3dVector & ds,
const ON_3dVector & dt,
const ON_3dVector & dss,
const ON_3dVector & dst,
const ON_3dVector & dtt,
ON_2dVector & pullback )

◆ ON_qsort() [1/2]

ON_DECL void ON_qsort ( void * base,
size_t count,
size_t sizeof_element,
int(*)(const void *, const void *) compare )

◆ ON_qsort() [2/2]

ON_DECL void ON_qsort ( void * base,
size_t count,
size_t sizeof_element,
int(*)(void *, const void *, const void *) compare,
void * context )

◆ ON_ReversePointGrid()

ON_DECL ON_BOOL32 ON_ReversePointGrid ( int dim,
ON_BOOL32 is_rat,
int point_count0,
int point_count1,
int point_stride0,
int point_stride1,
double * p,
int dir )

◆ ON_ReversePointList()

ON_DECL bool ON_ReversePointList ( int dim,
ON_BOOL32 is_rat,
int count,
int stride,
double * p )

◆ ON_Round()

ON_DECL int ON_Round ( double x)

◆ ON_SearchMonotoneArray()

ON_DECL int ON_SearchMonotoneArray ( const double * array,
int length,
double t )

◆ ON_Solve2x2()

ON_DECL int ON_Solve2x2 ( double m00,
double m01,
double m10,
double m11,
double d0,
double d1,
double * x_addr,
double * y_addr,
double * pivot_ratio )

◆ ON_Solve3x2()

ON_DECL int ON_Solve3x2 ( const double col0[3],
const double col1[3],
double d0,
double d1,
double d2,
double * x_addr,
double * y_addr,
double * err_addr,
double * pivot_ratio )

◆ ON_Solve3x3()

ON_DECL int ON_Solve3x3 ( const double row0[3],
const double row1[3],
const double row2[3],
double d0,
double d1,
double d2,
double * x_addr,
double * y_addr,
double * z_addr,
double * pivot_ratio )

◆ ON_Solve4x4()

ON_DECL int ON_Solve4x4 ( const double row0[4],
const double row1[4],
const double row2[4],
const double row3[4],
double d0,
double d1,
double d2,
double d3,
double * x_addr,
double * y_addr,
double * z_addr,
double * w_addr,
double * pivot_ratio )

◆ ON_SolveNxN()

ON_DECL double ON_SolveNxN ( bool bFullPivot,
bool bNormalize,
int n,
double * M[],
double B[],
double X[] )

◆ ON_SolveQuadraticEquation()

ON_DECL int ON_SolveQuadraticEquation ( double a,
double b,
double c,
double * r0,
double * r1 )

◆ ON_SolveTriDiagonal()

ON_DECL ON_BOOL32 ON_SolveTriDiagonal ( int dim,
int n,
double * a,
const double * b,
double * c,
const double * d,
double * X )

◆ ON_Sort() [1/2]

ON_DECL void ON_Sort ( ON::sort_algorithm method,
int * index,
const void * base,
size_t count,
size_t sizeof_element,
int(*)(const void *, const void *) compare )

◆ ON_Sort() [2/2]

ON_DECL void ON_Sort ( ON::sort_algorithm method,
int * index,
const void * base,
size_t count,
size_t sizeof_element,
int(*)(const void *, const void *, void *) compare,
void * context )

◆ ON_SortDoubleArray()

ON_DECL void ON_SortDoubleArray ( ON::sort_algorithm method,
double * e,
size_t nel )

◆ ON_SortIntArray()

ON_DECL void ON_SortIntArray ( ON::sort_algorithm method,
int * e,
size_t nel )

◆ ON_SortStringArray()

ON_DECL void ON_SortStringArray ( ON::sort_algorithm method,
char ** e,
size_t nel )

◆ ON_SortUnsignedIntArray()

ON_DECL void ON_SortUnsignedIntArray ( ON::sort_algorithm method,
unsigned int * e,
size_t nel )

◆ ON_SwapPointGridCoordinates()

ON_DECL ON_BOOL32 ON_SwapPointGridCoordinates ( int point_count0,
int point_count1,
int point_stride0,
int point_stride1,
double * p,
int i,
int j )

◆ ON_SwapPointListCoordinates() [1/2]

ON_DECL bool ON_SwapPointListCoordinates ( int count,
int stride,
double * p,
int i,
int j )

◆ ON_SwapPointListCoordinates() [2/2]

ON_DECL bool ON_SwapPointListCoordinates ( int count,
int stride,
float * p,
int i,
int j )

◆ ON_TestMathFunction()

ON_DECL double ON_TestMathFunction ( int function_index,
double x,
double y )

◆ ON_TransformPointGrid()

ON_DECL ON_BOOL32 ON_TransformPointGrid ( int dim,
ON_BOOL32 is_rat,
int point_count0,
int point_count1,
int point_stride0,
int point_stride1,
double * point,
const ON_Xform & xform )

◆ ON_TransformPointList() [1/2]

ON_DECL bool ON_TransformPointList ( int dim,
ON_BOOL32 is_rat,
int count,
int stride,
double * point,
const ON_Xform & xform )

◆ ON_TransformPointList() [2/2]

ON_DECL bool ON_TransformPointList ( int dim,
ON_BOOL32 is_rat,
int count,
int stride,
float * point,
const ON_Xform & xform )

◆ ON_TransformVectorList() [1/2]

ON_DECL ON_BOOL32 ON_TransformVectorList ( int dim,
int count,
int stride,
double * vector,
const ON_Xform & xform )

◆ ON_TransformVectorList() [2/2]

ON_DECL ON_BOOL32 ON_TransformVectorList ( int dim,
int count,
int stride,
float * vector,
const ON_Xform & xform )

◆ ON_TrinomialCoefficient()

ON_DECL double ON_TrinomialCoefficient ( int i,
int j,
int k )