Exemplo n.º 1
0
        public void PolygonBox()
        {
            var vertices = Shaper.PolygonBox(10.0, 10.0).Vertices;

            Assert.Contains(vertices, p => p.X == 0.0 && p.Y == 0.0);
            Assert.Contains(vertices, p => p.X == 10.0 && p.Y == 0.0);
            Assert.Contains(vertices, p => p.X == 10.0 && p.Y == 10.0);
            Assert.Contains(vertices, p => p.X == 0.0 && p.Y == 10.0);
        }
Exemplo n.º 2
0
        public void AreaPlaced()
        {
            var roomGroup = new RoomGroup()
            {
                Perimeter = Shaper.PolygonBox(60.0, 20.0)
            };

            roomGroup.RoomsByDivision(4, 2);
            Assert.Equal(1200.0, roomGroup.AreaPlaced, 10);
        }
Exemplo n.º 3
0
        public void SizeXY()
        {
            var roomGroup = new RoomGroup()
            {
                Perimeter = Shaper.PolygonBox(60.0, 20.0)
            };

            Assert.Equal(60.0, roomGroup.SizeX, 10);
            Assert.Equal(20.0, roomGroup.SizeY, 10);
        }
Exemplo n.º 4
0
        public void RoomsByDivision()
        {
            var roomGroup = new RoomGroup()
            {
                Perimeter = Shaper.PolygonBox(60.0, 20.0)
            };

            roomGroup.RoomsByDivision(4, 2);
            Assert.Equal(8.0, roomGroup.Rooms.Count, 10);
        }
Exemplo n.º 5
0
        public void RoomsAsSpaces()
        {
            var roomGroup = new RoomGroup()
            {
                Perimeter = Shaper.PolygonBox(60.0, 20.0)
            };

            roomGroup.RoomsByDivision(4, 2);
            Assert.Equal(8.0, roomGroup.RoomsAsSpaces.Count, 10);
            Assert.Equal(150.0, roomGroup.RoomsAsSpaces.First().Profile.Area(), 10);
        }
Exemplo n.º 6
0
        public void Perimeter()
        {
            var room = new Room
            {
                Perimeter = Shaper.PolygonBox(10.0, 10.0)
            };

            Assert.Contains(new Vector3(0.0, 10.0), room.Perimeter.Vertices);
            Assert.Contains(new Vector3(10.0, 10.0), room.Perimeter.Vertices);
            room.Perimeter = null;
            Assert.Contains(new Vector3(0.0, 0.0), room.Perimeter.Vertices);
            Assert.Contains(new Vector3(10.0, 0.0), room.Perimeter.Vertices);
        }
Exemplo n.º 7
0
        public void MoveFromTo()
        {
            var roomGroup = new RoomGroup()
            {
                Perimeter = Shaper.PolygonBox(60.0, 20.0)
            };

            roomGroup.MoveFromTo(Vector3.Origin, new Vector3(20.0, 20.0, 20.0));
            Assert.Equal(20.0, roomGroup.Elevation);
            Assert.Contains(new Vector3(20.0, 20.0, 0.0), roomGroup.Perimeter.Vertices);
            Assert.Contains(new Vector3(80.0, 20.0, 0.0), roomGroup.Perimeter.Vertices);
            Assert.Contains(new Vector3(80.0, 40.0, 0.0), roomGroup.Perimeter.Vertices);
            Assert.Contains(new Vector3(20.0, 40.0, 0.0), roomGroup.Perimeter.Vertices);
        }
Exemplo n.º 8
0
        public void Elevation()
        {
            var tower = MakeTower();

            tower.Elevation = 20.0;
            var column = new Column(Vector3.Origin, 20.0, new Profile(Shaper.PolygonBox(1.0, 1.0)));
            var model  = new Model();

            model.AddElement(column);
            foreach (Space space in tower.Spaces)
            {
                model.AddElement(space);
            }
            model.SaveGlb("../../../../TowerElevation.glb");
        }
Exemplo n.º 9
0
        public void RoomGroup()
        {
            var polygon   = Shaper.PolygonBox(60.0, 20.0);
            var roomGroup = new RoomGroup()
            {
                Perimeter = polygon
            };

            roomGroup.RoomsByDivision(4, 2, 3.5);
            var model = new Model();

            foreach (Room room in roomGroup.Rooms)
            {
                model.AddElement(room.AsSpace);
            }
            model.SaveGlb("../../../../RoomGroup.glb");
        }
Exemplo n.º 10
0
        public Tower MakeTower()
        {
            var tower = new Tower()
            {
                Color       = Palette.Aqua,
                Floors      = 20,
                Perimeter   = Shaper.PolygonBox(60.0, 20.0),
                StoryHeight = 4.0
            };

            tower.Stack();
            var entry = new Room()
            {
                Height = 6.0
            };

            entry.SetPerimeter(new Vector3(30.0, -0.1), new Vector3(30.0, 6.0), 2.0);
            tower.Stories[0].AddCorridor(entry);
            var coreShaft = new Room()
            {
                Perimeter = Shaper.PolygonBox(5.0, 8.0, new Vector3(27.5, 6.0))
            };

            for (int i = 0; i < 2; i++)
            {
                tower.Stories[i].Color = Palette.Green;
                tower.SetStoryHeight(i, 6.0);
                tower.Stories[i].RoomsByDivision(4, 1, 5.5, 0.5, "Retail");
                tower.Stories[i].AddExclusion(coreShaft);
            }
            var corridor = new Room()
            {
                Height = 3.5
            };

            corridor.SetPerimeter(new Vector3(0.5, 10.0), new Vector3(59.5, 10), 2.0);
            for (int i = 2; i < tower.Stories.Count; i++)
            {
                tower.Stories[i].RoomsByDivision(4, 2, 3.5, 0.5, "Office");
                tower.Stories[i].AddCorridor(corridor);
                tower.Stories[i].AddExclusion(coreShaft);
            }
            tower.AddServiceCore(coreShaft.Perimeter, 0, 3.0, Palette.Granite);
            return(tower);
        }
Exemplo n.º 11
0
        public void SetHeight()
        {
            var roomGroup = new RoomGroup()
            {
                Perimeter = Shaper.PolygonBox(60.0, 20.0)
            };

            roomGroup.RoomsByDivision(4, 2, 3.0);
            foreach (Room room in roomGroup.Rooms)
            {
                Assert.Equal(3.0, room.Height, 10);
            }
            roomGroup.SetHeight(4.5);
            foreach (Room room in roomGroup.Rooms)
            {
                Assert.Equal(4.5, room.Height, 10);
            }
        }
Exemplo n.º 12
0
        public void SetElevation()
        {
            var roomGroup = new RoomGroup()
            {
                Perimeter = Shaper.PolygonBox(60.0, 20.0)
            };

            roomGroup.RoomsByDivision(4, 2);
            foreach (Room room in roomGroup.Rooms)
            {
                Assert.Equal(0.0, room.Elevation, 10);
            }
            roomGroup.Elevation = 10.2;
            foreach (Room room in roomGroup.Rooms)
            {
                Assert.Equal(10.2, room.Elevation, 10);
            }
        }
Exemplo n.º 13
0
        public void SetColor()
        {
            var roomGroup = new RoomGroup()
            {
                Perimeter = Shaper.PolygonBox(60.0, 20.0)
            };

            roomGroup.RoomsByDivision(4, 2);
            foreach (Room room in roomGroup.Rooms)
            {
                Assert.Equal(Palette.White, room.Color);
            }
            roomGroup.SetColor(Palette.Green);
            foreach (Room room in roomGroup.Rooms)
            {
                Assert.Equal(Palette.Green, room.Color);
            }
        }
Exemplo n.º 14
0
        public void MoveFromTo()
        {
            var tower = MakeTower();

            tower.MoveFromTo(Vector3.Origin, new Vector3(20.0, 20.0, 20.0));
            Assert.Equal(20.0, tower.Elevation);
            Assert.Contains(new Vector3(20.0, 20.0), tower.Perimeter.Vertices);
            Assert.Contains(new Vector3(80.0, 20.0), tower.Perimeter.Vertices);
            Assert.Contains(new Vector3(80.0, 40.0), tower.Perimeter.Vertices);
            Assert.Contains(new Vector3(20.0, 40.0), tower.Perimeter.Vertices);
            var column = new Column(Vector3.Origin, 20.0, new Profile(Shaper.PolygonBox(1.0, 1.0)));
            var model  = new Model();

            model.AddElement(column);
            foreach (Space space in tower.Spaces)
            {
                model.AddElement(space);
            }
            model.SaveGlb("../../../../TowerMoveFromTo.glb");
        }
Exemplo n.º 15
0
        public void Rotate()
        {
            var roomGroup = new RoomGroup()
            {
                Perimeter = Shaper.PolygonBox(60.0, 20.0)
            };

            roomGroup.RoomsByDivision(4, 2);
            var model = new Model();

            foreach (Room room in roomGroup.Rooms)
            {
                model.AddElement(room.AsSpace);
            }
            roomGroup.Rotate(Vector3.Origin, 180);
            foreach (Room room in roomGroup.Rooms)
            {
                model.AddElement(room.AsSpace);
            }
            model.SaveGlb("../../../../RoomGroupRotate.glb");
        }