dune-grid 2.11
Loading...
Searching...
No Matches
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
13namespace Dune::Concept::Archetypes {
14
15template <int codim>
16struct EntitySeed
17{
18 static constexpr int codimension = codim;
19 bool isValid () const;
20};
21
22
23template <int dim, int codim>
24struct 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
IteratorRange<... > subEntities(const E &e, Codim< codim > c)
Iterates over all sub-entities of an entity given the codimension of the sub-entities.