View Issue Details

IDProjectCategoryView StatusLast Update
0015489Open CASCADEOCCT:Foundation Classespublic2012-01-12 18:07
ReporteragvAssigned Toagv 
PrioritynormalSeveritytrivial 
Status closedResolutionfixed 
OSAll 
Fixed in Version6.2.1 
Summary0015489: Constructor gp_Lin2d(A, B, C) creates line with origin point in infinity
DescriptionIf called with parameters:
   gp_Lin2d (1e-20, -1., 2.)

the constructed object has the origin point (-2e+20, 0.). This causes numerical
errors because the algorithms generally are not designed to work with
quasi-infinite coordinates and distances.

The solution of this problem:

Corrected constructor of class gp_Lin2d creates the line origin as the nearest
point to the global origin (0., 0.) located on the line. This algorithm is
simpler than the previous one that created the origin on axis OX or OY, and it
avoids any numerical problems whatever the parameters of this constructor.
Additional information
and documentation updates
Documentation remark, added by AGV 2007-04-12 09:09:31:

New features:
none
Improvements:
Fixing the numerical problem in constructor gp_Lin(A, B, C). Previously, the
origin of the created line was set as the intersection of the line with axis OX.
With small A this brought about very large X-coordinate of the origin point.

Corrected constructor of class gp_Lin2d creates the line origin as the nearest
point to the global origin (0., 0.) located on the line. This algorithm is
simpler than the previous one that created the origin on axis OX or OY, and it
avoids any numerical problems whatever the parameters of this constructor.
Modified entities:
class Lin2d from package gp;

modified gp_Lin2d.cxx, need only to rebuild gp and TKMath.
TagsNo tags attached.
Test case number

Attached Files

  • gp_Lin2d.cxx.gz (645 bytes)
  • OCC15489-mkv-v1.tar.gz (44,686 bytes)
  • U1 (1,081 bytes)

Activities

2007-04-03 17:02

 

gp_Lin2d.cxx.gz (645 bytes)

2007-04-18 15:30

 

OCC15489-mkv-v1.tar.gz (44,686 bytes)

2007-04-19 14:18

 

U1 (1,081 bytes)

Issue History

Date Modified Username Field Change
2007-04-11 16:56 bugmaster Assigned To bugmaster => agv
2007-04-11 16:56 bugmaster Status new => assigned
2007-07-04 12:58 bugmaster Status assigned => resolved
2007-07-04 12:59 bugmaster Status resolved => tested
2007-07-27 17:29 bugmaster Status tested => verified
2009-06-23 17:06 bugmaster Status verified => closed
2009-06-23 17:06 bugmaster Resolution @0@ => fixed
2011-08-02 11:23 bugmaster Category OCCT:FDC => OCCT:Foundation Classes
2012-01-12 18:07 atp Description Updated
2012-01-12 18:07 atp Additional Information Updated