Dune Core Modules (unstable)

entity.hh
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
9#include <dune/grid/common/gridenums.hh>
10#include <dune/grid/concepts/archetypes/geometry.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
Unique label for each type of entities that can occur in DUNE grids.
Definition: type.hh:114
PartitionType
Attributes used in the generic overlap model.
Definition: gridenums.hh:30
EnableIfInterOperable< T1, T2, bool >::type operator==(const ForwardIteratorFacade< T1, V1, R1, D > &lhs, const ForwardIteratorFacade< T2, V2, R2, D > &rhs)
Checks for equality.
Definition: iteratorfacades.hh:238
EnableIfInterOperable< T1, T2, bool >::type operator!=(const ForwardIteratorFacade< T1, V1, R1, D > &lhs, const ForwardIteratorFacade< T2, V2, R2, D > &rhs)
Checks for inequality.
Definition: iteratorfacades.hh:260
A unique label for each type of element that can occur in a grid.
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 22, 23:33, 2024)