View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002614 | Community | OCCT:Modeling Algorithms | public | 2003-05-12 19:05 | 2006-06-29 09:15 |
| Reporter | bugmaster | Assigned To | |||
| Priority | normal | Severity | trivial | ||
| Status | closed | Resolution | unable to reproduce | ||
| OS | All | ||||
| Summary | 0002614: Geom_BSplineSurface::LocateU, V has parameter boundary probmem | ||||
| Description | Bug from Open CASCACADE community Registered by Gen Uemura http://www.opencascade.org/forumorg/bug.php?bug_id=126&f=8 If calling BSplineSurface::LocateU with parameter V = "Knots (Knots.Length()) + ParametricTolerance",then I got a "OutOfRange" exception at line 1462 > while ( Abs( Knots(I1+1) - NewU) <= Abs(ParametricTolerance)) I1++; In that case, these "if" statement in BSplineSurface::LocateU is not true. ParametricTolerance = 5.00000000000000e-010 NewU - ULast = 5.0000004137019e-010 > else if (Abs (NewU - ULast) <= Abs(ParametricTolerance)) { ULast + ParametricTolerance = 3.0000000005000 NewU = 3.0000000005000 > else if (NewU > ULast + Abs(ParametricTolerance)) { I think it's only a error limit of double precision floating point. Here is a part of test code. --------------------------------------------------------------- #define PosTol Precision::PConfusion()/2 ... VKnots.SetValue(1, 0.0); VKnots.SetValue(2, 1.0); VKnots.SetValue(3, 2.0); VKnots.SetValue(4, 3.0); Handle(Geom_BSplineSurface) surface = new Geom_BSplineSurface( Poles, UKnots, VKnots, UMults, VMults, 4, 4); Standard_Integer I1, I2; surface->LocateV(3.0 , PosTol, I1, I2); // OK surface->LocateV(3.0 + PosTol , PosTol, I1, I2); // NG surface->LocateV(3.1 , PosTol, I1, I2); // OK ... --------------------------------------------------------------- Environment is Windows2000 Microsoft Visual C++6.0 SP5 Pentium4 2.0GHz | ||||
| Tags | No tags attached. | ||||
| Test case number | |||||
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2003-05-12 19:23 | bugmaster | Assigned To | bugmaster => enk |
| 2003-05-12 19:23 | bugmaster | Status | new => assigned |
| 2003-05-12 19:23 | bugmaster | Summary | => Geom_BSplineSurface::LocateU, V has parameter boundary probmem |
| 2003-05-15 21:15 | bugmaster | Status | assigned => closed |
| 2003-05-15 21:15 | bugmaster | Resolution | @0@ => unable to reproduce |
| 2004-12-30 11:29 | bugmaster | Customer | => |
| 2011-08-02 11:31 | bugmaster | Category | OCCT:MOA => OCCT:Modeling Algorithms |