Ejemplo n.º 1
0
        /// <summary> Loads tile. </summary>
        /// <param name="tile"> Tile to load. </param>
        /// <param name="onMeshBuilt"> Mesh callback. </param>
        /// <param name="onElementLoaded"> Element callback. </param>
        /// <param name="onError"> Error callback. </param>
        /// <param name="pathResolver"> Path resolver. </param>
        public static void LoadTile(Tile tile, OnMeshBuilt onMeshBuilt,
                                    OnElementLoaded onElementLoaded, OnError onError, IPathResolver pathResolver)
        {
            var stylePath         = pathResolver.Resolve(tile.Stylesheet.Path);
            var quadKey           = tile.QuadKey;
            var cancelTokenHandle = GCHandle.Alloc(tile.CancelationToken, GCHandleType.Pinned);

            loadQuadKey(tile.GetHashCode(), stylePath,
                        quadKey.TileX, quadKey.TileY, quadKey.LevelOfDetail, (int)tile.ElevationType,
                        onMeshBuilt, onElementLoaded, onError,
                        cancelTokenHandle.AddrOfPinnedObject());
            cancelTokenHandle.Free();
        }
Ejemplo n.º 2
0
        private IObservable <int> Get(Tile tile, int tag, OnMeshBuilt meshBuiltHandler, OnElementLoaded elementLoadedHandler, OnError errorHandler)
        {
            _trace.Debug(TraceCategory, "Get tile {0}", tile.ToString());
            var stylePath = RegisterStylesheet(tile.Stylesheet);
            var quadKey   = tile.QuadKey;

            WithCancelToken(tile.CancelationToken, (cancelTokenHandle) => getDataByQuadKey(
                                tag, stylePath, quadKey.TileX, quadKey.TileY, quadKey.LevelOfDetail,
                                (int)tile.ElevationType, meshBuiltHandler, elementLoadedHandler, errorHandler,
                                cancelTokenHandle.AddrOfPinnedObject())
                            );
            return(Observable.Return(100));
        }
Ejemplo n.º 3
0
        private IObservable <int> Get(Tile tile, int tag, OnMeshBuilt meshBuiltHandler, OnElementLoaded elementLoadedHandler, OnError errorHandler)
        {
            _trace.Debug(TraceCategory, "Get tile {0}", tile.ToString());
            var stylePath         = _pathResolver.Resolve(tile.Stylesheet.Path);
            var quadKey           = tile.QuadKey;
            var cancelTokenHandle = GCHandle.Alloc(tile.CancelationToken, GCHandleType.Pinned);

            loadQuadKey(tag, stylePath,
                        quadKey.TileX, quadKey.TileY, quadKey.LevelOfDetail, (int)tile.ElevationType,
                        meshBuiltHandler, elementLoadedHandler, errorHandler,
                        cancelTokenHandle.AddrOfPinnedObject());
            cancelTokenHandle.Free();
            return(Observable.Return(100));
        }
Ejemplo n.º 4
0
 private static extern void loadQuadKey(string stylePath, int tileX, int tileY, int levelOfDetails,
                                        OnMeshBuilt meshBuiltHandler, OnElementLoaded elementLoadedHandler, OnError errorHandler);
Ejemplo n.º 5
0
 /// <summary> Loads quadkey. </summary>
 /// <param name="stylePath"> Stylesheet path. </param>
 /// <param name="quadKey"> QuadKey</param>
 /// <param name="onMeshBuilt"></param>
 /// <param name="onElementLoaded"></param>
 /// <param name="onError"></param>
 public static void LoadQuadKey(string stylePath, QuadKey quadKey,
                                OnMeshBuilt onMeshBuilt, OnElementLoaded onElementLoaded, OnError onError)
 {
     loadQuadKey(stylePath, quadKey.TileX, quadKey.TileY, quadKey.LevelOfDetail,
                 onMeshBuilt, onElementLoaded, onError);
 }
Ejemplo n.º 6
0
 private static extern void loadQuadKey(string stylePath, int tileX, int tileY, int levelOfDetails,
     OnMeshBuilt meshBuiltHandler, OnElementLoaded elementLoadedHandler, OnError errorHandler);
Ejemplo n.º 7
0
 /// <summary> Loads quadkey. </summary>
 /// <param name="stylePath"> Stylesheet path. </param>
 /// <param name="quadKey"> QuadKey</param>
 /// <param name="onMeshBuilt"></param>
 /// <param name="onElementLoaded"></param>
 /// <param name="onError"></param>
 public static void LoadQuadKey(string stylePath, QuadKey quadKey,
     OnMeshBuilt onMeshBuilt, OnElementLoaded onElementLoaded, OnError onError)
 {
     loadQuadKey(stylePath, quadKey.TileX, quadKey.TileY, quadKey.LevelOfDetail,
         onMeshBuilt, onElementLoaded, onError);
 }
Ejemplo n.º 8
0
 private static extern void loadQuadKey(int tag, string stylePath, int tileX, int tileY, int levelOfDetails, int eleDataType,
                                        OnMeshBuilt meshBuiltHandler, OnElementLoaded elementLoadedHandler, OnError errorHandler, IntPtr cancelToken);