Tue, 10/16/2012 - 17:28
Forums:
How can two edges be compared whether they are equal.
Using TopTools_IndexedDataMapOfShapeListOfShape failed in some cases
for example:
When a plane has a circular hole, its geometry is GeomAbs_Circle.
A free form surface is made inside this circular hole, its geometry becomes GeomAbs_BSplineCurve.
In this case the two edges are stored as different entries in the map.
How can I check their equality.
Thanks in advance,
Rakesh
Tue, 10/16/2012 - 17:31
For more info I tried
IsPartner (const TopoDS_Shape &other) const
IsSame (const TopoDS_Shape &other) const
IsEqual (const TopoDS_Shape &other) const
none of these worked.
Rakesh
Tue, 10/16/2012 - 17:49
The TopoDS_Shape methods work on the level of topology. They enable to check whether two shapes share the same TShape object.
In your case there are different TShape objects and even the underlying geometrical objects are different. I don't know what's the best way to compare such edges.
For a better understanding of topology and geometry you could have a look at the posts about it on:
http://opencascade.blogspot.de/2009/02/topology-and-geometry-in-open-cas...
Fri, 11/23/2012 - 15:10
Hello Rakesh,
I have the same problem. I really wonder if there is a nice and robust way to find out if two Geom_Curves are equal?
Have you found any solution to your problem?
Best regards,
László
Fri, 11/23/2012 - 16:43
Have a look in this thread:
http://www.opencascade.org/org/forum/thread_24072/?forum=3
This seems to be a good solution, however I think it's quite expensive.
László