OISEAU
A modern DGTD framework
Loading...
Searching...
No Matches
mesh.hpp
1// Copyright (C) 2025 Tiago V. L. Amorim (@tiagovla)
2//
3// This file is part of oiseau (https://github.com/tiagovla/oiseau)
4//
5// SPDX-License-Identifier: GPL-3.0-or-later
6
7#pragma once
8
9#include <utility>
10
11#include "oiseau/mesh/geometry.hpp"
12#include "oiseau/mesh/topology.hpp"
13
14namespace oiseau::mesh {
15class Mesh {
16 public:
17 Mesh() : _topology(), _geometry() {}
18 Mesh(Topology &topology, Geometry &geometry) : _topology(topology), _geometry(geometry) {}
19 Mesh(Topology &&topology, Geometry &&geometry)
20 : _topology(std::move(topology)), _geometry(std::move(geometry)) {}
21
22 Mesh(Mesh &&) = default;
23 Mesh(const Mesh &) = default;
24 Mesh &operator=(Mesh &&) = default;
25 Mesh &operator=(const Mesh &) = default;
26 ~Mesh() = default;
27
28 Topology &topology();
29 const Topology &topology() const;
30 Geometry &geometry();
31 const Geometry &geometry() const;
32
33 private:
34 Topology _topology;
35 Geometry _geometry;
36};
37
38} // namespace oiseau::mesh
Definition geometry.hpp:13
Definition topology.hpp:16