Compare shapes after sewing

Hi cascade users,

if i create several edges:
TopoDS_Edge edge1 = BRepBuilderAPI_MakeEdge(...)
TopoDS_Edge edge2 = BRepBuilderAPI_MakeEdge(...)
....
....
TopoDS_Edge edgen = BRepBuilderAPI_MakeEdge(...)

and then use these edges to create a set of faces:
TopoDS_Face topFace = BRepBuilderAPI_MakeFace(...)
TopoDS_Face bottomFace =RepBuilderAPI_MakeFace(...)
TopoDS_Face frontFace = BRepBuilderAPI_MakeFace(...)
TopoDS_Face backFace = BRepBuilderAPI_MakeFace(...)

and then sewing the faces:

BRepOffsetAPI_Sewing BRepSewing;
BRepSewing.Add(topFace);
BRepSewing.Add(bottomFace);
BRepSewing.Add(frontFace);
BRepSewing.Add(backFace);

BRepSewing.Perform();
TopoDS_Shape shapeBRepSewing = BRepSewing.SewedShape();

Create a map of edges: TopTools_IndexedMapOfShape MEdges;
TopExp::MapShapes(shapeBRepSewing ,TopAbs_EDGE,MEdges);

Now, the real problem:
How do i compare the edges from the map with the edges edge1,edge2,...,edgen.

I'd try hashcode, ==, isSame() and nothing works.

Is there any class to compare geometry of the whole edge?

Can anyone help me?

Thanks in advance,
David Jorge

Thomas Convard's picture

I don't know if it's really what you want, but you can use BRepSewing.Modified( edge1 ) to see what became edge1 in shapeBRepSewing.

Thomas

David Jorge's picture

Thank you, Thomas. It seems to be a usefull tip.