public PointCloud2DSlice Scale(Double scale) { PointCloud2DSlice slice = new PointCloud2DSlice(Origin, Bearing); foreach (BearingAndRange bar in this) { slice.Add(bar.Scale(scale)); } return(slice); }
/// <summary> /// return a slice of the given point cloud /// </summary> /// <param name="origin"></param> /// <param name="bearing"></param> /// <param name="from"></param> /// <param name="to"></param> /// <returns></returns> public PointCloud2DSlice GetPointCloud2DSlice(PointD origin, Double bearing, Double from, Double to) { PointCloud2DSlice slice = new PointCloud2DSlice(origin, bearing); for (Double offset = from / VectorSize; offset != to / VectorSize; offset = offset.AddDegrees(VectorSize)) { if (this[(int)offset].Range != 0) { slice.Add(this[(int)offset]); } } return(slice); }
public new PointCloud2DSlice Clone() { PointCloud2DSlice list = new PointCloud2DSlice() { Origin = Origin, Bearing = Bearing, }; foreach (BearingAndRange rab in this) { list.Add(rab.Clone()); } return(list); }