예제 #1
0
        public void ByOutlineTypeAndLevel_PolyCurveCeilingTypeLevel_ProducesCeilingWithCorrectArea()
        {
            var elevation = 100;
            var level     = Level.ByElevation(elevation);

            var outline = new[]
            {
                Line.ByStartPointEndPoint(Point.ByCoordinates(0, 0, 0), Point.ByCoordinates(100, 0, 0)),
                Line.ByStartPointEndPoint(Point.ByCoordinates(100, 0, 0), Point.ByCoordinates(100, 100, 0)),
                Line.ByStartPointEndPoint(Point.ByCoordinates(100, 100, 0), Point.ByCoordinates(0, 100, 0)),
                Line.ByStartPointEndPoint(Point.ByCoordinates(0, 100, 0), Point.ByCoordinates(0, 0, 0))
            };

            var polyCurveOutline = PolyCurve.ByJoinedCurves(outline);

            var ceilingType = CeilingType.ByName("Generic");

            var ceiling = Ceiling.ByOutlineTypeAndLevel(polyCurveOutline, ceilingType, level);

            BoundingBoxVolume(ceiling.BoundingBox).ShouldBeApproximately(100 * 100, 1e-3);
        }