mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-05-10 17:40:24 +08:00
- Implemented various test cases including projections of lines, circles, and B-splines on different surface types (planes, cylinders, spheres, and toroids). - Refactored ShapeConstruct_ProjectCurveOnSurface to improve handling of periodic surfaces and edge cases. - Updated header files to reflect new type aliases and improved structure for better readability and maintainability. - Added a new function `extractBSplineCurve` to streamline the extraction of B-spline curves from both trimmed and untrimmed curves. - Refactored `isBSplineCurveInvalid` to utilize the new extraction function, improving clarity and reducing code duplication. - Updated `generateCurvePoints` to leverage the new extraction method for better handling of B-spline curves. - Replaced std::vector with NCollection_Vector for better memory management in isBSplineCurveInvalid. - Enhanced rebuildBSpline function to improve knot adjustment logic while preserving curve geometry. - Introduced a new utility class, SurfaceProjectorWithCache, to enhance the projection of points onto B-spline surfaces by caching pole positions and their UV parameters.