mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-02-05 01:54:18 +05:00
0023043: EDF 10596 GEOM: GetShapesOnShape does not return all shapes expected
This commit is contained in:
parent
1442137f3f
commit
0181657151
@ -2787,9 +2787,31 @@ Handle(TColStd_HSequenceOfInteger)
|
|||||||
return aSeqOfIDs;
|
return aSeqOfIDs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Compute classification tolerance.
|
||||||
|
TopTools_IndexedMapOfShape aMapVtx;
|
||||||
|
Standard_Real aTol = Precision::Confusion();
|
||||||
|
|
||||||
|
TopExp::MapShapes(aShape, TopAbs_VERTEX, aMapVtx);
|
||||||
|
|
||||||
|
Standard_Integer i;
|
||||||
|
Standard_Integer aNbVtx = aMapVtx.Extent();
|
||||||
|
|
||||||
|
for (i = 1; i <= aNbVtx; ++i) {
|
||||||
|
const TopoDS_Vertex aVtx = TopoDS::Vertex(aMapVtx.FindKey(i));
|
||||||
|
const Standard_Real aVtxTol = BRep_Tool::Tolerance(aVtx);
|
||||||
|
|
||||||
|
if (aTol < aVtxTol) {
|
||||||
|
aTol = aVtxTol;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Bound the tolerance value.
|
||||||
|
if (aTol > 0.0001) {
|
||||||
|
aTol = 0.0001;
|
||||||
|
}
|
||||||
|
|
||||||
// Call algo
|
// Call algo
|
||||||
GEOMAlgo_FinderShapeOn2 aFinder;
|
GEOMAlgo_FinderShapeOn2 aFinder;
|
||||||
Standard_Real aTol = 0.0001; // default value
|
|
||||||
|
|
||||||
Handle(GEOMAlgo_ClsfSolid) aClsfSolid = new GEOMAlgo_ClsfSolid;
|
Handle(GEOMAlgo_ClsfSolid) aClsfSolid = new GEOMAlgo_ClsfSolid;
|
||||||
aClsfSolid->SetShape(aCheckShape);
|
aClsfSolid->SetShape(aCheckShape);
|
||||||
|
Loading…
Reference in New Issue
Block a user