interfaces.h
Go to the documentation of this file.
1 /*
2  * This file is part of ArmarX.
3  *
4  * ArmarX is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * ArmarX is distributed in the hope that it will be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * @package RobotAPI::ArmarXObjects::
17  * @author Fabian Reister ( fabian dot reister at kit dot edu )
18  * @date 2021
19  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20  * GNU General Public License
21  */
22 
23 #pragma once
24 
25 #include <Eigen/Geometry>
26 
28 
32 
34 {
35 
38 
40  {
41  public:
42  virtual ~TransformInterface() = default;
43 
45  virtual void connect(armem::client::MemoryNameSystem& memoryNameSystem) = 0;
46  };
47 
49  {
50  public:
51  virtual ~TransformReaderInterface() = default;
52 
53  virtual TransformResult getGlobalPose(const std::string& agentName,
54  const std::string& robotRootFrame,
55  const armem::Time& timestamp) const = 0;
56 
57  virtual TransformResult lookupTransform(const TransformQuery& query) const = 0;
58  // waitForTransform()
59  };
60 
62  {
63  public:
64  ~TransformWriterInterface() override = default;
65 
66  virtual bool commitTransform(const ::armarx::armem::robot_state::Transform& transform) = 0;
67  };
68 
69 } // namespace armarx::armem::client::robot_state::localization
armarx::armem::client::robot_state::localization::TransformWriterInterface::commitTransform
virtual bool commitTransform(const ::armarx::armem::robot_state::Transform &transform)=0
armarx::armem::client::robot_state::localization::TransformReaderInterface::lookupTransform
virtual TransformResult lookupTransform(const TransformQuery &query) const =0
armarx::armem::client::robot_state::localization::TransformReaderInterface::getGlobalPose
virtual TransformResult getGlobalPose(const std::string &agentName, const std::string &robotRootFrame, const armem::Time &timestamp) const =0
armarx::armem::client::robot_state::localization
Definition: interfaces.h:33
armarx::armem::common::robot_state::localization::TransformQuery
Definition: types.h:75
types.h
armarx::armem::client::robot_state::localization::TransformReaderInterface
Definition: interfaces.h:48
armarx::armem::client::robot_state::localization::TransformInterface::connect
virtual void connect(armem::client::MemoryNameSystem &memoryNameSystem)=0
armarx::armem::client::robot_state::localization::TransformReaderInterface::~TransformReaderInterface
virtual ~TransformReaderInterface()=default
armarx::armem::client::robot_state::localization::TransformInterface::~TransformInterface
virtual ~TransformInterface()=default
armarx::armem::client::robot_state::localization::TransformInterface
Definition: interfaces.h:39
armarx::armem::common::robot_state::localization::TransformResult
Definition: types.h:34
types.h
armarx::core::time::DateTime
Represents a point in time.
Definition: DateTime.h:24
PropertyDefinitionContainer.h
IceUtil::Handle< class PropertyDefinitionContainer >
armarx::transform
auto transform(const Container< InputT, Alloc > &in, OutputT(*func)(InputT const &)) -> Container< OutputT, typename std::allocator_traits< Alloc >::template rebind_alloc< OutputT > >
Convenience function (with less typing) to transform a container of type InputT into the same contain...
Definition: algorithm.h:315
armarx::armem::client::MemoryNameSystem
The memory name system (MNS) client.
Definition: MemoryNameSystem.h:69
MemoryNameSystem.h
armarx::armem::client::robot_state::localization::TransformInterface::registerPropertyDefinitions
virtual void registerPropertyDefinitions(PropertyDefinitionsPtr &def)=0
armarx::armem::client::robot_state::localization::TransformWriterInterface::~TransformWriterInterface
~TransformWriterInterface() override=default
armarx::armem::client::robot_state::localization::TransformWriterInterface
Definition: interfaces.h:61