0024470: Wrong result done by General Fuse algorithm.
authoremv <emv@opencascade.com>
Thu, 9 Jan 2014 08:01:01 +0000 (12:01 +0400)
committerbugmaster <bugmaster@opencascade.com>
Thu, 9 Jan 2014 08:01:48 +0000 (12:01 +0400)
commit7eed5d29a9838cddf45012383866b41a8b80b3ee
tree37f0fdaf70030b3c509d0c720d04bb7dd287c0ad
parent547702a15d120607bed737c421dc7cae36973cb7
0024470: Wrong result done by General Fuse algorithm.

Modifications:
1. The validity of the intersection point between edge and face is checked with sum of the tolerance values of the edge and face.
2. The intersection between toroidal surface and one of the following surfaces: Plane, Cylinder, Sphere, Cone or Torus
   is treated as analytical in the following cases:
   1) Torus and Plane: a. Axes of the surfaces are parallel;
                       b. Axes of the surfaces are perpendicular and location of the torus is lying on the plane;
   2) Torus and Sphere: The location of the sphere is lying on the line made from toruses axis;
   3) Torus and Cone, Cylinder or Torus: The axis of the surfaces are collinear.
   In all cases the intersection line(s) is(are) circle(s).

Added test cases bugs/modalg_5/bug24470

The intersection between torus with minor radius more than (or equal to) the major radius and any other surface is considered as parametric.
21 files changed:
src/BOPAlgo/BOPAlgo_PaveFiller_3.cxx
src/BOPAlgo/BOPAlgo_PaveFiller_5.cxx
src/GeomInt/GeomInt_IntSS_1.cxx
src/GeomInt/GeomInt_LineConstructor.cxx
src/IntAna/IntAna_QuadQuadGeo.cdl
src/IntAna/IntAna_QuadQuadGeo.cxx
src/IntPatch/FILES
src/IntPatch/IntPatch_ALineToWLine.cxx
src/IntPatch/IntPatch_ImpImpIntersection.cxx
src/IntPatch/IntPatch_ImpImpIntersection_1.gxx
src/IntPatch/IntPatch_ImpImpIntersection_2.gxx
src/IntPatch/IntPatch_ImpImpIntersection_3.gxx
src/IntPatch/IntPatch_ImpImpIntersection_6.gxx [new file with mode: 0644]
src/IntPatch/IntPatch_Intersection.cxx
src/IntPatch/IntPatch_LineConstructor.cxx
src/IntSurf/IntSurf_Quadric.cdl
src/IntSurf/IntSurf_Quadric.cxx
src/IntSurf/IntSurf_Quadric.lxx
src/IntTools/IntTools_FaceFace.cxx
src/IntTools/IntTools_LineConstructor.cxx
tests/bugs/modalg_5/bug24470 [new file with mode: 0644]