View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0022379 | Community | OCCT:Modeling Algorithms | public | 2011-04-06 11:32 | 2023-08-01 15:08 |
Reporter | Assigned To | ||||
Priority | normal | Severity | trivial | ||
Status | assigned | Resolution | open | ||
OS | All | ||||
Target Version | Unscheduled | ||||
Summary | 0022379: Patch for Extrema | ||||
Description | Patch from the Forum http://www.opencascade.org/org/forum/thread_19744/: Extrema_ExtPS & Extrema_ExtPElS. "Jane Hu | reply 2011/01/19 18:56 During solving a bug, I notice that in point Extrema code, tolerance check isn't carried over to details, thus boundary points often can't be found in the U V space. I have following patches to correct it. http://homepages.cae.wisc.edu/~janeh/OCC/patch6.3.html Please also see http://homepages.cae.wisc.edu/~janeh/OCC/bug.brep for the surface that shows the problem. pick points along the boundary curve where u is about 0, and trying to find the u, v for the points, you'll see programs gives a wrong (u,v). Please refer to the following discussion thread for a detail for the problem. http://www.opencascade.org/org/forum/thread_14409/ Jane" | ||||
Tags | No tags attached. | ||||
Test case number | |||||
|
Dear Sergey! I see that proposed changes are very strong and comprehensive, but the problem is not clarified enough. So it is necessary to add more data and, may be, a script describing the problem. |
|
We need at least a script reproducing the bug |
|
Dear Julia, I found some reference to discussion around this bug (see copied text below). Probably it may help. "Currently I am looking in a bug which tries to evaluate a point on surface boundary curve for it's u,v parameter. We are calling Extrema_ExtPS, with TolU and TolV given as Precision::Approximation() = 1x10^-6. Now there are 2 issues: 1. in function void Extrema_ExtPElS::Perform(const gp_Pnt& P, const gp_Torus& S, const Standard_Real Tol) Tol was hard coded as 1x10^-7, I am ok with it. However, it only was used for distance tolerance check, where in my particular case, U was -1.2490009027033011e-15, which is close (by Tol) enough to be considered as U=0. If following the original path, U < 0, the U have to be added by 2*PI which is far ourside of the current physical torus, hence the function didn't find u and v and closest point for this point on curve situaction. On the other hand, if I assign it now as U=0, it successfully returns a pair of u,v with closest point within tolerance of the original point. I intend to change the code this way, 314 if(U1 > -Tol && U1 < 0.) {U1 = 0.;} 315 if (U1 < 0. ) { U1 += 2. * PI; } also for V1 and V2 in this function. Is there anyone who also looked into this problem and think it's inproper to do this way? Thanks in advance for your advise. 2. this is also related to tolerance issue: in Extrema_ExtPS::TreatSolution, it called ElCLib::InPeriod, which uses Standard_Real Eps = Epsilon(period) as tolerance for U and V parameter, where my passed in U is 2.44*10^-15 close to Umin, it's still greater than Eps which is 8.8*10^-16, so it gets to add a period of 6.28 and hence can't find it's U,V because of out of boundary. Here my question is: is there any reason to use Eps as tolerance instead of passed in TolU and TolV? " |
|
The patch for OCCT 6.6.0 can be found at http://trac.mcs.anl.gov/projects/ITAPS/browser/cgm/trunk/geom/OCC/occ_patches_6.6.0 |
Date Modified | Username | Field | Change |
---|---|---|---|
2011-04-06 18:37 | bugmaster | Status | closed => assigned |
2011-04-06 18:37 | bugmaster | Resolution | suspended => @0@ |
2011-04-06 19:09 | bugmaster | Assigned To | bugmaster => szy |
2011-04-07 11:48 |
|
Assigned To | szy => jgv |
2011-04-08 11:38 |
|
CC | => szy |
2011-08-02 11:31 | bugmaster | Category | OCCT:MOA => OCCT:Modeling Algorithms |
2011-08-03 17:39 |
|
Note Added: 0017900 | |
2011-09-21 14:25 |
|
Fixed in Version | EMPTY => |
2011-09-21 14:25 |
|
Target Version | => 6.5.3 |
2011-09-21 14:25 |
|
Description Updated | |
2011-11-25 12:00 |
|
Description Updated | |
2012-02-09 09:20 |
|
Target Version | 6.5.3 => 6.5.4 |
2012-10-23 19:32 |
|
Target Version | 6.5.4 => 6.6.0 |
2013-03-01 21:37 |
|
Target Version | 6.6.0 => 6.7.0 |
2013-07-10 18:12 |
|
Note Added: 0025018 | |
2013-12-21 10:13 |
|
Target Version | 6.7.0 => 6.7.1 |
2014-04-04 18:27 |
|
Target Version | 6.7.1 => 6.8.0 |
2014-09-26 10:27 |
|
Target Version | 6.8.0 => 7.1.0 |
2016-10-28 15:33 |
|
Target Version | 7.1.0 => 7.2.0 |
2017-07-21 11:34 |
|
Target Version | 7.2.0 => 7.3.0 |
2017-12-05 17:09 |
|
Target Version | 7.3.0 => 7.4.0 |
2019-08-12 16:44 |
|
Target Version | 7.4.0 => 7.5.0 |
2020-09-14 22:55 |
|
Target Version | 7.5.0 => 7.6.0 |
2021-08-29 18:52 |
|
Target Version | 7.6.0 => 7.7.0 |
2022-10-24 10:42 |
|
Target Version | 7.7.0 => 7.8.0 |
2023-08-01 15:08 | dpasukhi | Target Version | 7.8.0 => Unscheduled |