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; } } }
public void setpathpoints(string setname, string pathname) { var plst = Pt3.getNamedPathList(setname, pathname); pathdict.Add(pathname, plst); pathnamelist.Add(pathname); }
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); }
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); }