grasp
All Data Structures Namespaces Functions Modules
PointXYZ.cpp
1 // This is an automatically-generated file.
2 // It could get re-generated if the ALLOW_IDL_GENERATION flag is on.
3 
4 #include <iCub/data3D/PointXYZ.h>
5 
6 namespace iCub { namespace data3D {
7 bool PointXYZ::read_x(yarp::os::idl::WireReader& reader) {
8  if (!reader.readDouble(x)) {
9  reader.fail();
10  return false;
11  }
12  return true;
13 }
14 bool PointXYZ::nested_read_x(yarp::os::idl::WireReader& reader) {
15  if (!reader.readDouble(x)) {
16  reader.fail();
17  return false;
18  }
19  return true;
20 }
21 bool PointXYZ::read_y(yarp::os::idl::WireReader& reader) {
22  if (!reader.readDouble(y)) {
23  reader.fail();
24  return false;
25  }
26  return true;
27 }
28 bool PointXYZ::nested_read_y(yarp::os::idl::WireReader& reader) {
29  if (!reader.readDouble(y)) {
30  reader.fail();
31  return false;
32  }
33  return true;
34 }
35 bool PointXYZ::read_z(yarp::os::idl::WireReader& reader) {
36  if (!reader.readDouble(z)) {
37  reader.fail();
38  return false;
39  }
40  return true;
41 }
42 bool PointXYZ::nested_read_z(yarp::os::idl::WireReader& reader) {
43  if (!reader.readDouble(z)) {
44  reader.fail();
45  return false;
46  }
47  return true;
48 }
49 bool PointXYZ::read(yarp::os::idl::WireReader& reader) {
50  if (!read_x(reader)) return false;
51  if (!read_y(reader)) return false;
52  if (!read_z(reader)) return false;
53  return !reader.isError();
54 }
55 
56 bool PointXYZ::read(yarp::os::ConnectionReader& connection) {
57  yarp::os::idl::WireReader reader(connection);
58  if (!reader.readListHeader(3)) return false;
59  return read(reader);
60 }
61 
62 bool PointXYZ::write_x(yarp::os::idl::WireWriter& writer) {
63  if (!writer.writeDouble(x)) return false;
64  return true;
65 }
66 bool PointXYZ::nested_write_x(yarp::os::idl::WireWriter& writer) {
67  if (!writer.writeDouble(x)) return false;
68  return true;
69 }
70 bool PointXYZ::write_y(yarp::os::idl::WireWriter& writer) {
71  if (!writer.writeDouble(y)) return false;
72  return true;
73 }
74 bool PointXYZ::nested_write_y(yarp::os::idl::WireWriter& writer) {
75  if (!writer.writeDouble(y)) return false;
76  return true;
77 }
78 bool PointXYZ::write_z(yarp::os::idl::WireWriter& writer) {
79  if (!writer.writeDouble(z)) return false;
80  return true;
81 }
82 bool PointXYZ::nested_write_z(yarp::os::idl::WireWriter& writer) {
83  if (!writer.writeDouble(z)) return false;
84  return true;
85 }
86 bool PointXYZ::write(yarp::os::idl::WireWriter& writer) {
87  if (!write_x(writer)) return false;
88  if (!write_y(writer)) return false;
89  if (!write_z(writer)) return false;
90  return !writer.isError();
91 }
92 
93 bool PointXYZ::write(yarp::os::ConnectionWriter& connection) {
94  yarp::os::idl::WireWriter writer(connection);
95  if (!writer.writeListHeader(3)) return false;
96  return write(writer);
97 }
98 bool PointXYZ::Editor::write(yarp::os::ConnectionWriter& connection) {
99  if (!isValid()) return false;
100  yarp::os::idl::WireWriter writer(connection);
101  if (!writer.writeListHeader(dirty_count+1)) return false;
102  if (!writer.writeString("patch")) return false;
103  if (is_dirty_x) {
104  if (!writer.writeListHeader(3)) return false;
105  if (!writer.writeString("set")) return false;
106  if (!writer.writeString("x")) return false;
107  if (!obj->nested_write_x(writer)) return false;
108  }
109  if (is_dirty_y) {
110  if (!writer.writeListHeader(3)) return false;
111  if (!writer.writeString("set")) return false;
112  if (!writer.writeString("y")) return false;
113  if (!obj->nested_write_y(writer)) return false;
114  }
115  if (is_dirty_z) {
116  if (!writer.writeListHeader(3)) return false;
117  if (!writer.writeString("set")) return false;
118  if (!writer.writeString("z")) return false;
119  if (!obj->nested_write_z(writer)) return false;
120  }
121  return !writer.isError();
122 }
123 bool PointXYZ::Editor::read(yarp::os::ConnectionReader& connection) {
124  if (!isValid()) return false;
125  yarp::os::idl::WireReader reader(connection);
126  reader.expectAccept();
127  if (!reader.readListHeader()) return false;
128  int len = reader.getLength();
129  if (len==0) {
130  yarp::os::idl::WireWriter writer(reader);
131  if (writer.isNull()) return true;
132  if (!writer.writeListHeader(1)) return false;
133  writer.writeString("send: 'help' or 'patch (param1 val1) (param2 val2)'");
134  return true;
135  }
136  yarp::os::ConstString tag;
137  if (!reader.readString(tag)) return false;
138  if (tag=="help") {
139  yarp::os::idl::WireWriter writer(reader);
140  if (writer.isNull()) return true;
141  if (!writer.writeListHeader(2)) return false;
142  if (!writer.writeTag("many",1, 0)) return false;
143  if (reader.getLength()>0) {
144  yarp::os::ConstString field;
145  if (!reader.readString(field)) return false;
146  if (field=="x") {
147  if (!writer.writeListHeader(1)) return false;
148  if (!writer.writeString("double x")) return false;
149  }
150  if (field=="y") {
151  if (!writer.writeListHeader(1)) return false;
152  if (!writer.writeString("double y")) return false;
153  }
154  if (field=="z") {
155  if (!writer.writeListHeader(1)) return false;
156  if (!writer.writeString("double z")) return false;
157  }
158  }
159  if (!writer.writeListHeader(4)) return false;
160  writer.writeString("*** Available fields:");
161  writer.writeString("x");
162  writer.writeString("y");
163  writer.writeString("z");
164  return true;
165  }
166  bool nested = true;
167  bool have_act = false;
168  if (tag!="patch") {
169  if ((len-1)%2 != 0) return false;
170  len = 1 + ((len-1)/2);
171  nested = false;
172  have_act = true;
173  }
174  for (int i=1; i<len; i++) {
175  if (nested && !reader.readListHeader(3)) return false;
176  yarp::os::ConstString act;
177  yarp::os::ConstString key;
178  if (have_act) {
179  act = tag;
180  } else {
181  if (!reader.readString(act)) return false;
182  }
183  if (!reader.readString(key)) return false;
184  // inefficient code follows, bug paulfitz to improve it
185  if (key == "x") {
186  will_set_x();
187  if (!obj->nested_read_x(reader)) return false;
188  did_set_x();
189  } else if (key == "y") {
190  will_set_y();
191  if (!obj->nested_read_y(reader)) return false;
192  did_set_y();
193  } else if (key == "z") {
194  will_set_z();
195  if (!obj->nested_read_z(reader)) return false;
196  did_set_z();
197  } else {
198  // would be useful to have a fallback here
199  }
200  }
201  reader.accept();
202  yarp::os::idl::WireWriter writer(reader);
203  if (writer.isNull()) return true;
204  writer.writeListHeader(1);
205  writer.writeVocab(VOCAB2('o','k'));
206  return true;
207 }
208 
209 yarp::os::ConstString PointXYZ::toString() {
210  yarp::os::Bottle b;
211  b.read(*this);
212  return b.toString();
213 }
214 }} // namespace