1. 24 May, 2020 1 commit
  2. 08 May, 2020 1 commit
  3. 26 Apr, 2020 1 commit
  4. 23 Apr, 2020 1 commit
  5. 05 Apr, 2020 2 commits
  6. 04 Apr, 2020 2 commits
  7. 03 Apr, 2020 2 commits
  8. 30 Mar, 2020 3 commits
  9. 27 Mar, 2020 7 commits
  10. 17 Mar, 2020 1 commit
    • Jö Fahlke's avatar
      [!139] Add using std::sqrt or std::abs directives · 886ae4a9
      Jö Fahlke authored
      Merge branch 'add_using_directives' into 'master'
      
      ref:core/dune-geometry\> This MR adds using directives for the use of
      std::sqrt or std::abs. This is needed because other names in the namespace
      Dune are probably found before the names in the namespace std.
      
      See merge request [!139]
      
        [!139]: gitlab.dune-project.org/core/dune-geometry/merge_requests/139
      886ae4a9
  11. 16 Mar, 2020 1 commit
  12. 13 Mar, 2020 1 commit
  13. 23 Feb, 2020 1 commit
  14. 22 Feb, 2020 2 commits
  15. 20 Feb, 2020 2 commits
  16. 16 Feb, 2020 2 commits
  17. 26 Jan, 2020 2 commits
  18. 08 Jan, 2020 2 commits
  19. 20 Dec, 2019 1 commit
  20. 19 Dec, 2019 5 commits
    • Christoph Grüninger's avatar
      Bump to version 2.8 · b148ab5a
      Christoph Grüninger authored
      b148ab5a
    • Christoph Grüninger's avatar
      [!87] Add GeometryType::Id to allow using GeometryType as a template parameter · 69e5fd19
      Christoph Grüninger authored
      Merge branch 'feature/add-geometrytype-id' into 'master'
      
      ref:core/dune-geometry After thinking about what I proposed in [#17], I
      realized that an index is probably not the right idea of thinking about this.
      Instead, we can just do a 1-to-1 mapping of GeometryType to a canonical id, as
      GeometryType itself is just a 8 byte struct that stores three integral values.
      
      I've nested the id within GeometryType as GeometryType::Id here and added
      implicit conversions between the two. The id type is a scoped enum to avoid
      any future nastiness with implicit conversions to other integral types.
      
      With this merge request, you can have a template with a GeometryType parameter
      with just a tiny bit of overhead on the implementor's side:
      
          // note the additional "::Id"
          template<GeometryType::Id gt_>
          class Foo
          {
            // reconstruct the GeometryType
            static constexpr GeometryType gt = gt_;
          };
      
      For the user, it looks like they can just plug in a GeometryType:
      
          Foo<GeometryTypes::triangle> foo;
      
      This solves a major 2.6 headache in PDELab (see [#17],
      [pdelab/dune-pdelab#102]), so I'd really like this to go into 2.6.
      
      Closes [#17].
      
      See merge request [!87]
      
        [#17]: gitlab.dune-project.org/NoneNone/issues/17
        [pdelab/dune-pdelab#102]: gitlab.dune-project.org/pdelab/dune-pdelab/issues/102
        [!87]: gitlab.dune-project.org/core/dune-geometry/merge_requests/87
      
      
      Closes #17
      69e5fd19
    • Steffen Müthing's avatar
      [tests] Add a test for GeometryType::Id · 04302751
      Steffen Müthing authored
      04302751
    • Steffen Müthing's avatar
      [GeometryType] Add an integral GeometryType::Id type for use as a template parameter · 95163647
      Steffen Müthing authored
      While GeometryType is constexpr and can thus be used in a lot of compile time contexts, C++ does not
      allow us to declare a template parameter of type GeometryType, as the standard only allows data
      types that directly map to a built-in integral type for this purpose.
      
      On the other hand, GeometryType itself is just a simple 64 bit struct that stores a few integral
      values, so we can easily map it to an integral type.
      
      This patch does just that by adding an opaque nested type GeometryType::Id that is implemented as a
      scoped enum as well as implicit conversions between GeometryType and GeometryType::Id. By using a
      scoped enum, we clearly tag the type as something which is not a normal number, because C++ requires
      explicit conversion between scoped enums and other integral types.
      
      The storage layout of the id is chosen identical to that of GeometryType, making conversion between
      the two almost free.
      
      When writing a template with a GeometryType parameter, just use the id instead and convert it back
      into a GeometryType inside the template:
      
      template<GeometryType::Id gt_>
      class Foo
      {
        static constexpr GeometryType gt = gt_;
      };
      95163647
    • Christoph Grüninger's avatar
      [!125] Fix bug pointed out in issue #23. · 38586f59
      Christoph Grüninger authored
      Merge branch 'bugfix/multilin-geom' into 'master'
      
      ref:core/dune-geometry This MR is simply setup to trigger the problem pointed
      out in issue [#23].
      
      See merge request [!125]
      
        [#23]: gitlab.dune-project.org/NoneNone/issues/23
        [!125]: gitlab.dune-project.org/core/dune-geometry/merge_requests/125
      38586f59