Thread: [PyOpenGL-Users] problem registering FormatHandler class on installation
Brought to you by:
mcfletch
From: <vma...@am...> - 2008-12-02 03:59:54
|
I have installed PyOpenGL-3.0.0b6 onto a Linux (Fedora 7) running Python 2.5, using the easy_install PyOpenGL command. I note that I have Numeric installed, but not numpy. On trying to invoke gluNurbsSurface with a Numeric.array value as control points, I get a thrown exception with the message: TypeError: No array-type handler for type <type 'array'> (value: array([[[ 0., 0., 0., 1.],[ 1., 0., ) registered Looking through source code, it seems that at some point the class OpenGL.arrays.numeric.NumericHandler needs to be registered as a source of data conversion methods; and that this should have been configured as part of the easy_install process. So, my questions are: -- Is there some clue I can look for in the logging from the easy_install as to whether there was a problem configuring the plugins --- do I need to set some configuration before installing --- or, can (and how) can I manually register the NumericHandler class Thanks for any help Vince Marchetti |
From: Mike C. F. <mcf...@vr...> - 2008-12-07 22:47:48
|
vmarchetti@ameritech wrote: > I have installed PyOpenGL-3.0.0b6 onto a Linux (Fedora 7) running > Python 2.5, using the > easy_install PyOpenGL > command. I note that I have Numeric installed, but not numpy. > This is a code-path that hasn't really had much testing, mostly because I haven't had such a setup myself for a long time. > On trying to invoke gluNurbsSurface with a Numeric.array value as > control points, I get a thrown exception with the message: > TypeError: No array-type handler for type <type 'array'> (value: > array([[[ 0., 0., 0., 1.],[ 1., 0., ) registered > The b6 iteration was using pkg_resources to do that registration. b7 (which never got out the door) and b8 (just released) use a custom plugin system that registers in regular Python code. > Looking through source code, it seems that at some point the class > OpenGL.arrays.numeric.NumericHandler needs to be registered as a source > of data conversion methods; and that this should have been configured > as part of the easy_install process. > > So, my questions are: > > -- Is there some clue I can look for in the logging from the > easy_install as to whether there was a problem configuring the plugins > If the install completed the handler *should* have been registered... > --- do I need to set some configuration before installing > Shouldn't need to. > --- or, can (and how) can I manually register the NumericHandler class > You can with the new system, and would have to in order to get Numeric support (not provided by default): Add: from OpenGL.plugins import FormatHandler FormatHandler( 'numeric', 'OpenGL.arrays.numeric.NumericHandler', ) to your applications that want to use Numeric arrays. If we can get the handler tested reliably I'd imagine we can enable the support by default again. HTH, Mike -- ________________________________________________ Mike C. Fletcher Designer, VR Plumber, Coder http://www.vrplumber.com http://blog.vrplumber.com |