[PyQt] SIP Pointer Confusion

Jay L. jlaura at asu.edu
Fri Sep 30 01:43:03 BST 2016


Just starting to dig into SIP. I have a .h file that contains the following
public method:

void Allocate(int width, int height, int pitch, bool withHost, float
*devMem = NULL, float* hostMem = NULL);

 have created a corresponding .sip file:

1 //SIP wrapper for CUDA Image
2
3 class CudaImage
4 {
5 %TypeHeaderCode
6 #include "cudaImage.h"
7 %End
8
9 public:
10 CudaImage();
11
12 void Allocate(int width, int height, int pitch, bool withHost, float
*devMem=NULL, float *hostMem=NULL) /KeywordArgs="All"/;
13 double Download();
14
15
16 int width;
17 int height;
18 int pitch;
19 };

Using CMake, I have the build working, can import the module into Python
and can call the constructor (so limited success). I can also call the
Allocate method. Unfortunately, on the Python side, I can not get the float
*devMem=NULL or float *hostMem=Nullarguments exposed. I have been over the
SIP documentation and no Annotations are leaping out as missing.

The ultimate goal is to pass a numpy array (.data attribute I believe) to
the hostMemargument.

How does one go about exposing pointers in SIP? What about pointers with a
default, NULL, argument?

(Python 3.5, PyQt4, SIP 4.18.x)

Thanks!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20160929/7a6ec514/attachment.html>


More information about the PyQt mailing list