SOLA
Loading...
Searching...
No Matches
daisi
src
cpps
amr
physical
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
30
namespace
daisi::cpps {
31
32
// Wrapper class
33
class
AmrAssetConnector
{
34
public
:
35
// Constructor
36
AmrAssetConnector
(
AmrDescription
description,
Topology
topology);
37
AmrAssetConnector
();
38
~AmrAssetConnector
();
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
53
private
:
54
AmrDescription
description_;
55
Topology
topology_;
56
57
class
AmrAssetConnectorImpl
;
58
std::unique_ptr<AmrAssetConnectorImpl> pimpl_;
59
};
60
}
// namespace daisi::cpps
61
#endif
daisi::cpps::AmrAssetConnector::AmrAssetConnectorImpl
Definition
amr_asset_connector_ns3.cpp:26
daisi::cpps::AmrAssetConnector
Definition
amr_asset_connector.h:33
daisi::cpps::AmrAssetConnector::execute
void execute(const FunctionalityVariant &functionality, FunctionalityDoneCallback notifyDone)
start execution, notify whenever a functionality is done
Definition
amr_asset_connector_ns3.cpp:55
daisi::cpps::AmrDescription
Definition
amr_description.h:27
daisi::cpps::Topology
Definition
amr_topology.h:26
daisi::util::Pose
Definition
structure_helpers.h:64
Generated by
1.9.8