SOLA
Loading...
Searching...
No Matches
amr_description.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_DESCRIPTION_H_
18#define DAISI_CPPS_AMR_AMR_DESCRIPTION_H_
19
20#include "cpps/amr/amr_kinematics.h"
21#include "cpps/amr/amr_load_handling_unit.h"
22#include "cpps/amr/amr_physical_properties.h"
23#include "cpps/amr/amr_properties.h"
24#include "solanet/serializer/serialize.h"
25
26namespace daisi::cpps {
28public:
29 AmrDescription() = default;
30 AmrDescription(uint32_t serial_number, const AmrKinematics &kinematics, AmrProperties properties,
31 AmrPhysicalProperties physical_properties,
32 const AmrLoadHandlingUnit &load_handling)
33 : serial_number_(serial_number),
34 kinematics_(kinematics),
35 load_handling_(load_handling),
36 properties_(std::move(properties)),
37 physical_properties_(std::move(physical_properties)) {}
38 uint32_t getSerialNumber() const { return serial_number_; }
39 AmrKinematics getKinematics() const { return kinematics_; }
40 AmrProperties getProperties() const { return properties_; }
41 AmrPhysicalProperties getPhysicalProperties() const { return physical_properties_; }
42 AmrLoadHandlingUnit getLoadHandling() const { return load_handling_; }
43
44 SERIALIZE(kinematics_, load_handling_, properties_, physical_properties_, serial_number_);
45
46private:
47 uint32_t serial_number_ = 0;
48 AmrKinematics kinematics_;
49 AmrLoadHandlingUnit load_handling_;
50 AmrProperties properties_;
51 AmrPhysicalProperties physical_properties_;
52};
53} // namespace daisi::cpps
54#endif
Definition amr_description.h:27
Definition amr_kinematics.h:23
Definition amr_load_handling_unit.h:26
Definition amr_physical_properties.h:25
Definition amr_properties.h:28