SOLA
Loading...
Searching...
No Matches
amr_topology.h
1// Copyright 2023 The SOLA authors
2//
3// This file is part of DAISI.
4//
5// DAISI is free software: you can redistribute it and/or modify it under the terms of the GNU
6// General Public License as published by the Free Software Foundation; version 2.
7//
8// DAISI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
9// the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10// Public License for more details.
11//
12// You should have received a copy of the GNU General Public License along with DAISI. If not, see
13// <https://www.gnu.org/licenses/>.
14//
15// SPDX-License-Identifier: GPL-2.0-only
16
17#ifndef DAISI_CPPS_AMR_AMR_TOPOLOGY_H_
18#define DAISI_CPPS_AMR_AMR_TOPOLOGY_H_
19
20#include <string>
21
22#include "solanet/serializer/serialize.h"
23#include "utils/structure_helpers.h"
24
25namespace daisi::cpps {
26class Topology {
27public:
28 Topology() = default;
29 explicit Topology(const util::Dimensions &size);
30
31 util::Dimensions getSize() const;
32 bool isPointInTopology(const util::Dimensions &vector) const;
33 bool isPositionInTopology(const util::Position &vector) const;
34
35 bool isValid() const;
36
37 double getWidth() const;
38 double getHeight() const;
39
40 SERIALIZE(uuid_, size_);
41
42private:
43 std::string uuid_;
44 util::Dimensions size_;
45};
46} // namespace daisi::cpps
47#endif
Definition amr_topology.h:26