/* LCM type definition class file * This file was automatically generated by lcm-gen * DO NOT MODIFY BY HAND!!!! */ using System; using System.Collections.Generic; using System.IO; using LCM.LCM; namespace LCMTypes { public sealed class laser_t : LCM.LCM.LCMEncodable { public long utime; public int nranges; public float[] ranges; public int nintensities; public float[] intensities; public float rad0; public float radstep; public laser_t() { } public static readonly ulong LCM_FINGERPRINT; public static readonly ulong LCM_FINGERPRINT_BASE = 0xf1e8ba118c05af46L; static laser_t() { LCM_FINGERPRINT = _hashRecursive(new List()); } public static ulong _hashRecursive(List classes) { if (classes.Contains("LCMTypes.laser_t")) return 0L; classes.Add("LCMTypes.laser_t"); ulong hash = LCM_FINGERPRINT_BASE ; classes.RemoveAt(classes.Count - 1); return (hash<<1) + ((hash>>63)&1); } public void Encode(LCMDataOutputStream outs) { outs.Write((long) LCM_FINGERPRINT); _encodeRecursive(outs); } public void _encodeRecursive(LCMDataOutputStream outs) { outs.Write(this.utime); outs.Write(this.nranges); for (int a = 0; a < this.nranges; a++) { outs.Write(this.ranges[a]); } outs.Write(this.nintensities); for (int a = 0; a < this.nintensities; a++) { outs.Write(this.intensities[a]); } outs.Write(this.rad0); outs.Write(this.radstep); } public laser_t(byte[] data) : this(new LCMDataInputStream(data)) { } public laser_t(LCMDataInputStream ins) { if ((ulong) ins.ReadInt64() != LCM_FINGERPRINT) throw new System.IO.IOException("LCM Decode error: bad fingerprint"); _decodeRecursive(ins); } public static LCMTypes.laser_t _decodeRecursiveFactory(LCMDataInputStream ins) { LCMTypes.laser_t o = new LCMTypes.laser_t(); o._decodeRecursive(ins); return o; } public void _decodeRecursive(LCMDataInputStream ins) { this.utime = ins.ReadInt64(); this.nranges = ins.ReadInt32(); this.ranges = new float[(int) nranges]; for (int a = 0; a < this.nranges; a++) { this.ranges[a] = ins.ReadSingle(); } this.nintensities = ins.ReadInt32(); this.intensities = new float[(int) nintensities]; for (int a = 0; a < this.nintensities; a++) { this.intensities[a] = ins.ReadSingle(); } this.rad0 = ins.ReadSingle(); this.radstep = ins.ReadSingle(); } public LCMTypes.laser_t Copy() { LCMTypes.laser_t outobj = new LCMTypes.laser_t(); outobj.utime = this.utime; outobj.nranges = this.nranges; outobj.ranges = new float[(int) nranges]; for (int a = 0; a < this.nranges; a++) { outobj.ranges[a] = this.ranges[a]; } outobj.nintensities = this.nintensities; outobj.intensities = new float[(int) nintensities]; for (int a = 0; a < this.nintensities; a++) { outobj.intensities[a] = this.intensities[a]; } outobj.rad0 = this.rad0; outobj.radstep = this.radstep; return outobj; } } }