MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0027075Community[OCCT] OCCT:Modeling Datapublic2016-01-13 11:532017-12-05 17:09
ReporterRoman Lygin 
Assigned Tossv 
PrioritynormalSeverityminor 
StatusassignedResolutionopen 
PlatformOSOS Version
Product Version[OCCT] 6.9.1 
Target Version[OCCT] 7.4.0*Fixed in Version 
Summary0027075: Geom_BSplineCurve cannot be evaluated at the end parameter
DescriptionA B-Spline curve of degree 2 has a range [0,1]. It has the following boundary knots with multiplicities:

   1 : -0.0625 1
   2 : 0 2
...
  18 : 1 2
  19 : 1.0625 2
and has 34 poles. The formula number_of_poles = sum_of_mults - degree - 1 is respected.
Given that boundary knots (-0.0625 and 1.0625) are not of multiplicity degree+1, the definition range is [0,1]. However the curve cannot be evaluated at parameter 1 - the value [-1#IND0,-1#IND0] (or perhaps just uninitialized value) is returned.
On the other hand, ::Segment(0,1) works correctly by removing the boundary poles. Thus, apparently there is some issue in evaluation process.

The curve comes from an IGES file where it has been specified as periodic (i.e. in the sending CAD system it was a periodic B-Spline). This seems to be reasonable as the curve essentially is a closed/periodic one. IGES stores all B-Splines using flat knots and meeting the formula above number_of_poles = sum_of_mults - degree - 1. For periodic B-Splines it just stores a flag but the arrays of knots/multiplicities/poles are not recomputed similar to OCC conventions.
Steps To Reproducerestore pcurve pc
2dcvalue pc 0 x y
dump x y #correct
2dcvalue pc 1 x y
dump x y #incorrect
TagsNo tags attached.
Test case number
Attached Files? file icon pcurve (1,507 bytes) 2016-01-13 11:53
? file icon iges-excerpt.igs (3,362 bytes) 2016-01-13 12:54

- Relationships

-  Notes
(0049818)
msv (developer)
2016-01-13 12:35

Dear Roman,

You wrote:
"IGES stores all B-Splines using flat knots and meeting the formula above number_of_poles = sum_of_mults - degree - 1. For periodic B-Splines it just stores a flag but the arrays of knots/multiplicities/poles are not recomputed similar to OCC conventions."

Do you mean OCC IGES reader does this? Or IGES file already contains such definition?

Could you attach the IGES file here?
(0049819)
Roman Lygin (developer)
2016-01-13 12:54

Dear Mikhail,
This is per IGES specification itself.
The excerpt from the original file is enclosed. The point however is that the 'pcurve' corresponds to a real data that may come from outside or can be created in OCC. The issue is not about the OCC IGES reader.

- Issue History
Date Modified Username Field Change
2016-01-13 11:53 Roman Lygin New Issue
2016-01-13 11:53 Roman Lygin Assigned To => msv
2016-01-13 11:53 Roman Lygin File Added: pcurve
2016-01-13 12:35 msv Note Added: 0049818
2016-01-13 12:35 msv Assigned To msv => Roman Lygin
2016-01-13 12:35 msv Status new => feedback
2016-01-13 12:54 Roman Lygin Note Added: 0049819
2016-01-13 12:54 Roman Lygin File Added: iges-excerpt.igs
2016-01-13 12:55 Roman Lygin Assigned To Roman Lygin => msv
2016-01-13 12:55 Roman Lygin Status feedback => assigned
2016-01-13 13:08 msv Assigned To msv => ssv
2016-10-25 17:00 msv Target Version 7.1.0 => 7.2.0
2017-07-20 15:30 msv Target Version 7.2.0 => 7.3.0
2017-12-05 17:09 msv Target Version 7.3.0 => 7.4.0*


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker