dune-grid  2.11
concepts/archetypes/entity.hh
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright © DUNE Project contributors, see file LICENSE.md in module root
2 // SPDX-License-Identifier: LicenseRef-GPL-2.0-only-with-DUNE-exception
3 // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
4 // vi: set et ts=4 sw=2 sts=2:
5 #ifndef DUNE_GRID_CONCEPT_ARCHETYPES_ENTITY_HH
6 #define DUNE_GRID_CONCEPT_ARCHETYPES_ENTITY_HH
7 
8 #include <dune/geometry/type.hh>
11 
12 #ifndef DOXYGEN
13 namespace Dune::Concept::Archetypes {
14 
15 template <int codim>
16 struct EntitySeed
17 {
18  static constexpr int codimension = codim;
19  bool isValid () const;
20 };
21 
22 
23 template <int dim, int codim>
24 struct Entity
25 {
26  static constexpr int dimension = dim;
27  static constexpr int codimension = codim;
28  static constexpr int mydimension = dim - codim;
29 
30  using Geometry = Archetypes::Geometry<mydimension,mydimension>;
31  using EntitySeed = Archetypes::EntitySeed<codimension>;
32 
33  int level () const;
34  Dune::PartitionType partitionType () const;
35  Geometry geometry () const;
36  Dune::GeometryType type () const;
37  unsigned int subEntities (int cd) const;
38  EntitySeed seed () const;
39 
40  template <int cc>
41  Archetypes::Entity<dim,cc> subEntity (int i) const;
42 
43  bool operator== (Entity const& entity) const;
44  bool operator!= (Entity const& entity) const;
45 };
46 
47 } // end namespace Dune::Concept::Archetypes
48 #endif // DOXYGEN
49 
50 #endif // DUNE_GRID_CONCEPT_ARCHETYPES_ENTITY_HH
PartitionType
Attributes used in the generic overlap model.
Definition: gridenums.hh:30
concept Entity
Model of a grid entity.
Definition: concepts/entity.hh:119
concept Geometry
Model of a geometry object.
Definition: concepts/geometry.hh:29
GeometryType
Type representing VTK&#39;s entity geometry types.
Definition: common.hh:132
concept EntitySeed
Model of an entity seed.
Definition: concepts/entity.hh:25