MantisBT
Mantis Bug Tracker Workflow

View Revisions: Issue #29203 All Revisions ] Back to Issue ]
Summary 0029203: Ambiguous behavior of Point-Face-classification algorithms: shall it return ON-status?
Revision 2017-11-07 10:06 by nbv
Description See Steps To Reproduce.

Script 1.
Different algorithms return different results.

b2dclassifx DRAW-command uses "polygonal"-classifier (based on CSLib_Class2d).
b2dclassify uses "ray"-classifier (based on BRepClass_Intersector).

Wrong ON-status is returned by the reason of poor algorithm of IntRes2d_Position computation in BRepClass_Intersector class. Correct status is OUT.

Script 2.

3D-representation of the given point is in the wire of the given face.

      Draw[]> explode ff w
      # ff_1
      Draw[]> mksurf ss ff
      Draw[]> sval ss 1.6881493482012555 3.9044196877163997 xx yy zz
      Draw[]> vertex vv xx yy zz
      Draw[]> distmini dd ff_1 vv; dval dd_val
      # 3.039106595854385e-008 < Tolerance (1.0e-7)

However, distance point-curve in 2D-space is quite big.

      Draw[]> v2d
      Draw[]> pcurve ff
      Draw[]> 2dfit
      Draw[]> 2dproj ff_7 1.6881493482012555 3.9044196877163997
      #ext_1 ext_2 ext_3
      Draw[36]> length ext_1
      # 5.9317418539273143e-006

On the current MASTER, status OUT is returned. After the fix for issue #28211, status ON will be returned.
Revision 2017-10-19 18:01 by nbv
Description See Steps To Reproduce.

Script 1.
Different algorithms return different results.

b2dclassifx DRAW-command uses "polygonal"-classifier (based on CSLib_Class2d).
b2dclassify uses "ray"-classifier (based on BRepClass_Intersector).

Wrong ON-status is returned by the reason of poor algorithm of IntRes2d_Position computation in BRepClass_Intersector class. Correct status is OUT.

Script 2.

3D-representation of the given point is in the wire of the given face.

      Draw[]> explode ff w
      # ff_1
      Draw[]> mksurf ss ff
      Draw[]> sval ss 1.6881493482012555 3.9044196877163997 xx yy zz
      Draw[]> vertex vv xx yy zz
      Draw[]> distmini dd ff_1 vv; dval dd_val
      # 3.039106595854385e-008 < Tolerance (1.0e-7)

However, distance point-curve is quite big.

      Draw[]> v2d
      Draw[]> pcurve ff
      Draw[]> 2dfit
      Draw[]> 2dproj ff_7 1.6881493482012555 3.9044196877163997
      #ext_1 ext_2 ext_3
      Draw[36]> length ext_1
      # 5.9317418539273143e-006

On the current MASTER, status OUT is returned. After the fix for issue #28211, status ON will be returned.
Revision 2017-10-11 11:26 by nbv
Description See Steps To Reproduce.

b2dclassifx DRAW-command uses "polygonal"-classifier (based on CSLib_Class2d).
b2dclassify uses "ray"-classifier (based on BRepClass_Intersector).

Wrong ON-status is returned by the reason of poor algorithm of IntRes2d_Position computation in BRepClass_Intersector class. Correct status is OUT.


Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker