mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-01-02 21:00:35 +05:00
Mantis issue 0020961: Error with GetShapesOnCylinder applied to a pipe T-Shape.
This commit is contained in:
parent
0b304ad8b2
commit
562fd50bd9
@ -2005,9 +2005,31 @@ Handle(TColStd_HSequenceOfInteger)
|
|||||||
return aSeqOfIDs;
|
return aSeqOfIDs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// BEGIN: Mantis issue 0020961: Error on a pipe T-Shape
|
||||||
|
// Compute tolerance
|
||||||
|
Standard_Real T, VertMax = -RealLast();
|
||||||
|
try {
|
||||||
|
#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
|
||||||
|
OCC_CATCH_SIGNALS;
|
||||||
|
#endif
|
||||||
|
for (TopExp_Explorer ExV (theShape, TopAbs_VERTEX); ExV.More(); ExV.Next()) {
|
||||||
|
TopoDS_Vertex Vertex = TopoDS::Vertex(ExV.Current());
|
||||||
|
T = BRep_Tool::Tolerance(Vertex);
|
||||||
|
if (T > VertMax)
|
||||||
|
VertMax = T;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Standard_Failure) {
|
||||||
|
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
|
||||||
|
SetErrorCode(aFail->GetMessageString());
|
||||||
|
return aSeqOfIDs;
|
||||||
|
}
|
||||||
|
// END: Mantis issue 0020961
|
||||||
|
|
||||||
// Call algo
|
// Call algo
|
||||||
GEOMAlgo_FinderShapeOn1 aFinder;
|
GEOMAlgo_FinderShapeOn1 aFinder;
|
||||||
Standard_Real aTol = 0.0001; // default value
|
//Standard_Real aTol = 0.0001; // default value
|
||||||
|
Standard_Real aTol = VertMax; // Mantis issue 0020961
|
||||||
|
|
||||||
aFinder.SetShape(theShape);
|
aFinder.SetShape(theShape);
|
||||||
aFinder.SetTolerance(aTol);
|
aFinder.SetTolerance(aTol);
|
||||||
|
Loading…
Reference in New Issue
Block a user