Пример #1
0
        public TerrainNode(TerrainNode parent, Quadrant quad, LatLon bl, LatLon tl, LatLon tr, LatLon br)
        {
            Parent   = parent;
            Quadrant = quad;

            corners = new LatLon[4]
            {
                bl, tl, tr, br
            };

            latLonExtents = new Extent(BL.Longitude, BL.Latitude, TR.Longitude, TR.Latitude);

            var mercBL = RenderWGS84.ToGoogleBing(BL.Longitude, BL.Latitude);
            var mercTR = RenderWGS84.ToGoogleBing(TR.Longitude, TR.Latitude);

            meterExtents = new Extent(mercBL.X, mercBL.Y, mercTR.X, mercTR.Y);

            center     = LatLon.Average(corners);
            splitDepth = 0;

            Vector3D[] transformed = transformCorners();
            this.aabb = BoundingBox.FromPoints(transformed.Select(vec => vec.ToVector3()).ToArray());
            generateSplitBox();
        }