[prev in list] [next in list] [prev in thread] [next in thread] 

List:       python-cpp-sig
Subject:    [C++-sig] Re: Accessing C++ values from within Python
From:       jeff.holle () verizon ! net (Jeffrey Holle)
Date:       2004-06-30 18:29:09
Message-ID: 40E26BF7.6070809 () verizon ! net
[Download RAW message or body]

I'm sending the source of a simple project that does what I believe you 
are trying to do.

In Main.cpp, note the use of call, and the use of ref within it.
The former does all the "magic" of converting C++ objects to/from python.
The later causes the C++ object to be passed by reference, allowing the 
python script to alter C++ object attributes.


xin wrote:
> Hi.
> I have a setup such as the following:
> 
> class object {
> public:
> void doSomthingElse();
> float x;
> float *y;
> Somthing SomePyScript;
> };
> 
> int main()
> {
> object *array = new object[10]; // size of array is only an example
> for (int i = 0; i < 10; i++)
> {
> array[i].y = new float[array[i]]
> RunPythonScript(array[i]);
> }
> return 1;
> }
> 
> Where:
> - " Somting SomePyScript; " Is some reference to a python script that 
> is affiliated with this instance of the class (varies from instance to 
> instance)
> - " RunPythonScript(array[i]); " Is some method of running the python 
> script that is affiliated with the instance array[i].
> 
> My intention is that the python scripts change values within the class 
> 'object'
> e.g. The python code sets 'x' to equal 0.9. And then sets each value of 
> y to equal a muliple of 9. (y[0] = 0, y[1] = 9, y[2] = 18, ... ,y[100] = 
> 900 etc...)
> 
> Is this at all possible? Is it possible without moving all the memory 
> from one place, to another area accessable by both python and then back 
> again? If so how would I go about doing it?
> 
> I've tried all sorts of methods of attempting this, but have had no 
> luck. Any help would be appreciated.
> 
> Thanks.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: extended_embeddedGreeter.tar
Type: application/x-tar
Size: 20480 bytes
Desc: not available
Url : http://mail.python.org/pipermail/c++-sig/attachments/20040630/78f7b668/extended_embeddedGreeter-0001.tar



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic