SOLA
Loading...
Searching...
No Matches
amr_asset_connector.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_PHYSICAL_AMR_ASSET_CONNECTOR_H_
18#define DAISI_CPPS_AMR_PHYSICAL_AMR_ASSET_CONNECTOR_H_
19
20#include <functional>
21#include <memory>
22#include <random>
23#include <vector>
24
25#include "cpps/amr/amr_description.h"
26#include "cpps/amr/amr_mobility_helper.h"
27#include "cpps/amr/amr_topology.h"
28#include "cpps/amr/physical/functionality.h"
29
30namespace daisi::cpps {
31
32// Wrapper class
34public:
35 // Constructor
36 AmrAssetConnector(AmrDescription description, Topology topology);
39
40 AmrAssetConnector(AmrAssetConnector &&other) noexcept;
41 AmrAssetConnector(const AmrAssetConnector &) = delete;
42
44 void execute(const FunctionalityVariant &functionality, FunctionalityDoneCallback notifyDone);
45 util::Position getPosition() const;
46 util::Pose getPose();
47 util::Velocity getVelocity();
48 util::Acceleration getAcceleration() const;
49 Topology getTopology() const;
50 AmrDescription getDescription() const;
51 void setTopology(const Topology &topology);
52
53private:
54 AmrDescription description_;
55 Topology topology_;
56
58 std::unique_ptr<AmrAssetConnectorImpl> pimpl_;
59};
60} // namespace daisi::cpps
61#endif
Definition amr_asset_connector_ns3.cpp:26
Definition amr_asset_connector.h:33
void execute(const FunctionalityVariant &functionality, FunctionalityDoneCallback notifyDone)
start execution, notify whenever a functionality is done
Definition amr_asset_connector_ns3.cpp:55
Definition amr_description.h:27
Definition amr_topology.h:26
Definition structure_helpers.h:64