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)