Open CASCADE, the 3D modelling kernel
3D modeling & numerical simulation

Search the Forums
See All Topics

Comparing edges

Comparing edges
Rakesh Lingam 2012/10/16 15:28
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 Lingam 2012/10/16 15: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.

Timo 2012/10/16 15: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:
Laszlo Kudela 2012/11/23 12: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,
Laszlo Kudela 2012/11/23 13:43
Have a look in this thread:

This seems to be a good solution, however I think it's quite expensive.

Latest news
  • Open CASCADE Technology 6.9.0 is available for download!
  • JT Assistant for Android
  • Open CASCADE JT Assistant Sources

  • © OPEN CASCADE 2000 - 2015  |  Search  |  Contacts   |  Site map