[Dune] [Dune-Commit] dune-grid r6580 - trunk/dune/grid/geometrygrid

Christian Engwer christi at uni-hd.de
Thu Apr 8 11:19:50 CEST 2010


Hi Martin,

> I might be stupid, but I do not see where I changed the interface. I
> just added a method to the implementation of the GeometryGrid entity
> / intersection (which is inaccessible from outside GeometryGrid).

sorry, I was reading too fast and thought you added an interface
method. Perhaps this was a Freudian slip, because I would like to have
more general GeometryType which would cover all toplogyIds, but
haven't yet thought about a solution that doesn't break all existing
code.

Christian

> If you refer to the previous changes in the GenericGeometries, I
> don't see where I changed the interface, either, since
> GenericGeometries are not part of the interface.
> 
> The only change that you could consider an interface change is the
> addition of the method topologyId to the GenericReferenceElement. If
> that really hurts, I could replace
>   refElement.topologyId( i, c )
> by
>   refElement.template mapping< c >( i ).topologyId()
> 
> This would invoke a virtual function call, though, and I would like to avoid it.
> 
> Martin
> 
> 
> On 04/08/2010 10:37 AM, Christian Engwer wrote:
> >Hi Martin,
> >
> >before introducing so fundamental changes in the interface, I'd rather
> >have a discussion... either on the list or on a meeting.
> >
> >Christian
> >
> >On Thu, Apr 08, 2010 at 10:23:52AM +0200, mnolte at dune-project.org wrote:
> >>Author: mnolte
> >>Date: 2010-04-08 10:23:51 +0200 (Thu, 08 Apr 2010)
> >>New Revision: 6580
> >>
> >>Modified:
> >>    trunk/dune/grid/geometrygrid/entity.hh
> >>    trunk/dune/grid/geometrygrid/intersection.hh
> >>Log:
> >>don't use deprecated constructor
> >>
> >>
> >>Modified: trunk/dune/grid/geometrygrid/entity.hh
> >>===================================================================
> >>--- trunk/dune/grid/geometrygrid/entity.hh	2010-04-08 08:23:34 UTC (rev 6579)
> >>+++ trunk/dune/grid/geometrygrid/entity.hh	2010-04-08 08:23:51 UTC (rev 6580)
> >>@@ -204,6 +204,11 @@
> >>          return hostEntity().type();
> >>        }
> >>
> >>+      unsigned int topologyId () const
> >>+      {
> >>+        return GenericGeometry::topologyId( type() );
> >>+      }
> >>+
> >>        /** \brief obtain the level of this entity */
> >>        int level () const
> >>        {
> >>@@ -236,7 +241,7 @@
> >>          if( !geo )
> >>          {
> >>            CoordVector coords( hostEntity(), grid().coordFunction() );
> >>-          geo = GeometryImpl( type(), coords );
> >>+          geo = GeometryImpl( topologyId(), coords );
> >>          }
> >>          return geo_;
> >>        }
> >>@@ -465,6 +470,11 @@
> >>          return refElement.type( subEntity_, codimension );
> >>        }
> >>
> >>+      unsigned int topologyId () const
> >>+      {
> >>+        return GenericGeometry::topologyId( type() );
> >>+      }
> >>+
> >>        /** \brief obtain the level of this entity */
> >>        int level () const
> >>        {
> >>@@ -517,7 +527,7 @@
> >>          if( !geo )
> >>          {
> >>            CoordVector coords( hostElement(), subEntity_, grid().coordFunction() );
> >>-          geo = GeometryImpl( type(), coords );
> >>+          geo = GeometryImpl( topologyId(), coords );
> >>          }
> >>          return geo_;
> >>        }
> >>@@ -769,6 +779,11 @@
> >>          return hostEntity().type();
> >>        }
> >>
> >>+      unsigned int topologyId () const
> >>+      {
> >>+        return GenericGeometry::topologyId( type() );
> >>+      }
> >>+
> >>        /** \brief obtain the level of this entity */
> >>        int level () const
> >>        {
> >>@@ -802,7 +817,7 @@
> >>          if( !geo )
> >>          {
> >>            CoordVector coords( hostEntity(), grid().coordFunction() );
> >>-          geo = GeometryImpl( type(), coords );
> >>+          geo = GeometryImpl( topologyId(), coords );
> >>          }
> >>          return geo_;
> >>        }
> >>
> >>Modified: trunk/dune/grid/geometrygrid/intersection.hh
> >>===================================================================
> >>--- trunk/dune/grid/geometrygrid/intersection.hh	2010-04-08 08:23:34 UTC (rev 6579)
> >>+++ trunk/dune/grid/geometrygrid/intersection.hh	2010-04-08 08:23:51 UTC (rev 6580)
> >>@@ -130,7 +130,7 @@
> >>          {
> >>            const LocalGeometry&localGeo = geometryInInside();
> >>            CoordVector coords( inside()->geometry(), localGeo );
> >>-          geo = GeometryImpl( localGeo.type(), coords );
> >>+          geo = GeometryImpl( topologyId(), coords );
> >>          }
> >>          return geo_;
> >>        }
> >>@@ -139,6 +139,11 @@
> >>        {
> >>          return hostIntersection().type();
> >>        }
> >>+
> >>+      unsigned int topologyId () const
> >>+      {
> >>+        return GenericGeometry::topologyId( type() );
> >>+      }
> >>
> >>        int indexInInside () const
> >>        {
> >>
> >>
> >>_______________________________________________
> >>Dune-Commit mailing list
> >>Dune-Commit at dune-project.org
> >>http://lists.dune-project.org/mailman/listinfo/dune-commit
> >>
> >
> >_______________________________________________
> >Dune mailing list
> >Dune at dune-project.org
> >http://lists.dune-project.org/mailman/listinfo/dune
> 



More information about the Dune mailing list