Example #1
0
        private Story MakeStory()
        {
            var story = new Story()
            {
                Color     = Palette.Green,
                Elevation = 0.0,
                Height    = 6.0,
                Name      = "First Floor",
                Perimeter = new Polygon(
                    new[]
                {
                    new Vector3(0.0, 0.0),
                    new Vector3(60.0, 0.0),
                    new Vector3(60.0, 40.0),
                    new Vector3(0.0, 40.0)
                }),
                SlabThickness = 0.1
            };

            story.RoomsByDivision(4, 2, 5.5, 10.0, "Retail", Palette.Lime);
            story.AddCorridor(
                new Room()
            {
                Color     = Palette.White,
                Height    = 5.5,
                Perimeter = new Line(new Vector3(10.0, 20.0), new Vector3(50.0, 20.0)).Thicken(2.0)
            });
            story.AddCorridor(
                new Room()
            {
                Color     = Palette.White,
                Height    = 5.5,
                Perimeter = new Line(new Vector3(30.0, 10.0), new Vector3(30.0, 30.0)).Thicken(2.0)
            });
            story.AddExclusion(
                new Room()
            {
                Perimeter =
                    new Polygon(
                        new[]
                {
                    Vector3.Origin,
                    new Vector3(5.0, 0.0),
                    new Vector3(5.0, 5.0),
                    new Vector3(0.0, 5.0),
                })
            });
            story.AddService(
                new Room()
            {
                Color     = BuiltInMaterials.Concrete.Color,
                Height    = 6.0,
                Perimeter =
                    new Polygon(
                        new[]
                {
                    new Vector3(25.0, 15.0),
                    new Vector3(35.0, 15.0),
                    new Vector3(35.0, 25.0),
                    new Vector3(25.0, 25.0),
                })
            });
            story.AddOpening(new Polygon(
                                 new[]
            {
                new Vector3(25.0, 15.0),
                new Vector3(35.0, 15.0),
                new Vector3(35.0, 25.0),
                new Vector3(25.0, 25.0),
            }));
            return(story);
        }
Example #2
0
        public Story MakeStory()
        {
            var perimeter =
                new Polygon(
                    new[]
            {
                new Vector3(0.0, 0.0),
                new Vector3(20.0, 0.0),
                new Vector3(20.0, 20.0),
                new Vector3(0.0, 20.0)
            });
            var story = new Story(perimeter)
            {
                Color     = Palette.Green,
                Elevation = 0.0,
                Height    = 8.0,
                Name      = "First Floor"
            };

            perimeter = Polygon.Rectangle(Vector3.Origin, new Vector3(10.0, 10.0));
            story.AddRoom(
                new Room(perimeter, 5.0)
            {
                Color = Palette.Aqua
            });
            perimeter = perimeter.MoveFromTo(Vector3.Origin, new Vector3(10.0, 0.0));
            story.AddRoom(
                new Room(perimeter, 5.0)
            {
                Color = Palette.Blue
            });
            perimeter = perimeter.MoveFromTo(Vector3.Origin, new Vector3(-10.0, 10.0));
            story.AddRoom(
                new Room(perimeter, 5.0)
            {
                Color = Palette.Cobalt
            });
            perimeter = perimeter.MoveFromTo(Vector3.Origin, new Vector3(10.0, 0.0));
            story.AddRoom(
                new Room(perimeter, 5.0)
            {
                Color = Palette.Teal,
                Name  = "Retail"
            });
            perimeter = Polygon.Rectangle(new Vector3(0.0, 8.5), new Vector3(20.0, 11.5));
            story.AddCorridor(
                new Room(perimeter, 6.0)
            {
                Color = Palette.White
            });
            perimeter = Polygon.Rectangle(new Vector3(8.5, 0.0), new Vector3(11.5, 20.0));
            story.AddCorridor(
                new Room(perimeter, 6.0)
            {
                Color = Palette.White
            });
            perimeter = Polygon.Rectangle(new Vector3(7.5, 7.5), new Vector3(12.5, 12.5));
            story.AddService(
                new Room(perimeter, 1.0)
            {
                Color = Palette.Red
            });
            perimeter = Polygon.Rectangle(new Vector3(2.0, 3.0), new Vector3(18.0, 5.0));
            story.AddExclusion(new Room(perimeter, 1.0));
            perimeter = Polygon.Rectangle(new Vector3(10.0, 1.0), new Vector3(15.0, 15.0));
            story.AddOpening(new Room(perimeter, 1.0));
            var model = new Model();

            model.AddElement(new Space(story.PerimeterAsProfile, story.Height, story.ColorAsMaterial));
            foreach (Room room in story.Rooms)
            {
                model.AddElement(new Space(room.PerimeterAsProfile, room.Height, room.ColorAsMaterial));
            }
            foreach (Room room in story.Corridors)
            {
                model.AddElement(new Space(room.PerimeterAsProfile, room.Height, room.ColorAsMaterial));
            }
            foreach (Room room in story.Services)
            {
                model.AddElement(new Space(room.PerimeterAsProfile, room.Height, room.ColorAsMaterial));
            }
            model.ToGlTF("../../../../RoomKitTest/output/story.glb");
            return(story);
        }