View Issue Details

IDProjectCategoryView StatusLast Update
0023170CommunityOCCT:Modeling Algorithmspublic2012-11-16 13:16
Reporterdingzh Assigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
PlatformWindowsOSVC++ 2010 
Product Version6.5.3 
Target Version6.5.4Fixed in Version6.5.4 
Summary0023170: Bug of creating a full sphere face
DescriptionUsing new OCC6.5.3, I can't create a full sphere face any more like before.
face = BRepBuilderAPI_MakeFace (gp_Sphere(ax2, radius), 0, 6.2831853071795880, -1.5707963267948970, 1.5707963267948970);
it will throw an exception in another sub API:
static Standard_Boolean IsDegenerated(const Handle(Geom_Curve)& theCurve,
const Standard_Real theMaxTol,
Standard_Real& theActTol)
{
GeomAdaptor_Curve AC(theCurve);
Standard_Real aConfusion = Precision::Confusion();
theActTol = aConfusion;
GeomAbs_CurveType Type = AC.GetType();

if (Type == GeomAbs_Circle) {

//exception throwed here
gp_Circ Circ = AC.Circle();
----------------------------------
Steps To ReproduceDRAW script to reproduce (in Debug mode only):

pload MODELING
sphere s 10
mkface f s 0 6.2831853071795880 -1.5707963267948970 1.5707963267948970
TagsNo tags attached.
Test case numberchl 934 K0

Attached Files

  • K0 (543 bytes)

Activities

abv

2012-05-24 09:41

manager   ~0020572

The problem is not a regression in 6.5.3, but is reproduced in Debug mode only, and only when supplied range by V is greater than 'precise' PI/2 (as in this case, even if it is greater only by double epsilon).

The reason is that the method obtaining V isoline of sphere is not protected against case when |V| > PI/2; it creates circle with negative radius. In the reported case V = PI/2 but negative radius is still computed due to limited precision of floating point representation (the order is ~1e-15).

abv

2012-05-24 09:53

manager   ~0020573

The fix is put in Git branch CR23170, please review (see http://git.dev.opencascade.org/gitweb/?p=occt.git;a=commitdiff;h=7bbe72d80f28a606e042624259b4c5705aa3189a)

jgv

2012-05-31 12:07

developer   ~0020622

No remarks

aan

2012-05-31 17:11

tester  

K0 (543 bytes)

mkv

2012-06-01 16:10

tester   ~0020629

Dear BugMaster,
The workbenches
KAS:dev:aan-23170-occt (GIT branch CR23170)
KAS:dev:aan-23170-products (GIT master)
were compiled on Linux platform and tested.

Regression:
Not detected

Improvements:
Not detected

Testing case:
chl 934 K0 testing case has been created for issue.
Results of execution is successfully.

See results in /QADisk/occttests/results/KAS/dev/aan-23170-products_31052012/lin
See reference results in /QADisk/occttests/results/KAS/dev/products-20120518-opt_19052012/lin
See test cases in /QADisk/occttests/tests/ED
N.B. In order to launch testing case you can make use the following instructions
http://doc/doku.php?id=occt:certification

Related Changesets

occt: master 5554ac68

2012-05-24 05:51:11

abv


Committer: bugmaster Details Diff
0023170: Bug of creating a full sphere face

Method ElSLib::SphereVIso() is protected against creation of circle with negative radius when |V| > PI/2; now the circle on analytic continuation of sphere behind poles is returned in this case (thus always with positive or zero radius)
Affected Issues
0023170
mod - src/ElSLib/ElSLib.cxx Diff File

Issue History

Date Modified Username Field Change
2012-05-24 03:27 dingzh New Issue
2012-05-24 03:27 dingzh Assigned To => jgv
2012-05-24 09:41 abv Note Added: 0020572
2012-05-24 09:41 abv Assigned To jgv => abv
2012-05-24 09:41 abv Status new => assigned
2012-05-24 09:41 abv Target Version => 6.5.4
2012-05-24 09:41 abv Steps to Reproduce Updated
2012-05-24 09:53 abv Note Added: 0020573
2012-05-24 09:53 abv Assigned To abv => dingzh
2012-05-24 09:53 abv Status assigned => resolved
2012-05-25 16:47 abv Assigned To dingzh => jgv
2012-05-31 12:07 jgv Note Added: 0020622
2012-05-31 12:07 jgv Status resolved => reviewed
2012-05-31 12:09 mkv Assigned To jgv => aan
2012-05-31 17:11 aan Test case number => chl 934 K0
2012-05-31 17:11 aan File Added: K0
2012-06-01 16:10 mkv Note Added: 0020629
2012-06-01 16:11 mkv Assigned To aan => bugmaster
2012-06-01 16:11 mkv Status reviewed => tested
2012-06-04 16:14 bugmaster Changeset attached => occt master 5554ac68
2012-06-04 16:14 bugmaster Status tested => verified
2012-06-04 16:14 bugmaster Resolution open => fixed
2012-11-16 13:15 bugmaster Fixed in Version => 6.5.4
2012-11-16 13:16 bugmaster Status verified => closed