View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0032794 | Community | OCCT:Modeling Algorithms | public | 2022-01-24 05:15 | 2023-08-01 15:08 |
Reporter | eryar | Assigned To | |||
Priority | normal | Severity | feature | ||
Status | new | Resolution | open | ||
Platform | Windows | OS | VC++ 2012 | ||
Product Version | 7.6.0 | ||||
Target Version | Unscheduled | ||||
Summary | 0032794: Design clear and user-defined Tolerance Management | ||||
Description | Tolerance Management is very import(robust and performance) for numerical calculation, such as Intersection Algorithm, Projection Algorithm, Approximation Algorithm, Classification Algorithm, etc. Though OCCT have Precision class to provide some precision criteria, but some precision are still fixed in source code, such as the precison in IntAna package: IntAna_QuadQuadGeo.cxx line 828: static Standard_Real EllipseLimit = 1.0E+9; //OCC513(apo) 1000000 static Standard_Real HyperbolaLimit = 2.0E+6; //OCC537(apo) 50000 if(typeres==IntAna_Ellipse && nbint>=1) { if(Abs(param1) > EllipseLimit || Abs(param1bis) > EllipseLimit) { done=Standard_False; return; } } In math package, you can set tolerance and iteration number for math solvers, such as math_BFGS, math_FunctionRoot, .etc., but in upper class you cannot set these parameters, or even set but not use, such as the tolerance in IntAna_IntQuadQuad Perform funcion: void IntAna_IntQuadQuad::Perform(const gp_Cylinder& Cyl, const IntAna_Quadric& Quad, const Standard_Real) For some application fields they do not need high-precision, such as ship building, chemical plant design, 0.001mm I think is enough. So I suggest that let the user to choose the proper tolerance for their specific application, that is user can set the Precision tolerance before algorithm(Intersection Algorithm, Projection Algorithm, Approximation Algorithm, Classification Algorithm, etc.) preform, this will clear than Fuzzy value in Boolean Operations. | ||||
Tags | No tags attached. | ||||
Test case number | |||||
Date Modified | Username | Field | Change |
---|---|---|---|
2022-01-24 05:15 | eryar | New Issue | |
2022-01-24 05:15 | eryar | Assigned To | => kgv |
2022-01-24 10:32 | kgv | Assigned To | kgv => msv |
2022-01-24 10:32 | kgv | Category | OCCT:Coding => OCCT:Modeling Algorithms |
2022-10-24 10:41 |
|
Target Version | 7.7.0 => 7.8.0 |
2023-08-01 15:08 | dpasukhi | Target Version | 7.8.0 => Unscheduled |