/// <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(); }
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)); }
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)); }
private static extern void loadQuadKey(string stylePath, int tileX, int tileY, int levelOfDetails, OnMeshBuilt meshBuiltHandler, OnElementLoaded elementLoadedHandler, OnError errorHandler);
/// <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); }
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);