public static List<BuildingStorey> MakeStories(List<List<Vector.MemorySafe_CartCoord>> pointslist)
        {
            List<BuildingStorey> stories = new List<BuildingStorey>();
            for (int i = 1; i <= pointslist.Count(); i++)
            {
                BuildingStorey bs = new BuildingStorey();
                bs.id = "bldg-story-" + i;
                bs.Name = "Level " + i;
                bs.Level = (i - 1).ToString();

                //there is only one plane per storey
                PlanarGeometry pg = new PlanarGeometry();
                //make polyloop with points
                pg.PolyLoop = new PolyLoop();
                //uses just a simple set of points = List<List<double>>
                pg.PolyLoop = prod.MakePolyLoops(pg.PolyLoop, pointslist[i]);
                //add polyloop to the building storey object
                bs.PlanarGeo = pg;
                stories.Add(bs);
            }
            return stories;
        }
        //same but from a series of Vector Cartesian Coordinates
        public static BuildingStorey MakeStorey(int levelnum, List<Vector.MemorySafe_CartCoord> points)
        {
            BuildingStorey bs = new BuildingStorey();
            bs.id = "bldg-story-" + levelnum;
            bs.Name = "Level " + levelnum;
            bs.Level = (levelnum - 1).ToString();

            //there is only one plane per storey
            PlanarGeometry pg = new PlanarGeometry();
            //make polyloop with points
            pg.PolyLoop = new PolyLoop();
            //uses just a simple set of points = List<List<double>>
            pg.PolyLoop = prod.MakePolyLoops(pg.PolyLoop, points);
            //add polyloop to the building storey object
            bs.PlanarGeo = pg;
            return bs;
        }