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. If it is not fixed by then I can take a look at it, weekendish... Johan > -- > Anders > > > _______________________________________________ > Mailing list: https://launchpad.net/~dolfin > Post to : [email protected] > Unsubscribe : https://launchpad.net/~dolfin > More help : https://help.launchpad.net/ListHelp _______________________________________________ Mailing list: https://launchpad.net/~dolfin Post to : [email protected] Unsubscribe : https://launchpad.net/~dolfin More help : https://help.launchpad.net/ListHelp

