What happens if you put all of these in a function and call that function twice? That's what the GUI does.
-berk On Fri, Jan 8, 2010 at 11:34 AM, Oliver Borm <[email protected]> wrote: > It just works: > > ~ $ pvpython > Python 2.6.4 (r264:75706, Dec 8 2009, 20:49:52) > [GCC 4.3.4] on linux2 > Type "help", "copyright", "credits" or "license" for more information. >>>> from pythonnurbs import NurbsPoint >>>> point = NurbsPoint.Point3Dd(100.0,0.0,0.0) >>>> print point.getx() > 100.0 >>>> point = NurbsPoint.Point3Dd(0.0,0.0,0.0) >>>> print point.getx() > 0.0 >>>> print(point) > <pythonnurbs.NurbsPoint.Point3Dd; proxy of <Swig Object of type > 'PlPoint3Dd *' at 0xd8c910> > >>>> point.setx(25.0) >>>> print point.getx() > 25.0 >>>> > > > Berk Geveci schrieb: >> What happens if you run this in pvpython? >> >> On Fri, Jan 8, 2010 at 10:52 AM, Oliver Borm <[email protected]> wrote: >> >>> Ok, here the test code: >>> >>> from pythonnurbs import NurbsPoint >>> >>> point = NurbsPoint.Point3Dd(100.0,0.0,0.0) >>> >>> print(point) >>> >>> print point.getx() >>> >>> >>> first time output: >>> >>> <pythonnurbs.NurbsPoint.Point3Dd; proxy of <Swig Object of type >>> 'PlPoint3Dd *' at 0x2d37710> > >>> >>> 100.0 >>> >>> >>> second time output: >>> >>> <pythonnurbs.NurbsPoint.Point3Dd; proxy of <Swig Object of type >>> 'PlPoint3Dd *' at 0x2d37710> > >>> >>> >>> Traceback (most recent call last): >>> >>> File "<string>", line 23, in <module> >>> >>> File "<string>", line 5, in RequestData >>> >>> File "/usr/lib64/python2.6/site-packages/pythonnurbs/NurbsPoint.py", >>> line 104, in getx >>> >>> def getx(*args): return _NurbsPoint.Point3Dd_getx(*args) >>> >>> TypeError: in method 'Point3Dd_getx', argument 1 of type >>> 'PLib::Point_nD< double,3 > *' >>> >>> >>> Well if I do not access the point object, then it seems that all went >>> fine. But if I want to get any data from the point object, then I get >>> the error. >>> >>> Berk Geveci schrieb: >>> >>>> Sorry, I assumed that you had more than those few lines. OK, this is >>>> very weird. Can you simply print what >>>> NurbsPoint.Point3Dd(0.0,0.0,0.0) >>>> returns the first time and the second time? >>>> >>>> >>>> On Fri, Jan 8, 2010 at 9:49 AM, Oliver Borm <[email protected]> wrote: >>>> >>>> >>>>> Do you mean the source code of pythonnurbs or my test code? Pythonnurbs >>>>> itself is a python binding of the NURBS++ library using SWIG. This is the >>>>> whole python code I'm using inside the ProgrammableFilter: >>>>> >>>>> from pythonnurbs import NurbsCurve, NurbsPoint >>>>> >>>>> curve=NurbsCurve.NurbsCurved() >>>>> curve.makeCircle(NurbsPoint.Point3Dd(0.0,0.0,0.0), 100.0) >>>>> u = 0.5 >>>>> print curve.pointAt(u).getx(), curve.pointAt(u).gety(), >>>>> curve.pointAt(u).getz() >>>>> >>>>> >>>>> >>>>> Berk Geveci schrieb: >>>>> >>>>> >>>>>> I am guessing somehow the arguments passed to makeCircle are getting >>>>>> clobbered. Can you post you Python code? >>>>>> >>>>>> -berk >>>>>> >>>>>> On Fri, Jan 8, 2010 at 4:12 AM, Oliver Borm <[email protected]> wrote: >>>>>> >>>>>> >>>>>> >>>>>>> Hello, >>>>>>> >>>>>>> I am using pythonnurbs from http://pypi.python.org/pypi/PythonNURBS in >>>>>>> conjunction with the python bindings from vtk. As a standalone script it >>>>>>> works perfectly, but if I want to use it inside paraview with the >>>>>>> ProgrammableFilter it just works once a time. After that some errors >>>>>>> occur. Here is a simple python test code: >>>>>>> >>>>>>> from pythonnurbs import NurbsCurve, NurbsPoint >>>>>>> curve=NurbsCurve.NurbsCurved() >>>>>>> curve.makeCircle(NurbsPoint.Point3Dd(0.0,0.0,0.0), 100.0) >>>>>>> u = 0.5 >>>>>>> print curve.pointAt(u).getx(), curve.pointAt(u).gety(), >>>>>>> curve.pointAt(u).getz() >>>>>>> >>>>>>> The following output is printed: >>>>>>> >>>>>>> -100.0 0.0 0.0 >>>>>>> >>>>>>> >>>>>>> If one changes for example: >>>>>>> u = 0.25 >>>>>>> >>>>>>> and want to re-execute the ProgrammableFilter again, the following error >>>>>>> occured >>>>>>> >>>>>>> Traceback (most recent call last): >>>>>>> >>>>>>> File "<string>", line 23, in <module> >>>>>>> >>>>>>> File "<string>", line 5, in RequestData >>>>>>> >>>>>>> File "/usr/lib64/python2.6/site-packages/pythonnurbs/NurbsCurve.py", >>>>>>> line 277, in makeCircle >>>>>>> >>>>>>> def makeCircle(*args): return _NurbsCurve.NurbsCurved_makeCircle(*args) >>>>>>> >>>>>>> NotImplementedError: Wrong number of arguments for overloaded function >>>>>>> 'NurbsCurved_makeCircle'. >>>>>>> >>>>>>> Possible C/C++ prototypes are: >>>>>>> >>>>>>> makeCircle(PLib::NurbsCurve< double,3 > *,PLib::Point_nD< double,3 > >>>>>>> const &,PLib::Point_nD< double,3 > const &,PLib::Point_nD< double,3 > >>>>>>> const &,double,double,double) >>>>>>> >>>>>>> makeCircle(PLib::NurbsCurve< double,3 > *,PLib::Point_nD< double,3 > >>>>>>> const &,double,double,double) >>>>>>> >>>>>>> makeCircle(PLib::NurbsCurve< double,3 > *,PLib::Point_nD< double,3 > >>>>>>> const &,double) >>>>>>> >>>>>>> >>>>>>> while running the same code a second time in a normal python shell, the >>>>>>> output looks like the following: >>>>>>> 0.0 100.0 0.0 >>>>>>> >>>>>>> One has to restart paraview and the python code in the >>>>>>> ProgrammableFilter works as expected (once a time). The error message is >>>>>>> not very helpful, as it says that this method is not implemented in the >>>>>>> way I'm using it. But that is not correct. Does anybody has an idea >>>>>>> what's the real problem? At first one could expect the problem is in >>>>>>> pythonnurbs (maybe it is, but not in the way the error message says), >>>>>>> but as the code works once a time, why does it not works twice? >>>>>>> >>>>>>> Best regards, >>>>>>> Oliver Borm >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Powered by www.kitware.com >>>>>>> >>>>>>> Visit other Kitware open-source projects at >>>>>>> http://www.kitware.com/opensource/opensource.html >>>>>>> >>>>>>> Please keep messages on-topic and check the ParaView Wiki at: >>>>>>> http://paraview.org/Wiki/ParaView >>>>>>> >>>>>>> Follow this link to subscribe/unsubscribe: >>>>>>> http://www.paraview.org/mailman/listinfo/paraview >>>>>>> >>>>>>> >>>>>>> >>>>>>> > _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
