This is a multi-part message in MIME format. --Multipart_Thu__2_Oct_2003_11:09:16_+0200_082f6af0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Wed, 01 Oct 2003 14:39:27 -0600 Joe Van Andel wrote: > Has anyone used SIP to build C++ extensions that accept Numeric arrays > as arguments, and return Numeric arrays? > > I've found the PyQwt package that converts Numeric arrays to > QwtArray's. This is a good start, but I also need to code extensions > that return Numeric arrays. > > If so, could you share a sample of your code (and .sip files)? > I never did, but you can trick sip into returning any kind of Python object as shown in the attached file (this code returns VTK Python extension objects). Pointers to classes that should not be handled by sip are replaced by pointers to void. This implies that you have provide %MemberCode to do the interfacing yourself. Beware, you have to patch sip's output to import the Numerical Python extensions. If you don't get it working, send me a very simple example and I'll wrap it for you. Gerard --Multipart_Thu__2_Oct_2003_11:09:16_+0200_082f6af0 Content-Type: application/octet-stream; name="renderwindow.sip" Content-Disposition: attachment; filename="renderwindow.sip" Content-Transfer-Encoding: base64 Ly8gLSotIG1vZGU6IEMrKyA7IGMtZmlsZS1zdHlsZTogInN0cm91c3RydXAiIC0qLQovLwovLyBU aGUgU0lQIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGUgZm9yIFJlbmRlcldpbmRvdwovLwovLyBD b3B5cmlnaHQgKEMpIDIwMDMgR2VyYXJkIFZlcm1ldWxlbgovLwovLyBUaGlzIGxpYnJhcnkgaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi8vIG1vZGlmeSBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLy8gTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy Ci8vIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgovLwovLyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLy8gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLy8gTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLy8gTGVzc2Vy IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLy8KLy8gWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwov LyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBG cmVlCi8vIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRl IDMzMCwgQm9zdG9uLAovLyBNQSAwMjExMS0xMzA3LCBVU0EKCiVIZWFkZXJDb2RlCiNpbmNsdWRl IDxyZW5kZXJ3aW5kb3cuaD4KI2lmbmRlZiBWVEtfUFlUSE9OX1VUSUxfSAojZGVmaW5lIFZUS19Q WVRIT05fVVRJTF9ICiNpbmNsdWRlIDx2dGtQeXRob25VdGlsLmg+CiNlbmRpZgolRW5kCgpjbGFz cyBSZW5kZXJXaW5kb3c6IFFHTFdpZGdldAp7CnB1YmxpYzoKICAgIFJlbmRlcldpbmRvdyhRR0xG b3JtYXQsIFFXaWRnZXQgKiA9IDAsIGNvbnN0IGNoYXIgKiA9IDApOwogICAgUmVuZGVyV2luZG93 KFFXaWRnZXQgKiA9IDAsIGNvbnN0IGNoYXIgKiA9IDApOwoKICAgIH5SZW5kZXJXaW5kb3coKTsK CiAgICB2b2lkIC8qdnRrUmVuZGVyZXIqLyAqR2V0UmVuZGVyZXIoKTsKJU1lbWJlckNvZGUKICAg IFJlbmRlcldpbmRvdyAqc2lwQ3BwOwoKICAgIGlmIChzaXBQYXJzZUFyZ3MoJnNpcEFyZ3NQYXJz ZWQsIHNpcEFyZ3MsCgkJICAgICAibSIsIHNpcFRoaXNPYmosIHNpcENsYXNzX1JlbmRlcldpbmRv dywgJnNpcENwcCkpIHsKCXZ0a1JlbmRlcmVyICpyZW5kZXJlcjsKCVB5T2JqZWN0ICpyZXN1bHQ7 CgoJUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwoJcmVuZGVyZXIgPSBzaXBDcHAtPlJlbmRlcldpbmRv dzo6R2V0UmVuZGVyZXIoKTsKCXJlc3VsdCA9IHZ0a1B5dGhvbkdldE9iamVjdEZyb21Qb2ludGVy KHJlbmRlcmVyKTsKCVB5X0VORF9BTExPV19USFJFQURTCgoJcmV0dXJuIHJlc3VsdDsKICAgIH0K JUVuZAogICAgdm9pZCAvKnZ0a1JlbmRlcldpbmRvdyovICpHZXRSZW5kZXJXaW5kb3coKTsKJU1l bWJlckNvZGUKICAgIFJlbmRlcldpbmRvdyAqc2lwQ3BwOwoKICAgIGlmIChzaXBQYXJzZUFyZ3Mo JnNpcEFyZ3NQYXJzZWQsIHNpcEFyZ3MsCgkJICAgICAibSIsIHNpcFRoaXNPYmosIHNpcENsYXNz X1JlbmRlcldpbmRvdywgJnNpcENwcCkpIHsKCXZ0a1JlbmRlcldpbmRvdyAqcmVuZGVyV2luZG93 OwoJUHlPYmplY3QgKnJlc3VsdDsKCQoJUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwoJcmVuZGVyV2lu ZG93ID0gc2lwQ3BwLT5SZW5kZXJXaW5kb3c6OkdldFJlbmRlcldpbmRvdygpOwoJcmVzdWx0ID0g dnRrUHl0aG9uR2V0T2JqZWN0RnJvbVBvaW50ZXIocmVuZGVyV2luZG93KTsKCVB5X0VORF9BTExP V19USFJFQURTCgoJcmV0dXJuIHJlc3VsdDsKICAgIH0KJUVuZAoKcHJvdGVjdGVkOgogICAgdmly dHVhbCB2b2lkIHBhaW50R0woKTsKICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplR0woKTsKICAg IHZpcnR1YWwgdm9pZCByZXNpemVHTChpbnQsIGludCk7Cn07CgoKLy8gRU9GCg== --Multipart_Thu__2_Oct_2003_11:09:16_+0200_082f6af0-- _______________________________________________ PyKDE mailing list PyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde