← Back to team overview

dolfin team mailing list archive

Re: [Branch ~dolfin-core/dolfin/main] Rev 5656: Fix refinement from Python.

 

On Wed, Feb 09, 2011 at 04:40:19PM -0800, Johan Hake wrote:
> Nice fix!
>
> I thought we needed to introduce shared_ptr versions of refinements call. But
> I realise this fix only work for SWIG 2.0. As all shared_ptr_foo are renamed
> to foo.
>
> We need to add an extra layer of %rename/%ignore for the SWIG 2.0 case.
>
> I can do this. But again it introduces another layer of complexity you mention
> in your other post.

That didn't seem to work. The buildbot now says:

File
"/home/fenicsslave/jhbuildbot/fenics/lib/python2.6/site-packages/dolfin/mesh/refine.py",
line 30, in refine
  return mesh.child_shared_ptr()
TypeError: in method 'HierarchicalMesh_child_shared_ptr', argument 1
of type 'dolfin::Hierarchical< dolfin::Mesh > *'

What does that mean? mesh.child_shared_ptr() should return a
shared_ptr to an object of class T (in this case Mesh), which it does
in the C++ interface. It should not return a pointer to an object of
class Hierarchical<T>.

--
Anders



Follow ups

References