Skip to content

Commit 70d9016

Browse files
committed
All interfaces/device related to frameTransform now use yarp::dev::ReturnValue
1 parent c43941a commit 70d9016

24 files changed

+383
-266
lines changed

src/devices/frameTransformClient/FrameTransformClient.cpp

+107-77
Large diffs are not rendered by default.

src/devices/frameTransformClient/FrameTransformClient.h

+14-14
Original file line numberDiff line numberDiff line change
@@ -106,20 +106,20 @@ class FrameTransformClient :
106106
bool read(yarp::os::ConnectionReader& connection) override;
107107

108108
//IFrameTransform
109-
bool allFramesAsString(std::string &all_frames) override;
110-
bool canTransform(const std::string &target_frame, const std::string &source_frame) override;
111-
bool clear() override;
112-
bool frameExists(const std::string &frame_id) override;
113-
bool getAllFrameIds(std::vector< std::string > &ids) override;
114-
bool getParent(const std::string &frame_id, std::string &parent_frame_id) override;
115-
bool getTransform(const std::string &target_frame_id, const std::string &source_frame_id, yarp::sig::Matrix &transform) override;
116-
bool setTransform(const std::string &target_frame_id, const std::string &source_frame_id, const yarp::sig::Matrix &transform) override;
117-
bool setTransformStatic(const std::string &target_frame_id, const std::string &source_frame_id, const yarp::sig::Matrix &transform) override;
118-
bool deleteTransform(const std::string &target_frame_id, const std::string &source_frame_id) override;
119-
bool transformPoint(const std::string &target_frame_id, const std::string &source_frame_id, const yarp::sig::Vector &input_point, yarp::sig::Vector &transformed_point) override;
120-
bool transformPose(const std::string &target_frame_id, const std::string &source_frame_id, const yarp::sig::Vector &input_pose, yarp::sig::Vector &transformed_pose) override;
121-
bool transformQuaternion(const std::string &target_frame_id, const std::string &source_frame_id, const yarp::math::Quaternion &input_quaternion, yarp::math::Quaternion &transformed_quaternion) override;
122-
bool waitForTransform(const std::string &target_frame_id, const std::string &source_frame_id, const double &timeout) override;
109+
yarp::dev::ReturnValue allFramesAsString(std::string &all_frames) override;
110+
yarp::dev::ReturnValue canTransform(const std::string &target_frame, const std::string &source_frame, bool& exists) override;
111+
yarp::dev::ReturnValue clear() override;
112+
yarp::dev::ReturnValue frameExists(const std::string &frame_id, bool& exists) override;
113+
yarp::dev::ReturnValue getAllFrameIds(std::vector< std::string > &ids) override;
114+
yarp::dev::ReturnValue getParent(const std::string &frame_id, std::string &parent_frame_id) override;
115+
yarp::dev::ReturnValue getTransform(const std::string &target_frame_id, const std::string &source_frame_id, yarp::sig::Matrix &transform) override;
116+
yarp::dev::ReturnValue setTransform(const std::string &target_frame_id, const std::string &source_frame_id, const yarp::sig::Matrix &transform) override;
117+
yarp::dev::ReturnValue setTransformStatic(const std::string &target_frame_id, const std::string &source_frame_id, const yarp::sig::Matrix &transform) override;
118+
yarp::dev::ReturnValue deleteTransform(const std::string &target_frame_id, const std::string &source_frame_id) override;
119+
yarp::dev::ReturnValue transformPoint(const std::string &target_frame_id, const std::string &source_frame_id, const yarp::sig::Vector &input_point, yarp::sig::Vector &transformed_point) override;
120+
yarp::dev::ReturnValue transformPose(const std::string &target_frame_id, const std::string &source_frame_id, const yarp::sig::Vector &input_pose, yarp::sig::Vector &transformed_pose) override;
121+
yarp::dev::ReturnValue transformQuaternion(const std::string &target_frame_id, const std::string &source_frame_id, const yarp::math::Quaternion &input_quaternion, yarp::math::Quaternion &transformed_quaternion) override;
122+
yarp::dev::ReturnValue waitForTransform(const std::string &target_frame_id, const std::string &source_frame_id, const double &timeout) override;
123123

124124
//PeriodicThread
125125
bool threadInit() override;

src/devices/frameTransformGet/FrameTransformGetMultiplexer.cpp

+5-4
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ bool FrameTransformGetMultiplexer::attachAll(const yarp::dev::PolyDriverList& de
7575
}
7676

7777

78-
bool FrameTransformGetMultiplexer::getTransforms(std::vector<yarp::math::FrameTransform>& transforms) const
78+
yarp::dev::ReturnValue FrameTransformGetMultiplexer::getTransforms(std::vector<yarp::math::FrameTransform>& transforms) const
7979
{
8080
for (size_t i = 0; i < m_iFrameTransformStorageGetList.size(); i++)
8181
{
@@ -86,10 +86,11 @@ bool FrameTransformGetMultiplexer::getTransforms(std::vector<yarp::math::FrameTr
8686
localTransform.begin(),
8787
localTransform.end());
8888
}
89-
else {
89+
else
90+
{
9091
yCError(FRAMETRANSFORMGETMULTIPLEXER) << "pointer to interface IFrameTransformStorageGet not valid";
91-
return false;
92+
return ReturnValue::return_code::return_value_error_method_failed;
9293
}
9394
}
94-
return true;
95+
return ReturnValue_ok;
9596
}

src/devices/frameTransformGet/FrameTransformGetMultiplexer.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class FrameTransformGetMultiplexer:
4141
bool detachAll() override;
4242

4343
// yarp::dev::IFrameTransformStorageGet
44-
bool getTransforms(std::vector<yarp::math::FrameTransform>& transforms) const override;
44+
yarp::dev::ReturnValue getTransforms(std::vector<yarp::math::FrameTransform>& transforms) const override;
4545

4646
private:
4747
int m_verbose{4};

src/devices/frameTransformGet/FrameTransformGet_nwc_yarp.cpp

+7-5
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
#include <yarp/os/LogComponent.h>
99
#include <yarp/os/LogStream.h>
1010

11+
using namespace yarp::dev;
12+
1113
YARP_LOG_COMPONENT(FRAMETRANSFORMGETNWCYARP, "yarp.devices.FrameTransformGet_nwc_yarp")
1214

1315

@@ -136,18 +138,18 @@ bool FrameTransformGet_nwc_yarp::close()
136138
}
137139

138140

139-
bool FrameTransformGet_nwc_yarp::getTransforms(std::vector<yarp::math::FrameTransform>& transforms) const
141+
ReturnValue FrameTransformGet_nwc_yarp::getTransforms(std::vector<yarp::math::FrameTransform>& transforms) const
140142
{
141143
if (!m_streaming_port_enabled)
142144
{
143145
return_getAllTransforms retrievedFromRPC = m_frameTransformStorageGetRPC.getTransformsRPC();
144146
if(!retrievedFromRPC.retvalue)
145147
{
146148
yCError(FRAMETRANSFORMGETNWCYARP, "Unable to get transformations");
147-
return false;
149+
return retrievedFromRPC.retvalue;
148150
}
149151
transforms = retrievedFromRPC.transforms_list;
150-
return true;
152+
return retrievedFromRPC.retvalue;
151153
}
152154
else
153155
{
@@ -156,10 +158,10 @@ bool FrameTransformGet_nwc_yarp::getTransforms(std::vector<yarp::math::FrameTran
156158
return_getAllTransforms retrievedFromSteaming;
157159
m_dataReader->getData(retrievedFromSteaming);
158160
transforms = retrievedFromSteaming.transforms_list;
159-
return true;
161+
return retrievedFromSteaming.retvalue;
160162
}
161163
yCError(FRAMETRANSFORMGETNWCYARP, "Unable to get transformations");
162-
return false;
164+
return yarp::dev::ReturnValue::return_code::return_value_error_generic;
163165
}
164166
}
165167

src/devices/frameTransformGet/FrameTransformGet_nwc_yarp.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ class FrameTransformGet_nwc_yarp:
126126
bool close() override;
127127

128128
// yarp::dev::IFrameTransformStorageGet
129-
bool getTransforms(std::vector<yarp::math::FrameTransform>& transforms) const override;
129+
yarp::dev::ReturnValue getTransforms(std::vector<yarp::math::FrameTransform>& transforms) const override;
130130

131131
private:
132132
int m_verbose{4};

src/devices/frameTransformGet/FrameTransformGet_nws_yarp.cpp

+18-5
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77

88
#include <yarp/os/LogComponent.h>
99
#include <yarp/os/LogStream.h>
10+
#include <yarp/dev/ReturnValue.h>
1011

12+
using namespace yarp::dev;
1113

1214
YARP_LOG_COMPONENT(FRAMETRANSFORMGETNWSYARP, "yarp.devices.FrameTransformGet_nws_yarp")
1315

@@ -143,26 +145,37 @@ bool FrameTransformGet_nws_yarp::attach( yarp::dev::PolyDriver* deviceToAttach)
143145
return_getAllTransforms FrameTransformGet_nws_yarp::getTransformsRPC()
144146
{
145147
std::lock_guard<std::mutex> m_lock(m_mutex);
146-
if (m_iFrameTransformStorageGet != nullptr) {
148+
149+
return_getAllTransforms ret;
150+
if (m_iFrameTransformStorageGet != nullptr)
151+
{
147152
std::vector<yarp::math::FrameTransform> localTransform;
148-
if (m_iFrameTransformStorageGet->getTransforms(localTransform)) {
149-
return return_getAllTransforms(true, localTransform);
153+
if (m_iFrameTransformStorageGet->getTransforms(localTransform))
154+
{
155+
ret.transforms_list = localTransform;
156+
ret.retvalue = ReturnValue_ok;
157+
return ret;
150158
}
151159
}
152160
yCError(FRAMETRANSFORMGETNWSYARP) << "error getting transform from interface";
153-
return return_getAllTransforms(false, std::vector<yarp::math::FrameTransform>());;
161+
ret.transforms_list = std::vector<yarp::math::FrameTransform>();
162+
ret.retvalue = ReturnValue::return_code::return_value_error_method_failed;
163+
return ret;
154164

155165
}
156166

157167
void FrameTransformGet_nws_yarp::run()
158168
{
159169
std::lock_guard<std::mutex> m_lock(m_mutex);
170+
160171
if (m_iFrameTransformStorageGet != nullptr)
161172
{
162173
std::vector<yarp::math::FrameTransform> localTransform;
163174
if (m_iFrameTransformStorageGet->getTransforms(localTransform))
164175
{
165-
return_getAllTransforms rgt(true, localTransform);
176+
return_getAllTransforms rgt;
177+
rgt.retvalue = ReturnValue_ok;
178+
rgt.transforms_list = localTransform;
166179
m_streaming_port.write(rgt);
167180
}
168181
}

src/devices/frameTransformSet/FrameTransformSetMultiplexer.cpp

+22-16
Original file line numberDiff line numberDiff line change
@@ -78,38 +78,40 @@ bool FrameTransformSetMultiplexer::attachAll(const yarp::dev::PolyDriverList& de
7878
}
7979

8080

81-
bool FrameTransformSetMultiplexer::setTransforms(const std::vector<yarp::math::FrameTransform>& transforms)
81+
yarp::dev::ReturnValue FrameTransformSetMultiplexer::setTransforms(const std::vector<yarp::math::FrameTransform>& transforms)
8282
{
8383
for (size_t i = 0; i < m_iFrameTransformStorageSetList.size(); i++)
8484
{
8585
if (m_iFrameTransformStorageSetList[i] != nullptr) {
8686
m_iFrameTransformStorageSetList[i]->setTransforms(transforms);
8787
}
88-
else {
88+
else
89+
{
8990
yCError(FRAMETRANSFORMSETMULTIPLEXER) << "pointer to interface IFrameTransformStorageSet not valid";
90-
return false;
91+
return ReturnValue::return_code::return_value_error_method_failed;
9192
}
9293
}
93-
return true;
94+
return ReturnValue_ok;
9495
}
9596

9697

97-
bool FrameTransformSetMultiplexer::setTransform(const yarp::math::FrameTransform& transform)
98+
yarp::dev::ReturnValue FrameTransformSetMultiplexer::setTransform(const yarp::math::FrameTransform& transform)
9899
{
99100
for (size_t i = 0; i < m_iFrameTransformStorageSetList.size(); i++)
100101
{
101102
if (m_iFrameTransformStorageSetList[i] != nullptr) {
102103
m_iFrameTransformStorageSetList[i]->setTransform(transform);
103104
}
104-
else {
105+
else
106+
{
105107
yCError(FRAMETRANSFORMSETMULTIPLEXER) << "pointer to interface IFrameTransformStorageSet not valid";
106-
return false;
108+
return ReturnValue::return_code::return_value_error_method_failed;
107109
}
108110
}
109-
return true;
111+
return ReturnValue_ok;
110112
}
111113

112-
bool FrameTransformSetMultiplexer::deleteTransform(std::string t1, std::string t2)
114+
yarp::dev::ReturnValue FrameTransformSetMultiplexer::deleteTransform(std::string t1, std::string t2)
113115
{
114116
//stopThreads();
115117

@@ -121,18 +123,21 @@ bool FrameTransformSetMultiplexer::deleteTransform(std::string t1, std::string t
121123
{
122124
frame_deleted &= m_iFrameTransformStorageSetList[i]->deleteTransform(t1,t2);
123125
}
124-
else {
126+
else
127+
{
125128
yCError(FRAMETRANSFORMSETMULTIPLEXER) << "pointer to interface IFrameTransformStorageSet not valid";
126-
return false;
129+
return ReturnValue::return_code::return_value_error_method_failed;
127130
}
128131
}
129132

130133
//startThreads();
131134

132-
return frame_deleted;
135+
if (frame_deleted) { return ReturnValue_ok; }
136+
137+
return ReturnValue::return_code::return_value_error_method_failed;
133138
}
134139

135-
bool FrameTransformSetMultiplexer::clearAll()
140+
yarp::dev::ReturnValue FrameTransformSetMultiplexer::clearAll()
136141
{
137142
//stopThreads();
138143

@@ -141,15 +146,16 @@ bool FrameTransformSetMultiplexer::clearAll()
141146
if (m_iFrameTransformStorageSetList[i] != nullptr) {
142147
m_iFrameTransformStorageSetList[i]->clearAll();
143148
}
144-
else {
149+
else
150+
{
145151
yCError(FRAMETRANSFORMSETMULTIPLEXER) << "pointer to interface IFrameTransformStorageSet not valid";
146-
return false;
152+
return ReturnValue::return_code::return_value_error_method_failed;
147153
}
148154
}
149155

150156
//startThreads();
151157

152-
return true;
158+
return ReturnValue_ok;
153159
}
154160

155161
void FrameTransformSetMultiplexer::stopThreads()

src/devices/frameTransformSet/FrameTransformSetMultiplexer.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@ class FrameTransformSetMultiplexer:
4141
bool detachAll() override;
4242

4343
// yarp::dev::IFrameTransformStorageSet
44-
bool setTransform(const yarp::math::FrameTransform& transform) override;
45-
bool setTransforms(const std::vector<yarp::math::FrameTransform>& transforms) override;
46-
virtual bool deleteTransform(std::string t1, std::string t2) override;
47-
virtual bool clearAll() override;
44+
yarp::dev::ReturnValue setTransform(const yarp::math::FrameTransform& transform) override;
45+
yarp::dev::ReturnValue setTransforms(const std::vector<yarp::math::FrameTransform>& transforms) override;
46+
yarp::dev::ReturnValue deleteTransform(std::string t1, std::string t2) override;
47+
yarp::dev::ReturnValue clearAll() override;
4848

4949
void startThreads();
5050
void stopThreads();

src/devices/frameTransformSet/FrameTransformSet_nwc_yarp.cpp

+24-16
Original file line numberDiff line numberDiff line change
@@ -91,46 +91,54 @@ bool FrameTransformSet_nwc_yarp::close()
9191
return true;
9292
}
9393

94-
bool FrameTransformSet_nwc_yarp::setTransform(const yarp::math::FrameTransform& transform)
94+
ReturnValue FrameTransformSet_nwc_yarp::setTransform(const yarp::math::FrameTransform& transform)
9595
{
9696
std::lock_guard <std::mutex> lg(m_pd_mutex);
97-
if(!m_setRPC.setTransformRPC(transform))
97+
98+
auto ret = m_setRPC.setTransformRPC(transform);
99+
if(!ret)
98100
{
99101
yCError(FRAMETRANSFORMSETNWCYARP, "Unable to set transformation");
100-
return false;
102+
return ret;
101103
}
102-
return true;
104+
return ret;
103105
}
104106

105-
bool FrameTransformSet_nwc_yarp::setTransforms(const std::vector<yarp::math::FrameTransform>& transforms)
107+
ReturnValue FrameTransformSet_nwc_yarp::setTransforms(const std::vector<yarp::math::FrameTransform>& transforms)
106108
{
107109
std::lock_guard <std::mutex> lg(m_pd_mutex);
108-
if(!m_setRPC.setTransformsRPC(transforms))
110+
111+
auto ret = m_setRPC.setTransformsRPC(transforms);
112+
if(!ret)
109113
{
110114
yCError(FRAMETRANSFORMSETNWCYARP, "Unable to set transformations");
111-
return false;
115+
return ret;
112116
}
113-
return true;
117+
return ret;
114118
}
115119

116-
bool FrameTransformSet_nwc_yarp::deleteTransform(std::string t1, std::string t2)
120+
ReturnValue FrameTransformSet_nwc_yarp::deleteTransform(std::string t1, std::string t2)
117121
{
118122
std::lock_guard <std::mutex> lg(m_pd_mutex);
119-
if (!m_setRPC.deleteTransformRPC(t1,t2))
123+
124+
auto ret = m_setRPC.deleteTransformRPC(t1, t2);
125+
if (!ret)
120126
{
121127
yCError(FRAMETRANSFORMSETNWCYARP, "Unable to delete transformation");
122-
return false;
128+
return ret;
123129
}
124-
return true;
130+
return ret;
125131
}
126132

127-
bool FrameTransformSet_nwc_yarp::clearAll()
133+
ReturnValue FrameTransformSet_nwc_yarp::clearAll()
128134
{
129135
std::lock_guard <std::mutex> lg(m_pd_mutex);
130-
if (!m_setRPC.clearAllRPC())
136+
137+
auto ret = m_setRPC.clearAllRPC();
138+
if (!ret)
131139
{
132140
yCError(FRAMETRANSFORMSETNWCYARP, "Unable to clear all transformations");
133-
return false;
141+
return ret;
134142
}
135-
return true;
143+
return ret;
136144
}

src/devices/frameTransformSet/FrameTransformSet_nwc_yarp.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,10 @@ class FrameTransformSet_nwc_yarp :
8080
bool close() override;
8181

8282
//FrameTransformStorageSetRPC functions
83-
bool setTransforms(const std::vector<yarp::math::FrameTransform>& transforms) override;
84-
bool setTransform(const yarp::math::FrameTransform& transform) override;
85-
bool deleteTransform(std::string t1, std::string t2) override;
86-
bool clearAll() override;
83+
yarp::dev::ReturnValue setTransforms(const std::vector<yarp::math::FrameTransform>& transforms) override;
84+
yarp::dev::ReturnValue setTransform(const yarp::math::FrameTransform& transform) override;
85+
yarp::dev::ReturnValue deleteTransform(std::string t1, std::string t2) override;
86+
yarp::dev::ReturnValue clearAll() override;
8787

8888
private:
8989
mutable std::mutex m_trf_mutex;

0 commit comments

Comments
 (0)