dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #21941
Re: Passing MeshFunction as shared_ptr
On 11/03/11 09:27, Anders Logg wrote:
> On Fri, Mar 11, 2011 at 09:12:44AM +0000, Garth N. Wells wrote:
>>
>>
>> On 11/03/11 00:20, Johan Hake wrote:
>>> On Thursday March 10 2011 16:17:49 Anders Logg wrote:
>>>> On Fri, Mar 11, 2011 at 12:53:16AM +0100, Anders Logg wrote:
>>>>> On Thu, Mar 10, 2011 at 11:39:52PM +0000, Garth N. Wells wrote:
>>>>>> On 10/03/11 23:38, Anders Logg wrote:
>>>>>>> I'm having trouble passing a MeshFunction from the Python interface
>>>>>>> to
>>>>>>>
>>>>>>> the following function in the C++ Form class:
>>>>>>> void set_cell_domains(boost::shared_ptr<const MeshFunction<uint> >
>>>>>>> cell_domains);
>>>>>>
>>>>>> Change this to
>>>>>>
>>>>>> void set_cell_domains(boost::shared_ptr<const MeshFunction<unsigned
>>>>>>
>>>>>> int> > cell_domains);
>>>>>>
>>>>>> (uint -> unsigned int)
>>>>>
>>>>> Same problem (but with uint --> unsigned int):
>>>>>
>>>>> TypeError: in method 'Form_set_cell_domains', argument 2 of type
>>>>> 'boost::shared_ptr< dolfin::MeshFunction< unsigned int > const >'
>>>>>
>>>>> Printing out type() for the argument just prior to the call gives
>>>>>
>>>>> <class 'dolfin.cpp.MeshFunctionUInt'>
>>>>>
>>>>> So somehow it is not recognized that dolfin.cpp.MeshFunctionUint can
>>>>> be used as a 'boost::shared_ptr< dolfin::MeshFunction< unsigned int >
>>>>> const >.
>>>>
>>>> I have temporarily added pure pointer versions of the set_foo_domains
>>>> functions in the Form class. These work fine from Python. These should
>>>> be removed as soon as we figure out how to pass the arguments as
>>>> shared ptrs.
>>>
>>> I need some time to get into the changes Garth has done.
>>
>> My changes need some clean up, but at least it works now so we can test
>> the need for some of the new statements in isolation.
>
> Sounds good. Why is/was the buildbot broken? I thought the idea was to
> keep it green.
>
Because we support different versions of SWIG.
Garth
> --
> Anders
>
>
>> Garth
>>
>>> If it is not fixed by
>>> then I can take a look at it, weekendish...
>>>
>>> Johan
>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Mailing list: https://launchpad.net/~dolfin
>>>> Post to : dolfin@xxxxxxxxxxxxxxxxxxx
>>>> Unsubscribe : https://launchpad.net/~dolfin
>>>> More help : https://help.launchpad.net/ListHelp
>>
Follow ups
References