Skip to content

Comments

Tkg3 eval try upt revol offset curv also#69

Open
dpasukhi wants to merge 20 commits intomasterfrom
TKG3_eval_try_upt_revol_offset_curv_also
Open

Tkg3 eval try upt revol offset curv also#69
dpasukhi wants to merge 20 commits intomasterfrom
TKG3_eval_try_upt_revol_offset_curv_also

Conversation

@dpasukhi
Copy link
Owner

No description provided.

…nUtils and Geom_RevolutionUtils

- Added Geom_ExtrusionUtils.pxx for evaluating points and derivatives on linear extrusion surfaces.
- Introduced Geom_RevolutionUtils.pxx for evaluating points and derivatives on surfaces of revolution.
- Updated GeomEvaluator_SurfaceOfExtrusion and GeomEvaluator_SurfaceOfRevolution to utilize new utility functions for improved clarity and performance.
- Added bounds retrieval method in GeomAdaptor_Surface for better parameter management.
- Introduced Geom_OffsetCurveUtils.pxx and Geom_OffsetSurfaceUtils.pxx to provide static inline functions for computing offset curve and surface points and their derivatives.
- Updated FILES.cmake to include the new utility files for better organization and accessibility.
- Enhanced GeomEvaluator_OffsetSurface to utilize the new utility functions for improved clarity and performance in offset surface evaluations.
…erivative calculations

- Removed redundant derivative calculation methods and replaced them with calls to Geom_OffsetCurveUtils for D0, D1, D2, and D3 evaluations.
- Enhanced error handling for null derivatives and undefined normal vectors.
- Updated header file to reflect the removal of obsolete private methods, improving code clarity and maintainability.
…ulations

- Replaced manual rotation and shift calculations with transformations using gp_Ax1 and gp_Trsf for improved clarity and performance.
- Updated GeomEvaluator_SurfaceOfRevolution to utilize the new function signatures, enhancing code maintainability and reducing redundancy.
- Removed obsolete parameters from function signatures to simplify the interface and improve usability.
… derivatives

- Updated EvaluateDN to handle derivatives greater than 3 by returning the basis curve's derivative directly, improving functionality for high-order evaluations.
- Simplified error handling in GeomEvaluator_OffsetCurve to streamline derivative calculations and ensure consistent behavior when dealing with null derivatives.
…ffset surfaces in Geom_OffsetSurfaceUtils

- Added functions to compute second derivatives of normals with respect to U and V, as well as mixed second derivatives.
- Enhanced the CalculateD2 and CalculateD3 functions to incorporate these new derivative calculations, improving accuracy for offset surface evaluations.
- Updated parameter handling to ensure consistency and clarity in derivative computations.
…faceUtils

- Added functions to compute the third derivatives of normals with respect to U, V, and mixed derivatives for non-singular offset surfaces.
- Enhanced the CalculateD2 and CalculateD3 functions to utilize these new third derivative calculations, improving the accuracy of offset surface evaluations.
- Updated parameter handling in CalculateD2 to include additional derivatives, ensuring consistency in derivative computations.
…ved performance

- Introduced stack-allocated buffers for higher-order derivative calculations, enhancing memory efficiency and performance.
- Removed obsolete ComputeSingularNormal function to streamline the codebase.
- Updated EvaluateD0, EvaluateD1, EvaluateD2, and EvaluateD3 functions to utilize new buffer implementations, ensuring consistency in derivative evaluations.
…s to incorporate osculating surface information

- Added osculating surface information retrieval to the EvaluateD2 and EvaluateD3 functions for improved accuracy in derivative calculations.
- Updated parameter handling to include the sign from osculating information, ensuring consistency in evaluations.
- Removed redundant osculating surface checks from singular case handling to streamline the code.
- Introduced Geom2d_OffsetCurveUtils.pxx to provide static inline functions for calculating offset curve points and their derivatives.
- Updated Geom2dEvaluator_OffsetCurve to utilize these new utility functions for D0, D1, D2, and D3 evaluations, improving code clarity and maintainability.
- Removed obsolete private methods related to derivative calculations, streamlining the codebase.
- Enhanced error handling for undefined normal vectors during evaluations.
…tor_OffsetSurface

- Simplified error handling by consolidating exception messages for undefined normal calculations in D0, D1, D2, D3, and DN functions.
- Improved code readability by reducing line breaks in exception throwing statements, enhancing maintainability.
- Changed mathematical notation in comments from 'd³' to 'd^3' for uniformity across the codebase.
- Adjusted comments to enhance readability and maintainability, ensuring that derivative calculations are clearly documented.
- Updated test cases to reflect new expected values for shape properties, improving accuracy in validation.
…calculations

- Replaced std::array with NCollection_LocalArray for stack-allocated buffers in derivative functions, improving memory efficiency.
- Updated buffer sizes dynamically based on the maximum order and input parameters, enhancing flexibility in derivative evaluations.
- Ensured consistency across EvaluateD0, EvaluateD1, EvaluateD2, EvaluateD3, and EvaluateDN functions with the new buffer implementations.
@dpasukhi dpasukhi force-pushed the TKG3_eval_try_upt_revol_offset_curv_also branch from 5658c1d to 671e046 Compare December 16, 2025 16:37
dpasukhi and others added 5 commits December 16, 2025 16:41
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Pasukhin Dmitry <pasuhinsvzn@gmail.com>
…urfaceUtils

- Deleted inline functions for computing second derivatives of normals with respect to U, V, and mixed derivatives, as they were not utilized in the current implementation.
- Streamlined the codebase by eliminating redundant comments and function definitions, enhancing maintainability and clarity.
- Updated related calculations in CalculateD2 and CalculateD3 to reflect the removal of these functions, ensuring consistency in derivative evaluations.
…ateD3 functions in Geom_OffsetSurfaceUtils

- Eliminated the code that addressed zero derivative cases for CSLib_InfinityOfSolutions, streamlining the evaluation process.
- This change enhances code clarity by removing redundant checks and comments related to derivative replacements.
- Ensured that the remaining logic in EvaluateD2 and EvaluateD3 continues to function correctly without the removed handling.
…ls for improved singularity handling

- Enhanced the logic for evaluating singular and non-singular cases by restructuring the order of operations and clarifying comments.
- Introduced checks for singularity based on normalized derivatives and cross products, improving accuracy in derivative calculations.
- Streamlined the use of osculating surface information and sign factors, ensuring consistent evaluations across different derivative orders.
- Updated comments for clarity and removed redundant checks, enhancing overall code maintainability.
- Adjusted expected shape properties in multiple test files to reflect correct values.
- Updated tolerances in bug tests to ensure consistency in results.
- Enhanced error messages in test outputs for better clarity on failures.
Base automatically changed from IR to master February 15, 2026 19:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant