mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-09-08 14:17:06 +03:00
[bos #30432] Fix intersection with edges treatment: use parameters on polygon and on triangle's edge
This commit is contained in:
@@ -1010,7 +1010,7 @@ void Intf_InterferencePolygonPolyhedron::Intersect
|
|||||||
if(IsInSegment(VecPol,gp_Vec(BegO,PO),NVecPol,ParamOnO,Tolerance)) {
|
if(IsInSegment(VecPol,gp_Vec(BegO,PO),NVecPol,ParamOnO,Tolerance)) {
|
||||||
if(IsInSegment(VecTri,gp_Vec(BegT,PT),NVecTri,ParamOnT,Tolerance)) {
|
if(IsInSegment(VecTri,gp_Vec(BegT,PT),NVecTri,ParamOnT,Tolerance)) {
|
||||||
//-- cout<<" * "<<endl;
|
//-- 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;
|
Standard_Integer tmin,tmax;
|
||||||
if(pTri_i>pTri_ip1pc3) {
|
if(pTri_i>pTri_ip1pc3) {
|
||||||
tmin=pTri_ip1pc3; tmax=pTri_i;
|
tmin=pTri_ip1pc3; tmax=pTri_i;
|
||||||
@@ -1022,7 +1022,7 @@ void Intf_InterferencePolygonPolyhedron::Intersect
|
|||||||
typOnG, 0, iLin, ParamOnO,
|
typOnG, 0, iLin, ParamOnO,
|
||||||
Intf_EDGE,
|
Intf_EDGE,
|
||||||
tmin,
|
tmin,
|
||||||
tmax, 0.,
|
tmax, ParamOnT,
|
||||||
1.);
|
1.);
|
||||||
mySPoins.Append(SP);
|
mySPoins.Append(SP);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user