1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-19 13:40:49 +03:00

[bos #30432] Fix intersection with edges treatment: use parameters on polygon and on triangle's edge

This commit is contained in:
jfa
2025-06-13 12:14:57 +01:00
parent a7fb645f2c
commit ecb2bfff8c

View 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);
}