YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
LaserScan2D.cpp
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
6// Autogenerated by Thrift Compiler (0.14.1-yarped)
7//
8// This is an automatically generated file.
9// It could get re-generated if the ALLOW_IDL_GENERATION flag is on.
10
12
13namespace yarp::dev {
14
15// Constructor with field values
16LaserScan2D::LaserScan2D(const double angle_min,
17 const double angle_max,
18 const double range_min,
19 const double range_max,
20 const yarp::sig::Vector& scans,
21 const std::int32_t status) :
22 WirePortable(),
23 angle_min(angle_min),
24 angle_max(angle_max),
25 range_min(range_min),
26 range_max(range_max),
27 scans(scans),
28 status(status)
29{
30}
31
32// Read structure on a Wire
34{
35 if (!read_angle_min(reader)) {
36 return false;
37 }
38 if (!read_angle_max(reader)) {
39 return false;
40 }
41 if (!read_range_min(reader)) {
42 return false;
43 }
44 if (!read_range_max(reader)) {
45 return false;
46 }
47 if (!nested_read_scans(reader)) {
48 return false;
49 }
50 if (!read_status(reader)) {
51 return false;
52 }
53 if (reader.isError()) {
54 return false;
55 }
56 return true;
57}
58
59// Read structure on a Connection
61{
62 yarp::os::idl::WireReader reader(connection);
63 if (!reader.readListHeader(6)) {
64 return false;
65 }
66 if (!read(reader)) {
67 return false;
68 }
69 return true;
70}
71
72// Write structure on a Wire
74{
75 if (!write_angle_min(writer)) {
76 return false;
77 }
78 if (!write_angle_max(writer)) {
79 return false;
80 }
81 if (!write_range_min(writer)) {
82 return false;
83 }
84 if (!write_range_max(writer)) {
85 return false;
86 }
87 if (!nested_write_scans(writer)) {
88 return false;
89 }
90 if (!write_status(writer)) {
91 return false;
92 }
93 if (writer.isError()) {
94 return false;
95 }
96 return true;
97}
98
99// Write structure on a Connection
101{
102 yarp::os::idl::WireWriter writer(connection);
103 if (!writer.writeListHeader(6)) {
104 return false;
105 }
106 if (!write(writer)) {
107 return false;
108 }
109 return true;
110}
111
112// Convert to a printable string
113std::string LaserScan2D::toString() const
114{
116 if (!yarp::os::Portable::copyPortable(*this, b)) {
117 return {};
118 }
119 return b.toString();
120}
121
122// read angle_min field
123bool LaserScan2D::read_angle_min(yarp::os::idl::WireReader& reader)
124{
125 if (reader.noMore()) {
126 reader.fail();
127 return false;
128 }
129 if (!reader.readFloat64(angle_min)) {
130 reader.fail();
131 return false;
132 }
133 return true;
134}
135
136// write angle_min field
137bool LaserScan2D::write_angle_min(const yarp::os::idl::WireWriter& writer) const
138{
139 if (!writer.writeFloat64(angle_min)) {
140 return false;
141 }
142 return true;
143}
144
145// read (nested) angle_min field
146bool LaserScan2D::nested_read_angle_min(yarp::os::idl::WireReader& reader)
147{
148 if (reader.noMore()) {
149 reader.fail();
150 return false;
151 }
152 if (!reader.readFloat64(angle_min)) {
153 reader.fail();
154 return false;
155 }
156 return true;
157}
158
159// write (nested) angle_min field
160bool LaserScan2D::nested_write_angle_min(const yarp::os::idl::WireWriter& writer) const
161{
162 if (!writer.writeFloat64(angle_min)) {
163 return false;
164 }
165 return true;
166}
167
168// read angle_max field
169bool LaserScan2D::read_angle_max(yarp::os::idl::WireReader& reader)
170{
171 if (reader.noMore()) {
172 reader.fail();
173 return false;
174 }
175 if (!reader.readFloat64(angle_max)) {
176 reader.fail();
177 return false;
178 }
179 return true;
180}
181
182// write angle_max field
183bool LaserScan2D::write_angle_max(const yarp::os::idl::WireWriter& writer) const
184{
185 if (!writer.writeFloat64(angle_max)) {
186 return false;
187 }
188 return true;
189}
190
191// read (nested) angle_max field
192bool LaserScan2D::nested_read_angle_max(yarp::os::idl::WireReader& reader)
193{
194 if (reader.noMore()) {
195 reader.fail();
196 return false;
197 }
198 if (!reader.readFloat64(angle_max)) {
199 reader.fail();
200 return false;
201 }
202 return true;
203}
204
205// write (nested) angle_max field
206bool LaserScan2D::nested_write_angle_max(const yarp::os::idl::WireWriter& writer) const
207{
208 if (!writer.writeFloat64(angle_max)) {
209 return false;
210 }
211 return true;
212}
213
214// read range_min field
215bool LaserScan2D::read_range_min(yarp::os::idl::WireReader& reader)
216{
217 if (reader.noMore()) {
218 reader.fail();
219 return false;
220 }
221 if (!reader.readFloat64(range_min)) {
222 reader.fail();
223 return false;
224 }
225 return true;
226}
227
228// write range_min field
229bool LaserScan2D::write_range_min(const yarp::os::idl::WireWriter& writer) const
230{
231 if (!writer.writeFloat64(range_min)) {
232 return false;
233 }
234 return true;
235}
236
237// read (nested) range_min field
238bool LaserScan2D::nested_read_range_min(yarp::os::idl::WireReader& reader)
239{
240 if (reader.noMore()) {
241 reader.fail();
242 return false;
243 }
244 if (!reader.readFloat64(range_min)) {
245 reader.fail();
246 return false;
247 }
248 return true;
249}
250
251// write (nested) range_min field
252bool LaserScan2D::nested_write_range_min(const yarp::os::idl::WireWriter& writer) const
253{
254 if (!writer.writeFloat64(range_min)) {
255 return false;
256 }
257 return true;
258}
259
260// read range_max field
261bool LaserScan2D::read_range_max(yarp::os::idl::WireReader& reader)
262{
263 if (reader.noMore()) {
264 reader.fail();
265 return false;
266 }
267 if (!reader.readFloat64(range_max)) {
268 reader.fail();
269 return false;
270 }
271 return true;
272}
273
274// write range_max field
275bool LaserScan2D::write_range_max(const yarp::os::idl::WireWriter& writer) const
276{
277 if (!writer.writeFloat64(range_max)) {
278 return false;
279 }
280 return true;
281}
282
283// read (nested) range_max field
284bool LaserScan2D::nested_read_range_max(yarp::os::idl::WireReader& reader)
285{
286 if (reader.noMore()) {
287 reader.fail();
288 return false;
289 }
290 if (!reader.readFloat64(range_max)) {
291 reader.fail();
292 return false;
293 }
294 return true;
295}
296
297// write (nested) range_max field
298bool LaserScan2D::nested_write_range_max(const yarp::os::idl::WireWriter& writer) const
299{
300 if (!writer.writeFloat64(range_max)) {
301 return false;
302 }
303 return true;
304}
305
306// read scans field
307bool LaserScan2D::read_scans(yarp::os::idl::WireReader& reader)
308{
309 if (reader.noMore()) {
310 reader.fail();
311 return false;
312 }
313 if (!reader.read(scans)) {
314 reader.fail();
315 return false;
316 }
317 return true;
318}
319
320// write scans field
321bool LaserScan2D::write_scans(const yarp::os::idl::WireWriter& writer) const
322{
323 if (!writer.write(scans)) {
324 return false;
325 }
326 return true;
327}
328
329// read (nested) scans field
330bool LaserScan2D::nested_read_scans(yarp::os::idl::WireReader& reader)
331{
332 if (reader.noMore()) {
333 reader.fail();
334 return false;
335 }
336 if (!reader.readNested(scans)) {
337 reader.fail();
338 return false;
339 }
340 return true;
341}
342
343// write (nested) scans field
344bool LaserScan2D::nested_write_scans(const yarp::os::idl::WireWriter& writer) const
345{
346 if (!writer.writeNested(scans)) {
347 return false;
348 }
349 return true;
350}
351
352// read status field
353bool LaserScan2D::read_status(yarp::os::idl::WireReader& reader)
354{
355 if (!reader.readI32(status)) {
356 status = 3;
357 }
358 return true;
359}
360
361// write status field
362bool LaserScan2D::write_status(const yarp::os::idl::WireWriter& writer) const
363{
364 if (!writer.writeI32(status)) {
365 return false;
366 }
367 return true;
368}
369
370// read (nested) status field
371bool LaserScan2D::nested_read_status(yarp::os::idl::WireReader& reader)
372{
373 if (!reader.readI32(status)) {
374 status = 3;
375 }
376 return true;
377}
378
379// write (nested) status field
380bool LaserScan2D::nested_write_status(const yarp::os::idl::WireWriter& writer) const
381{
382 if (!writer.writeI32(status)) {
383 return false;
384 }
385 return true;
386}
387
388} // namespace yarp::dev
yarp::sig::Vector scans
the scan data, measured in [m].
Definition LaserScan2D.h:46
std::int32_t status
the status of the device.
Definition LaserScan2D.h:50
double angle_min
first angle of the scan [deg]
Definition LaserScan2D.h:30
bool write(const yarp::os::idl::WireWriter &writer) const override
double angle_max
last angle of the scan [deg]
Definition LaserScan2D.h:34
double range_min
the minimum distance of the scan [m]
Definition LaserScan2D.h:38
bool read(yarp::os::idl::WireReader &reader) override
double range_max
the maximum distance of the scan [m]
Definition LaserScan2D.h:42
std::string toString() const
A simple collection of objects that can be described and transmitted in a portable way.
Definition Bottle.h:64
std::string toString() const override
Gives a human-readable textual representation of the bottle.
Definition Bottle.cpp:211
An interface for reading from a network connection.
An interface for writing to a network connection.
static bool copyPortable(const PortWriter &writer, PortReader &reader)
Copy one portable to another, via writing and reading.
Definition Portable.cpp:16
IDL-friendly connection reader.
Definition WireReader.h:27
bool readNested(WirePortable &obj)
bool readI32(std::int32_t &x)
bool read(WirePortable &obj)
bool readFloat64(yarp::conf::float64_t &x)
IDL-friendly connection writer.
Definition WireWriter.h:28
bool write(const WirePortable &obj) const
bool writeI32(std::int32_t x, bool skip_tag=false) const
bool writeListHeader(int len) const
bool writeFloat64(yarp::conf::float64_t x, bool skip_tag=false) const
bool writeNested(const WirePortable &obj) const
For streams capable of holding different kinds of content, check what they actually have.