void TrimAffineTransTrimCurves(TrimCrvStruct *TrimCrvList, CagdRType OldUMin, CagdRType OldUMax, CagdRType OldVMin, CagdRType OldVMax, CagdRType NewUMin, CagdRType NewUMax, CagdRType NewVMin, CagdRType NewVMax)
TrimSrfStruct *TrimAffineTransTrimSrf(const TrimSrfStruct *CTrimSrf, CagdRType NewUMin, CagdRType NewUMax, CagdRType NewVMin, CagdRType NewVMax)
TrimSrfStruct *TrimAllPrisaSrfs(const TrimSrfStruct *TSrfs, int SamplesPerCurve, CagdRType Epsilon, CagdSrfDirType Dir, CagdVType Space)
void TrimClassifyTrimCrvsOrientation(TrimCrvStruct *TCrvs, CagdRType Tol)
CagdBType TrimClassifyTrimCurveOrient(const CagdCrvStruct *UVCrv)
CagdBType TrimClassifyTrimLoopOrient(const TrimCrvSegStruct *TSegs)
int TrimClassifyTrimmingLoops(TrimCrvStruct **TrimLoops)
TrimSrfStruct *TrimClipSrfToTrimCrvs(TrimSrfStruct *TrimSrf)
TrimSrfStruct *TrimCnvrtBsp2BzrSrf(const TrimSrfStruct *TrimSrf)
int TrimCoerceTrimUVCrv2Plane(TrimCrvSegStruct *TSeg)
CagdPolylineStruct *TrimCrv2Polyline(const CagdCrvStruct *TrimCrv, CagdRType TolSamples, SymbCrvApproxMethodType Method, CagdBType OptiLin)
CagdCrvStruct *TrimCrvAgainstTrimCrvs(CagdCrvStruct *UVCrv, const TrimSrfStruct *TrimSrf, CagdRType Eps)
int TrimCrvBBox(const TrimCrvStruct *TCrv, int UV, CagdBBoxStruct *BBox)
TrimCrvStruct *TrimCrvCopy(const TrimCrvStruct *TrimCrv)
TrimCrvStruct *TrimCrvCopyList(const TrimCrvStruct *TrimCrvList)
void TrimCrvFree(TrimCrvStruct *TrimCrv)
void TrimCrvFreeList(TrimCrvStruct *TrimCrvList)
void TrimCrvFreeListWithSubTrims(TrimCrvStruct *TrimCrv)
void TrimCrvFreeWithSubTrims(TrimCrvStruct *TrimCrv)
int TrimCrvListBBox(const TrimCrvStruct *TCrvs, int UV, CagdBBoxStruct *BBox)
TrimCrvStruct *TrimCrvNew(TrimCrvSegStruct *TrimCrvSegList)
int TrimCrvSegBBox(const TrimCrvSegStruct *TCrvSeg, int UV, CagdBBoxStruct *BBox)
TrimCrvSegStruct *TrimCrvSegCopy(const TrimCrvSegStruct *TrimCrvSeg)
TrimCrvSegStruct *TrimCrvSegCopyList(const TrimCrvSegStruct *TrimCrvSegList)
void TrimCrvSegFree(TrimCrvSegStruct *TrimCrvSeg)
void TrimCrvSegFreeList(TrimCrvSegStruct *TrimCrvSegList)
int TrimCrvSegListBBox(const TrimCrvSegStruct *TCrvSegs, int UV, CagdBBoxStruct *BBox)
TrimCrvSegStruct *TrimCrvSegListReverse(TrimCrvSegStruct *TSegs)
TrimCrvSegStruct *TrimCrvSegNew(CagdCrvStruct *UVCrv, CagdCrvStruct *EucCrv)
TrimCrvSegStruct *TrimCrvSegNewList(CagdCrvStruct *UVCrvs, CagdCrvStruct *EucCrvs)
void TrimCrvSegReverse(TrimCrvSegStruct *TSeg)
CagdCrvStruct *TrimCrvTrimParamList(CagdCrvStruct *Crv, TrimIsoInterStruct *InterList)
CagdPolylineStruct *TrimCrvs2Polylines(TrimSrfStruct *TrimSrf, CagdBType ParamSpace, CagdRType TolSamples, SymbCrvApproxMethodType Method)
IPPolygonStruct *TrimCrvsHierarchy2Polys(TrimCrvStruct *TrimLoops)
void TrimDbg(const void *Obj)
void TrimDbgTCrvSegs(const TrimCrvSegStruct *TrimSegs)
void TrimDbgTCrvs(const TrimCrvStruct *TrimCrv)
int TrimDbgVerifyTSeg(const TrimCrvSegStruct *TrimSeg)
int TrimDbgVerifyUVCrv(const CagdCrvStruct *TrimCrv)
const char *TrimDescribeError(TrimFatalErrorType ErrorNum)
int TrimEnsureNoSingleTrimCrvLoops(TrimCrvStruct **TrimLoops)
CagdCrvStruct *TrimEvalTrimCrvToEuclid(const CagdSrfStruct *Srf, const CagdCrvStruct *UVCrv)
CagdCrvStruct *TrimEvalTrimCrvToEuclid2(const CagdSrfStruct *Srf, const CagdCrvStruct *UVCrv, CagdCrvStruct **UVCrvLinear)
CagdCrvStruct *TrimExtendTrimmingDomain(const CagdSrfStruct *Srf, CagdCrvStruct *TrimCrvs, CagdRType Extnt, CagdBType MergeCrvs)
void TrimFatalError(TrimFatalErrorType ErrID)
CagdRType TrimFindClosestTrimCurve2UV(TrimCrvStruct *TCrvs, const CagdUVType UV, TrimCrvSegStruct **ClosestTSeg)
const TrimCrvSegStruct *TrimGetFullDomainTrimCrv(const TrimSrfStruct *TSrf)
TrimSrfStruct *TrimGetLargestTrimmedSrf(TrimSrfStruct **TSrfs, int Extract)
const TrimCrvSegStruct *TrimGetOuterTrimCrv(const TrimSrfStruct *TSrf)
CagdRType TrimGetTrimCrvLinearApprox(void)
CagdCrvStruct *TrimGetTrimmingCurves(const TrimSrfStruct *TrimSrf, CagdBType ParamSpace, CagdBType EvalEuclid)
CagdCrvStruct *TrimGetTrimmingCurves2(const TrimCrvStruct *TrimCrvList, const TrimSrfStruct *TrimSrf, CagdBType ParamSpace, CagdBType EvalEuclid)
TrimIsoInterStruct **TrimIntersectCrvsIsoVals(const CagdCrvStruct *UVCrvs, int Dir, CagdRType *IsoParams, int NumOfIsocurves)
TrimIsoInterStruct **TrimIntersectTrimCrvIsoVals(const TrimSrfStruct *TrimSrf, int Dir, CagdRType *OrigIsoParams, int NumOfIsocurves, CagdBType Perturb)
CagdBType TrimIsPointInsideTrimCrvs(const TrimCrvStruct *TrimCrvs, CagdUVType UV)
CagdBType TrimIsPointInsideTrimSrf(const TrimSrfStruct *TrimSrf, CagdUVType UV)
int TrimIsPointInsideTrimUVCrv(const CagdCrvStruct *UVCrv, CagdUVType UV)
int TrimIsPointInsideTrimUVCrvs(const CagdCrvStruct *UVCrvs, CagdUVType UV)
TrimCrvStruct *TrimLinkTrimmingCurves2Loops(const TrimCrvStruct *TCrvs, CagdRType MaxTol, CagdBType *ClosedLoops)
TrimCrvStruct *TrimLinkTrimmingCurves2Loops1(const TrimCrvSegStruct *TSegs, CagdRType MaxTol, CagdBType *ClosedLoops)
TrimCrvStruct *TrimLinkTrimmingCurves2Loops2(TrimCrvStruct *TCrvs, CagdRType Tol, CagdBType *ClosedLoops)
CagdRType TrimLoopUV2Weight(const IrtRType *UV, IrtRType *BndryUV, CagdRType UMin, CagdRType UMax, CagdRType VMin, CagdRType VMax, CagdBType Last)
CagdRType *TrimLoopWeight2UVToData(IrtRType Wgt, CagdRType UMin, CagdRType UMax, CagdRType VMin, CagdRType VMax, CagdUVType UV)
int TrimLoopWeightRelationInside(CagdRType V1, CagdRType V2, CagdRType V)
TrimSrfStruct *TrimManageTrimmingCurvesDegrees(TrimSrfStruct *TrimSrf, int FitOrder, CagdBType EvalEuclid)
void TrimMatch2ndCrvLenSpeedAs1stCrv(CagdCrvStruct **Crv1, CagdCrvStruct **Crv2, const CagdSrfStruct *Srf1, const CagdSrfStruct *Srf2)
IPPolygonStruct *TrimMergePolylines(IPPolygonStruct *Polys, IrtRType Eps)
TrimCrvStruct *TrimMergeTrimmingCurves2Loops(const TrimCrvStruct *TrimCrvs)
CagdCrvStruct *TrimMergeTrimmingCurves2Loops2(CagdCrvStruct *UVCrvs, CagdRType Tol)
TrimCrvSegStruct *TrimOrderTrimCrvSegsInLoop(TrimCrvSegStruct *TSegs)
CagdBType TrimOrientTrimingCrvs(TrimSrfStruct *TSrf)
TrimSrfStruct *TrimPiecewiseRuledSrfApprox(const TrimSrfStruct *CTSrf, CagdBType ConsistentDir, CagdRType Epsilon, CagdSrfDirType Dir)
CagdRType *TrimPointInsideTrimmedCrvsToData(TrimCrvStruct *TrimCrvList, const TrimSrfStruct *TSrf, CagdUVType UVRetVal)
TrimCrvStruct *TrimPolylines2LinTrimCrvs(const IPPolygonStruct *Polys)
TrimSrfStruct *TrimPrisaRuledSrf(const TrimSrfStruct *TSrf, int SamplesPerCurve, CagdRType Space, CagdVType Offset, CagdSrfDirType Dir)
void TrimRemovEucTrimCrvs(TrimSrfStruct *TSrf)
int TrimRemoveCrvSegTrimCrvSegs(TrimCrvSegStruct *TrimCrvSeg, TrimCrvSegStruct **TrimCrvSegs)
int TrimRemoveCrvSegTrimCrvs(TrimCrvSegStruct *TrimCrvSeg, TrimCrvStruct **TrimCrvs)
int TrimSetEuclidComposedFromUV(int EuclidComposedFromUV)
int TrimSetEuclidLinearFromUV(int EuclidLinearFromUV)
TrimSetErrorFuncType TrimSetFatalErrorFunc(TrimSetErrorFuncType ErrorFunc)
int TrimSetNumTrimVrtcsInCell(int NumTrimVrtcsInCell)
SymbCrvApproxMethodType TrimSetTrimCrvLinearApprox(CagdRType UVTolSamples, SymbCrvApproxMethodType UVMethod)
CagdCrvStruct *TrimSrf2Curves(TrimSrfStruct *TrimSrf, int NumOfIsocurves[2])
CagdCrvStruct *TrimSrf2KnotCurves(TrimSrfStruct *TrimSrf)
IPPolygonStruct *TrimSrf2Polygons2(const TrimSrfStruct *CTrimSrf, CagdSrf2PlsInfoStrct *TessInfo)
CagdPolylineStruct *TrimSrf2Polylines(TrimSrfStruct *TrimSrf, int NumOfIsocurves[2], CagdRType TolSamples, SymbCrvApproxMethodType Method, CagdSrf2PlsInfoStrct *TessInfo)
IPPolygonStruct *TrimSrfAdap2Polygons(const TrimSrfStruct *TrimSrf, CagdSrf2PlsInfoStrct *TessInfo)
CagdBBoxStruct *TrimSrfBBox(const TrimSrfStruct *TSrf, CagdBBoxStruct *BBox)
CagdSrfStruct *TrimSrfCnvrt2BzrRglrSrf(const TrimSrfStruct *TrimSrf)
CagdSrfStruct *TrimSrfCnvrt2BzrRglrSrf2(const TrimSrfStruct *TSrf, int ComposeE3, int OnlyBzrSrfs, CagdRType Eps)
TrimSrfStruct *TrimSrfCnvrt2BzrTrimSrf(const TrimSrfStruct *TrimSrf)
CagdSrfStruct *TrimSrfCnvrt2TensorProdSrf(const TrimSrfStruct *TSrf, int ComposeE3, CagdRType Eps)
TrimSrfStruct *TrimSrfCopy(const TrimSrfStruct *TrimSrf)
TrimSrfStruct *TrimSrfCopyList(const TrimSrfStruct *TrimSrfList)
TrimSrfStruct *TrimSrfDegreeRaise(const TrimSrfStruct *TrimSrf, CagdSrfDirType Dir)
void TrimSrfDomain(const TrimSrfStruct *TrimSrf, CagdRType *UMin, CagdRType *UMax, CagdRType *VMin, CagdRType *VMax)
CagdRType *TrimSrfEvalMalloc(const TrimSrfStruct *TrimSrf, CagdRType u, CagdRType v)
void TrimSrfEvalToData(const TrimSrfStruct *TrimSrf, CagdRType u, CagdRType v, CagdRType *Pt)
void TrimSrfFree(TrimSrfStruct *TrimSrf)
void TrimSrfFreeEuclideanTrimCrvs(TrimSrfStruct *TrimSrf)
void TrimSrfFreeList(TrimSrfStruct *TrimSrfList)
TrimSrfStruct *TrimSrfFromE3TrimmingCurves(TrimCrvStruct *TCrvs, const IrtPlnType Plane)
TrimSrfStruct *TrimSrfFromSrf(CagdSrfStruct *Srf, int SingleTCrv)
CagdBBoxStruct *TrimSrfListBBox(const TrimSrfStruct *TSrfs, CagdBBoxStruct *BBox)
TrimSrfStruct *TrimSrfListMatTransform(const TrimSrfStruct *TrimSrfs, CagdMType Mat)
TrimSrfStruct *TrimSrfMatTransform(const TrimSrfStruct *TrimSrf, CagdMType Mat)
void TrimSrfMatTransform2(TrimSrfStruct *TrimSrf, CagdMType Mat)
TrimSrfStruct *TrimSrfNew(CagdSrfStruct *Srf, TrimCrvStruct *TrimCrvList, CagdBType HasTopLvlTrim)
TrimSrfStruct *TrimSrfNew2(CagdSrfStruct *Srf, CagdCrvStruct *TrimCrvList, CagdBType HasTopLvlTrim)
TrimSrfStruct *TrimSrfNew3(CagdSrfStruct *Srf, CagdCrvStruct *TrimCrvList, CagdBType HasTopLvlTrim)
int TrimSrfNumOfTrimCrvSegs(const TrimSrfStruct *TSrf)
int TrimSrfNumOfTrimLoops(const TrimSrfStruct *TSrf)
TrimSrfStruct *TrimSrfRefineAtParams(const TrimSrfStruct *TrimSrf, CagdSrfDirType Dir, CagdBType Replace, CagdRType *t, int n)
TrimSrfStruct *TrimSrfRegionFromTrimSrf(TrimSrfStruct *TrimSrf, CagdRType t1, CagdRType t2, CagdSrfDirType Dir)
TrimSrfStruct *TrimSrfReverse(const TrimSrfStruct *TrimSrf)
TrimSrfStruct *TrimSrfReverse2(const TrimSrfStruct *TrimSrf)
int TrimSrfSetStateTrimCrvsManagement(int TrimmingFitOrder)
TrimSrfStruct *TrimSrfSubdivAtInnerLoops(TrimSrfStruct *TSrf)
TrimSrfStruct *TrimSrfSubdivAtParam(const TrimSrfStruct *TSrf, CagdRType t, CagdSrfDirType Dir)
TrimCrvStruct *TrimSrfSubdivTrimCrvsAtInnerLoops(const TrimCrvStruct *TCrvs)
int TrimSrfSubdivTrimmingCrvs(const TrimCrvStruct *TrimCrvs, CagdRType t, CagdSrfDirType Dir, TrimCrvStruct **TrimCrvs1, TrimCrvStruct **TrimCrvs2)
CagdSrfDirType TrimSrfSubdivValAtInnerLoop(const TrimCrvStruct *TCrvs, CagdRType *SubdivVal)
void TrimSrfTransform(TrimSrfStruct *TrimSrf, const CagdRType *Translate, CagdRType Scale)
CagdBType TrimSrfTrimCrvAllDomain(const TrimSrfStruct *TrimSrf)
CagdBType TrimSrfTrimCrvSquareDomain(const TrimCrvStruct *TrimCrvList, CagdRType *UMin, CagdRType *UMax, CagdRType *VMin, CagdRType *VMax)
int TrimSrfVerifyTrimCrvsValidity(TrimSrfStruct *TrimSrf)
TrimSrfStruct *TrimSrfsFromContours(const CagdSrfStruct *Srf, const IPPolygonStruct *CCntrs)
TrimSrfStruct *TrimSrfsFromContours2(const CagdSrfStruct *Srf, const CagdCrvStruct *CCntrs)
TrimSrfStruct *TrimSrfsFromTrimPlsHierarchy(IPPolygonStruct *TopLevel, IPPolygonStruct *TrimPls, const CagdSrfStruct *Srf)
CagdBType TrimSrfsSame(const TrimSrfStruct *TSrf1, const TrimSrfStruct *TSrf2, CagdRType Eps)
CagdBType TrimUntrimSetLineSweepOutputCrvPairs(CagdBType NewValue)
void TrimUntrimmingResultFree(TrimUntrimResultStruct *Untrim)
void TrimUntrimmingResultFreeList(TrimUntrimResultStruct *Untrim)
IPObjectStruct *TrimUntrimmingResultToObj( const TrimUntrimResultStruct *Untrimmed)
IPPolygonStruct *TrimValidateNewTrimCntrs(const CagdSrfStruct *Srf, const IPPolygonStruct *Cntrs)