public static int getCdrSerializedSize(sensor_msgs.msg.Image data, int current_alignment) { int initial_alignment = current_alignment; current_alignment += std_msgs.msg.HeaderPubSubType.getCdrSerializedSize(data.header, current_alignment); current_alignment += 4 + Halodi.CDR.CDRCommon.alignment(current_alignment, 4); current_alignment += 4 + Halodi.CDR.CDRCommon.alignment(current_alignment, 4); current_alignment += 4 + Halodi.CDR.CDRCommon.alignment(current_alignment, 4) + data.encoding.Length + 1; current_alignment += 1 + Halodi.CDR.CDRCommon.alignment(current_alignment, 1); current_alignment += 4 + Halodi.CDR.CDRCommon.alignment(current_alignment, 4); current_alignment += 4 + Halodi.CDR.CDRCommon.alignment(current_alignment, 4); current_alignment += (data.data.Count * 1) + Halodi.CDR.CDRCommon.alignment(current_alignment, 1); return(current_alignment - initial_alignment); }
public static void write(sensor_msgs.msg.Image data, Halodi.CDR.CDRSerializer cdr) { std_msgs.msg.HeaderPubSubType.write(data.header, cdr); cdr.write_type_4(data.height); cdr.write_type_4(data.width); cdr.write_type_d(data.encoding); cdr.write_type_9(data.is_bigendian); cdr.write_type_4(data.step); if (data.data == null) { cdr.write_type_2(0); } else { int data_length = data.data.Count; cdr.write_type_2(data_length); for (int i0 = 0; i0 < data_length; i0++) { cdr.write_type_9(data.data[i0]); } } }
public void ImagePubSub() { bool callbackTriggered = false; var subscription = sub_node.CreateSubscription <sensor_msgs.msg.Image>( "test_topic", (received_msg) => { callbackTriggered = true; Assert.That(received_msg.Data.Length, Is.EqualTo(10)); }); var publisher = pub_node.CreatePublisher <sensor_msgs.msg.Image>("test_topic"); var msg = new sensor_msgs.msg.Image(); msg.Data = new byte[10]; msg.Data[0] = 1; publisher.Publish(msg); Rclcs.SpinOnce(sub_node, sub_context, 0.5); Assert.That(callbackTriggered, Is.True); publisher.Dispose(); subscription.Dispose(); }
public override void deserialize(MemoryStream stream, sensor_msgs.msg.Image data) { using (BinaryReader reader = new BinaryReader(stream)) { Halodi.CDR.CDRDeserializer cdr = new Halodi.CDR.CDRDeserializer(reader); read(data, cdr); } }
public override void serialize(sensor_msgs.msg.Image data, MemoryStream stream) { using (BinaryWriter writer = new BinaryWriter(stream)) { Halodi.CDR.CDRSerializer cdr = new Halodi.CDR.CDRSerializer(writer); write(data, cdr); } }
public void SetImage() { var msg = new sensor_msgs.msg.Image(); var msgCopy = new sensor_msgs.msg.Image(); Assert.That(msg.Data.Length, Is.EqualTo(0)); msg.Data = new byte[10]; msg.WriteNativeMessage(); Assert.That(msg.Data.Length, Is.EqualTo(10)); msg.Data = new byte[2]; msg.ReadNativeMessage(); Assert.That(msg.Data.Length, Is.EqualTo(10)); msg.Data = new byte[8]; // NOTE(sam): Writing twice seems not work // msg.WriteNativeMessage(); msg.ReadNativeMessage(); Assert.That(msg.Data.Length, Is.EqualTo(10)); msgCopy.ReadNativeMessage(msg.Handle); Assert.That(msgCopy.Data.Length, Is.EqualTo(10)); }
public static void read(sensor_msgs.msg.Image data, Halodi.CDR.CDRDeserializer cdr) { data.header = std_msgs.msg.HeaderPubSubType.Create(); std_msgs.msg.HeaderPubSubType.read(data.header, cdr); data.height = cdr.read_type_4(); data.width = cdr.read_type_4(); data.encoding = cdr.read_type_d(); data.is_bigendian = cdr.read_type_9(); data.step = cdr.read_type_4(); int data_length = cdr.read_type_2(); data.data = new System.Collections.Generic.List <byte>(data_length); for (int i = 0; i < data_length; i++) { data.data.Add(cdr.read_type_9()); } }
public static int getCdrSerializedSize(sensor_msgs.msg.Image data) { return(getCdrSerializedSize(data, 0)); }
public static void Copy(sensor_msgs.msg.Image src, sensor_msgs.msg.Image target) { target.Set(src); }