YARP
Yet Another Robot Platform
FrameTransformGetMultiplexer.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 
15 #include <yarp/dev/DeviceDriver.h>
18 #include <yarp/dev/PolyDriver.h>
19 
20 #ifndef YARP_DEV_FRAMETRANSFORMGETMULTIPLEXER_H
21 #define YARP_DEV_FRAMETRANSFORMGETMULTIPLEXER_H
22 
27 {
28 public:
34 
35  // yarp::dev::DeviceDriver
36  bool open (yarp::os::Searchable &config) override;
37  bool close () override;
38 
39  // yarp::dev::IMultipleWrapper
40  bool attachAll(const yarp::dev::PolyDriverList& devices2attach) override;
41  bool detachAll() override;
42 
43  // yarp::dev::IFrameTransformStorageGet
44  bool getTransforms(std::vector<yarp::math::FrameTransform>& transforms) const override;
45 
46 private:
47  int m_verbose{4};
48  std::vector<IFrameTransformStorageGet*> m_iFrameTransformStorageGetList;
49  std::vector<std::vector<yarp::math::FrameTransform>> m_transformVector;
50  std::vector<std::mutex> m_mutexGettingFromAttachedDevices;
51 };
52 
53 
54 #endif // YARP_DEV_FRAMETRANSFORMGETMULTIPLEXER_H
A multiplexer which collapses the output of many IFrameTransformStorageGet interfaces into one.
bool close() override
Close the DeviceDriver.
FrameTransformGetMultiplexer & operator=(const FrameTransformGetMultiplexer &)=delete
bool detachAll() override
Detach the object (you must have first called attach).
bool open(yarp::os::Searchable &config) override
Device driver interface.
FrameTransformGetMultiplexer(const FrameTransformGetMultiplexer &)=delete
FrameTransformGetMultiplexer & operator=(FrameTransformGetMultiplexer &&)=delete
bool getTransforms(std::vector< yarp::math::FrameTransform > &transforms) const override
Obtains all frame transforms saved in a storage.
FrameTransformGetMultiplexer(FrameTransformGetMultiplexer &&)=delete
bool attachAll(const yarp::dev::PolyDriverList &devices2attach) override
Attach to a list of objects.
Interface implemented by all device drivers.
Definition: DeviceDriver.h:35
Helper interface for an object that can wrap/or "attach" to one or more other devices.
A base class for nested structures that can be searched.
Definition: Searchable.h:66