@mlightcad/geometry-engine 3.14.11 → 3.14.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/geometry-engine.umd.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/util/AcGeNurbsUtil.d.ts.map +1 -1
- package/lib/util/AcGeNurbsUtil.js +259 -71
- package/lib/util/AcGeNurbsUtil.js.map +1 -1
- package/lib/util/AcGeOcsUtil.d.ts +13 -0
- package/lib/util/AcGeOcsUtil.d.ts.map +1 -1
- package/lib/util/AcGeOcsUtil.js +30 -4
- package/lib/util/AcGeOcsUtil.js.map +1 -1
- package/lib/util/index.d.ts +1 -1
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +1 -1
- package/lib/util/index.js.map +1 -1
- package/package.json +2 -2
package/lib/index.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ export { AcGeArea2d, AcGeCatmullRomCurve3d, AcGeCircArc2d, AcGeCircArc3d, AcGeCu
|
|
|
2
2
|
export type { AcGeBoundaryEdgeType, AcGeCircumcircle2d, AcGeCircumcircle3d, AcGeCurveExtent, AcGeIndexNode, AcGeIntersectPrimitive, AcGeKnotParameterizationType, AcGeLoop2dType, AcGePolyline2dVertex, AcGeResolvedTessellateOptions, AcGeTessellateOptions, CatmullRomCurveType } from './geometry';
|
|
3
3
|
export { AcGeBox2d, AcGeBox3d, AcGeEuler, AcGeMatrix2d, AcGeMatrix3d, AcGePlane, AcGePoint2d, AcGePoint3d, AcGeQuaternion, AcGeVector2d, AcGeVector3d } from './math';
|
|
4
4
|
export type { AcGePoint, AcGePoint2dLike, AcGePoint3dLike, AcGePointLike, AcGeVector, AcGeVector2dLike, AcGeVector3dLike, AcGeVectorLike } from './math';
|
|
5
|
-
export { AcGeGeometryUtil, AcGeMathUtil, AcGeTol, DEFAULT_TOL, DEG2RAD, FLOAT_TOL, ORIGIN_POINT_2D, ORIGIN_POINT_3D, RAD2DEG, TAU, acgeBasisFunction, acgeCalculateCurveLength, acgeCeilPowerOfTwo, acgeClamp, acgeComputeParameterValues, acgeDamp, acgeDegToRad, acgeEuclideanModulo, acgeEvaluateNurbsPoint, acgeEvaluateNurbsDerivatives, acgeSignedPlanarCurvature, acgeFloorPowerOfTwo, acgeGenerateAveragedKnots, acgeGenerateChordKnots, acgeGenerateSqrtChordKnots, acgeGenerateUUID, acgeGenerateUniformKnots, acgeGetOcsAngle, acgeGetOcsReferenceVector, acgeIntPartLength, acgeInterpolateControlPoints, acgeInterpolateNurbsCurve, acgeInverseLerp, acgeIsBetween, acgeIsBetweenAngle, acgeIsAngleOnCcwSweep, acgeIsPowerOfTwo, acgeLerp, acgeMapLinear, acgeNormalizeAngle, acgePingpong, acgeRadToDeg, acgeRandFloat, acgeRandFloatSpread, acgeRandInt, acgeRelativeEps, acgeSeededRandom, acgeSmootherstep, acgeSmoothstep, acgeTransformOcsPointToWcs, acgeTransformWcsPointToOcs, acgeOffsetPointByDirectionInXY, acgeOffsetSmoothedSampledPath, acgeOffsetVertexPath, acgeClosedPolygonArea2d, acgeClosedPolygonArea3d, acgePolygonArea2d, acgePolygonArea3d, acgeSignedPolygonArea2d } from './util';
|
|
5
|
+
export { AcGeGeometryUtil, AcGeMathUtil, AcGeTol, DEFAULT_TOL, DEG2RAD, FLOAT_TOL, ORIGIN_POINT_2D, ORIGIN_POINT_3D, RAD2DEG, TAU, acgeBasisFunction, acgeCalculateCurveLength, acgeCeilPowerOfTwo, acgeClamp, acgeComputeParameterValues, acgeDamp, acgeDegToRad, acgeEuclideanModulo, acgeEvaluateNurbsPoint, acgeEvaluateNurbsDerivatives, acgeSignedPlanarCurvature, acgeFloorPowerOfTwo, acgeGenerateAveragedKnots, acgeGenerateChordKnots, acgeGenerateSqrtChordKnots, acgeGenerateUUID, acgeGenerateUniformKnots, acgeGetOcsAngle, acgeGetOcsReferenceVector, acgeGetOcsReferenceVectorInto, acgeIntPartLength, acgeInterpolateControlPoints, acgeInterpolateNurbsCurve, acgeInverseLerp, acgeIsBetween, acgeIsBetweenAngle, acgeIsAngleOnCcwSweep, acgeIsPowerOfTwo, acgeLerp, acgeMapLinear, acgeNormalizeAngle, acgePingpong, acgeRadToDeg, acgeRandFloat, acgeRandFloatSpread, acgeRandInt, acgeRelativeEps, acgeSeededRandom, acgeSmootherstep, acgeSmoothstep, acgeTransformOcsPointToWcs, acgeTransformOcsPointToWcsInto, acgeTransformWcsPointToOcs, acgeOffsetPointByDirectionInXY, acgeOffsetSmoothedSampledPath, acgeOffsetVertexPath, acgeClosedPolygonArea2d, acgeClosedPolygonArea3d, acgePolygonArea2d, acgePolygonArea3d, acgeSignedPolygonArea2d } from './util';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,YAAY,EACZ,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,2BAA2B,EAC3B,mBAAmB,EACnB,+BAA+B,EAChC,MAAM,YAAY,CAAA;AACnB,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,4BAA4B,EAC5B,cAAc,EACd,oBAAoB,EACpB,6BAA6B,EAC7B,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,YAAY,EACb,MAAM,QAAQ,CAAA;AACf,YAAY,EACV,SAAS,EACT,eAAe,EACf,eAAe,EACf,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACf,MAAM,QAAQ,CAAA;AACf,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,WAAW,EACX,OAAO,EACP,SAAS,EACT,eAAe,EACf,eAAe,EACf,OAAO,EACP,GAAG,EACH,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,SAAS,EACT,0BAA0B,EAC1B,QAAQ,EACR,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,EAC5B,yBAAyB,EACzB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EACf,yBAAyB,EACzB,iBAAiB,EACjB,4BAA4B,EAC5B,yBAAyB,EACzB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,0BAA0B,EAC1B,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,QAAQ,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,YAAY,EACZ,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,2BAA2B,EAC3B,mBAAmB,EACnB,+BAA+B,EAChC,MAAM,YAAY,CAAA;AACnB,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,4BAA4B,EAC5B,cAAc,EACd,oBAAoB,EACpB,6BAA6B,EAC7B,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,YAAY,EACb,MAAM,QAAQ,CAAA;AACf,YAAY,EACV,SAAS,EACT,eAAe,EACf,eAAe,EACf,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACf,MAAM,QAAQ,CAAA;AACf,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,WAAW,EACX,OAAO,EACP,SAAS,EACT,eAAe,EACf,eAAe,EACf,OAAO,EACP,GAAG,EACH,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,SAAS,EACT,0BAA0B,EAC1B,QAAQ,EACR,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,EAC5B,yBAAyB,EACzB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EACf,yBAAyB,EACzB,6BAA6B,EAC7B,iBAAiB,EACjB,4BAA4B,EAC5B,yBAAyB,EACzB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,0BAA0B,EAC1B,8BAA8B,EAC9B,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,QAAQ,CAAA"}
|
package/lib/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { AcGeArea2d, AcGeCatmullRomCurve3d, AcGeCircArc2d, AcGeCircArc3d, AcGeCurve2d, AcGeEllipseArc2d, AcGeEllipseArc3d, AcGeLine2d, AcGeLine3d, AcGeLoop2d, AcGeNurbsCurve, AcGePolyline2d, AcGeShape2d, AcGeSpline3d, acgeIsBetterDistanceAlign, acgePointLiesOnCircle2d, acgeSameCircle2d, acgeCloneIntersectPrimitive, acgeIntersectCurves, acgeTransformIntersectPrimitive } from './geometry';
|
|
2
2
|
export { AcGeBox2d, AcGeBox3d, AcGeEuler, AcGeMatrix2d, AcGeMatrix3d, AcGePlane, AcGePoint2d, AcGePoint3d, AcGeQuaternion, AcGeVector2d, AcGeVector3d } from './math';
|
|
3
|
-
export { AcGeGeometryUtil, AcGeMathUtil, AcGeTol, DEFAULT_TOL, DEG2RAD, FLOAT_TOL, ORIGIN_POINT_2D, ORIGIN_POINT_3D, RAD2DEG, TAU, acgeBasisFunction, acgeCalculateCurveLength, acgeCeilPowerOfTwo, acgeClamp, acgeComputeParameterValues, acgeDamp, acgeDegToRad, acgeEuclideanModulo, acgeEvaluateNurbsPoint, acgeEvaluateNurbsDerivatives, acgeSignedPlanarCurvature, acgeFloorPowerOfTwo, acgeGenerateAveragedKnots, acgeGenerateChordKnots, acgeGenerateSqrtChordKnots, acgeGenerateUUID, acgeGenerateUniformKnots, acgeGetOcsAngle, acgeGetOcsReferenceVector, acgeIntPartLength, acgeInterpolateControlPoints, acgeInterpolateNurbsCurve, acgeInverseLerp, acgeIsBetween, acgeIsBetweenAngle, acgeIsAngleOnCcwSweep, acgeIsPowerOfTwo, acgeLerp, acgeMapLinear, acgeNormalizeAngle, acgePingpong, acgeRadToDeg, acgeRandFloat, acgeRandFloatSpread, acgeRandInt, acgeRelativeEps, acgeSeededRandom, acgeSmootherstep, acgeSmoothstep, acgeTransformOcsPointToWcs, acgeTransformWcsPointToOcs, acgeOffsetPointByDirectionInXY, acgeOffsetSmoothedSampledPath, acgeOffsetVertexPath, acgeClosedPolygonArea2d, acgeClosedPolygonArea3d, acgePolygonArea2d, acgePolygonArea3d, acgeSignedPolygonArea2d } from './util';
|
|
3
|
+
export { AcGeGeometryUtil, AcGeMathUtil, AcGeTol, DEFAULT_TOL, DEG2RAD, FLOAT_TOL, ORIGIN_POINT_2D, ORIGIN_POINT_3D, RAD2DEG, TAU, acgeBasisFunction, acgeCalculateCurveLength, acgeCeilPowerOfTwo, acgeClamp, acgeComputeParameterValues, acgeDamp, acgeDegToRad, acgeEuclideanModulo, acgeEvaluateNurbsPoint, acgeEvaluateNurbsDerivatives, acgeSignedPlanarCurvature, acgeFloorPowerOfTwo, acgeGenerateAveragedKnots, acgeGenerateChordKnots, acgeGenerateSqrtChordKnots, acgeGenerateUUID, acgeGenerateUniformKnots, acgeGetOcsAngle, acgeGetOcsReferenceVector, acgeGetOcsReferenceVectorInto, acgeIntPartLength, acgeInterpolateControlPoints, acgeInterpolateNurbsCurve, acgeInverseLerp, acgeIsBetween, acgeIsBetweenAngle, acgeIsAngleOnCcwSweep, acgeIsPowerOfTwo, acgeLerp, acgeMapLinear, acgeNormalizeAngle, acgePingpong, acgeRadToDeg, acgeRandFloat, acgeRandFloatSpread, acgeRandInt, acgeRelativeEps, acgeSeededRandom, acgeSmootherstep, acgeSmoothstep, acgeTransformOcsPointToWcs, acgeTransformOcsPointToWcsInto, acgeTransformWcsPointToOcs, acgeOffsetPointByDirectionInXY, acgeOffsetSmoothedSampledPath, acgeOffsetVertexPath, acgeClosedPolygonArea2d, acgeClosedPolygonArea3d, acgePolygonArea2d, acgePolygonArea3d, acgeSignedPolygonArea2d } from './util';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,YAAY,EACZ,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,2BAA2B,EAC3B,mBAAmB,EACnB,+BAA+B,EAChC,MAAM,YAAY,CAAA;AAenB,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,YAAY,EACb,MAAM,QAAQ,CAAA;AAWf,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,WAAW,EACX,OAAO,EACP,SAAS,EACT,eAAe,EACf,eAAe,EACf,OAAO,EACP,GAAG,EACH,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,SAAS,EACT,0BAA0B,EAC1B,QAAQ,EACR,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,EAC5B,yBAAyB,EACzB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EACf,yBAAyB,EACzB,iBAAiB,EACjB,4BAA4B,EAC5B,yBAAyB,EACzB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,0BAA0B,EAC1B,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,QAAQ,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,YAAY,EACZ,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,2BAA2B,EAC3B,mBAAmB,EACnB,+BAA+B,EAChC,MAAM,YAAY,CAAA;AAenB,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,YAAY,EACb,MAAM,QAAQ,CAAA;AAWf,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,WAAW,EACX,OAAO,EACP,SAAS,EACT,eAAe,EACf,eAAe,EACf,OAAO,EACP,GAAG,EACH,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,SAAS,EACT,0BAA0B,EAC1B,QAAQ,EACR,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,EAC5B,yBAAyB,EACzB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EACf,yBAAyB,EACzB,6BAA6B,EAC7B,iBAAiB,EACjB,4BAA4B,EAC5B,yBAAyB,EACzB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,0BAA0B,EAC1B,8BAA8B,EAC9B,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,QAAQ,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcGeNurbsUtil.d.ts","sourceRoot":"","sources":["../../src/util/AcGeNurbsUtil.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,KAAK,wBAAwB,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAA;AAEjE;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,GACvB,MAAM,EAAE,CAqBV;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EAAE,EAAE,GACjB,MAAM,EAAE,CAqCV;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,gBAAgB,GAAE,wBAAoC,GACrD,MAAM,EAAE,CAgCV;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAAE,GACnB,MAAM,EAAE,CAqBV;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EAAE,EAAE,GACjB,MAAM,EAAE,CAsCV;
|
|
1
|
+
{"version":3,"file":"AcGeNurbsUtil.d.ts","sourceRoot":"","sources":["../../src/util/AcGeNurbsUtil.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,KAAK,wBAAwB,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAA;AAEjE;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,GACvB,MAAM,EAAE,CAqBV;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EAAE,EAAE,GACjB,MAAM,EAAE,CAqCV;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,gBAAgB,GAAE,wBAAoC,GACrD,MAAM,EAAE,CAgCV;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAAE,GACnB,MAAM,EAAE,CAqBV;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EAAE,EAAE,GACjB,MAAM,EAAE,CAsCV;AA4KD;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EAAE,EAAE,EACrB,MAAM,EAAE,MAAM,EACd,gBAAgB,GAAE,wBAAoC,EACtD,YAAY,CAAC,EAAE,MAAM,EAAE,EACvB,UAAU,CAAC,EAAE,MAAM,EAAE,GACpB;IAAE,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CA0GnE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EAAE,GACd,MAAM,CAeR;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EAAE,EACf,aAAa,EAAE,MAAM,EAAE,EAAE,EACzB,OAAO,EAAE,MAAM,EAAE,GAChB,MAAM,EAAE,CAmDV;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB,CAAA;AAoDD;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EAAE,EACf,aAAa,EAAE,MAAM,EAAE,EAAE,EACzB,OAAO,EAAE,MAAM,EAAE,GAChB,mBAAmB,CA4DrB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE,MAAM,EAAE,GACf,MAAM,CAQR;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EAAE,EACf,aAAa,EAAE,MAAM,EAAE,EAAE,EACzB,OAAO,EAAE,MAAM,EAAE,GAChB,MAAM,CA2CR;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,EAAE,EAAE,EACrB,MAAM,GAAE,MAAU,EAClB,gBAAgB,GAAE,wBAAoC,EACtD,YAAY,CAAC,EAAE,MAAM,EAAE,EACvB,UAAU,CAAC,EAAE,MAAM,EAAE,GACpB,MAAM,EAAE,EAAE,CAYZ"}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* NURBS utility functions for spline calculations
|
|
3
3
|
*/
|
|
4
|
+
var __values = (this && this.__values) || function(o) {
|
|
5
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
6
|
+
if (m) return m.call(o);
|
|
7
|
+
if (o && typeof o.length === "number") return {
|
|
8
|
+
next: function () {
|
|
9
|
+
if (o && i >= o.length) o = void 0;
|
|
10
|
+
return { value: o && o[i++], done: !o };
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
14
|
+
};
|
|
4
15
|
var __read = (this && this.__read) || function (o, n) {
|
|
5
16
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
6
17
|
if (!m) return o;
|
|
@@ -169,51 +180,221 @@ export function acgeGenerateSqrtChordKnots(degree, points) {
|
|
|
169
180
|
}
|
|
170
181
|
return knots;
|
|
171
182
|
}
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
183
|
+
/**
|
|
184
|
+
* Returns the value of the entry in `row` for `col`, or `0` when absent.
|
|
185
|
+
*
|
|
186
|
+
* Rows are short (bounded by the system bandwidth), so a linear scan is
|
|
187
|
+
* cheaper than binary search.
|
|
188
|
+
*/
|
|
189
|
+
function findRowEntry(row, col) {
|
|
190
|
+
var e_1, _a;
|
|
191
|
+
try {
|
|
192
|
+
for (var row_1 = __values(row), row_1_1 = row_1.next(); !row_1_1.done; row_1_1 = row_1.next()) {
|
|
193
|
+
var entry = row_1_1.value;
|
|
194
|
+
if (entry.col === col) {
|
|
195
|
+
return entry.value;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
200
|
+
finally {
|
|
201
|
+
try {
|
|
202
|
+
if (row_1_1 && !row_1_1.done && (_a = row_1.return)) _a.call(row_1);
|
|
203
|
+
}
|
|
204
|
+
finally { if (e_1) throw e_1.error; }
|
|
205
|
+
}
|
|
206
|
+
return 0;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Returns the index of the entry in `row` for `col`, or `-1` when absent.
|
|
210
|
+
*/
|
|
211
|
+
function findRowEntryIndex(row, col) {
|
|
212
|
+
for (var i = 0; i < row.length; i++) {
|
|
213
|
+
if (row[i].col === col) {
|
|
214
|
+
return i;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return -1;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Solves one banded linear system with multiple right-hand sides.
|
|
221
|
+
*
|
|
222
|
+
* Gaussian elimination with partial pivoting over the sparse rows. Only rows
|
|
223
|
+
* whose band window contains column `k` carry a `k` entry, so both the pivot
|
|
224
|
+
* search and the elimination step touch at most `band + 1` non-empty rows per
|
|
225
|
+
* column — the full-row loops below degrade to O(n² · band) instead of the
|
|
226
|
+
* dense solver's O(n³). A single factorization serves every RHS, so the X/Y/Z
|
|
227
|
+
* coordinate systems share one elimination pass.
|
|
228
|
+
*
|
|
229
|
+
* Note the pivot search scans every remaining row rather than a window of
|
|
230
|
+
* `band`: row swaps displace band rows downward, so a column's live entries
|
|
231
|
+
* can end up arbitrarily far below the diagonal.
|
|
232
|
+
*
|
|
233
|
+
* @param rows - Sparse matrix rows; every non-zero entry must satisfy
|
|
234
|
+
* `|col - rowIndex| <= band` before pivoting.
|
|
235
|
+
* @param rhsList - One right-hand-side vector per output solution.
|
|
236
|
+
* @returns One solution vector per RHS.
|
|
237
|
+
* @throws {Error} When a pivot falls below `1e-12` (singular).
|
|
238
|
+
*/
|
|
239
|
+
function solveBandedLinearSystem(rows, rhsList) {
|
|
240
|
+
var e_2, _a, e_3, _b, e_4, _c, e_5, _d, e_6, _e;
|
|
241
|
+
var n = rows.length;
|
|
242
|
+
var a = rows.map(function (row) { return row.map(function (entry) { return ({ col: entry.col, value: entry.value }); }); });
|
|
243
|
+
var bList = rhsList.map(function (rhs) { return rhs.slice(); });
|
|
176
244
|
for (var k = 0; k < n; k++) {
|
|
177
|
-
|
|
178
|
-
var
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
245
|
+
// Partial pivot over all remaining rows that carry a `k` entry.
|
|
246
|
+
var pivotRow = -1;
|
|
247
|
+
var pivotAbs = 1e-12;
|
|
248
|
+
for (var i = k; i < n; i++) {
|
|
249
|
+
var abs = Math.abs(findRowEntry(a[i], k));
|
|
250
|
+
if (abs > pivotAbs) {
|
|
251
|
+
pivotAbs = abs;
|
|
183
252
|
pivotRow = i;
|
|
184
253
|
}
|
|
185
254
|
}
|
|
186
|
-
if (
|
|
255
|
+
if (pivotRow < 0) {
|
|
187
256
|
throw new Error('Interpolation matrix is singular.');
|
|
188
257
|
}
|
|
189
258
|
if (pivotRow !== k) {
|
|
190
259
|
var tmpRow = a[k];
|
|
191
260
|
a[k] = a[pivotRow];
|
|
192
261
|
a[pivotRow] = tmpRow;
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
262
|
+
try {
|
|
263
|
+
for (var bList_1 = (e_2 = void 0, __values(bList)), bList_1_1 = bList_1.next(); !bList_1_1.done; bList_1_1 = bList_1.next()) {
|
|
264
|
+
var b = bList_1_1.value;
|
|
265
|
+
var tmpValue = b[k];
|
|
266
|
+
b[k] = b[pivotRow];
|
|
267
|
+
b[pivotRow] = tmpValue;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
271
|
+
finally {
|
|
272
|
+
try {
|
|
273
|
+
if (bList_1_1 && !bList_1_1.done && (_a = bList_1.return)) _a.call(bList_1);
|
|
274
|
+
}
|
|
275
|
+
finally { if (e_2) throw e_2.error; }
|
|
276
|
+
}
|
|
196
277
|
}
|
|
278
|
+
var pivotValue = findRowEntry(a[k], k);
|
|
197
279
|
for (var i = k + 1; i < n; i++) {
|
|
198
|
-
var
|
|
280
|
+
var entryIndex = findRowEntryIndex(a[i], k);
|
|
281
|
+
if (entryIndex < 0) {
|
|
282
|
+
continue;
|
|
283
|
+
}
|
|
284
|
+
var factor = a[i][entryIndex].value / pivotValue;
|
|
199
285
|
if (Math.abs(factor) < 1e-14) {
|
|
200
286
|
continue;
|
|
201
287
|
}
|
|
202
|
-
|
|
203
|
-
a[i]
|
|
288
|
+
try {
|
|
289
|
+
for (var _f = (e_3 = void 0, __values(a[i])), _g = _f.next(); !_g.done; _g = _f.next()) {
|
|
290
|
+
var entry = _g.value;
|
|
291
|
+
if (entry.col > k) {
|
|
292
|
+
entry.value -= factor * findRowEntry(a[k], entry.col);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
297
|
+
finally {
|
|
298
|
+
try {
|
|
299
|
+
if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
|
|
300
|
+
}
|
|
301
|
+
finally { if (e_3) throw e_3.error; }
|
|
302
|
+
}
|
|
303
|
+
try {
|
|
304
|
+
// Fill-in: the dense elimination subtracts the scaled pivot row from
|
|
305
|
+
// every column, so row `i` gains entries wherever the pivot row has a
|
|
306
|
+
// non-zero beyond the diagonal and row `i` has none. Missing these
|
|
307
|
+
// entries drops columns from later pivots and can make a well-posed
|
|
308
|
+
// system look singular.
|
|
309
|
+
for (var _h = (e_4 = void 0, __values(a[k])), _j = _h.next(); !_j.done; _j = _h.next()) {
|
|
310
|
+
var pivotEntry = _j.value;
|
|
311
|
+
if (pivotEntry.col <= k || pivotEntry.value === 0) {
|
|
312
|
+
continue;
|
|
313
|
+
}
|
|
314
|
+
if (findRowEntryIndex(a[i], pivotEntry.col) < 0) {
|
|
315
|
+
a[i].push({
|
|
316
|
+
col: pivotEntry.col,
|
|
317
|
+
value: -factor * pivotEntry.value
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
323
|
+
finally {
|
|
324
|
+
try {
|
|
325
|
+
if (_j && !_j.done && (_c = _h.return)) _c.call(_h);
|
|
326
|
+
}
|
|
327
|
+
finally { if (e_4) throw e_4.error; }
|
|
328
|
+
}
|
|
329
|
+
a[i][entryIndex].value = 0;
|
|
330
|
+
try {
|
|
331
|
+
for (var bList_2 = (e_5 = void 0, __values(bList)), bList_2_1 = bList_2.next(); !bList_2_1.done; bList_2_1 = bList_2.next()) {
|
|
332
|
+
var b = bList_2_1.value;
|
|
333
|
+
b[i] -= factor * b[k];
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
337
|
+
finally {
|
|
338
|
+
try {
|
|
339
|
+
if (bList_2_1 && !bList_2_1.done && (_d = bList_2.return)) _d.call(bList_2);
|
|
340
|
+
}
|
|
341
|
+
finally { if (e_5) throw e_5.error; }
|
|
204
342
|
}
|
|
205
|
-
b[i] -= factor * b[k];
|
|
206
343
|
}
|
|
207
344
|
}
|
|
208
|
-
var
|
|
345
|
+
var solutions = bList.map(function () { return new Array(n).fill(0); });
|
|
209
346
|
for (var i = n - 1; i >= 0; i--) {
|
|
210
|
-
var
|
|
211
|
-
for (var
|
|
212
|
-
sum
|
|
347
|
+
var diagonal = findRowEntry(a[i], i);
|
|
348
|
+
for (var s = 0; s < bList.length; s++) {
|
|
349
|
+
var sum = bList[s][i];
|
|
350
|
+
try {
|
|
351
|
+
for (var _k = (e_6 = void 0, __values(a[i])), _l = _k.next(); !_l.done; _l = _k.next()) {
|
|
352
|
+
var entry = _l.value;
|
|
353
|
+
if (entry.col > i) {
|
|
354
|
+
sum -= entry.value * solutions[s][entry.col];
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
|
359
|
+
finally {
|
|
360
|
+
try {
|
|
361
|
+
if (_l && !_l.done && (_e = _k.return)) _e.call(_k);
|
|
362
|
+
}
|
|
363
|
+
finally { if (e_6) throw e_6.error; }
|
|
364
|
+
}
|
|
365
|
+
solutions[s][i] = sum / diagonal;
|
|
213
366
|
}
|
|
214
|
-
x[i] = sum / a[i][i];
|
|
215
367
|
}
|
|
216
|
-
return
|
|
368
|
+
return solutions;
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* Finds the knot span index such that `knots[span] <= u < knots[span + 1]`.
|
|
372
|
+
*
|
|
373
|
+
* @param u - Parameter value inside the valid knot domain.
|
|
374
|
+
* @param degree - Curve degree.
|
|
375
|
+
* @param knots - Clamped knot vector.
|
|
376
|
+
* @returns The span index in `[degree, knots.length - degree - 2]`.
|
|
377
|
+
*/
|
|
378
|
+
function findKnotSpan(u, degree, knots) {
|
|
379
|
+
var lastIndex = knots.length - degree - 2;
|
|
380
|
+
if (u >= knots[lastIndex + 1]) {
|
|
381
|
+
return lastIndex;
|
|
382
|
+
}
|
|
383
|
+
var lo = degree;
|
|
384
|
+
var hi = knots.length - degree - 2;
|
|
385
|
+
while (lo <= hi) {
|
|
386
|
+
var mid = (lo + hi) >> 1;
|
|
387
|
+
if (u < knots[mid]) {
|
|
388
|
+
hi = mid - 1;
|
|
389
|
+
}
|
|
390
|
+
else if (u >= knots[mid + 1]) {
|
|
391
|
+
lo = mid + 1;
|
|
392
|
+
}
|
|
393
|
+
else {
|
|
394
|
+
return mid;
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
return degree;
|
|
217
398
|
}
|
|
218
399
|
/**
|
|
219
400
|
* Interpolate a NURBS curve from fit points with optional end tangents
|
|
@@ -244,59 +425,66 @@ export function acgeInterpolateNurbsCurve(fitPoints, degree, parameterization, s
|
|
|
244
425
|
}
|
|
245
426
|
var knots = acgeGenerateAveragedKnots(degree, extendedParams);
|
|
246
427
|
var size = n + 1;
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
var
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
rhsY[row] = safePoints[0][1];
|
|
256
|
-
rhsZ[row] = safePoints[0][2];
|
|
257
|
-
row++;
|
|
258
|
-
for (var i = 1; i <= m - 1; i++) {
|
|
259
|
-
var u = params[i];
|
|
260
|
-
matrix[row] = new Array(size).fill(0);
|
|
261
|
-
for (var j = 0; j <= n; j++) {
|
|
262
|
-
matrix[row][j] = acgeBasisFunction(j, degree, u, knots);
|
|
263
|
-
}
|
|
264
|
-
rhsX[row] = safePoints[i][0];
|
|
265
|
-
rhsY[row] = safePoints[i][1];
|
|
266
|
-
rhsZ[row] = safePoints[i][2];
|
|
267
|
-
row++;
|
|
268
|
-
}
|
|
269
|
-
matrix[row] = new Array(size).fill(0);
|
|
270
|
-
matrix[row][n] = 1;
|
|
271
|
-
rhsX[row] = safePoints[m][0];
|
|
272
|
-
rhsY[row] = safePoints[m][1];
|
|
273
|
-
rhsZ[row] = safePoints[m][2];
|
|
274
|
-
row++;
|
|
428
|
+
// The collocation matrix is banded (B-spline support is local). Rows are
|
|
429
|
+
// ordered so every non-zero entry stays within `degree + 1` of the diagonal:
|
|
430
|
+
// start tangent first (columns 0/1), then the interpolation rows in
|
|
431
|
+
// parameter order, then the end tangent (columns n-1/n).
|
|
432
|
+
var rows = [];
|
|
433
|
+
var rhsX = [];
|
|
434
|
+
var rhsY = [];
|
|
435
|
+
var rhsZ = [];
|
|
275
436
|
if (hasStartTangent) {
|
|
276
437
|
var denom = knots[degree + 1] - knots[0];
|
|
277
438
|
var coeff = denom !== 0 ? degree / denom : 0;
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
}
|
|
439
|
+
rows.push([
|
|
440
|
+
{ col: 0, value: -coeff },
|
|
441
|
+
{ col: 1, value: coeff }
|
|
442
|
+
]);
|
|
443
|
+
rhsX.push((_a = startTangent === null || startTangent === void 0 ? void 0 : startTangent[0]) !== null && _a !== void 0 ? _a : 0);
|
|
444
|
+
rhsY.push((_b = startTangent === null || startTangent === void 0 ? void 0 : startTangent[1]) !== null && _b !== void 0 ? _b : 0);
|
|
445
|
+
rhsZ.push((_c = startTangent === null || startTangent === void 0 ? void 0 : startTangent[2]) !== null && _c !== void 0 ? _c : 0);
|
|
446
|
+
}
|
|
447
|
+
rows.push([{ col: 0, value: 1 }]);
|
|
448
|
+
rhsX.push(safePoints[0][0]);
|
|
449
|
+
rhsY.push(safePoints[0][1]);
|
|
450
|
+
rhsZ.push(safePoints[0][2]);
|
|
451
|
+
for (var i = 1; i <= m - 1; i++) {
|
|
452
|
+
var u = params[i];
|
|
453
|
+
var row = [];
|
|
454
|
+
var span = findKnotSpan(u, degree, knots);
|
|
455
|
+
var first = Math.max(0, span - degree);
|
|
456
|
+
var last = Math.min(n, span);
|
|
457
|
+
for (var j = first; j <= last; j++) {
|
|
458
|
+
var value = acgeBasisFunction(j, degree, u, knots);
|
|
459
|
+
if (value !== 0) {
|
|
460
|
+
row.push({ col: j, value: value });
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
rows.push(row);
|
|
464
|
+
rhsX.push(safePoints[i][0]);
|
|
465
|
+
rhsY.push(safePoints[i][1]);
|
|
466
|
+
rhsZ.push(safePoints[i][2]);
|
|
467
|
+
}
|
|
468
|
+
rows.push([{ col: n, value: 1 }]);
|
|
469
|
+
rhsX.push(safePoints[m][0]);
|
|
470
|
+
rhsY.push(safePoints[m][1]);
|
|
471
|
+
rhsZ.push(safePoints[m][2]);
|
|
286
472
|
if (hasEndTangent) {
|
|
287
473
|
var denom = knots[n + degree + 1] - knots[n];
|
|
288
474
|
var coeff = denom !== 0 ? degree / denom : 0;
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
}
|
|
297
|
-
var
|
|
298
|
-
|
|
299
|
-
|
|
475
|
+
rows.push([
|
|
476
|
+
{ col: n - 1, value: -coeff },
|
|
477
|
+
{ col: n, value: coeff }
|
|
478
|
+
]);
|
|
479
|
+
rhsX.push((_d = endTangent === null || endTangent === void 0 ? void 0 : endTangent[0]) !== null && _d !== void 0 ? _d : 0);
|
|
480
|
+
rhsY.push((_e = endTangent === null || endTangent === void 0 ? void 0 : endTangent[1]) !== null && _e !== void 0 ? _e : 0);
|
|
481
|
+
rhsZ.push((_f = endTangent === null || endTangent === void 0 ? void 0 : endTangent[2]) !== null && _f !== void 0 ? _f : 0);
|
|
482
|
+
}
|
|
483
|
+
var _g = __read(solveBandedLinearSystem(rows, [
|
|
484
|
+
rhsX,
|
|
485
|
+
rhsY,
|
|
486
|
+
rhsZ
|
|
487
|
+
]), 3), solutionX = _g[0], solutionY = _g[1], solutionZ = _g[2];
|
|
300
488
|
var controlPoints = new Array(size);
|
|
301
489
|
for (var i = 0; i < size; i++) {
|
|
302
490
|
controlPoints[i] = [solutionX[i], solutionY[i], solutionZ[i]];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcGeNurbsUtil.js","sourceRoot":"","sources":["../../src/util/AcGeNurbsUtil.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AcGeNurbsUtil.js","sourceRoot":"","sources":["../../src/util/AcGeNurbsUtil.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
import { AcGePoint3d, AcGePoint3dLike } from '../math/AcGePoint3d';
|
|
2
2
|
import { AcGeVector3d, AcGeVector3dLike } from '../math/AcGeVector3d';
|
|
3
3
|
export declare function acgeGetOcsReferenceVector(normal: AcGeVector3dLike): AcGeVector3d;
|
|
4
|
+
/**
|
|
5
|
+
* Writes the OCS reference vector for `normal` into `out` without allocating.
|
|
6
|
+
* Uses the module-level matrix/axis scratch, so like
|
|
7
|
+
* {@link acgeGetOcsReferenceVector} it is single-threaded sequential.
|
|
8
|
+
*/
|
|
9
|
+
export declare function acgeGetOcsReferenceVectorInto(out: AcGeVector3d, normal: AcGeVector3dLike): AcGeVector3d;
|
|
4
10
|
export declare function acgeTransformOcsPointToWcs(point: AcGePoint3dLike, normal: AcGeVector3dLike): AcGePoint3d;
|
|
11
|
+
/**
|
|
12
|
+
* Transforms an OCS point into WCS, writing into `out` without allocating.
|
|
13
|
+
* The +Z extrusion shortcut skips the matrix entirely (the extrusion matrix
|
|
14
|
+
* is identity there, see {@link AcGeMatrix3d.setFromExtrusionDirection}),
|
|
15
|
+
* which is the dominant case for DXF entities.
|
|
16
|
+
*/
|
|
17
|
+
export declare function acgeTransformOcsPointToWcsInto(out: AcGePoint3d, point: AcGePoint3dLike, normal: AcGeVector3dLike): AcGePoint3d;
|
|
5
18
|
export declare function acgeTransformWcsPointToOcs(point: AcGePoint3dLike, normal: AcGeVector3dLike): AcGePoint3d;
|
|
6
19
|
export declare function acgeGetOcsAngle(center: AcGePoint3dLike, point: AcGePoint3dLike, normal: AcGeVector3dLike): number;
|
|
7
20
|
//# sourceMappingURL=AcGeOcsUtil.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcGeOcsUtil.d.ts","sourceRoot":"","sources":["../../src/util/AcGeOcsUtil.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"AcGeOcsUtil.d.ts","sourceRoot":"","sources":["../../src/util/AcGeOcsUtil.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAgBrE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,gBAEjE;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,gBAAgB,gBAQzB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gBAAgB,eAGzB;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gBAAgB,eAYzB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gBAAgB,eAKzB;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gBAAgB,UAUzB"}
|
package/lib/util/AcGeOcsUtil.js
CHANGED
|
@@ -7,17 +7,43 @@ var _ocsXAxis = /*@__PURE__*/ new AcGeVector3d();
|
|
|
7
7
|
var _ocsYAxis = /*@__PURE__*/ new AcGeVector3d();
|
|
8
8
|
var _ocsZAxis = /*@__PURE__*/ new AcGeVector3d();
|
|
9
9
|
var _ocsPoint = /*@__PURE__*/ new AcGePoint3d();
|
|
10
|
+
var _ocsNormal = /*@__PURE__*/ new AcGeVector3d();
|
|
10
11
|
function createExtrusionMatrix(normal) {
|
|
11
12
|
return new AcGeMatrix3d().setFromExtrusionDirection(new AcGeVector3d(normal.x, normal.y, normal.z));
|
|
12
13
|
}
|
|
13
14
|
export function acgeGetOcsReferenceVector(normal) {
|
|
14
|
-
|
|
15
|
+
return acgeGetOcsReferenceVectorInto(new AcGeVector3d(), normal);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Writes the OCS reference vector for `normal` into `out` without allocating.
|
|
19
|
+
* Uses the module-level matrix/axis scratch, so like
|
|
20
|
+
* {@link acgeGetOcsReferenceVector} it is single-threaded sequential.
|
|
21
|
+
*/
|
|
22
|
+
export function acgeGetOcsReferenceVectorInto(out, normal) {
|
|
23
|
+
_ocsMatrix.setFromExtrusionDirection(_ocsNormal.set(normal.x, normal.y, normal.z));
|
|
15
24
|
_ocsMatrix.extractBasis(_ocsXAxis, _ocsYAxis, _ocsZAxis);
|
|
16
|
-
|
|
25
|
+
out.copy(_ocsXAxis);
|
|
26
|
+
return out;
|
|
17
27
|
}
|
|
18
28
|
export function acgeTransformOcsPointToWcs(point, normal) {
|
|
19
|
-
|
|
20
|
-
|
|
29
|
+
return acgeTransformOcsPointToWcsInto(new AcGePoint3d(), point, normal);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Transforms an OCS point into WCS, writing into `out` without allocating.
|
|
33
|
+
* The +Z extrusion shortcut skips the matrix entirely (the extrusion matrix
|
|
34
|
+
* is identity there, see {@link AcGeMatrix3d.setFromExtrusionDirection}),
|
|
35
|
+
* which is the dominant case for DXF entities.
|
|
36
|
+
*/
|
|
37
|
+
export function acgeTransformOcsPointToWcsInto(out, point, normal) {
|
|
38
|
+
var _a, _b;
|
|
39
|
+
if (normal.x === 0 && normal.y === 0 && normal.z === 1) {
|
|
40
|
+
out.set(point.x, point.y, (_a = point.z) !== null && _a !== void 0 ? _a : 0);
|
|
41
|
+
return out;
|
|
42
|
+
}
|
|
43
|
+
_ocsMatrix.setFromExtrusionDirection(_ocsNormal.set(normal.x, normal.y, normal.z));
|
|
44
|
+
out.set(point.x, point.y, (_b = point.z) !== null && _b !== void 0 ? _b : 0);
|
|
45
|
+
out.applyMatrix4(_ocsMatrix);
|
|
46
|
+
return out;
|
|
21
47
|
}
|
|
22
48
|
export function acgeTransformWcsPointToOcs(point, normal) {
|
|
23
49
|
var _a;
|