
Fri, 08/08/2003 - 22:01
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
Sat, 08/09/2003 - 22:06
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
Sun, 08/10/2003 - 04:22
Thank you, Thomas. It seems to be a usefull tip.