Exemple #1
0
        public new PointCloud2D Clone()
        {
            PointCloud2D list = new PointCloud2D();

            foreach (BearingAndRange rab in this)
            {
                list.Add(rab.Clone());
            }
            return(list);
        }
Exemple #2
0
        public PointCloud2DSlice(PointD origin, Double bearing, PointCloud2D cloud, Double sliceSize)
            : this(origin, bearing)
        {
            Double startAngle = bearing.SubtractDegrees(sliceSize / 2);
            int    offset     = cloud.VectorOffset(startAngle);
            int    endOffset  = cloud.VectorOffset(bearing.AddDegrees(sliceSize / 2));
            Double vectorSize = cloud.VectorSize;

            for (Double angle = startAngle; offset != endOffset; angle = angle.AddDegrees(vectorSize))
            {
                offset = cloud.VectorOffset(angle);
                if (cloud[offset].Range != 0)
                {
                    Add(cloud[offset].Clone());
                }
            }
        }
Exemple #3
0
 public PointCloud2DSlice(Double bearing, PointCloud2D cloud, Double sliceSize)
     : this(new PointD(), bearing, cloud, sliceSize)
 {
 }