mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-01-31 11:10:34 +05:00
Bugs 20300 and 20361: Error occured during check of geometric coincidence.
This commit is contained in:
parent
8e1ef24a91
commit
72d99f0d90
@ -266,7 +266,8 @@ Standard_Integer GEOMAlgo_Tools::FindSDShapes(const TopoDS_Shape& aE1,
|
|||||||
else {
|
else {
|
||||||
bIsDone=GEOMAlgo_Tools::ProjectPointOnShape(aP1, aE2, aP2, aCtx);
|
bIsDone=GEOMAlgo_Tools::ProjectPointOnShape(aP1, aE2, aP2, aCtx);
|
||||||
if (!bIsDone) {
|
if (!bIsDone) {
|
||||||
return 1;
|
//return 1;
|
||||||
|
continue; // jfa BUG 20361
|
||||||
}
|
}
|
||||||
aD2=aP1.SquareDistance(aP2);
|
aD2=aP1.SquareDistance(aP2);
|
||||||
if(aD2<aTol2) {
|
if(aD2<aTol2) {
|
||||||
@ -295,24 +296,20 @@ Standard_Boolean GEOMAlgo_Tools::ProjectPointOnShape(const gp_Pnt& aP1,
|
|||||||
{
|
{
|
||||||
case TopAbs_EDGE:
|
case TopAbs_EDGE:
|
||||||
{
|
{
|
||||||
// cout << "$$$ case TopAbs_EDGE" << endl;
|
|
||||||
const TopoDS_Edge& aE2 = TopoDS::Edge(aS);
|
const TopoDS_Edge& aE2 = TopoDS::Edge(aS);
|
||||||
//
|
//
|
||||||
if (BRep_Tool::Degenerated(aE2)) { // jfa
|
if (BRep_Tool::Degenerated(aE2)) { // jfa
|
||||||
// cout << "$$$ Degenerated" << endl;
|
|
||||||
return Standard_True;
|
return Standard_True;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Standard_Real f, l;
|
Standard_Real f, l;
|
||||||
Handle(Geom_Curve) aC3D = BRep_Tool::Curve (aE2, f, l);
|
Handle(Geom_Curve) aC3D = BRep_Tool::Curve (aE2, f, l);
|
||||||
if (aC3D.IsNull()) {
|
if (aC3D.IsNull()) {
|
||||||
// cout << "$$$ aC3D.IsNull()" << endl;
|
|
||||||
return Standard_True;
|
return Standard_True;
|
||||||
}
|
}
|
||||||
bIsDone = aCtx.ProjectPointOnEdge(aP1, aE2, aT2);
|
bIsDone = aCtx.ProjectPointOnEdge(aP1, aE2, aT2);
|
||||||
}
|
}
|
||||||
if (!bIsDone) {
|
if (!bIsDone) {
|
||||||
// cout << "$$$ !bIsDone" << endl;
|
|
||||||
return bIsDone;
|
return bIsDone;
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
|
Loading…
Reference in New Issue
Block a user