void AfdApplyAntiLStep(CagdRType Coef[4])
void AfdApplyEStep(CagdRType Coef[4])
void AfdApplyLStep(CagdRType Coef[4])
void AfdApplyLn(CagdRType Coef[4], int n)
void AfdBzrCrvEvalToPolyline(const CagdCrvStruct *Crv, int FineNess, CagdRType *Points[])
void AfdCnvrtCubicBzrToAfd(CagdRType Coef[4])
void AfdComputePolyline(CagdRType Coef[4], CagdRType *Poly, int Log2Step, CagdBType NonAdaptive)
static CagdCrvStruct *BBoxDiagonalInitCrvCalculator(CagdPType *PtList, int NumOfPoints, int Length, int Order, CagdBType Periodic)
static CagdCrvStruct *BBoxPerimeterInitCrvCalculator(CagdPType *PtList, int NumOfPoints, int Length, int Order, CagdBType Periodic)
CagdBspBasisFuncEvalStruct *BspBasisFuncMultEval(const CagdRType *KnotVector, int KVLength, int Order, CagdBType Periodic, CagdRType *Params, int NumOfParams, CagdBspBasisFuncMultEvalType EvalType)
void BspBasisFuncMultEvalFree(CagdBspBasisFuncEvalStruct *Evals, int NumOfParams)
void BspBasisFuncMultEvalPrint(const CagdBspBasisFuncEvalStruct *Evals, int Order, CagdRType *Params, int NumOfParams)
CagdBType BspC1Srf2PolygonsSamples(const CagdSrfStruct *Srf, int FineNess, CagdBType ComputeNormals, CagdBType ComputeUV, CagdRType **PtWeights, CagdPtStruct **PtMesh, CagdVecStruct **PtNrml, CagdUVStruct **UVMesh, int *FineNessU, int *FineNessV)
CagdPolylineStruct *BspCrv2Polyline(const CagdCrvStruct *Crv, int SamplesPerCurve, BspKnotAlphaCoeffStruct *A, CagdBType OptiLin)
CagdPtStruct *BspCrvAllEuclideanC1Discont(const CagdCrvStruct *Crv, IrtBType EuclideanC1Discont, IrtRType Tolerance)
CagdVecStruct *BspCrvBiNormalMalloc(const CagdCrvStruct *Crv, CagdRType t, CagdBType Normalize)
CagdVecStruct *BspCrvBiNormalToData(const CagdCrvStruct *Crv, CagdRType t, CagdBType Normalize, CagdVecStruct *Vec)
CagdRType *BspCrvCoxDeBoorBasis(const CagdRType *KnotVector, int Order, int Len, CagdBType Periodic, CagdRType t, int *IndexFirst, CagdRType *Basis)
int BspCrvCoxDeBoorIndexFirst(const CagdRType *KnotVector, int Order, int Len, CagdRType t)
CagdCrvStruct *BspCrvCreateApproxHelix(CagdRType NumOfLoops, CagdRType Pitch, CagdRType Radius, int Sampling, int CtlPtsPerLoop)
CagdCrvStruct *BspCrvCreateApproxSine(CagdRType NumOfCycles, int Sampling, int CtlPtsPerCycle)
CagdCrvStruct *BspCrvCreateApproxSpiral(CagdRType NumOfLoops, CagdRType Pitch, int Sampling, int CtlPtsPerLoop)
CagdCrvStruct *BspCrvCreateCircle(const CagdPtStruct *Center, CagdRType Radius)
CagdCrvStruct *BspCrvCreatePCircle(const CagdPtStruct *Center, CagdRType Radius)
CagdCrvStruct *BspCrvCreatePCircleTol(const CagdPtStruct *Center, CagdRType Radius, int Order, int Cont, CagdRType Tol)
CagdCrvStruct *BspCrvCreateUnitCircle(void)
CagdCrvStruct *BspCrvCreateUnitPCircle(void)
CagdCrvStruct *BspCrvCreateUnitPCircleCubicTol(CagdRType Tol, int Cont)
CagdCrvStruct *BspCrvCreateUnitPCircleQuadTol(CagdRType Tol, int Cont)
CagdCrvStruct *BspCrvDegreeRaise(const CagdCrvStruct *Crv)
CagdCrvStruct *BspCrvDegreeRaiseN(const CagdCrvStruct *Crv, int NewOrder)
CagdCrvStruct *BspCrvDerive(const CagdCrvStruct *Crv, CagdBType DeriveScalar)
CagdCrvStruct *BspCrvDeriveScalar(const CagdCrvStruct *Crv)
void BspCrvDomain(const CagdCrvStruct *Crv, CagdRType *TMin, CagdRType *TMax)
CagdRType *BspCrvEvalAtParamMalloc(const CagdCrvStruct *Crv, CagdRType t)
void BspCrvEvalAtParamToData(const CagdCrvStruct *Crv, CagdRType t, CagdRType *R)
CagdRType *BspCrvEvalCoxDeBoorMalloc(const CagdCrvStruct *Crv, CagdRType t)
void BspCrvEvalCoxDeBoorToData(const CagdCrvStruct *Crv, CagdRType t, CagdRType *Pt)
CagdRType BspCrvEvalVecAtParam(const CagdRType *Vec, int VecInc, const CagdRType *KnotVector, int Order, int Len, CagdBType Periodic, CagdRType t)
CagdCrvStruct *BspCrvExtension(const CagdCrvStruct *OrigCrv, const CagdBType *ExtDirs, CagdRType Epsilon, CagdBType RemoveExtraKnots)
CagdCrvStruct *BspCrvExtensionOneSide(const CagdCrvStruct *OrigCrv, CagdBType MinDmn, CagdRType Epsilon, CagdRType ExtntScl, CagdBType RemoveExtraKnots)
CagdCrvStruct *BspCrvExtraKnotRmv(const CagdCrvStruct *Crv, int RmvIndex)
CagdCrvStruct *BspCrvFitLstSqr(const CagdCrvStruct *Crv, int Order, int Size, CagdBType Periodic, CagdParametrizationType ParamType, CagdBType EndPtInterp, CagdBType EvalPts, CagdRType *Err)
CagdBType BspCrvHasBezierKV(const CagdCrvStruct *Crv)
CagdBType BspCrvHasOpenEC(const CagdCrvStruct *Crv)
CagdCrvStruct *BspCrvIntegrate(const CagdCrvStruct *Crv)
void BspCrvInterpBuildKVs(const CagdCtlPtStruct *PtList, int Order, int CrvSize, CagdParametrizationType ParamType, CagdBType Periodic, CagdRType **RetPtKnots, CagdRType **RetKV)
CagdCrvStruct *BspCrvInterpPts(const CagdPtStruct *PtList, int Order, int CrvSize, CagdParametrizationType ParamType, CagdBType Periodic)
CagdCrvStruct *BspCrvInterpPts2(const CagdCtlPtStruct *PtList, int Order, int CrvSize, CagdParametrizationType ParamType, CagdBType Periodic, CagdBType EndPtInterp)
CagdCrvStruct *BspCrvInterpPts3(const CagdCtlPtStruct *PtList, const CagdRType *Params, const CagdRType *KV, int Length, int Order, CagdBType Periodic)
CagdRType BspCrvInterpPtsError(const CagdCrvStruct *Crv, const CagdPtStruct *PtList, CagdParametrizationType ParamType, CagdBType Periodic)
CagdCrvStruct *BspCrvInterpolate(const CagdCtlPtStruct *PtList, const CagdRType *Params, const CagdRType *KV, int Length, int Order, CagdBType Periodic)
CagdBType BspCrvIsC1DiscontAt(const CagdCrvStruct *Crv, CagdRType t)
CagdBType BspCrvKnotC0Discont(const CagdCrvStruct *Crv, CagdRType *t)
CagdBType BspCrvKnotC1Discont(const CagdCrvStruct *Crv, CagdRType *t)
CagdBType BspCrvKnotC2Discont(const CagdCrvStruct *Crv, CagdRType *t)
CagdCrvStruct *BspCrvKnotInsert(const CagdCrvStruct *Crv, CagdRType t)
CagdCrvStruct *BspCrvKnotInsertNDiff(const CagdCrvStruct *Crv, CagdBType Replace, CagdRType *t, int n)
CagdCrvStruct *BspCrvKnotInsertNSame(const CagdCrvStruct *Crv, CagdRType t, int n)
CagdRType BspCrvMaxCoefParam(const CagdCrvStruct *Crv, int Axis, CagdRType *MaxVal)
CagdBType BspCrvMeshC0Continuous(const CagdCrvStruct *Crv, int Idx, CagdRType Tol)
CagdBType BspCrvMeshC1Continuous(const CagdCrvStruct *Crv, int Idx, CagdRType *CosAngle)
CagdCrvStruct *BspCrvMoebiusTransform(const CagdCrvStruct *CCrv, CagdRType c)
CagdCrvStruct *BspCrvNew(int Length, int Order, CagdPointType PType)
CagdVecStruct *BspCrvNormalMalloc(const CagdCrvStruct *Crv, CagdRType t, CagdBType Normalize)
CagdVecStruct *BspCrvNormalToData(const CagdCrvStruct *Crv, CagdRType t, CagdBType Normalize, CagdVecStruct *N)
CagdCrvStruct *BspCrvOpenEnd(const CagdCrvStruct *Crv)
CagdCrvStruct *BspCrvSubdivAtParam(const CagdCrvStruct *Crv, CagdRType t)
void BspCrvSubdivCtlPoly(const CagdCrvStruct *Crv, CagdRType **LPoints, CagdRType **RPoints, int LLength, int RLength, CagdRType t, int Mult)
CagdVecStruct *BspCrvTangentToData(const CagdCrvStruct *Crv, CagdRType t, CagdBType Normalize, CagdVecStruct *Tan)
CagdCrvStruct *BspCrvsSubdivAtAllDetectedLocations(const CagdCrvStruct *Crvs, CagdCrvTestingFuncType CrvTestFunc)
CagdCrvStruct *BspGenBasisFuncsAsCurves(int Order, int Length, const CagdRType *KV)
CagdCrvStruct *BspGenKnotsGeometryAsCurves(int Order, int Length, const CagdRType *KV, CagdRType SizeOfKnot)
CagdEndConditionType BspIsKnotDiscontUniform(int Len, int Order, const CagdRType *KnotVector)
CagdEndConditionType BspIsKnotUniform(int Len, int Order, const CagdRType *KnotVector)
void BspKnotAffineTrans(CagdRType *KnotVector, int Len, CagdRType Translate, CagdRType Scale)
void BspKnotAffineTrans2(CagdRType *KnotVector, int Len, CagdRType MinVal, CagdRType MaxVal)
void BspKnotAffineTransOrder(CagdRType *KnotVector, int Order, int Len, CagdRType Translate, CagdRType Scale)
void BspKnotAffineTransOrder2(CagdRType *KnotVector, int Order, int Len, CagdRType MinVal, CagdRType MaxVal)
CagdRType *BspKnotAllC0Discont(const CagdRType *KnotVector, int Order, int Length, int *n)
CagdRType *BspKnotAllC1Discont(const CagdRType *KnotVector, int Order, int Length, int *n)
void BspKnotAlphaLoopBlendNotPeriodic(const BspKnotAlphaCoeffStruct *A, int IMin, int IMax, const CagdRType *OrigPts, CagdRType *RefPts)
void BspKnotAlphaLoopBlendPeriodic(const BspKnotAlphaCoeffStruct *A, int IMin, int IMax, const CagdRType *OrigPts, int OrigLen, CagdRType *RefPts)
void BspKnotAlphaLoopBlendStep(const BspKnotAlphaCoeffStruct *A, int IMin, int IMax, const CagdRType *OrigPts, int OrigPtsStep, int OrigLen, CagdRType *RefPts, int RefPtsStep)
CagdRType *BspKnotAverage(const CagdRType *KnotVector, int Len, int Ave)
CagdBType BspKnotC0Discont(const CagdRType *KnotVector, int Order, int Length, CagdRType *t)
CagdBType BspKnotC1Discont(const CagdRType *KnotVector, int Order, int Length, CagdRType *t)
CagdBType BspKnotC2Discont(const CagdRType *KnotVector, int Order, int Length, CagdRType *t)
CagdBType BspKnotCnDiscont(const CagdRType *KnotVector, int Order, int Length, int n, CagdRType *t)
CagdRType *BspKnotContinuityMergeTwo(const CagdRType *KnotVector1, int Len1, int Order1, const CagdRType *KnotVector2, int Len2, int Order2, int ResOrder, int *NewLen)
CagdRType *BspKnotCopy(CagdRType *DstKV, const CagdRType *SrcKV, int Len)
BspKnotAlphaCoeffStruct *BspKnotCopyAlphaCoef(const BspKnotAlphaCoeffStruct *A)
CagdRType *BspKnotDegreeRaisedKV(const CagdRType *KV, int Len, int Order, int NewOrder, int *NewLen)
CagdRType *BspKnotDiscontUniformOpen(int Len, int Order, CagdRType *KnotVector)
CagdRType *BspKnotDoubleKnots(const CagdRType *KnotVector, int *Len, int Order)
BspKnotAlphaCoeffStruct *BspKnotEvalAlphaCoef(int k, CagdRType *KVT, int LengthKVT, CagdRType *KVt, int LengthKVt, int Periodic)
static BspKnotAlphaCoeffStruct *BspKnotEvalAlphaCoefIdentity(int k, CagdRType *KVT, int LengthKVT, int Periodic)
BspKnotAlphaCoeffStruct *BspKnotEvalAlphaCoefMerge(int k, CagdRType *KVT, int LengthKVT, CagdRType *NewKV, int LengthNewKV, int Periodic)
int BspKnotFindMult(const CagdRType *KnotVector, int Order, int Len, CagdRType t)
int BspKnotFirstIndexG(const CagdRType *KnotVector, int Len, CagdRType t)
void BspKnotFreeAlphaCoef(BspKnotAlphaCoeffStruct *A)
CagdBType BspKnotHasBezierKV(const CagdRType *KnotVector, int Len, int Order)
CagdBType BspKnotHasOpenEC(const CagdRType *KnotVector, int Len, int Order)
CagdRType *BspKnotInsertMult(const CagdRType *KnotVector, int Order, int *Len, CagdRType t, int Mult)
CagdRType *BspKnotInsertOne(const CagdRType *KnotVector, int Order, int Len, CagdRType t)
int BspKnotLastIndexL(const CagdRType *KnotVector, int Len, CagdRType t)
int BspKnotLastIndexLE(const CagdRType *KnotVector, int Len, CagdRType t)
CagdBType BspKnotMakeRobustKV(CagdRType *KV, int Len)
CagdRType *BspKnotMergeTwo(const CagdRType *KnotVector1, int Len1, const CagdRType *KnotVector2, int Len2, int Mult, int *NewLen)
int BspKnotMinDmnBzrIdx(const CagdRType *KnotVector, int Len, int Order, CagdRType MinDmn, CagdRType Eps)
int BspKnotMultiplicity(const CagdRType *KnotVector, int Len, int Idx)
CagdRType BspKnotNode(const CagdRType *KnotVector, int i, int Order)
CagdRType *BspKnotNodes(const CagdRType *KnotVector, int Len, int Order)
CagdBType BspKnotParamInDomain(const CagdRType *KnotVector, int Len, int Order, CagdBType Periodic, CagdRType t)
CagdRType *BspKnotParamValues(CagdRType PMin, CagdRType PMax, int NumSamples, CagdRType *C1Disconts, int NumC1Disconts)
CagdRType *BspKnotPeriodicNodes(const CagdRType *KnotVector, int Len, int Order)
CagdRType *BspKnotPrepEquallySpaced(const CagdRType *KV, int KVLen, int KVOrder, int *n, CagdRType Tmin, CagdRType Tmax)
CagdRType *BspKnotReverse(const CagdRType *KnotVector, int Len)
void BspKnotScale(CagdRType *KnotVector, int Len, CagdRType Scale)
void BspKnotSortKVMonotone(CagdRType *KV, int Len)
CagdRType *BspKnotSubtrTwo(const CagdRType *KnotVector1, int Len1, const CagdRType *KnotVector2, int Len2, int *NewLen)
void BspKnotTranslate(CagdRType *KnotVector, int Len, CagdRType Trans)
CagdRType *BspKnotUniformFloat(int Len, int Order, CagdRType *KnotVector)
CagdRType *BspKnotUniformOpen(int Len, int Order, CagdRType *KnotVector)
CagdRType *BspKnotUniformPeriodic(int Len, int Order, CagdRType *KnotVector)
CagdBType BspKnotVectorsSame(const CagdRType *KV1, const CagdRType *KV2, int Len, CagdRType Eps)
int BspKnotVerifyKVValidity(CagdRType *KV, int Order, int Len, CagdRType Tol)
void BspKnotVerifyPeriodicKV(CagdRType *KV, int Order, int Len)
void BspKnotsGetIntervals(const CagdRType *KV, int KVLen, CagdRType **KnotIntervals, int *IntervalCount)
int BspKnotsMultiplicityVector(const CagdRType *KnotVector, int Len, CagdRType *KnotValues, int *KnotMultiplicities, CagdRType Eps)
CagdCrvStruct *BspMakeReparamCurve(const CagdPtStruct *PtsList, int Order, int DegOfFreedom)
CagdBType BspMeshC1PtsCollinear(const CagdPType Pt0, const CagdPType Pt1, const CagdPType Pt2, CagdRType *LenRatio)
CagdCrvStruct *BspPeriodicCrvNew(int Length, int Order, CagdBType Periodic, CagdPointType PType)
CagdSrfStruct *BspPeriodicSrfNew(int ULength, int VLength, int UOrder, int VOrder, CagdBType UPeriodic, CagdBType VPeriodic, CagdPointType PType)
CagdRType *BspPtSamplesToKV(const CagdRType *PtsSamples, int NumPts, int CrvOrder, int CrvLength)
void BspReparameterizeCrv(CagdCrvStruct *Crv, CagdParametrizationType ParamType)
void BspReparameterizeSrf(CagdSrfStruct *Srf, CagdSrfDirType Dir, CagdParametrizationType ParamType)
CagdCrvStruct *BspSrf2Curves(const CagdSrfStruct *Srf, int NumOfIsocurves[2])
CagdSrfErrorFuncType BspSrf2PolygonSetErrFunc(CagdSrfErrorFuncType Func, void *Data)
IPPolygonStruct *BspSrf2Polygons(const CagdSrfStruct *Srf, CagdSrf2PlsInfoStrct *TessInfo)
IPPolygonStruct *BspSrf2PolygonsN(const CagdSrfStruct *Srf, int Nu, int Nv, CagdBType ComputeNormals, CagdBType FourPerFlat, CagdBType ComputeUV)
CagdBType BspSrf2PolygonsSamplesNuNv(const CagdSrfStruct *Srf, int Nu, int Nv, CagdBType ComputeNormals, CagdBType ComputeUV, CagdRType **PtWeights, CagdPtStruct **PtMesh, CagdVecStruct **PtNrml, CagdUVStruct **UVMesh)
CagdPolylineStruct *BspSrf2Polylines(const CagdSrfStruct *Srf, int NumOfIsocurves[2], int SamplesPerCurve)
CagdCrvStruct *BspSrfC1DiscontCrvs(const CagdSrfStruct *Srf)
CagdCrvStruct *BspSrfCrvFromMesh(const CagdSrfStruct *Srf, int Index, CagdSrfDirType Dir)
CagdCrvStruct *BspSrfCrvFromSrf(const CagdSrfStruct *Srf, CagdRType t, CagdSrfDirType dir)
CagdSrfStruct *BspSrfDegreeRaise(const CagdSrfStruct *Srf, CagdSrfDirType Dir)
CagdSrfStruct *BspSrfDegreeRaiseN(const CagdSrfStruct *Srf, int NewUOrder, int NewVOrder)
CagdSrfStruct *BspSrfDerive(const CagdSrfStruct *Srf, CagdSrfDirType Dir, CagdBType DeriveScalar)
CagdSrfStruct *BspSrfDeriveScalar(const CagdSrfStruct *Srf, CagdSrfDirType Dir)
void BspSrfDomain(const CagdSrfStruct *Srf, CagdRType *UMin, CagdRType *UMax, CagdRType *VMin, CagdRType *VMax)
CagdRType *BspSrfEvalAtParamMalloc(const CagdSrfStruct *Srf, CagdRType u, CagdRType v, void **Cache)
void BspSrfEvalAtParamToData(const CagdSrfStruct *Srf, CagdRType u, CagdRType v, CagdRType *R)
void BspSrfEvalAtParamToDataOld(const CagdSrfStruct *Srf, CagdRType u, CagdRType v, CagdRType *R)
CagdSrfStruct *BspSrfExtension(const CagdSrfStruct *OrigSrf, const CagdBType *ExtDirs, CagdRType EpsilonU, CagdRType EpsilonV, CagdBType RemoveExtraKnots)
CagdSrfStruct *BspSrfFitLstSqr(const CagdSrfStruct *Srf, int UOrder, int VOrder, int USize, int VSize, CagdParametrizationType ParamType, CagdRType *Err)
CagdBType BspSrfHasBezierKVs(const CagdSrfStruct *Srf)
CagdBType BspSrfHasC1Discont(const CagdSrfStruct *Srf, int E3C1Discont)
CagdBType BspSrfHasOpenEC(const CagdSrfStruct *Srf)
CagdBType BspSrfHasOpenECDir(const CagdSrfStruct *Srf, CagdSrfDirType Dir)
CagdSrfStruct *BspSrfIntegrate(const CagdSrfStruct *Srf, CagdSrfDirType Dir)
CagdSrfStruct *BspSrfInterpPts(const CagdPtStruct **PtList, int UOrder, int VOrder, int SrfUSize, int SrfVSize, CagdParametrizationType ParamType)
CagdSrfStruct *BspSrfInterpScatPts(const CagdCtlPtStruct *PtList, int UOrder, int VOrder, int USize, int VSize, CagdRType *UKV, CagdRType *VKV)
CagdSrfStruct *BspSrfInterpScatPts2(const CagdCtlPtStruct *PtList, int UOrder, int VOrder, int USize, int VSize, CagdRType *UKV, CagdRType *VKV, CagdRType *MatrixCondition)
CagdSrfStruct *BspSrfInterpScatPtsC0Bndry(const CagdCtlPtStruct *PtList, const CagdCrvStruct *UMinCrv, const CagdCrvStruct *UMaxCrv, const CagdCrvStruct *VMinCrv, const CagdCrvStruct *VMaxCrv)
CagdSrfStruct *BspSrfInterpolate(const CagdCtlPtStruct *PtList, int NumUPts, int NumVPts, const CagdRType *UParams, const CagdRType *VParams, const CagdRType *UKV, const CagdRType *VKV, int ULength, int VLength, int UOrder, int VOrder)
CagdBType BspSrfIsC1DiscontAt(const CagdSrfStruct *Srf, CagdSrfDirType Dir, CagdRType t)
CagdBType BspSrfKnotC0Discont(const CagdSrfStruct *Srf, CagdSrfDirType Dir, CagdRType *t)
CagdBType BspSrfKnotC1Discont(const CagdSrfStruct *Srf, CagdSrfDirType Dir, CagdRType *t)
CagdSrfStruct *BspSrfKnotInsert(const CagdSrfStruct *Srf, CagdSrfDirType Dir, CagdRType t)
CagdSrfStruct *BspSrfKnotInsertNDiff(const CagdSrfStruct *Srf, CagdSrfDirType Dir, CagdBType Replace, CagdRType *t, int n)
CagdSrfStruct *BspSrfKnotInsertNSame(const CagdSrfStruct *Srf, CagdSrfDirType Dir, CagdRType t, int n)
CagdRType *BspSrfMaxCoefParamMalloc(const CagdSrfStruct *Srf, int Axis, CagdRType *MaxVal)
CagdRType *BspSrfMaxCoefParamToData(const CagdSrfStruct *Srf, int Axis, CagdRType *MaxVal, CagdRType *UV)
CagdBType BspSrfMeshC1Continuous(const CagdSrfStruct *Srf, CagdSrfDirType Dir, int Idx)
CagdVecStruct *BspSrfMeshNormals(const CagdSrfStruct *Srf, int UFineNess, int VFineNess)
CagdVecStruct *BspSrfMeshNormalsSymb(CagdSrfStruct *Srf, int UFineNess, int VFineNess)
CagdSrfStruct *BspSrfMoebiusTransform(const CagdSrfStruct *CSrf, CagdRType c, CagdSrfDirType Dir)
CagdSrfStruct *BspSrfNew(int ULength, int VLength, int UOrder, int VOrder, CagdPointType PType)
CagdVecStruct *BspSrfNormalMalloc(const CagdSrfStruct *Srf, CagdRType u, CagdRType v, CagdBType Normalize)
CagdVecStruct *BspSrfNormalToData(const CagdSrfStruct *Srf, CagdRType u, CagdRType v, CagdBType Normalize, CagdVecStruct *Normal)
CagdSrfStruct *BspSrfOpenEnd(const CagdSrfStruct *Srf)
CagdSrfStruct *BspSrfSubdivAtParam(const CagdSrfStruct *Srf, CagdRType t, CagdSrfDirType Dir)
CagdVecStruct *BspSrfTangentToData(const CagdSrfStruct *Srf, CagdRType u, CagdRType v, CagdSrfDirType Dir, CagdBType Normalize, CagdVecStruct *Tan)
CagdSrfStruct *BspSrfsSubdivAtAllDetectedLocations(const CagdSrfStruct *Srf, CagdSrfTestingFuncType SrfTestFunc)
CagdBType BspVecSpreadEqualItems(CagdRType *Vec, int Len, CagdRType MinDist)
CagdPolylineStruct *BzrCrv2Polyline(const CagdCrvStruct *Crv, int SamplesPerCurve)
CagdVecStruct *BzrCrvBiNormalMalloc(const CagdCrvStruct *Crv, CagdRType t, CagdBType Normalize)
CagdVecStruct *BzrCrvBiNormalToData(const CagdCrvStruct *Crv, CagdRType t, CagdBType Normalize, CagdVecStruct *Vec)
CagdCrvStruct *BzrCrvCreateArc(const CagdPtStruct *Start, const CagdPtStruct *Center, const CagdPtStruct *End)
CagdCrvStruct *BzrCrvDegreeRaise(const CagdCrvStruct *Crv)
CagdCrvStruct *BzrCrvDegreeRaiseN(const CagdCrvStruct *Crv, int NewOrder)
CagdCrvStruct *BzrCrvDegreeReduce(const CagdCrvStruct *Crv)
CagdCrvStruct *BzrCrvDerive(const CagdCrvStruct *Crv, CagdBType DeriveScalar)
CagdCrvStruct *BzrCrvDeriveScalar(const CagdCrvStruct *Crv)
CagdRType *BzrCrvEvalAtParamMalloc(const CagdCrvStruct *Crv, CagdRType t)
void BzrCrvEvalAtParamToData(const CagdCrvStruct *Crv, CagdRType t, CagdRType *Pt)
CagdRType BzrCrvEvalBasisFunc(int i, int k, CagdRType t)
CagdRType *BzrCrvEvalBasisFuncs(int k, CagdRType t, CagdRType *Vec)
void BzrCrvEvalToPolyline(const CagdCrvStruct *Crv, int FineNess, CagdRType *Points[])
CagdRType BzrCrvEvalVecAtParam(const CagdRType *Vec, int VecInc, int Order, CagdRType t, CagdRType *BasisFuncs)
CagdCrvStruct *BzrCrvIntegrate(const CagdCrvStruct *Crv)
CagdBType BzrCrvInterp2(IrtRType *Result, const IrtRType *Input, int Size)
CagdCrvStruct *BzrCrvMoebiusTransform(const CagdCrvStruct *CCrv, CagdRType c)
CagdCrvStruct *BzrCrvNew(int Length, CagdPointType PType)
CagdVecStruct *BzrCrvNormalMalloc(const CagdCrvStruct *Crv, CagdRType t, CagdBType Normalize)
CagdVecStruct *BzrCrvNormalToData(const CagdCrvStruct *Crv, CagdRType t, CagdBType Normalize, CagdVecStruct *N)
void BzrCrvSetCache(int FineNess, CagdBType EnableCache)
CagdCrvStruct *BzrCrvSubdivAtParam(const CagdCrvStruct *Crv, CagdRType t)
void BzrCrvSubdivCtlPoly(CagdRType * const *Points, CagdRType **LPoints, CagdRType **RPoints, int Length, CagdPointType PType, CagdRType t)
void BzrCrvSubdivCtlPolyStep(CagdRType * const *Points, CagdRType **LPoints, CagdRType **RPoints, int Length, CagdPointType PType, CagdRType t, int Step)
CagdVecStruct *BzrCrvTangentToData(const CagdCrvStruct *Crv, CagdRType t, CagdBType Normalize, CagdVecStruct *Tan)
CagdCrvStruct *BzrSrf2Curves(const CagdSrfStruct *Srf, int NumOfIsocurves[2])
IPPolygonStruct *BzrSrf2Polygons(const CagdSrfStruct *Srf, CagdSrf2PlsInfoStrct *TessInfo)
IPPolygonStruct *BzrSrf2PolygonsN(const CagdSrfStruct *Srf, int Nu, int Nv, CagdBType ComputeNormals, CagdBType FourPerFlat, CagdBType ComputeUV)
CagdBType BzrSrf2PolygonsSamples(const CagdSrfStruct *Srf, int FineNess, CagdBType ComputeNormals, CagdBType ComputeUV, CagdRType **PtWeights, CagdPtStruct **PtMesh, CagdVecStruct **PtNrml, CagdUVStruct **UVMesh, int *FineNessU, int *FineNessV)
CagdBType BzrSrf2PolygonsSamplesNuNv(const CagdSrfStruct *Srf, int Nu, int Nv, CagdBType ComputeNormals, CagdBType ComputeUV, CagdRType **PtWeights, CagdPtStruct **PtMesh, CagdVecStruct **PtNrml, CagdUVStruct **UVMesh)
CagdPolylineStruct *BzrSrf2Polylines(const CagdSrfStruct *Srf, int NumOfIsocurves[2], int SamplesPerCurve)
CagdCrvStruct *BzrSrfCrvFromMesh(const CagdSrfStruct *Srf, int Index, CagdSrfDirType Dir)
CagdCrvStruct *BzrSrfCrvFromSrf(const CagdSrfStruct *Srf, CagdRType t, CagdSrfDirType Dir)
CagdSrfStruct *BzrSrfDegreeRaise(const CagdSrfStruct *Srf, CagdSrfDirType Dir)
CagdSrfStruct *BzrSrfDegreeRaiseN(const CagdSrfStruct *Srf, int NewUOrder, int NewVOrder)
CagdSrfStruct *BzrSrfDerive(const CagdSrfStruct *Srf, CagdSrfDirType Dir, CagdBType DeriveScalar)
CagdSrfStruct *BzrSrfDeriveScalar(const CagdSrfStruct *Srf, CagdSrfDirType Dir)
CagdRType *BzrSrfEvalAtParamMalloc(const CagdSrfStruct *Srf, CagdRType u, CagdRType v)
void BzrSrfEvalAtParamToData(const CagdSrfStruct *Srf, CagdRType u, CagdRType v, CagdRType *R)
CagdSrfStruct *BzrSrfIntegrate(const CagdSrfStruct *Srf, CagdSrfDirType Dir)
CagdVecStruct *BzrSrfMeshNormals(const CagdSrfStruct *Srf, int UFineNess, int VFineNess)
CagdSrfStruct *BzrSrfMoebiusTransform(const CagdSrfStruct *CSrf, CagdRType c, CagdSrfDirType Dir)
CagdSrfStruct *BzrSrfNew(int ULength, int VLength, CagdPointType PType)
CagdVecStruct *BzrSrfNormalMalloc(const CagdSrfStruct *Srf, CagdRType u, CagdRType v, CagdBType Normalize)
CagdVecStruct *BzrSrfNormalToData(const CagdSrfStruct *Srf, CagdRType u, CagdRType v, CagdBType Normalize, CagdVecStruct *Normal)
CagdSrfStruct *BzrSrfSubdivAtParam(const CagdSrfStruct *Srf, CagdRType t, CagdSrfDirType Dir)
void BzrSrfSubdivCtlMesh(CagdRType * const *Points, CagdRType **LPoints, CagdRType **RPoints, int ULength, int VLength, CagdPointType PType, CagdRType t, CagdSrfDirType Dir)
CagdVecStruct *BzrSrfTangentToData(const CagdSrfStruct *Srf, CagdRType u, CagdRType v, CagdSrfDirType Dir, CagdBType Normalize, CagdVecStruct *Tangent)
CagdPtStruct *BzrZeroSetNoSubdiv(const CagdCrvStruct *Crv, int Axis, CagdRType NumericTol, CagdRType SubdivTol)
CagdBType Cagd2PolyClipPolysAtPoles(CagdBType ClipPolysAtPoles)
CagdBType CagdAllWeightsNegative(CagdRType * const *Points, CagdPointType PType, int Len, CagdBType Flip)
CagdBType CagdAllWeightsSame(CagdRType * const *Points, int Len)
CagdBType CagdAreClosedCrvs(const CagdCrvStruct *Crvs, const CagdSrfStruct *Srf)
void CagdBBoxArrayFree(CagdBBoxStruct *BBoxArray, int Size)
CagdBBoxStruct *CagdBBoxArrayNew(int Size)
CagdBBoxStruct *CagdBBoxCopy(const CagdBBoxStruct *BBox)
void CagdBBoxFree(CagdBBoxStruct *BBox)
CagdBBoxStruct *CagdBBoxNew(void)
CagdSrfStruct *CagdBilinearSrf(const CagdPtStruct *Pt00, const CagdPtStruct *Pt01, const CagdPtStruct *Pt10, const CagdPtStruct *Pt11, CagdPointType PType)
CagdSrfStruct *CagdBlendTwoSurfaces(const CagdSrfStruct *Srf1, const CagdSrfStruct *Srf2, int BlendDegree, CagdRType TanScale)
CagdBlsmAlphaCoeffStruct *CagdBlossomDegreeRaiseMat(const CagdRType *KV, int Order, int Len)
CagdBlsmAlphaCoeffStruct *CagdBlossomDegreeRaiseNMat(const CagdRType *KV, int Order, int NewOrder, int Len)
CagdRType CagdBlossomEval(const CagdRType *Pts, int PtsStep, int Order, const CagdRType *Knots, int KnotsLen, const CagdRType *BlsmVals, int BlsmLen)
void CagdBlsmAddRowAlphaCoef(CagdBlsmAlphaCoeffStruct *A, CagdRType *Coefs, int ARow, int ColIndex, int ColLength)
CagdBlsmAlphaCoeffStruct *CagdBlsmAllocAlphaCoef(int Order, int Length, int NewOrder, int NewLength, CagdBType Periodic)
CagdBlsmAlphaCoeffStruct *CagdBlsmCopyAlphaCoef(const CagdBlsmAlphaCoeffStruct *A)
CagdRType *CagdBlsmEvalSymb(int Order, const CagdRType *Knots, int KnotsLen, const CagdRType *BlsmVals, int BlsmLen, int *RetIdxFirst, int *RetLength, CagdRType *RetVec, void *Cache)
void *CagdBlsmEvalSymbAllocCache()
void CagdBlsmEvalSymbFreeCache(void *Cache)
void CagdBlsmFreeAlphaCoef(CagdBlsmAlphaCoeffStruct *A)
void CagdBlsmScaleAlphaCoef(CagdBlsmAlphaCoeffStruct *A, CagdRType Scl)
void CagdBlsmSetDomainAlphaCoef(CagdBlsmAlphaCoeffStruct *A)
CagdCrvStruct *CagdBndryAsOneCrvFromSrf(const CagdSrfStruct *Srf)
CagdCrvStruct *CagdBndryCrvFromSrf(const CagdSrfStruct *Srf, CagdSrfBndryType Bndry)
CagdCrvStruct **CagdBndryCrvsFromSrf(const CagdSrfStruct *Srf, CagdCrvStruct *Crvs[4])
CagdSrfStruct *CagdBoolSumSrf(const CagdCrvStruct *CCrvLeft, const CagdCrvStruct *CCrvRight, const CagdCrvStruct *CCrvTop, const CagdCrvStruct *CCrvBottom)
CagdSrfStruct *CagdBoolSumSrfRtnl(const CagdCrvStruct *CrvLeft, const CagdCrvStruct *CrvRight, const CagdCrvStruct *CrvTop, const CagdCrvStruct *CrvBottom)
static CagdCrvStruct *CagdBspCrvPDMFitting( CagdPType *PtList, int NumOfPoints, CagdCrvStruct *InitCrv, RegTermCalculatorFuncType CalcRegularization, RegMatrixCalculatorFuncType CalcRegMatrix, int MaxIterations, CagdRType ErrorLimit, CagdRType ErrorChangeLimit, CagdRType Lambda)
static CagdCrvStruct *CagdBspCrvSDMFitting( CagdPType *PtList, int NumOfPoints, CagdCrvStruct *InitCrv, RegTermCalculatorFuncType CalcRegularization, RegMatrixCalculatorFuncType CalcRegMatrix, int MaxIterations, CagdRType ErrorLimit, CagdRType ErrorChangeLimit, CagdRType Lambda)
CagdCrvStruct *CagdBsplineCrvFitting(CagdPType *PtList, int NumOfPoints, int Length, int Order, CagdBType IsPeriodic, CagdBspFittingType AgorithmType, int MaxIter, CagdRType ErrorLimit, CagdRType ErrorChangeLimit, CagdRType Lambda)
CagdCrvStruct *CagdBsplineCrvFittingWithInitCrv(CagdPType *PtList, int NumOfPoints, CagdCrvStruct *InitCrv, CagdBspFittingType AgorithmType, int MaxIter, CagdRType ErrorLimit, CagdRType ErrorChangeLimit, CagdRType Lambda)
CagdCrvStruct *CagdCnvrtBsp2BzrCrv(const CagdCrvStruct *CCrv)
CagdSrfStruct *CagdCnvrtBsp2BzrSrf(const CagdSrfStruct *CSrf)
CagdCrvStruct *CagdCnvrtBsp2OpenCrv(const CagdCrvStruct *Crv)
CagdSrfStruct *CagdCnvrtBsp2OpenSrf(const CagdSrfStruct *Srf)
CagdCrvStruct *CagdCnvrtBzr2BspCrv(const CagdCrvStruct *Crv)
CagdSrfStruct *CagdCnvrtBzr2BspSrf(const CagdSrfStruct *Srf)
CagdCrvStruct *CagdCnvrtBzr2PwrCrv(const CagdCrvStruct *Crv)
CagdSrfStruct *CagdCnvrtBzr2PwrSrf(const CagdSrfStruct *Srf)
CagdCtlPtStruct *CagdCnvrtCrvToCtlPts(const CagdCrvStruct *Crv)
CagdSrfStruct *CagdCnvrtCrvToSrf(const CagdCrvStruct *Crv, CagdSrfDirType Dir)
CagdCrvStruct *CagdCnvrtFloat2OpenCrv(const CagdCrvStruct *Crv)
CagdSrfStruct *CagdCnvrtFloat2OpenSrf(const CagdSrfStruct *Srf)
CagdPolylineStruct *CagdCnvrtLinBspCrv2Polyline(const CagdCrvStruct *Crv, CagdBType FilterIdentical)
CagdCrvStruct *CagdCnvrtPeriodic2FloatCrv(const CagdCrvStruct *Crv)
CagdSrfStruct *CagdCnvrtPeriodic2FloatSrf(const CagdSrfStruct *Srf)
CagdCrvStruct *CagdCnvrtPolyline2LinBspCrv(const CagdPolylineStruct *Poly, CagdPointType PType)
CagdCrvStruct *CagdCnvrtPolyline2LinBspCrv2(const CagdPolylineStruct *Poly, CagdPointType PType, CagdBType SkipIdenticalPoints)
CagdPtStruct *CagdCnvrtPolyline2PtList(const CagdPolylineStruct *Poly)
CagdPolylineStruct *CagdCnvrtPtList2Polyline(const CagdPtStruct *Pts, CagdPolylineStruct **Params)
CagdCrvStruct *CagdCnvrtPwr2BzrCrv(const CagdCrvStruct *Crv)
CagdSrfStruct *CagdCnvrtPwr2BzrSrf(const CagdSrfStruct *Srf)
CagdCrvStruct *CagdCoerceCrvTo(const CagdCrvStruct *Crv, CagdPointType PType, CagdBType AddParametrization)
CagdCrvStruct *CagdCoerceCrvsTo(const CagdCrvStruct *Crv, CagdPointType PType, CagdBType AddParametrization)
void CagdCoercePointTo(CagdRType *NewPoint, CagdPointType NewPType, CagdRType * const *Points, int Index, CagdPointType OldPType)
void CagdCoercePointsTo(CagdRType *Points[], int Len, CagdPointType OldPType, CagdPointType NewPType)
CagdSrfStruct *CagdCoerceSrfTo(const CagdSrfStruct *Srf, CagdPointType PType, CagdBType AddParametrization)
CagdSrfStruct *CagdCoerceSrfsTo(const CagdSrfStruct *Srf, CagdPointType PType, CagdBType AddParametrization)
void CagdCoerceToE2(CagdRType *E2Point, CagdRType * const Points[CAGD_MAX_PT_SIZE], int Index, CagdPointType PType)
void CagdCoerceToE3(CagdRType *E3Point, CagdRType * const Points[CAGD_MAX_PT_SIZE], int Index, CagdPointType PType)
void CagdCoerceToP2(CagdRType *P2Point, CagdRType * const Points[CAGD_MAX_PT_SIZE], int Index, CagdPointType PType)
void CagdCoerceToP3(CagdRType *P3Point, CagdRType * const Points[CAGD_MAX_PT_SIZE], int Index, CagdPointType PType)
CagdBType CagdConic2Quadric(CagdRType *A, CagdRType *B, CagdRType *C, CagdRType *D, CagdRType *E, CagdRType *F, CagdRType *G, CagdRType *H, CagdRType *I, CagdRType *J)
CagdBType CagdConicMatTransform(CagdRType *A, CagdRType *B, CagdRType *C, CagdRType *D, CagdRType *E, CagdRType *F, CagdMType Mat)
CagdCrvStruct *CagdCreateConicCurve(CagdRType A, CagdRType B, CagdRType C, CagdRType D, CagdRType E, CagdRType F, CagdRType ZLevel, CagdBType RationalEllipses)
CagdCrvStruct *CagdCreateConicCurve2(CagdRType A, CagdRType B, CagdRType C, CagdRType D, CagdRType E, CagdRType F, CagdRType ZLevel, const CagdRType *PStartXY, const CagdRType *PEndXY, CagdBType RationalEllipses)
CagdCrvStruct *CagdCreateConicCurveSingular(CagdRType A, CagdRType B, CagdRType C, CagdRType D, CagdRType E, CagdRType F, CagdRType ZLevel)
CagdSrfStruct *CagdCreateQuadricSrf(CagdRType A, CagdRType B, CagdRType C, CagdRType D, CagdRType E, CagdRType F, CagdRType G, CagdRType H, CagdRType I, CagdRType J)
CagdPolylineStruct *CagdCrv2CtrlPoly(const CagdCrvStruct *Crv)
CagdCrvStruct *CagdCrv2DNormalField(const CagdCrvStruct *Crv)
CagdPolylineStruct *CagdCrv2Polyline(const CagdCrvStruct *Crv, int SamplesPerCurve, CagdBType OptiLin)
CagdRType CagdCrvArcLenPoly(const CagdCrvStruct *Crv)
CagdRType CagdCrvAreaPoly(const CagdCrvStruct *Crv)
CagdRType CagdCrvAverageValue(const CagdCrvStruct *Crv, int Axis)
CagdBBoxStruct *CagdCrvBBox(const CagdCrvStruct *Crv, CagdBBoxStruct *BBox)
CagdVecStruct *CagdCrvBiNormalMalloc(const CagdCrvStruct *Crv, CagdRType t, CagdBType Normalize)
CagdVecStruct *CagdCrvBiNormalToData(const CagdCrvStruct *Crv, CagdRType t, CagdBType Normalize, CagdVecStruct *Vec)
CagdCrvStruct *CagdCrvBlossomDegreeRaise(const CagdCrvStruct *Crv)
CagdCrvStruct *CagdCrvBlossomDegreeRaiseN(const CagdCrvStruct *Crv, int NewOrder)
CagdRType *CagdCrvBlossomEvalMalloc(const CagdCrvStruct *Crv, const CagdRType *BlsmVals, int BlsmLen)
CagdRType *CagdCrvBlossomEvalToData(const CagdCrvStruct *Crv, const CagdRType *BlsmVals, int BlsmLen, CagdRType *BlossomVals, void *BlsmCache)
CagdCrvStruct *CagdCrvCopy(const CagdCrvStruct *Crv)
CagdCrvStruct *CagdCrvCopyList(const CagdCrvStruct *CrvList)
CagdCrvStruct *CagdCrvCreateArc(const CagdPtStruct *Center, CagdRType Radius, CagdRType StartAngle, CagdRType EndAngle)
CagdCrvStruct *CagdCrvCreateArcCCW(const CagdPtStruct *Start, const CagdPtStruct *Center, const CagdPtStruct *End)
CagdCrvStruct *CagdCrvCreateArcCW(const CagdPtStruct *Start, const CagdPtStruct *Center, const CagdPtStruct *End)
CagdPtStruct *CagdCrvCrvInter(const CagdCrvStruct *Crv1, const CagdCrvStruct *Crv2, CagdRType Eps)
CagdCrvStruct *CagdCrvCrvInterArrangment(const CagdCrvStruct *ArngCrvs, CagdBType SplitCrvs, CagdRType Eps)
void CagdCrvCrvMakeJoinMatch(CagdCrvStruct **Crv1, CagdCrvStruct **Crv2, IrtRType Tolerance, CagdBType G1Continuity, CagdBType ClosedLoop)
CagdCrvStruct *CagdCrvDegreeRaise(const CagdCrvStruct *Crv)
CagdCrvStruct *CagdCrvDegreeRaiseN(const CagdCrvStruct *Crv, int NewOrder)
CagdCrvStruct *CagdCrvDegreeReduce(const CagdCrvStruct *Crv)
CagdCrvStruct *CagdCrvDeletePoint(const CagdCrvStruct *Crv, int Index)
CagdCrvStruct *CagdCrvDerive(const CagdCrvStruct *Crv)
CagdCrvStruct *CagdCrvDeriveScalar(const CagdCrvStruct *Crv)
void CagdCrvDomain(const CagdCrvStruct *Crv, CagdRType *TMin, CagdRType *TMax)
CagdRType *CagdCrvEvalMalloc(const CagdCrvStruct *Crv, CagdRType t)
void CagdCrvEvalToData(const CagdCrvStruct *Crv, CagdRType t, CagdRType *R)
int CagdCrvEvalToPolyline(const CagdCrvStruct *Crv, int FineNess, CagdRType *Points[], BspKnotAlphaCoeffStruct *A, CagdBType OptiLin)
void CagdCrvFirstMoments(const CagdCrvStruct *Crv, int n, CagdPType Loc, CagdVType Dir)
void CagdCrvFree(CagdCrvStruct *Crv)
void CagdCrvFreeList(CagdCrvStruct *CrvList)
CagdCrvStruct *CagdCrvFromMesh(const CagdSrfStruct *Srf, int Index, CagdSrfDirType Dir)
CagdCrvStruct *CagdCrvFromSrf(const CagdSrfStruct *Srf, CagdRType t, CagdSrfDirType Dir)
CagdCrvStruct *CagdCrvIncCnstrct(CagdCrvIncCnstrctType Op, CagdRType *Params, CagdCrvIncCnstrctStruct **CrvIncCnstrct)
const char *CagdCrvIncCnstrctError(CagdCrvIncCnstrctStruct *CrvIncCnstrct)
CagdCrvStruct *CagdCrvIncCnstrctList(CagdCrvIncCnstrctInputStruct *CrvIncInput, char **ErrorStr)
void CagdCrvIncCnstrctPrint(CagdCrvIncCnstrctStruct *CrvIncCnstrct)
int CagdCrvIncCnstrctSize(CagdCrvIncCnstrctStruct *CrvIncCnstrct)
CagdCrvStruct *CagdCrvInsertPoint(const CagdCrvStruct *Crv, int Index, const CagdPType Pt)
CagdCrvStruct *CagdCrvIntegrate(const CagdCrvStruct *Crv)
CagdBType CagdCrvIsConstant(const CagdCrvStruct *Crv, IrtRType Eps)
int CagdCrvIsCtlPolyMonotone(const CagdCrvStruct *Crv, int Axis, CagdRType Eps)
CagdBBoxStruct *CagdCrvListBBox(const CagdCrvStruct *Crvs, CagdBBoxStruct *BBox)
CagdCrvStruct *CagdCrvListMakeJoinMatch(const CagdCrvStruct *CrvList, IrtRType Tolerance, CagdBType G1Continuity, CagdBType ClosedLoop)
CagdCrvStruct *CagdCrvListMatTransform(const CagdCrvStruct *Crvs, CagdMType Mat)
CagdCrvStruct *CagdCrvMatTransform(const CagdCrvStruct *Crv, CagdMType Mat)
void CagdCrvMinMax(const CagdCrvStruct *Crv, int Axis, CagdRType *Min, CagdRType *Max)
CagdCrvStruct *CagdCrvMoebiusTransform(const CagdCrvStruct *Crv, CagdRType c)
CagdCrvStruct *CagdCrvNew(CagdGeomType GType, CagdPointType PType, int Length)
CagdRType *CagdCrvNodes(const CagdCrvStruct *Crv)
CagdVecStruct *CagdCrvNormalMalloc(const CagdCrvStruct *Crv, CagdRType t, CagdBType Normalize)
CagdVecStruct *CagdCrvNormalToData(const CagdCrvStruct *Crv, CagdRType t, CagdBType Normalize, CagdVecStruct *N)
CagdVecStruct *CagdCrvNormalXYToData(const CagdCrvStruct *Crv, CagdRType t, CagdBType Normalize, CagdVecStruct *Vec)
CagdBType CagdCrvOnOneSideOfLine(const CagdCrvStruct *Crv, CagdRType X1, CagdRType Y1, CagdRType X2, CagdRType Y2)
CagdBType CagdCrvOrientationFrame(const CagdCrvStruct *Crv, CagdRType CrntT, CagdVecStruct *Tangent, CagdVecStruct *Normal, CagdVecStruct **MallocedNrmls, int *MallocedNrmlsVecSize, CagdBType FirstTime)
CagdCrvStruct *CagdCrvQuadDirectInterp(const CagdCrvStruct *Crv, CagdRType InflectStretch)
CagdCrvQuadTileStruct *CagdCrvQuadTileAssumeSrf(CagdSrfStruct *Srf)
CagdCrvQuadTileStruct *CagdCrvQuadTileCopy(const CagdCrvQuadTileStruct *Tile)
CagdCrvQuadTileStruct *CagdCrvQuadTileCopyList( const CagdCrvQuadTileStruct *Tiles)
CagdCrvQuadTileStruct *CagdCrvQuadTileFromSrf(const CagdSrfStruct *Srf)
CagdCrvStruct *CagdCrvRefineAtParams(const CagdCrvStruct *Crv, CagdBType Replace, CagdRType *t, int n)
CagdCrvStruct *CagdCrvRefineUniformly(const CagdCrvStruct *Crv, int RefLevel)
CagdCrvStruct *CagdCrvRefineUniformly2(const CagdCrvStruct *Crv, int n)
CagdCrvStruct *CagdCrvRegionFromCrv(const CagdCrvStruct *Crv, CagdRType t1, CagdRType t2)
CagdCrvStruct *CagdCrvRegionFromCrvWrap(const CagdCrvStruct *Crv, CagdRType t1, CagdRType t2)
CagdCrvStruct *CagdCrvReverse(const CagdCrvStruct *Crv)
CagdCrvStruct *CagdCrvReverseUV(const CagdCrvStruct *Crv)
CagdCrvStruct *CagdCrvRotateToXY(const CagdCrvStruct *Crv)
CagdBType CagdCrvRotateToXYMat(const CagdCrvStruct *Crv, IrtHmgnMatType Mat)
void CagdCrvScalarCrvSlopeBounds(const CagdCrvStruct *Crv, CagdRType *MinSlope, CagdRType *MaxSlope)
void CagdCrvScale(CagdCrvStruct *Crv, const CagdRType *Scale)
void CagdCrvScaleCenter(CagdCrvStruct *Crv, const CagdRType *Scale)
CagdCrvStruct *CagdCrvSetDomain(CagdCrvStruct *Crv, CagdRType TMin, CagdRType TMax)
CagdCrvStruct *CagdCrvSubdivAtAllC0Discont(const CagdCrvStruct *Crv, IrtBType EuclideanC0Discont, IrtRType Tolerance)
CagdCrvStruct *CagdCrvSubdivAtAllC1Discont(const CagdCrvStruct *Crv, IrtBType EuclideanC1Discont, IrtRType Tolerance)
CagdCrvStruct *CagdCrvSubdivAtParam(const CagdCrvStruct *Crv, CagdRType t)
CagdCrvStruct *CagdCrvSubdivAtParams(const CagdCrvStruct *CCrv, const CagdPtStruct *Pts, CagdRType Eps, CagdBType PurgeTooSmallSegs, int *Proximity)
CagdCrvStruct *CagdCrvSubdivAtParams2(const CagdCrvStruct *CCrv, const CagdPtStruct *Pts, int Idx, CagdRType Eps, CagdBType PurgeTooSmallSegs, int *Proximity)
CagdCrvStruct *CagdCrvSubdivAtParams3(const CagdCrvStruct *CCrv, CagdRType *Prms, int PrmsLen, CagdRType Eps, CagdBType PurgeTooSmallSegs, int *Proximity)
CagdBType CagdCrvTanAngularSpan(const CagdCrvStruct *Crv, CagdVType ConeDir, CagdRType *AngularSpan)
CagdVecStruct *CagdCrvTangentToData(const CagdCrvStruct *Crv, CagdRType t, CagdBType Normalize, CagdVecStruct *Tan)
void CagdCrvToMesh(const CagdCrvStruct *Crv, int Index, CagdSrfDirType Dir, CagdSrfStruct *Srf)
void CagdCrvTransform(CagdCrvStruct *Crv, const CagdRType *Translate, CagdRType Scale)
CagdBType CagdCrvTwoCrvsOrient(CagdCrvStruct *Crv1, CagdCrvStruct *Crv2, int n)
CagdCrvStruct *CagdCrvUnitMaxCoef(CagdCrvStruct *Crv)
CagdCrvStruct *CagdCrvUpdateLength(CagdCrvStruct *Crv, int NewLength)
CagdBType CagdCrvZeroNumericStep(const CagdCrvStruct *Crv, CagdCrvStruct *DCrv, CagdRType Seed, CagdBType LeftOut, CagdBType RightOut, CagdBType CheckEndPts, CagdRType *Solution, CagdRType NumericTol)
CagdPtStruct *CagdCrvZeroSet(const CagdCrvStruct *Crv, int Axis, int NRInit, CagdRType NumericTol, CagdRType SubdivTol)
CagdPtStruct *CagdCrvZeroSetC0(const CagdCrvStruct *Crv, int Axis, int NRInit, CagdRType NumericTol, CagdRType SubdivTol)
CagdSrfBndryType CagdCrvonSrfBndry(const CagdCrvStruct *Crv, const CagdSrfStruct *Srf)
int CagdCrvsRelation(const CagdCrvStruct *Crv1, const CagdCrvStruct *Crv2, CagdRType ParialOverlapRatio, int *Crv1StartOn2, int *Crv1EndOn2, int *Crv2StartOn1, int *Crv2EndOn1, CagdRType *Crv1StartOn2Prm2, CagdRType *Crv1EndOn2Prm2, CagdRType *Crv2StartOn1Prm1, CagdRType *Crv2EndOn1Prm1, CagdRType *RelOverlap, CagdRType Eps)
CagdBType CagdCrvsSame(const CagdCrvStruct *Crv1, const CagdCrvStruct *Crv2, CagdRType Eps)
CagdBType CagdCrvsSame2(const CagdCrvStruct *Crv1, const CagdCrvStruct *Crv2, CagdRType Eps)
CagdBType CagdCrvsSame3(const CagdCrvStruct *Crv1, const CagdCrvStruct *Crv2, CagdRType Eps, CagdBType *Reversed)
CagdBType CagdCrvsSameFuncSpace(const CagdCrvStruct *Crv1, const CagdCrvStruct *Crv2, CagdRType Eps)
CagdBType CagdCrvsSameUptoRigidScl2D(const CagdCrvStruct *Crv1, const CagdCrvStruct *Crv2, IrtPtType Trans, CagdRType *Rot, CagdRType *Scl, CagdRType Eps)
CagdRType CagdCtlMeshAverageValue(CagdRType * const *Pts, int Length, int Axis)
CagdBType CagdCtlMeshsSame(CagdRType * const Mesh1[], CagdRType * const Mesh2[], int Len, CagdRType Eps)
CagdBType CagdCtlMeshsSameUptoRigidScl2D(CagdRType * const Mesh1[], CagdRType * const Mesh2[], int Len, IrtPtType Trans, CagdRType *Rot, CagdRType *Scl, CagdRType Eps)
void CagdCtlPtArrayFree(CagdCtlPtStruct *CtlPtArray, int Size)
CagdCtlPtStruct *CagdCtlPtArrayNew(CagdPointType PtType, int Size)
void CagdCtlPtBBox(const CagdCtlPtStruct *CtlPt, CagdBBoxStruct *BBox)
CagdCtlPtStruct *CagdCtlPtCopy(const CagdCtlPtStruct *CtlPt)
CagdCtlPtStruct *CagdCtlPtCopyList(const CagdCtlPtStruct *CtlPtList)
void CagdCtlPtFree(CagdCtlPtStruct *CtlPt)
void CagdCtlPtFreeList(CagdCtlPtStruct *CtlPtList)
CagdBType CagdCtlPtListBBox(const CagdCtlPtStruct *CtlPts, CagdBBoxStruct *BBox)
CagdCtlPtStruct *CagdCtlPtNew(CagdPointType PtType)
CagdCrvStruct *CagdCubicCrvFit(const CagdCrvStruct *Crv)
CagdCrvStruct *CagdCubicHermiteCrv(const CagdPType Pt1, const CagdPType Pt2, const CagdVType Dir1, const CagdVType Dir2)
CagdCrvStruct *CagdCubicHermiteCrv2(const CagdRType *Pt1, const CagdRType *Pt2, const CagdRType *Dir1, const CagdRType *Dir2, int Dim)
CagdSrfStruct *CagdCubicHermiteSrf(const CagdCrvStruct *CPos1Crv, const CagdCrvStruct *CPos2Crv, const CagdCrvStruct *CDir1Crv, const CagdCrvStruct *CDir2Crv)
CagdSrfStruct *CagdCubicSrfFit(const CagdSrfStruct *Srf)
void CagdDbg(const void *Obj)
void CagdDbgDsp(const void *Obj)
CagdBlsmAlphaCoeffStruct *CagdDegreeRaiseMatProd(CagdBlsmAlphaCoeffStruct *A1, CagdBlsmAlphaCoeffStruct *A2)
const char *CagdDescribeError(CagdFatalErrorType ErrorNum)
CagdRType CagdDistCrvLine(const CagdCrvStruct *Crv, CagdLType Line)
CagdRType CagdDistPtPlane(CagdPlaneStruct const *Plane, CagdRType * const *Points, int Index, int MaxDim)
CagdRType CagdDistTwoCtlPt(CagdRType * const *Pt1, int Index1, CagdRType * const *Pt2, int Index2, CagdPointType PType)
CagdRType CagdDistTwoCtlPt2(CagdRType * const *Points, int Index1, int Index2, CagdPointType PType)
CagdCrvStruct *CagdEditSingleCrvPt(const CagdCrvStruct *Crv, CagdCtlPtStruct *CtlPt, int Index, CagdBType Write)
CagdSrfStruct *CagdEditSingleSrfPt(const CagdSrfStruct *Srf, CagdCtlPtStruct *CtlPt, int UIndex, int VIndex, CagdBType Write)
CagdBType CagdEllipse3Points(CagdPType Pt1, CagdPType Pt2, CagdPType Pt3, CagdRType *A, CagdRType *B, CagdRType *C, CagdRType *D, CagdRType *E, CagdRType *F)
CagdBType CagdEllipse4Points(CagdPType Pt1, CagdPType Pt2, CagdPType Pt3, CagdPType Pt4, CagdRType *A, CagdRType *B, CagdRType *C, CagdRType *D, CagdRType *E, CagdRType *F)
CagdBType CagdEllipseOffset(CagdRType *A, CagdRType *B, CagdRType *C, CagdRType *D, CagdRType *E, CagdRType *F, CagdRType Offset)
CagdRType CagdEstimateCrvCollinearity(const CagdCrvStruct *Crv)
CagdRType CagdEstimateSrfPlanarity(const CagdSrfStruct *Srf)
void CagdEvaluateSurfaceVecField(CagdVType Vec, CagdSrfStruct *VecFieldSrf, CagdRType U, CagdRType V)
CagdSrfStruct *CagdExtrudeSrf(const CagdCrvStruct *CCrv, const CagdVecStruct *Vec)
CagdSrfStruct *CagdExtrudeSrfList(const CagdCrvStruct *Crvs, const CagdVecStruct *Vec)
void CagdFatalError(CagdFatalErrorType ErrID)
CagdRType CagdFitPlaneThruCtlPts(CagdPlaneStruct *Plane, CagdPointType PType, CagdRType * const *Points, int Index1, int Index2, int Index3, int Index4)
CagdRType CagdIChooseK(int i, int k)
CagdRType CagdIcKJcMIJcKM(int i, int j, int k, int m)
CagdBType CagdIgnoreNonPosWeightBBox(CagdBType IgnoreNonPosWeightBBox)
CagdPtStruct *CagdInsertInterPoints(CagdRType t1, CagdRType t2, CagdRType Eps, CagdPtStruct **InterList)
CagdBType CagdIsClosedCrv(const CagdCrvStruct *Crv)
CagdBType CagdIsClosedSrf(const CagdSrfStruct *Srf, CagdSrfDirType Dir)
int CagdIsCrvInsideCH(const CagdCrvStruct *Crv, const IrtE2PtStruct *CHPts, int NumCHPts)
CagdBType CagdIsCrvInsideCirc(const CagdCrvStruct *Crv, const CagdRType Center[2], CagdRType Radius)
CagdBType CagdIsZeroLenCrv(const CagdCrvStruct *Crv, CagdRType Eps)
CagdBType CagdIsZeroLenSrfBndry(const CagdSrfStruct *Srf, CagdSrfBndryType Bndry, CagdRType Eps)
CagdCrvStruct *CagdLimitCrvArcLen(const CagdCrvStruct *Crv, CagdRType MaxLen)
CagdPtStruct *CagdLinCrvLinCrvInter(const CagdCrvStruct *Crv1, const CagdCrvStruct *Crv2)
CagdRType CagdLineFitToPts(CagdPtStruct *PtList, CagdVType LineDir, CagdPType LinePos)
VoidPtr CagdListAppend(VoidPtr List1, VoidPtr List2)
IrtBType CagdListFind(const VoidPtr List, const VoidPtr Item)
VoidPtr CagdListLast(const VoidPtr List)
int CagdListLength(const VoidPtr List)
VoidPtr CagdListNth(const VoidPtr List, int n)
VoidPtr CagdListPrev(const VoidPtr List, const VoidPtr Item)
VoidPtr CagdListReverse(VoidPtr List)
VoidPtr CagdListSort(VoidPtr List, CagdBType Ascending, CagdCompFuncType SortCmprFunc)
CagdBType CagdMakeCrvsCompatible(CagdCrvStruct **Crv1, CagdCrvStruct **Crv2, CagdBType SameOrder, CagdBType SameKV)
CagdBType CagdMakeCrvsCompatible2(CagdCrvStruct **Crv1, CagdCrvStruct **Crv2, CagdBType SameOrder, CagdBType SameKV)
CagdBType CagdMakeSrfsCompatible(CagdSrfStruct **Srf1, CagdSrfStruct **Srf2, CagdBType SameUOrder, CagdBType SameVOrder, CagdBType SameUKV, CagdBType SameVKV)
CagdBType CagdMakeSrfsCompatible2(CagdSrfStruct **Srf1, CagdSrfStruct **Srf2, CagdBType SameUOrder, CagdBType SameVOrder, CagdBType SameUKV, CagdBType SameVKV)
void CagdMatTransform(CagdRType **Points, int Len, int MaxCoord, CagdBType IsNotRational, CagdMType Mat)
void CagdMatTransform2(CagdRType **NewPoints, const CagdRType **OldPoints, int Len, int MaxCoord, CagdBType IsNotRational, CagdMType Mat)
CagdRType CagdMatchBisectorNorm(const CagdVType T1, const CagdVType T2, const CagdVType P1, const CagdVType P2)
CagdRType CagdMatchDistNorm(const CagdVType T1, const CagdVType T2, const CagdVType P1, const CagdVType P2)
CagdRType CagdMatchMorphNorm(const CagdVType T1, const CagdVType T2, const CagdVType P1, const CagdVType P2)
CagdRType CagdMatchRuled2Norm(const CagdVType T1, const CagdVType T2, const CagdVType P1, const CagdVType P2)
CagdRType CagdMatchRuledNorm(const CagdVType T1, const CagdVType T2, const CagdVType P1, const CagdVType P2)
void CagdMatchingFixCrv(CagdCrvStruct *Crv)
void CagdMatchingFixVector(int *OldVec, CagdRType *NewVec, int Len)
void CagdMatchingPolyTransform(CagdRType **Poly, int Len, CagdRType NewBegin, CagdRType NewEnd)
CagdCrvStruct *CagdMatchingTwoCurves(const CagdCrvStruct *Crv1, const CagdCrvStruct *Crv2, int Reduce, int SampleSet, int ReparamOrder, int RotateFlag, int AllowNegativeNorm, int ReturnReparamFunc, CagdBType MinimizeMaxError, CagdMatchNormFuncType MatchNormFunc)
void CagdMatchingVectorTransform(CagdRType *Vec, CagdRType NewBegin, CagdRType NewEnd, int Len)
CagdCrvStruct *CagdMergeCrvCrv(const CagdCrvStruct *CCrv1, const CagdCrvStruct *CCrv2, CagdBType InterpolateDiscont, CagdRType MergeEps)
CagdCrvStruct *CagdMergeCrvCtlPt(const CagdCrvStruct *Crv, const CagdCtlPtStruct *CtlPt)
CagdCrvStruct *CagdMergeCrvList(const CagdCrvStruct *CrvList, CagdBType InterpDiscont, CagdRType MergeEps)
CagdCrvStruct *CagdMergeCrvList1(CagdCrvStruct *CrvList, IrtRType Tolerance, CagdBType InterpDiscont)
CagdCrvStruct *CagdMergeCrvList2(CagdCrvStruct *CrvList, IrtRType Tolerance, CagdBType InterpDiscont)
CagdCrvStruct *CagdMergeCrvList3(CagdCrvStruct *CrvList, IrtRType Tolerance, CagdBType InterpDiscont)
CagdCrvStruct *CagdMergeCrvPt(const CagdCrvStruct *Crv, const CagdPtStruct *Pt)
CagdCrvStruct *CagdMergeCtlPtCrv(const CagdCtlPtStruct *CtlPt, const CagdCrvStruct *Crv)
CagdCrvStruct *CagdMergeCtlPtCtlPt(const CagdCtlPtStruct *Pt1, const CagdCtlPtStruct *Pt2, int MinDim)
CagdPointType CagdMergePointTypes(CagdPointType PType1, CagdPointType PType2)
CagdCrvStruct *CagdMergePtCrv(const CagdPtStruct *Pt, const CagdCrvStruct *Crv)
CagdCrvStruct *CagdMergePtPt(const CagdPtStruct *Pt1, const CagdPtStruct *Pt2)
CagdCrvStruct *CagdMergePtPt2(const CagdPType Pt1, const CagdPType Pt2)
CagdCrvStruct *CagdMergePtPtLen(const CagdPtStruct *Pt1, const CagdPtStruct *Pt2, int Len)
CagdSrfStruct *CagdMergeSrfList(const CagdSrfStruct *SrfList, CagdSrfDirType Dir, CagdBType SameEdge, CagdBType InterpolateDiscont)
CagdSrfStruct *CagdMergeSrfList2(CagdSrfStruct *SrfList, CagdSrfDirType Dir, IrtRType Tolerance, CagdBType InterpDiscont)
CagdSrfStruct *CagdMergeSrfList3U(CagdSrfStruct *SrfList, IrtRType Tolerance, CagdBType InterpDiscont)
CagdSrfStruct *CagdMergeSrfList3V(CagdSrfStruct *SrfList, IrtRType Tolerance, CagdBType InterpDiscont)
CagdSrfStruct *CagdMergeSrfSrf(const CagdSrfStruct *CSrf1, const CagdSrfStruct *CSrf2, CagdSrfDirType Dir, CagdBType SameEdge, CagdBType InterpolateDiscont)
CagdCrvStruct *CagdMergeUvUv(const CagdUVType UV1, const CagdUVType UV2)
CagdSrfStruct *CagdOneBoolSumSrf(const CagdCrvStruct *BndryCrv)
CagdCrvStruct *CagdOrientCrvAsCrv2EndPts(const CagdCrvStruct *OrntCrv, const CagdCrvStruct *Crv)
CagdSrfStruct *CagdOrientSrfAsSrf4Corners(const CagdSrfStruct *OrntSrf, const CagdSrfStruct *Srf)
static CagdRType CagdPDError(const CagdPType Point, const CagdPType FootPoint)
CagdCrvStruct *CagdPeriodicCrvNew(CagdGeomType GType, CagdPointType PType, int Length, CagdBType Periodic)
CagdSrfStruct *CagdPeriodicSrfNew(CagdGeomType GType, CagdPointType PType, int ULength, int VLength, CagdBType UPeriodic, CagdBType VPeriodic)
void CagdPlaneArrayFree(CagdPlaneStruct *PlaneArray, int Size)
CagdPlaneStruct *CagdPlaneArrayNew(int Size)
CagdPlaneStruct *CagdPlaneCopy(const CagdPlaneStruct *Plane)
CagdPlaneStruct *CagdPlaneCopyList(const CagdPlaneStruct *PlaneList)
CagdRType CagdPlaneFitToPts(const CagdPtStruct *PtList, IrtPlnType Pln, IrtVecType MVec, IrtPtType Cntr, IrtRType *CN)
CagdRType CagdPlaneFitToPts2(CagdRType * const *Points, int NumPts, CagdPointType PType, IrtPlnType Pln, IrtVecType MVec, IrtPtType Cntr, IrtRType *CN)
CagdRType CagdPlaneFitToPts3(CagdPType * const Points, int NumPts, IrtPlnType Pln, IrtVecType MVec, IrtPtType Cntr, IrtRType *CN)
void CagdPlaneFree(CagdPlaneStruct *Plane)
void CagdPlaneFreeList(CagdPlaneStruct *PlaneList)
CagdPlaneStruct *CagdPlaneNew(void)
void CagdPointsBBox(CagdRType * const *Points, int Length, int Dim, CagdRType *BBoxMin, CagdRType *BBoxMax)
void CagdPointsBBox2(CagdRType * const *Points, int Min, int Max, int Dim, CagdRType *BBoxMin, CagdRType *BBoxMax)
int CagdPointsHasPoles(CagdRType * const *Points, int Len, int *Sign)
int CagdPolyApproxErrEstimate(CagdPolyErrEstimateType Method, int Samples)
CagdRType *CagdPolyApproxErrs(const CagdSrfStruct *Srf, const CagdPolygonStruct *Polys)
CagdRType CagdPolyApproxMaxErr(const CagdSrfStruct *Srf, const CagdPolygonStruct *Polys)
CagdPolygonStruct *CagdPolygonArrayNew(int Size)
void CagdPolygonBBox(const CagdPolygonStruct *Poly, CagdBBoxStruct *BBox)
CagdPolygonStruct *CagdPolygonCopy(const CagdPolygonStruct *Poly)
CagdPolygonStruct *CagdPolygonCopyList(const CagdPolygonStruct *PolyList)
void CagdPolygonFree(CagdPolygonStruct *Poly)
void CagdPolygonFreeList(CagdPolygonStruct *PolyList)
void CagdPolygonListBBox(const CagdPolygonStruct *Polys, CagdBBoxStruct *BBox)
CagdPolygonStruct *CagdPolygonNew(int Len)
CagdPlgErrorFuncType CagdPolygonSetErrFunc(CagdPlgErrorFuncType Func)
CagdPolygonStruct *CagdPolygonStripNew(int Len)
CagdPolylineStruct *CagdPolylineArrayNew(int Length, int Size)
CagdPolylineStruct *CagdPolylineCopy(const CagdPolylineStruct *Poly)
CagdPolylineStruct *CagdPolylineCopyList(const CagdPolylineStruct *PolyList)
void CagdPolylineFree(CagdPolylineStruct *Poly)
void CagdPolylineFreeList(CagdPolylineStruct *PolyList)
CagdPolylineStruct *CagdPolylineNew(int Length, int PtDim)
CagdSrfStruct *CagdPrimBoxSrf(CagdRType MinX, CagdRType MinY, CagdRType MinZ, CagdRType MaxX, CagdRType MaxY, CagdRType MaxZ)
CagdSrfStruct *CagdPrimCone2Srf(const CagdVType Center, CagdRType MajorRadius, CagdRType MinorRadius, CagdRType Height, CagdBType Rational, CagdPrimCapsType Caps)
CagdSrfStruct *CagdPrimConeSrf(const CagdVType Center, CagdRType Radius, CagdRType Height, CagdBType Rational, CagdPrimCapsType Caps)
CagdCrvStruct *CagdPrimCrvFrom4Pts(const CagdPType P1, const CagdPType P2, const CagdPType P3, const CagdPType P4, CagdBType Closed)
CagdSrfStruct *CagdPrimCubeSphereSrf(const CagdVType Center, CagdRType Radius, CagdBType Rational)
CagdSrfStruct *CagdPrimCylinderSrf(const CagdVType Center, CagdRType Radius, CagdRType Height, CagdBType Rational, CagdPrimCapsType Caps)
CagdSrfStruct *CagdPrimPlaneFromE3Crv(const CagdCrvStruct *Crv, const IrtPlnType Plane)
CagdSrfStruct *CagdPrimPlanePlaneSpanBBox(const CagdBBoxStruct *BBox, const IrtPlnType Pln)
CagdSrfStruct *CagdPrimPlaneSrf(CagdRType MinX, CagdRType MinY, CagdRType MaxX, CagdRType MaxY, CagdRType ZLevel)
CagdSrfStruct *CagdPrimPlaneSrf2(CagdPType Cntr, CagdVType Vec1, CagdVType Vec2)
CagdSrfStruct *CagdPrimPlaneSrfOrderLen(CagdRType MinX, CagdRType MinY, CagdRType MaxX, CagdRType MaxY, CagdRType ZLevel, int Order, int Len)
CagdSrfStruct *CagdPrimPlaneXZSrf(CagdRType MinX, CagdRType MinZ, CagdRType MaxX, CagdRType MaxZ, CagdRType YLevel)
CagdSrfStruct *CagdPrimPlaneYZSrf(CagdRType MinY, CagdRType MinZ, CagdRType MaxY, CagdRType MaxZ, CagdRType XLevel)
CagdCrvStruct *CagdPrimRectangleCrv(CagdRType MinX, CagdRType MinY, CagdRType MaxX, CagdRType MaxY, CagdRType ZLevel)
CagdSrfStruct *CagdPrimSphereSrf(const CagdVType Center, CagdRType Radius, CagdBType Rational)
CagdSrfStruct *CagdPrimTorusSrf(const CagdVType Center, CagdRType MajorRadius, CagdRType MinorRadius, CagdBType Rational)
void CagdPtArrayFree(CagdPtStruct *PtArray, int Size)
CagdPtStruct *CagdPtArrayNew(int Size)
CagdPtStruct *CagdPtCopy(const CagdPtStruct *Pt)
CagdPtStruct *CagdPtCopyList(const CagdPtStruct *PtList)
void CagdPtFree(CagdPtStruct *Pt)
void CagdPtFreeList(CagdPtStruct *PtList)
CagdPtStruct *CagdPtNew(void)
CagdPolylineStruct *CagdPtPolyline2EkPolyline( CagdRType * const Polyline[CAGD_MAX_PT_SIZE], int n, int MaxCoord, CagdBType IsRational)
CagdPtStruct *CagdPtsSortAxis(CagdPtStruct *PtList, int Axis)
CagdCrvQuadTileStruct *CagdQuadCrvToQuadsLineSweep(const CagdCrvStruct *Crv, CagdBType OutputSrfs)
CagdSrfStruct *CagdQuadCurveListWeightedQuadrangulation( const CagdCrvStruct *CrvList, CagdQuadSrfWeightFuncType WeightFunc, int ApproxOrder)
CagdSrfStruct *CagdQuadCurveWeightedQuadrangulation(const CagdCrvStruct *Crv, CagdQuadSrfWeightFuncType WeightFunc, int ApproxOrder)
void CagdQuadGetQuadSrfCombinedWeightFactors(IrtRType *JacobianFactor, IrtRType *ConformFactor, IrtRType *RegularityFactor)
void CagdQuadSetQuadSrfCombinedWeightFactors(IrtRType JacobianFactor, IrtRType ConformFactor, IrtRType RegularityFactor)
IrtRType CagdQuadSrfCombinedWeight(const CagdSrfStruct *QuadSrf, const CagdCrvStruct *BoundaryCrv, const CagdPolylineStruct *SampledPolygon, const int *VIndices, int numV)
IrtRType CagdQuadSrfConformWeight(const CagdSrfStruct *QuadSrf, const CagdCrvStruct *BoundaryCrv, const CagdPolylineStruct *SampledPolygon, const int *VIndices, int numV)
IrtRType CagdQuadSrfJacobianWeight(const CagdSrfStruct *QuadSrf, const CagdCrvStruct *BoundaryCrv, const CagdPolylineStruct *SampledPolygon, const int *VIndices, int numV)
IrtRType CagdQuadSrfRegularPolyWeight(const CagdSrfStruct *QuadSrf, const CagdCrvStruct *BoundaryCrv, const CagdPolylineStruct *SampledPolygon, const int *VIndices, int numV)
CagdCrvStruct *CagdQuadraticCrvFit(const CagdCrvStruct *Crv)
CagdSrfStruct *CagdQuadraticSrfFit(const CagdSrfStruct *Srf)
CagdBType CagdQuadricMatTransform(CagdRType *A, CagdRType *B, CagdRType *C, CagdRType *D, CagdRType *E, CagdRType *F, CagdRType *G, CagdRType *H, CagdRType *I, CagdRType *J, CagdMType Mat)
CagdSrfStruct *CagdQuinticHermiteSrf(const CagdCrvStruct *CPos1Crv, const CagdCrvStruct *CPos2Crv, const CagdCrvStruct *CDir1Crv, const CagdCrvStruct *CDir2Crv, const CagdCrvStruct *C2Dir1Crv, const CagdCrvStruct *C2Dir2Crv)
CagdBType CagdRayTraceBzrSrf(CagdPType StPt, CagdVType Dir, const CagdSrfStruct *BzrSrf, CagdUVStruct **IntrPrm, CagdPtStruct **IntrPt)
CagdBType CagdRealVecSame(CagdRType const *Vec1, CagdRType const *Vec2, int Len, CagdRType Eps)
CagdCrvStruct *CagdReorderCurvesInLoop(CagdCrvStruct *UVCrvs)
CagdSrfStruct *CagdRuledSrf(const CagdCrvStruct *CCrv1, const CagdCrvStruct *CCrv2, int OtherOrder, int OtherLen)
static CagdRType CagdSDError(const CagdPType Point, const CagdPType FootPoint, const CagdRType Distance, const CagdPType Tangent, const CagdPType Normal, const CagdRType Curvature)
void CagdScale(CagdRType **Points, int Len, int MaxCoord, const CagdRType *Scale)
void CagdScaleCenter(CagdRType **Points, int Len, int MaxCoord, const CagdRType *Scale)
CagdBType CagdScaleWeights(CagdRType * const *Points, CagdPointType PType, int Len, CagdRType WScale)
CagdSetErrorFuncType CagdSetFatalErrorFunc(CagdSetErrorFuncType ErrorFunc)
void CagdSetLinear2Poly(CagdLin2PolyType Lin2Poly)
void CagdSparseMatFree(CagdSparseMatStruct *Mat)
IrtRType *CagdSparseMatMultNonSparseResult(CagdSparseMatStruct *Mat1, CagdSparseMatStruct *Mat2)
CagdSparseMatStruct *CagdSparseMatNew(int RowNum, int ColNum, int AddIndicator)
void CagdSparseMatNewCell(CagdSparseMatStruct *Mat, int CellRow, int CellCol, IrtRType CellValue)
CagdSparseMatStruct *CagdSparseMatTranspose(CagdSparseMatStruct *Mat, CagdBType AddIndicator)
CagdPolylineStruct *CagdSrf2CtrlMesh(const CagdSrfStruct *Srf)
CagdCrvStruct *CagdSrf2Curves(const CagdSrfStruct *Srf, int NumOfIsocurves[2])
int CagdSrf2KnotCurves(const CagdSrfStruct *Srf, CagdCrvStruct **UKnotLines, CagdCrvStruct **VKnotLines)
CagdPolylineStruct *CagdSrf2KnotLines(const CagdSrfStruct *Srf)
CagdPolylineStruct *CagdSrf2KnotPolylines(const CagdSrfStruct *Srf, int SamplesPerCurve, BspKnotAlphaCoeffStruct *A)
CagdSrfAdapAuxDataFuncType CagdSrf2PolyAdapSetAuxDataFunc(CagdSrfAdapAuxDataFuncType Func)
CagdSrfErrorFuncType CagdSrf2PolyAdapSetErrFunc(CagdSrfErrorFuncType Func, void *Data)
CagdSrfAdapPolyGenFuncType CagdSrf2PolyAdapSetPolyGenFunc(CagdSrfAdapPolyGenFuncType Func)
CagdSrfAdapAuxDataFuncType CagdSrf2PolyAdapSetTessInfoDataFunc( CagdSrf2PlsInfoStrct *TessInfo, CagdSrfAdapAuxDataFuncType Func)
CagdSrfAdapPolyGenFuncType CagdSrf2PolyAdapSetTessInfoGenFunc( CagdSrf2PlsInfoStrct *TessInfo, CagdSrfAdapPolyGenFuncType Func)
CagdBType CagdSrf2PolygonFast(CagdBType PolygonFast)
CagdBType CagdSrf2PolygonMergeCoplanar(CagdBType MergeCoplanarPolys)
CagdBType CagdSrf2PolygonStrip(CagdBType PolygonStrip)
IPPolygonStruct *CagdSrf2Polygons(const CagdSrfStruct *Srf, CagdSrf2PlsInfoStrct *TessInfo)
IPPolygonStruct *CagdSrf2PolygonsGenPolys(const CagdSrfStruct *Srf, CagdRType *PtWeights, CagdPtStruct *PtMesh, CagdVecStruct *PtNrml, CagdUVStruct *UVMesh, int FineNessU, int FineNessV, CagdSrf2PlsInfoStrct *TessInfo)
IPPolygonStruct *CagdSrf2PolygonsN(const CagdSrfStruct *Srf, int Nu, int Nv, CagdBType ComputeNormals, CagdBType FourPerFlat, CagdBType ComputeUV)
CagdPolylineStruct *CagdSrf2Polylines(const CagdSrfStruct *Srf, int NumOfIsocurves[2], int SamplesPerCurve)
CagdSrfPtStruct *CagdSrfA2PGridFetchPts(struct CagdA2PGridStruct *A2PGrid, CagdSrfDirType Dir, int StartIndex, int EndIndex, int OtherDirIndex, CagdSrfPtStruct **LastPt, CagdBType Reversed)
CagdSrfPtStruct *CagdSrfA2PGridFetchRect(struct CagdA2PGridStruct *A2PGrid, int UIndex1, int VIndex1, int UIndex2, int VIndex2)
void CagdSrfA2PGridFree(struct CagdA2PGridStruct *A2PGrid)
struct CagdA2PGridStruct *CagdSrfA2PGridInit(const CagdSrfStruct *Srf)
void CagdSrfA2PGridInsertUV(struct CagdA2PGridStruct *A2PGrid, int UIndex, int VIndex, CagdRType u, CagdRType v)
CagdBType CagdSrfA2PGridProcessUV(struct CagdA2PGridStruct *A2PGrid)
CagdRType CagdSrfAdap2PolyDefErrFunc(const CagdSrfStruct *Srf, CagdRType Tolerance, void *AuxData)
CagdRType *CagdSrfAdap2PolyEvalNrmlBlendedUV(const CagdRType *UV1, const CagdRType *UV2, const CagdRType *UV3, void *EvalNrmlCache, CagdRType *Nrml)
IPPolygonStruct *CagdSrfAdap2Polygons(const CagdSrfStruct *Srf, VoidPtr AuxSrfData, CagdSrf2PlsInfoStrct *TessInfo)
static void CagdSrfAdapGetE3Pt(CagdRType *E3Point, CagdRType * const Points[CAGD_MAX_PT_SIZE], int Index, CagdPointType PType)
IPPolygonStruct *CagdSrfAdapRectPolyGen(const CagdSrfStruct *Srf, CagdSrfPtStruct *SrfPtList, const CagdSrfAdapRectStruct *Rect, CagdSrf2PlsInfoStrct *TessInfo)
CagdBType CagdSrfAre2SrfsSharingBndry(CagdSrfStruct *Srf1, CagdSrfBndryType Bndry1, CagdSrfStruct *Srf2, CagdSrfBndryType Bndry2, IrtRType Tolerance)
CagdRType CagdSrfArea(const CagdSrfStruct *Srf, CagdRType Tol)
CagdRType CagdSrfAverageValue(const CagdSrfStruct *Srf, int Axis)
CagdRType CagdSrfAvgArgLenMesh(const CagdSrfStruct *Srf, CagdRType *AvgULen, CagdRType *AvgVLen)
CagdBBoxStruct *CagdSrfBBox(const CagdSrfStruct *Srf, CagdBBoxStruct *BBox)
CagdBType CagdSrfBelowPlane(const CagdSrfStruct *Srf, const CagdRType Pln[4])
CagdSrfStruct *CagdSrfBlossomDegreeRaise(const CagdSrfStruct *Srf, CagdSrfDirType Dir)
CagdSrfStruct *CagdSrfBlossomDegreeRaiseN(const CagdSrfStruct *Srf, int NewUOrder, int NewVOrder)
CagdRType *CagdSrfBlossomEvalMalloc(const CagdSrfStruct *Srf, const CagdRType *BlsmUVals, int BlsmULen, const CagdRType *BlsmVVals, int BlsmVLen)
CagdRType *CagdSrfBlossomEvalToData(const CagdSrfStruct *Srf, const CagdRType *BlsmUVals, int BlsmULen, const CagdRType *BlsmVVals, int BlsmVLen, CagdRType *BlossomVals, void *BlsmCache)
CagdCrvStruct *CagdSrfBlossomEvalU(const CagdSrfStruct *Srf, const CagdRType *BlsmUVals, int BlsmULen, void *BlsmCache)
CagdSrfStruct *CagdSrfCopy(const CagdSrfStruct *Srf)
CagdSrfStruct *CagdSrfCopyList(const CagdSrfStruct *SrfList)
CagdSrfStruct *CagdSrfDegreeRaise(const CagdSrfStruct *Srf, CagdSrfDirType Dir)
CagdSrfStruct *CagdSrfDegreeRaiseN(const CagdSrfStruct *Srf, int NewUOrder, int NewVOrder)
CagdSrfStruct *CagdSrfDerive(const CagdSrfStruct *Srf, CagdSrfDirType Dir)
CagdSrfStruct *CagdSrfDeriveScalar(const CagdSrfStruct *Srf, CagdSrfDirType Dir)
void CagdSrfDomain(const CagdSrfStruct *Srf, CagdRType *UMin, CagdRType *UMax, CagdRType *VMin, CagdRType *VMax)
CagdVecStruct *CagdSrfEffiNrmlEval(CagdRType u, CagdRType v, CagdBType Normalize, CagdVecStruct *RetVec, void *EvalCache)
void CagdSrfEffiNrmlPostlude(void *EvalCache)
void *CagdSrfEffiNrmlPrelude(const CagdSrfStruct *Srf)
void CagdSrfEstimateCurveness(const CagdSrfStruct *Srf, CagdRType *UCurveness, CagdRType *VCurveness)
void CagdSrfEval4Corners(const CagdSrfStruct *Srf, CagdPType P00, CagdPType P01, CagdPType P10, CagdPType P11)
CagdRType *CagdSrfEvalMalloc(const CagdSrfStruct *Srf, CagdRType u, CagdRType v)
void CagdSrfEvalToData(const CagdSrfStruct *Srf, CagdRType u, CagdRType v, CagdRType *R)
CagdSrfStruct *CagdSrfExtensionDup(const CagdSrfStruct *Srf, CagdSrfBndryType Bndry)
void CagdSrfFree(CagdSrfStruct *Srf)
void CagdSrfFreeList(CagdSrfStruct *SrfList)
CagdSrfStruct *CagdSrfFromCrvs(const CagdCrvStruct *CrvList, int OtherOrder, CagdEndConditionType OtherEC, IrtRType *OtherParamVals)
CagdSrfStruct *CagdSrfFromNBndryCrvs(const CagdCrvStruct *Crvs, CagdBType MinimizeSize)
CagdSrfStruct *CagdSrfIntegrate(const CagdSrfStruct *Srf, CagdSrfDirType Dir)
CagdSrfStruct *CagdSrfInterpolateCrvs(const CagdCrvStruct *CrvList, int OtherOrder, CagdEndConditionType OtherEC, CagdParametrizationType OtherParam, IrtRType *OtherParamVals)
CagdRType *CagdSrfInterpolateCrvsChordLenParams(const CagdCrvStruct *CrvList)
CagdBType CagdSrfIsConstant(const CagdSrfStruct *Srf, IrtRType Eps)
CagdRType CagdSrfIsCoplanarCtlMesh(const CagdSrfStruct *Srf)
CagdRType CagdSrfIsLinearBndryCtlMesh(const CagdSrfStruct *Srf)
CagdRType CagdSrfIsLinearCtlMesh(const CagdSrfStruct *Srf, CagdBType Interior)
CagdRType CagdSrfIsLinearCtlMeshOneRowCol(const CagdSrfStruct *Srf, int Idx, CagdSrfDirType Dir)
CagdSrfBndryType CagdSrfIsPtIndexBoundary(CagdSrfStruct *Srf, int PtIdx)
CagdBBoxStruct *CagdSrfListBBox(const CagdSrfStruct *Srfs, CagdBBoxStruct *BBox)
CagdSrfStruct *CagdSrfListMatTransform(const CagdSrfStruct *Srfs, CagdMType Mat)
CagdSrfStruct *CagdSrfMakeBoundryIndexUMin(const CagdSrfStruct *Srf, int BndryIdx)
CagdSrfStruct *CagdSrfMatTransform(const CagdSrfStruct *Srf, CagdMType Mat)
void CagdSrfMinMax(const CagdSrfStruct *Srf, int Axis, CagdRType *Min, CagdRType *Max)
CagdSrfStruct *CagdSrfMoebiusTransform(const CagdSrfStruct *Srf, CagdRType c, CagdSrfDirType Dir)
CagdSrfStruct *CagdSrfNew(CagdGeomType GType, CagdPointType PType, int ULength, int VLength)
CagdRType *CagdSrfNodes(const CagdSrfStruct *Srf, CagdSrfDirType Dir)
CagdVecStruct *CagdSrfNormalMalloc(const CagdSrfStruct *Srf, CagdRType u, CagdRType v, CagdBType Normalize)
CagdVecStruct *CagdSrfNormalToData(const CagdSrfStruct *Srf, CagdRType u, CagdRType v, CagdBType Normalize, CagdVecStruct *Normal)
CagdSrfPtStruct *CagdSrfPtCopy(const CagdSrfPtStruct *Pt)
CagdSrfPtStruct *CagdSrfPtCopyList(const CagdSrfPtStruct *SrfPtList)
void CagdSrfPtFree(CagdSrfPtStruct *SrfPt)
void CagdSrfPtFreeList(CagdSrfPtStruct *SrfPtList)
CagdSrfPtStruct *CagdSrfPtNew(void)
CagdSrfStruct *CagdSrfRefineAtParams(const CagdSrfStruct *Srf, CagdSrfDirType Dir, CagdBType Replace, CagdRType *t, int n)
CagdSrfStruct *CagdSrfRegionFromSrf(const CagdSrfStruct *Srf, CagdRType t1, CagdRType t2, CagdSrfDirType Dir)
CagdSrfStruct *CagdSrfRegionFromSrf2(const CagdSrfStruct *Srf, CagdRType UMin, CagdRType UMax, CagdRType VMin, CagdRType VMax)
CagdSrfStruct *CagdSrfReverse(const CagdSrfStruct *Srf)
CagdSrfStruct *CagdSrfReverse2(const CagdSrfStruct *Srf)
CagdSrfStruct *CagdSrfReverseDir(const CagdSrfStruct *Srf, CagdSrfDirType Dir)
void CagdSrfScale(CagdSrfStruct *Srf, const CagdRType *Scale)
void CagdSrfScaleCenter(CagdSrfStruct *Srf, const CagdRType *Scale)
CagdSrfStruct *CagdSrfSetDomain(CagdSrfStruct *Srf, CagdRType UMin, CagdRType UMax, CagdRType VMin, CagdRType VMax)
CagdBType CagdSrfSetMakeOnlyTri(CagdBType OnlyTri)
CagdSrfMakeRectFuncType CagdSrfSetMakeRectFunc(CagdSrfMakeRectFuncType Func)
CagdSrfMakeTriFuncType CagdSrfSetMakeTriFunc(CagdSrfMakeTriFuncType Func)
CagdBType CagdSrfSrfMakeJoinMatch(CagdSrfStruct **Srf1, CagdSrfStruct **Srf2, CagdSrfDirType Dir, CagdRType Tolerance, CagdBType PreserveOrientation)
CagdSrfStruct *CagdSrfSubdivAtAllC0Discont(const CagdSrfStruct *Srf)
CagdSrfStruct *CagdSrfSubdivAtAllC1Discont(const CagdSrfStruct *Srf)
CagdSrfStruct *CagdSrfSubdivAtAllCnDiscont(const CagdSrfStruct *Srf, int n)
CagdSrfStruct *CagdSrfSubdivAtParam(const CagdSrfStruct *Srf, CagdRType t, CagdSrfDirType Dir)
CagdSrfStruct *CagdSrfSubdivAtPoles(const CagdSrfStruct *Srf, CagdRType Tol)
CagdVecStruct *CagdSrfTangentToData(const CagdSrfStruct *Srf, CagdRType u, CagdRType v, CagdSrfDirType Dir, CagdBType Normalize, CagdVecStruct *Tan)
void CagdSrfTransform(CagdSrfStruct *Srf, const CagdRType *Translate, CagdRType Scale)
CagdUVType *CagdSrfUVDirOrthoE3Malloc(const CagdSrfStruct *Srf, const CagdUVType *UV, const CagdUVType *UVDir)
CagdUVType *CagdSrfUVDirOrthoE3ToData(const CagdSrfStruct *Srf, const CagdUVType *UV, const CagdUVType *UVDir, CagdUVType *OrthoUVDir)
CagdSrfStruct *CagdSrfUnitMaxCoef(CagdSrfStruct *Srf)
CagdSrfStruct *CagdSrfUpdateLength(CagdSrfStruct *Srf, int NewLength, CagdSrfDirType Dir)
CagdBType CagdSrfsSame(const CagdSrfStruct *Srf1, const CagdSrfStruct *Srf2, CagdRType Eps)
CagdBType CagdSrfsSame2(const CagdSrfStruct *Srf1, const CagdSrfStruct *Srf2, CagdRType Eps, int *Modified)
CagdBType CagdSrfsSame3(const CagdSrfStruct *Srf1, const CagdSrfStruct *Srf2, CagdRType Eps, int *Modified)
CagdBType CagdSrfsSame4(const CagdSrfStruct *Srf1, const CagdSrfStruct *Srf2, CagdRType Eps, int *Modified)
CagdBType CagdSrfsSameCorners(const CagdSrfStruct *Srf1, const CagdSrfStruct *Srf2, CagdRType Eps)
CagdBType CagdSrfsSameFuncSpace(const CagdSrfStruct *Srf1, const CagdSrfStruct *Srf2, CagdRType Eps)
CagdBType CagdSrfsSameUptoRigidScl2D(const CagdSrfStruct *Srf1, const CagdSrfStruct *Srf2, IrtPtType Trans, CagdRType *Rot, CagdRType *Scl, CagdRType Eps)
CagdSrfStruct *CagdSrfsSubdivAtAllC0Discont(const CagdSrfStruct *Srfs)
CagdSrfStruct *CagdSrfsSubdivAtAllC1Discont(const CagdSrfStruct *Srfs)
VoidPtr CagdStructOnceCoercePointsTo(CagdRType * const *OldPoints, const VoidPtr OldStruct, int OldStructLen, int ExtraMem, int PtsLen, CagdPointType OldPType, CagdPointType NewPType)
CagdSrfStruct *CagdSurfaceRev(const CagdCrvStruct *CCrv)
CagdSrfStruct *CagdSurfaceRev2(const CagdCrvStruct *Crv, CagdBType PolyApprox, CagdRType StartAngle, CagdRType EndAngle)
CagdSrfStruct *CagdSurfaceRev2Axis(const CagdCrvStruct *Crv, CagdBType PolyApprox, CagdRType StartAngle, CagdRType EndAngle, const CagdVType Axis)
CagdSrfStruct *CagdSurfaceRevAxis(const CagdCrvStruct *Crv, CagdVType Axis)
CagdSrfStruct *CagdSurfaceRevPolynomialApprox(const CagdCrvStruct *Crv)
CagdCrvStruct *CagdSweepAxisRefine(const CagdCrvStruct *Axis, const CagdCrvStruct *ScalingCrv, int RefLevel)
CagdBType CagdSweepComputeNormalOrientation(const CagdCrvStruct *Axis, CagdVType FrameVec, CagdCrvStruct *FrameCrv, CagdRType *PrevT, CagdRType CrntT, CagdVecStruct *Tangent, CagdVecStruct *Normal, CagdBType FirstTime)
CagdRType CagdSweepCosineHalfAngle(CagdRType **Points, int Index)
void CagdSweepGenTransformMatrix(CagdMType Mat, CagdRType *Trans, CagdVecStruct *Normal, CagdVecStruct *Tangent, CagdRType Scale, CagdRType NormalScale)
CagdSrfStruct *CagdSweepSrf(const CagdCrvStruct *CrossSection, const CagdCrvStruct *Axis, const CagdCrvStruct *ScalingCrv, CagdRType Scale, const VoidPtr Frame, int FrameOption)
CagdSrfStruct *CagdSweepSrfC1(const CagdCrvStruct *CrossSection, const CagdCrvStruct *Axis, const CagdCrvStruct *ScalingCrv, CagdRType Scale, const VoidPtr Frame, int FrameOption, CagdCrvCornerType CornerType, CagdRType C1DiscontCropTol)
CagdBType CagdSweepSrfC1AdjSrfsInterDmn(const CagdSrfStruct *PrevSrf, const CagdSrfStruct *NextSrf, CagdRType C1DiscontCropTol, CagdRType *PrevSrfVMax, CagdRType *NextSrfVMin)
CagdSrfStruct *CagdSweepSrfError(const CagdSrfStruct *SweepSrf, const CagdCrvStruct *CrossSection, const CagdCrvStruct *Axis, const CagdCrvStruct *ScalingCrv, CagdRType Scale)
void CagdTransform(CagdRType **Points, int Len, int MaxCoord, CagdBType IsNotRational, const CagdRType *Translate, CagdRType Scale)
void CagdTransform2(CagdRType **Points, int Len, int MaxCoord, CagdBType IsNotRational, const CagdRType *Translate, CagdRType Scale)
void CagdUVArrayFree(CagdUVStruct *UVArray, int Size)
CagdUVStruct *CagdUVArrayNew(int Size)
CagdUVStruct *CagdUVCopy(const CagdUVStruct *UV)
CagdUVStruct *CagdUVCopyList(const CagdUVStruct *UVList)
void CagdUVFree(CagdUVStruct *UV)
void CagdUVFreeList(CagdUVStruct *UVList)
CagdUVStruct *CagdUVNew(void)
int CagdUpdateBndryCrvInSrf(CagdSrfStruct *Srf, const CagdCrvStruct *Crv, CagdSrfBndryType SrfBndry)
void CagdVecArrayFree(CagdVecStruct *VecArray, int Size)
CagdVecStruct *CagdVecArrayNew(int Size)
CagdVecStruct *CagdVecCopy(const CagdVecStruct *Vec)
CagdVecStruct *CagdVecCopyList(const CagdVecStruct *VecList)
void CagdVecFree(CagdVecStruct *Vec)
void CagdVecFreeList(CagdVecStruct *VecList)
CagdVecStruct *CagdVecNew(void)
CagdSrfStruct *CagdZTwistExtrudeSrf(const CagdCrvStruct *CCrv, CagdBType Rational, CagdRType ZPitch)
static CagdRType Energy1Calc(CagdCrvStruct *Crv)
static void Energy1MatrixCalc(CagdCrvStruct *Crv, CagdRType *A, CagdRType *b, CagdRType Lambda)
static CagdRType Energy2Calc(CagdCrvStruct *Crv)
static void Energy2MatrixCalc(CagdCrvStruct *Crv, CagdRType *A, CagdRType *b, CagdRType Lambda)
static CagdCrvStruct *LeastSquareInitCrvCalculator(CagdPType *PtList, int NumOfPoints, int Length, int Order, CagdBType Periodic)
static CagdRType PDMErrorCalc(int NumOfPoints, CagdPType *Points, CagdPType *FootPoints)
static void PDMatrixCalc(int Length, int NumOfPoints, CagdPType *Points, CagdRType *Basis, CagdPType *FootPoints, CagdRType *A, /* MATRIX */ CagdRType *b)
CagdCrvStruct *PwrCrvDegreeRaise(const CagdCrvStruct *Crv)
CagdCrvStruct *PwrCrvDegreeRaiseN(const CagdCrvStruct *Crv, int NewOrder)
CagdCrvStruct *PwrCrvDerive(const CagdCrvStruct *Crv, CagdBType DeriveScalar)
CagdCrvStruct *PwrCrvDeriveScalar(const CagdCrvStruct *Crv)
CagdRType *PwrCrvEvalAtParamMalloc(const CagdCrvStruct *Crv, CagdRType t)
void PwrCrvEvalAtParamToData(const CagdCrvStruct *Crv, CagdRType t, CagdRType *Buf)
CagdCrvStruct *PwrCrvIntegrate(const CagdCrvStruct *Crv)
CagdCrvStruct *PwrCrvNew(int Length, CagdPointType PType)
CagdSrfStruct *PwrSrfDegreeRaise(const CagdSrfStruct *Srf, CagdSrfDirType Dir)
CagdSrfStruct *PwrSrfDegreeRaiseN(const CagdSrfStruct *Srf, int NewUOrder, int NewVOrder)
CagdSrfStruct *PwrSrfNew(int ULength, int VLength, CagdPointType PType)
static CagdRType SDMErrorCalc(int NumOfPoints, CagdPType *Points, CagdPType *FootPoints, CagdRType *Distances, CagdPType *Tangents, CagdPType *Normals, CagdRType *Curvatures, CagdBType *IsOuter)
static void SDMatrixCalc(int Length, int NumOfPoints, CagdPType *Points, CagdRType *Basis, CagdPType *FootPoints, CagdRType *Distances, CagdPType *Tangents, CagdPType *Normals, CagdRType *Curvatures, CagdBType *IsOuter, CagdRType *A, CagdRType *b)