Ah that makes sense thank you very much!

On 3/14/10, Thomas Paviot <tpav...@gmail.com> wrote:
> 2010/3/14 Dave Cowden <dave.cow...@gmail.com>
>
>> Hi, All:
>>
>> I'm running into a problem, wondering if someone can help.
>>
>> I am trying to get the underlying curve of an edge, and getting a swig
>> error message.
>> Heres' a simplified version of my code( which gets the endpoints of the
>> curve )
>>
>>         from OCC import BRepBuilderAPI,gp,GeomAdaptor
>>
>>         brepTool = BRep.BRep_Tool();
>> builder =
>> BRepBuilderAPI.BRepBuilderAPI_MakeEdge(gp.gp_Pnt(0,0,0),gp.gp_Pnt(1,1,1));
>>  builder.Build();
>> edge = builder.Edge();
>> hc = brepTool.Curve(edge);
>>  c  = GeomAdaptor.GeomAdaptor_Curve(hc[0]);
>>         p1 = c.Value(hc[1]);
>>         p2 = c.Value(hc[2]);
>>
>> it prints this message:
>>
>> "swig/python detected a memory leak of type 'Handle_Geom_Curve *', no
>> destructor
>> found."
>>
>>
>>   I have been using the alternative code below that does not give this
>> message, but doesnt seem to perform as well: I was surprised after running
>> the  code below that it does not seem as fast as the above:
>>
>>                 curve = BRepAdaptor.BRepAdaptor_Curve(edge);
>> pa1 = curve.FirstParameter();
>>  pa2 = curve.LastParameter();
>> curveType = curve.GetType();
>> #get first and last points.
>>  p1 = gp.gp_Pnt();
>> p2 = gp.gp_Pnt();
>> BRepLProp_CurveTool.Value(curve,pa1,p1 );
>>  BRepLProp_CurveTool.Value(curve,pa2,p2 );
>>
>> I am using pythonOCC version 0.4 on windows XP pro. Is either of the above
>> methods preferred?
>> Thanks in advance!
>>
>>
> Hi Dave,
>
> The first one solution to be better. In your code, a function returns a swig
> object of type 'Handle_Geom_Curve', but the python proxy for this class is
> not loaded -> you don't have access to all methods for this object (and
> actually the __del__ method, causing a memory leak).
>
> The fix: add the following line at the top of your code:
> from OCC.Geom import *
>
> Cheers,
>
> Thomas
>

_______________________________________________
Pythonocc-users mailing list
Pythonocc-users@gna.org
https://mail.gna.org/listinfo/pythonocc-users

Reply via email to