private void UpdatePoints(List <Vector> points, List <System.Drawing.Point> pixels) { for (int i = 0; i < points.Count; ++i) { System.Drawing.Point pixel = pixels[i]; //System.Drawing.Point rel_p = Core.IndexHelper.MakeRelative(pixel, Context.Setup.ScanWorkflow.ROI); uint id = _pixel_point_ids[pixel]; if (id > 0) // we use default value as not-set // Update point { _pointcloud.UpdatePoint(id - 1, points[i].ToInterop()); } else { id = _pointcloud.AddPoint(points[i].ToInterop(), GetPixelColor(ref pixel)); _pixel_point_ids[pixel] = id + 1; // 0 is used as not-set marker } } }