Exemplo n.º 1
0
 public override void deserialize(MemoryStream stream, sensor_msgs.msg.PointField data)
 {
     using (BinaryReader reader = new BinaryReader(stream))
     {
         Halodi.CDR.CDRDeserializer cdr = new Halodi.CDR.CDRDeserializer(reader);
         read(data, cdr);
     }
 }
Exemplo n.º 2
0
 public override void serialize(sensor_msgs.msg.PointField data, MemoryStream stream)
 {
     using (BinaryWriter writer = new BinaryWriter(stream))
     {
         Halodi.CDR.CDRSerializer cdr = new Halodi.CDR.CDRSerializer(writer);
         write(data, cdr);
     }
 }
Exemplo n.º 3
0
        public static void read(sensor_msgs.msg.PointField data, Halodi.CDR.CDRDeserializer cdr)
        {
            data.name   = cdr.read_type_d();
            data.offset = cdr.read_type_4();

            data.datatype = cdr.read_type_9();

            data.count = cdr.read_type_4();
        }
Exemplo n.º 4
0
        public static void write(sensor_msgs.msg.PointField data, Halodi.CDR.CDRSerializer cdr)
        {
            cdr.write_type_d(data.name);

            cdr.write_type_4(data.offset);

            cdr.write_type_9(data.datatype);

            cdr.write_type_4(data.count);
        }
Exemplo n.º 5
0
        public void Set(PointCloud2 other)
        {
            std_msgs.msg.HeaderPubSubType.Copy(other.header, header);

            height = other.height;

            width = other.width;


            if (other.fields == null)
            {
                fields = null;
            }
            else
            {
                fields = new System.Collections.Generic.List <sensor_msgs.msg.PointField>(other.fields.Count);
                for (int i1 = 0; i1 < other.fields.Count; i1++)
                {
                    if (other.fields[i1] == null)
                    {
                        fields.Add(null);
                    }
                    else
                    {
                        sensor_msgs.msg.PointField newElement = sensor_msgs.msg.PointFieldPubSubType.Create();
                        sensor_msgs.msg.PointFieldPubSubType.Copy(other.fields[i1], newElement);
                        fields.Add(newElement);
                    }
                }
            }
            is_bigendian = other.is_bigendian;

            point_step = other.point_step;

            row_step = other.row_step;


            if (other.data == null)
            {
                data = null;
            }
            else
            {
                data = new System.Collections.Generic.List <byte>(other.data.Count);
                for (int i2 = 0; i2 < other.data.Count; i2++)
                {
                    data.Add(other.data[i2]);
                }
            }
            is_dense = other.is_dense;
        }
Exemplo n.º 6
0
        public static int getCdrSerializedSize(sensor_msgs.msg.PointField data, int current_alignment)
        {
            int initial_alignment = current_alignment;

            current_alignment += 4 + Halodi.CDR.CDRCommon.alignment(current_alignment, 4) + data.name.Length + 1;

            current_alignment += 4 + Halodi.CDR.CDRCommon.alignment(current_alignment, 4);


            current_alignment += 1 + Halodi.CDR.CDRCommon.alignment(current_alignment, 1);


            current_alignment += 4 + Halodi.CDR.CDRCommon.alignment(current_alignment, 4);



            return(current_alignment - initial_alignment);
        }
        public static void read(sensor_msgs.msg.PointCloud2 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();


            int fields_length = cdr.read_type_2();

            data.fields = new System.Collections.Generic.List <sensor_msgs.msg.PointField>(fields_length);
            for (int i = 0; i < fields_length; i++)
            {
                sensor_msgs.msg.PointField new_fields = sensor_msgs.msg.PointFieldPubSubType.Create();
                sensor_msgs.msg.PointFieldPubSubType.read(new_fields, cdr);
                data.fields.Add(new_fields);
            }


            data.is_bigendian = cdr.read_type_7();

            data.point_step = cdr.read_type_4();

            data.row_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());
            }


            data.is_dense = cdr.read_type_7();
        }
Exemplo n.º 8
0
 public static void Copy(sensor_msgs.msg.PointField src, sensor_msgs.msg.PointField target)
 {
     target.Set(src);
 }
Exemplo n.º 9
0
 public static int getCdrSerializedSize(sensor_msgs.msg.PointField data)
 {
     return(getCdrSerializedSize(data, 0));
 }