1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

0025593: Number of intersection points for 2d curves depends on the order of arguments in command "2dintersect"

1. Unification of the polygons creation (it is regardless of arguments order).
2. Output of 2dintersect DRAW-command was changed.
3. Geom2dGcc_Circ2d2TanRadGeo.cxx:
     Precise intersection point found by Extrema Curve-Curve method (dot product between every tangent vector and vector between points on two curves must be equal to zero).
4. Some comments have been translated from French to English.

Some test case have been updated.

Changes in accordance with the last remark

Test case for issue CR25593
This commit is contained in:
nbv
2015-04-16 10:32:53 +03:00
committed by bugmaster
parent 346cf025a5
commit 1d19db8dad
41 changed files with 451 additions and 546 deletions

View File

@@ -41,6 +41,7 @@
#include <Geom2d_Circle.hxx>
#include <IntAna2d_AnaIntersection.hxx>
#include <IntAna2d_IntPoint.hxx>
#include <IntRes2d_IntersectionPoint.hxx>
#include <stdio.h>
#ifdef WNT
@@ -275,7 +276,6 @@ static Standard_Integer extrema(Draw_Interpretor& di, Standard_Integer n, const
return 0;
}
//=======================================================================
//function : intersect
//purpose :
@@ -319,7 +319,10 @@ static Standard_Integer intersect(Draw_Interpretor& di, Standard_Integer n, cons
for ( i = 1; i <= Intersector.NbPoints(); i++) {
gp_Pnt2d P = Intersector.Point(i);
di<<"Intersection point "<<i<<" : "<<P.X()<<" "<<P.Y()<<"\n";
di<<"parameter on the fist: "<<Intersector.Intersector().Point(i).ParamOnFirst();
di<<" parameter on the second: "<<Intersector.Intersector().Point(i).ParamOnSecond()<<"\n";
Handle(Draw_Marker2D) mark = new Draw_Marker2D( P, Draw_X, Draw_vert);
dout << mark;
}