By the way, it would be easy to reassign IsEqual -> ==
In [21]: def cmp(self, other):
....: print 'comparing'
....: return self.IsEqual(other)
....:
In [22]: TopoDS_Edge.__cmp__ = cmp
In [23]: edg1 == edg1A
comparing
Out[23]: True
Could be useful, right?
-jelle
On Mar 27, 2009, at 8:42 AM, Thomas Paviot wrote:
> Jelle,
>
> Had a look on your Topo._loop_topo method. Here is your code:
>
> topo_set = set()
> while self.topExp.More():
> topo_item = topoTypes[topologyType]( self.topExp.Current() )
> if topo_item in topo_set:
> pass
> else:
> yield topo_item
> topo_set.add(topo_item)
> self.topExp.Next()
>
>
> I think that the line 'if topo_item in topo_set' is not safe, ie you
> cannot ensure that this item is really in the set. I suggest you
> rather use a builtin OCC comparison method like IsEqual or IsSame.
> Extracted from TopoDS_Shape.hxx:
>
> """
> The IsEqual() method returns True if two shapes are equal, i.e. if
> they share the same TShape with the same Locations and Orientations.
> """
>
> """
> The IsSame() method returns True if two shapes are same, i.e. if
> they share the same TShape with the same Locations. *Orientations
> may differ*
> """
>
> Here is a fix to your script (that uses IsEqual). You can see that
> the output is different. Did'nt try the IsSame() method.
>
> topo_set = set()
> while self.topExp.More():
> topo_item = topoTypes[topologyType](self.topExp.Current())
> #
> # Check if already in the set
> #
> EQUAL = False
> for item in topo_set:
> if topo_item.IsEqual(item):
> EQUAL = True
> break
> if not EQUAL:
> yield topo_item
> topo_set.add(topo_item)
> self.topExp.Next()
>
> Cheers,
>
> Thomas
>
> Jelle Feringa a écrit :
>> Hi,
>>
>> The topology module has been reworked ( OCC.Utils.topology ).
>> Now its easy to find the faces related to a vertex ( & visa
>> versa ), the edges incident to a vertex or a face ( & visa versa ).
>> Also you can get the ordered edges or vertices from a wire.
>>
>> I made a test case showing how to fillet a vertex of a cube.
>> See the image attached.
>>
>> Cheers,
>>
>> -jelle
>>
>>
>> ------------------------------------------------------------------------
>>
>>
>>
>>
>>
>>
>> ------------------------------------------------------------------------
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Pythonocc-users mailing list
>> [email protected]
>> https://mail.gna.org/listinfo/pythonocc-users
_______________________________________________
Pythonocc-users mailing list
[email protected]
https://mail.gna.org/listinfo/pythonocc-users