]> OCCT Git - occt.git/commitdiff
[bos #30432] Fix intersection with edges treatment: use parameters on polygon and... CR790-SALOME-bos30432
authorjfa <jfa@opencascade.com>
Fri, 13 Jun 2025 11:14:57 +0000 (12:14 +0100)
committerjfa <jfa@opencascade.com>
Fri, 13 Jun 2025 11:14:57 +0000 (12:14 +0100)
src/Intf/Intf_InterferencePolygonPolyhedron.gxx

index 1e909d6989bdde2e1e02e2909d758b3fcc12ee4c..1b1736a59eb02e9c44188d0dfece7d6e1c020112 100644 (file)
@@ -1010,7 +1010,7 @@ void Intf_InterferencePolygonPolyhedron::Intersect
              if(IsInSegment(VecPol,gp_Vec(BegO,PO),NVecPol,ParamOnO,Tolerance)) {
                if(IsInSegment(VecTri,gp_Vec(BegT,PT),NVecTri,ParamOnT,Tolerance)) {
                  //-- cout<<" * "<<endl;
-                 gp_XYZ spLieu=BegT.XYZ()+((EndT.XYZ()-BegT.XYZ())*param);
+                 gp_XYZ spLieu=BegO.XYZ()+((EndO.XYZ()-BegO.XYZ())*ParamOnO);
                  Standard_Integer tmin,tmax;
                  if(pTri_i>pTri_ip1pc3) { 
                    tmin=pTri_ip1pc3; tmax=pTri_i; 
@@ -1022,7 +1022,7 @@ void Intf_InterferencePolygonPolyhedron::Intersect
                                       typOnG, 0, iLin, ParamOnO, 
                                       Intf_EDGE, 
                                       tmin, 
-                                      tmax, 0.,
+                                      tmax, ParamOnT,
                                       1.);
                  mySPoins.Append(SP);
                }