summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [core] Set mapbox::DEFAULT_OFFLINE_TILE_COUNT_LIMIT to 6000John Firebaugh2016-03-111-1/+1
|
* [core] Fix non-anchored Transform::setAngleBruno de Oliveira Abinader2016-03-111-1/+1
| | | | | This reverts a line change from b33b2f15, because we explicitely want the anchor to be invalid.
* [core] Fix screen coordinates when crossing the antimeridian (#2)Bruno de Oliveira Abinader2016-03-111-1/+1
| | | | Added missing case. Really fixes #4155 this time.
* [core] Fix screen coordinates when crossing the antimeridianBruno de Oliveira Abinader2016-03-101-1/+15
| | | | | | | | | If the center and point coordinates are not in the same side of the antimeridian, we need to unwrap the point longitude to make sure it can still be seen from the visible side of the antimeridian that is opposite to the center side. Fixes #4155.
* [core] Extra checks in TransformBruno de Oliveira Abinader2016-03-101-1/+5
|
* [core] Check for NaNs in EdgeInsetsBruno de Oliveira Abinader2016-03-102-15/+14
|
* [core] Added Transform::getScreenCoordinateBruno de Oliveira Abinader2016-03-102-13/+19
|
* [core] Remove _validPoint from Transform codeBruno de Oliveira Abinader2016-03-101-11/+3
| | | | vec2<T>::operator bool() checks for NaNs already.
* [core] Fixes point annotations misplaced on maximum scaleBruno de Oliveira Abinader2016-03-101-2/+2
|
* [core] Coordinate wrapping fixesBruno de Oliveira Abinader2016-03-104-37/+20
| | | | | | | | | | | | | | | - Make returning LatLngs unwrapped by default. - PointAnnotation and ShapeAnnotation are always wrapped so they can be selected via intersection from the visible tile boundaries. - Fixes LatLng::wrap() calculation. - Fixes LatLng::unwrapForShortestPath() calculation. The new unwrapForShortestPath algorithm unwraps the start coordinate either forwards or backwards depending on the end coordinate value, so we can always cross the antimeridian when needed and still obtain a wrapped end coordinate in the end. Fixes #4214.
* [core] Add client defined network statusThiago Marcos P. Santos2016-03-081-0/+22
| | | | | | | | This API will let the client force a network status. If set to Offline, we won't make network requests. When set make to Online, it will trigger the pending requests and try to fetch tiles from the network.
* [core] cancel TileID::overscaling()Konstantin Käfer2016-03-0811-17/+21
|
* [core] explicitly initialize a few fields to nullKonstantin Käfer2016-03-042-5/+5
|
* Fixes an issue where rendering without Vertex Array Objects would cause a ↵Henry Dooley2016-03-041-3/+3
| | | | massive slowdown in the driver on Nvidia hardware. Unconfirmed if the issue is present on other GPUs.
* [core] Reset pitch in Map::resetPositionBruno de Oliveira Abinader2016-03-031-0/+1
|
* [core] Use TransformState::worldSize() whenever possibleBruno de Oliveira Abinader2016-03-032-7/+7
|
* [core] Simplify TransformState::moveLatLngBruno de Oliveira Abinader2016-03-031-2/+2
|
* [core] Replaced raw values with util::tileSizeBruno de Oliveira Abinader2016-03-035-12/+14
|
* [core] Fix style cascade loop when transitioningBruno de Oliveira Abinader2016-03-032-1/+2
|
* [core] Avoid precompute overscaling for TileIDBruno de Oliveira Abinader2016-03-0111-28/+32
| | | | Plus type change for zoom and removed redundant inlines.
* [core] Added DEGREES_MAX as constant valueBruno de Oliveira Abinader2016-03-015-13/+14
|
* [core] Moved TileCoordinate to tile cover scopeBruno de Oliveira Abinader2016-03-014-120/+75
|
* [core] Cleared TileCoordinate from PainterBruno de Oliveira Abinader2016-03-013-14/+12
|
* [core] Moved wrapping to LatLng scopeBruno de Oliveira Abinader2016-03-012-17/+2
| | | | Fixes a precision loss when converting unwrapped LatLngs.
* [core] Simplify Screen to Geometry coordinate conversionBruno de Oliveira Abinader2016-03-012-6/+8
|
* [core] Use GeometryTileFeature::defaultExtent by defaultBruno de Oliveira Abinader2016-03-015-7/+5
| | | | | | GeoJSONTile and AnnotationTile don't need to reimplement getExtent() if they use the same default value. This also helps point and shape annotations to avoid using raw values.
* [core] Replace std::array<double, N> usage in SourceInfoBruno de Oliveira Abinader2016-03-012-7/+14
|
* [core] PrecisionPoint is now ScreenCoordinateBruno de Oliveira Abinader2016-03-018-88/+88
|
* [core] Explicit instantiate vec{2,3,4}<double>Bruno de Oliveira Abinader2016-03-011-0/+11
|
* [core] Get rid of mbgl/util/vec4 - use vec4 from vec.hpp insteadBruno de Oliveira Abinader2016-03-015-103/+45
|
* [core] Coordinate is now GeometryCoordinateBruno de Oliveira Abinader2016-03-0121-63/+75
| | | | | Also introduced GeometryCoordinates (vector of GeometryCoordinate items), to better cope with GeometryCollection.
* [core] Enforce constants usageBruno de Oliveira Abinader2016-03-0110-30/+32
| | | | | Use 'LATITUDE_MAX', 'LONGITUDE_MAX', 'DEG2RAD' and 'RAD2DEG' whenever possible.
* [core] Fix potential precision data lossBruno de Oliveira Abinader2016-03-012-3/+3
|
* [core] Build fixThiago Marcos P. Santos2016-02-261-1/+1
| | | | Fix no viable conversion on OSX.
* [core] Add timeout for clock skewThiago Marcos P. Santos2016-02-261-0/+2
| | | | | | | | | | If the server keeps sending replies considered from the client in the past (there is no way to tell if the server or client clock is wrong), the client will try to interpolate a valid expiration time based on the delta of the expiration intervals sent by the server. If the intervals are always the same, exponential backoff kicks in until we get a different expiration time from what we already have.
* [core] abort searching children when lower bound has different wKonstantin Käfer2016-02-251-1/+1
| | | | | | | | | | | When looking for child tiles that cover a parent tile, we're computing the lower bound of the child tile in the set of tiles. Three things can happen: - all remaining tiles are sorted before the child tile we're looking for. in that case, there can not be a child tile. - the lower bound is the child tile; in this case, we want to continue checking the other children of the parent tile. - the lower bound isn't the child tile we're looking for, but there are still tiles sorted after the tile we were looking for. these could be four children of the child tile we're looking for, so we're recursively descending. what the current algorithm didn't take into account so far is that tiles with a higher w number (i.e. tiles that are outside the "main" tile pyramid of 0/0/0) were always sorted *after* the current w number. this meant that we thought there were still remaining children to be checked, so continued our recursive descent until eventually the number overflowed and we aborted our search. unfortunately, on Android this recursive descent and accompanying overflow caused a crash. this patch fixes this by making sure that before we're continuing to descent, we're sure that the w numbers match: all tiles with a different (= higher) w number essentially mean the same as "all remaining tiles are sorted before the child tile we're looking for" for the purpose of finding covering children
* [core] Set initial offline tile count limit to 768John Firebaugh2016-02-241-1/+1
|
* [core] Limit total number of offline Mapbox tilesJohn Firebaugh2016-02-242-0/+4
|
* Merge branch 'release-ios-v3.1.0'Minh Nguyễn2016-02-245-2/+38
|\
| * [core, ios, osx] Only constrain after adding to a windowMinh Nguyễn2016-02-105-2/+38
| | | | | | | | | | | | Introduced a setter/getter for constrain mode. On iOS and OS X, the zoom level inspectable causes the zoom level to be set independently from the longitude and latitude. Thus, the latitude inspectable had no effect because the latitude was constrained to 0 at z0. Temporarily removing the heightwise constraint allows the map to center on the intended location before zooming, which is the usual case for storyboards and XIBs. On iOS, the only guarantee we have timing-wise is that all the inspectables are applied after initialization but before the view is added to a window. So we reimpose the heightwise constraint as soon as the view is added to a window, that is, before the user has a chance to pan the map out of bounds. Fixes #3868.
* | [core] use a store enum instead of RTTIKonstantin Käfer2016-02-249-5/+66
| | | | | | | | RTTI is pretty slow, in particular in iOS devices
* | [core] fix uninitialized member variableKonstantin Käfer2016-02-241-1/+1
| |
* | [core] Thread GLObjectStore through to Holder objectsJohn Firebaugh2016-02-1866-321/+313
| | | | | | | | | | | | This eliminates the reliance on ThreadContext to provide GLObjectStore, and statically enforces that GL cleanup functions happen only when GLObjectStore::performCleanup is called. With the elimination of the Map thread, this becomes important because there may be multiple GLObjectStore's per-thread, and Map will need to ensure that the correct context is active when calling GLObjectStore::performCleanup.
* | [core] Remove ThreadContext::getFileSource; instead thread FileSource throughJohn Firebaugh2016-02-1819-59/+58
| |
* | [gl] Refactor texture pool cleanupBruno de Oliveira Abinader2016-02-183-25/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Texture pool now allocates a block of 64 textures per time. Each block contains a TextureObject which handles GL object lifetime. Blocks can be added or removed according to the following rules: 1. If pool is empty, created a new block upon first call (lazy load); 2. Iterate blocks to find an available texture ID: - If found, remove that from the list of available IDs for that block and return its ID. - Othewise, allocate a new block and grab an available ID from that. 3. When releasing a texture ID, check if the associated block is free. If no IDs are currently in use, then abandon its TextureObject and remove the block from the pool.
* | [gl] Added mbgl::gl::VAOHolderBruno de Oliveira Abinader2016-02-184-31/+38
| |
* | [gl] Added mbgl::gl::Texture{,Pool}HolderBruno de Oliveira Abinader2016-02-1812-62/+98
| |
* | [gl] Added mbgl::gl::BufferHolderBruno de Oliveira Abinader2016-02-183-20/+43
| |
* | [gl] Added mbgl::gl::ShaderHolderBruno de Oliveira Abinader2016-02-184-42/+53
| |
* | [gl] Added mbgl::gl::ProgramHolderBruno de Oliveira Abinader2016-02-184-30/+59
| |