← Back to team overview

dolfin team mailing list archive

Re: Passing MeshFunction as shared_ptr

 

On Fri, Mar 11, 2011 at 09:52:08AM +0000, Garth N. Wells wrote:
>
>
> 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.

ok.

--
Anders

> Garth
>
> >> 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
> >>
>



References