← Back to team overview

dolfin team mailing list archive

Re: Unify MeshEntityIterator and SubEntityIterator ?

 

B0;268;0cOn Mon, Aug 22, 2011 at 07:29:00PM +0200, Andre Massing wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 08/22/2011 07:17 PM, Anders Logg wrote:
> > The important point is to check that there is no overhead. I
> > imagine there will be an if/else check for whether a subset
> > iterator is used in the increment operator.
>
> That could be avoided by having a filled subset vector in any case.
> But I see the point that this might be too much unnecessary overhead
> in the case of an usual iteration. I can test that.

There should be (almost) absolutely zero overhead. The Mesh class and
the iterators have been optimized for minimal storage and optimal
efficiency in accessing mesh data, but maybe you can find a solution.
If not, I don't think it's a big problem to have a separate class for
subset iteration.

--
Anders


> - --
> Andre
>
> >
> > -- Anders
> >
> >
> > On Mon, Aug 22, 2011 at 07:08:05PM +0200, Andre Massing wrote: Hi
> > there!
> >
> > Looking at both classes, I was wondering whether they could not be
> > unified. The MeshEntityIterator already provides a random access
> > operator, so all we have to save/fill  is an additional
> > std::vector<uint>  in case of an subiteration. And to add
> > constructor
> >
> > MeshIterator(const MeshFunction<unsigned int>& labels, uint
> > label); which I think is rather intuitive (when documented right)
> >
> > Opinions? I am working on unifying/merging stuff from Johans
> > DistanceToBoundary branch right now, so I could do this along the
> > way, if there aren't any objections...
> >
> > Andre
> >>
> >> _______________________________________________ Mailing list:
> >> https://launchpad.net/~dolfin Post to     :
> >> dolfin@xxxxxxxxxxxxxxxxxxx Unsubscribe :
> >> https://launchpad.net/~dolfin More help   :
> >> https://help.launchpad.net/ListHelp
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2.0.18 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iQEcBAEBAgAGBQJOUpHcAAoJEA79ggnbq9dmL1sIAOjTbqMrbYEPxnRqrXebhemP
> Du7F67V/v102vw6uWvQiXkyiYLkUVXwh0Js4AhTfYvMZNEd5suzUPuqaxzyhUu4e
> dNf864PldWiuE6q+72nKTFbwuyKeNUsZt/k1Q5TMIUPEKAN3yqMz30ZIVgXPbnQj
> KWKE6LIfhWU+MrlMtAi8qKmnOR0dwp1YjggnKHvbwnpoFIcYfGj7ad/gWS6DoeVW
> +2imBCGdwuNoA0OTpvZZbqgYaT5b+Je0AcvDckTywn/JBaq9XJp5k6r7DdWtjmTH
> 5LcCO/dQ+7at2bNK+Q/WCmxPsu24Kho7tuYfauJUeducjy43qMV+jwsUviKYKC0=
> =LdRF
> -----END PGP SIGNATURE-----
>
> _______________________________________________
> Mailing list: https://launchpad.net/~dolfin
> Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dolfin
> More help   : https://help.launchpad.net/ListHelp


References