dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #12139
Re: [HG DOLFIN] Move code from Function copy constructor to assignment operator and
On Monday 16 February 2009 11:31:36 Anders Logg wrote:
> On Mon, Feb 16, 2009 at 10:12:21AM +0000, Garth N. Wells wrote:
> > Anders Logg wrote:
> > > On Mon, Feb 16, 2009 at 10:36:52AM +0100, Johan Hake wrote:
> > >> On Sunday 15 February 2009 21:23:44 DOLFIN wrote:
> > >>> One or more new changesets pushed to the primary dolfin repository.
> > >>> A short summary of the last three changesets is included below.
> > >>>
> > >>> changeset: 5701:d3661203791d9c7707695c59adbbd3a2e20a220c
> > >>> tag: tip
> > >>> user: Anders Logg <logg@xxxxxxxxx>
> > >>> date: Sun Feb 15 21:23:36 2009 +0100
> > >>> files: dolfin/function/Function.cpp
> > >>> description:
> > >>> Move code from Function copy constructor to assignment operator and
> > >>> call assignment operator from copy constructor
> > >>
> > >> I liked Garth solution better.
> > >>
> > >> 1) A copy constructor that, just copies the Function if it has
> > >> a FunctionSpace.
> > >> 2) The assignment operator works only for discrete Functions.
> > >>
> > >> We could add an interpolate() (or something) function that
> > >>
> > >> v.interpolate(*_vector, *_function_space);
> > >
> > > We already have exactly such a function.
Do we?
> > >> Then the user can explicitly create a discrete function of its
> > >> user-defined Function. Now the user gets this as an implicitly result
> > >> of a function copy, which make litle sense to me.
> > >>
> > >> But that's just me :)
> > >
> > > I like it. Other opinions?
> >
> > It is neat, but I would prefer any interpolation to be more explicit so
> > that it's clear what's going on. A copy should be a straight copy.
> >
> > Garth
>
> ok. I've changed it back. See if it looks ok.
Now a user cannot copy a Function that is not a discrete function, which was
the case before we started all this.
Also sometimes a copy is something different than an assignment, so it is not
always meaningfull to use *this = other; in the copy constructor.
Johan
Follow ups
References