private Shape HexagonSide()
        {
            var side = new ShapeGroup()
            {
                InheritMaterial = true
            };

            side.AddChild(HexagonCorner());
            side.AddChild(HexagonEdge());

            return(side);
        }
        private Shape Hexagon()
        {
            var hexagon = new ShapeGroup();

            for (int n = 0; n < 6; n++)
            {
                var side = HexagonSide();
                side.Transform = new Transform()
                                 .RotateY(n * Math.PI / 3);
                hexagon.AddChild(side);
            }

            return(hexagon);
        }