예제 #1
0
        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));
        }
예제 #2
0
        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);
        }