24 #include <interfaces/Position3DInterface.h>
26 #include <core/exceptions/software.h>
46 Position3DInterface::Position3DInterface() : Interface()
48 data_size =
sizeof(Position3DInterface_data_t);
50 data = (Position3DInterface_data_t *)
data_ptr;
58 unsigned char tmp_hash[] = {0xd6, 0x19, 0x3f, 0x58, 0x62, 0xbc, 0x72, 0xd6, 0x22, 0x36, 0xd3, 0x7, 0x55, 0xb5, 0x3a, 0x48};
63 Position3DInterface::~Position3DInterface()
99 strncpy(data->frame, new_frame,
sizeof(data->frame)-1);
100 data->frame[
sizeof(data->frame)-1] = 0;
117 return data->visibility_history;
143 data->visibility_history = new_visibility_history;
156 return data->rotation;
171 throw Exception(
"Index value %u out of bounds (0..3)", index);
173 return data->rotation[index];
195 memcpy(data->rotation, new_rotation,
sizeof(
double) * 4);
210 throw Exception(
"Index value %u out of bounds (0..3)", index);
212 data->rotation[index] = new_rotation;
224 return data->translation;
239 throw Exception(
"Index value %u out of bounds (0..2)", index);
241 return data->translation[index];
263 memcpy(data->translation, new_translation,
sizeof(
double) * 3);
278 throw Exception(
"Index value %u out of bounds (0..2)", index);
280 data->translation[index] = new_translation;
295 return data->covariance;
313 throw Exception(
"Index value %u out of bounds (0..35)", index);
315 return data->covariance[index];
340 memcpy(data->covariance, new_covariance,
sizeof(
double) * 36);
358 throw Exception(
"Index value %u out of bounds (0..35)", index);
360 data->covariance[index] = new_covariance;
368 "message type for this interface type.",
type);
383 memcpy(data, oi->data,
sizeof(Position3DInterface_data_t));
389 throw UnknownTypeException(
"Unknown enum type %s", enumtype);