示例#1
0
        public PathMan(string setname, int nn = 5)
        {
            this.setname = setname;
            switch (setname)
            {
            case "PathSetCirc":
            {
                for (int n = 0; n < nn; n++)
                {
                    var pname = "Circ-" + n.ToString();
                    var plst  = Pt3.getCircPathList(n);
                    pathdict.Add(pname, plst);
                    pathnamelist.Add(pname);
                }
                break;
            }

            case "PathSetMin":
            {
                setpathpoints(setname, "Kitchen");
                setpathpoints(setname, "Room-1011");
                break;
            }
            }
        }
示例#2
0
        public void setpathpoints(string setname, string pathname)
        {
            var plst = Pt3.getNamedPathList(setname, pathname);

            pathdict.Add(pathname, plst);
            pathnamelist.Add(pathname);
        }
示例#3
0
        public static List <Pt3> getCircPathList(int n)
        {
            var lst = new List <Pt3>();
            Pt3 cen = new Pt3(0, 0, 0);
            var rad = 0.5f;

            for (int i = 0; i <= n; i++)
            {
                var ang = 2 * Math.PI * i / n;
                var v   = new Vk3((float)Math.Sin(ang), 0, (float)Math.Cos(ang));
                lst.Add(cen + rad * v);
            }
            return(lst);
        }
示例#4
0
        public static Pt3 operator +(Pt3 p, Vk3 v)
        {
            var q = new Pt3(p.x + v.x, p.y + v.y, p.z + v.z);

            return(q);
        }