public static PointSet interpolation(PointSet ps, ObjectId[] ids) { List <LineSegment3d> ll = MyDBUtility.getLines(ids); PLDictionary2 plDic = new PLDictionary2(); plDic.Add(ll); return(interpolation(ps, plDic)); }
public static PointSet interpolation(PointSet ps, PLDictionary2 plDic) { PointSet result = new PointSet(); List <LineSegment3d> ll; for (int i = 0; i < ps.Count; i++) { Point3d p = new Point3d(ps[i].X, ps[i].Y, ps[i].Z); bool b = plDic.TryGetValue(p, out ll); if (!b) { continue; } PointSet tps = interp(p, ll); if (tps != null) { result.Add(tps); } } return(result); }