Commit Graph

30 Commits

Author SHA1 Message Date
Peter Robins
2117f2e3b1 Convert all typedefs to CamelCase 2016-05-18 19:44:45 +00:00
Peter Robins
176ddd3403 Rename non-api sub-namespace typedefs 2016-05-13 10:24:57 +00:00
Peter Robins
4f0b4dacbd Move sub-namespace typedefs to typedefs.js
Here too there is one problem case.
2016-05-11 19:45:59 +00:00
Nicholas Latham
2ee1969de7 Remove goog.math.modulo and goog.math.lerp 2016-04-04 09:43:24 +02:00
Tim Schaub
13a981c94b Fewer blank lines 2016-01-11 22:03:23 -08:00
Tim Schaub
e6f6dcc230 Partial valid-jsdoc corrections 2016-01-11 18:56:08 -08:00
Petr Sloup
6f9fa4c12e Minor documentation improvements 2015-10-16 16:30:04 +02:00
Petr Sloup
b816128728 Avoid assignment in return statement 2015-10-16 15:46:51 +02:00
Petr Sloup
a7cde96056 Simplified wrapX handling
"Unwrap" the coordinates obtained from transformations and utilize wrapX
capabilities of the sources to handle calculations of TileRanges and
unwrapped tile extents.
2015-10-16 09:28:43 +02:00
Petr Sloup
52a7c5e582 Rename some private/local variables to increase readability 2015-10-16 09:28:43 +02:00
Petr Sloup
f52f9b6817 Rename ol.RASTER_REPROJ_* constants to full ol.RASTER_REPROJECTION_* 2015-10-16 09:28:43 +02:00
Petr Sloup
8fb1d1f244 Remove usage of various goog.* functions
goog.isNull, goog.isDefAndNotNull and goog.array.*
2015-10-16 09:28:43 +02:00
Petr Sloup
94caa07168 Minor code style, documentation and typo fixes 2015-10-16 09:28:43 +02:00
Petr Sloup
59bce75d2a Improved documentation 2015-10-16 09:28:42 +02:00
Petr Sloup
7a1533925a Reprojection code refactoring and cleaning 2015-10-16 09:28:42 +02:00
Petr Sloup
7864ed7861 Force subdivision when transformation returns infinite coordinate 2015-10-16 09:28:42 +02:00
Petr Sloup
03c75a8648 Transformation caching during reprojection triangulation
This usually saves around 30-35% of transformation calls.
2015-10-16 09:28:42 +02:00
Petr Sloup
726bcbef83 Alternative reprojection triangulation strategy
The quads are now subdivided more granually (to 2 instead of 4), which
usually leads to reduced number of triangles and higher performance.
2015-10-16 09:28:42 +02:00
Petr Sloup
fc23a38692 Take target extent into account when ensuring minimal reproj subdivision 2015-10-16 09:28:41 +02:00
Petr Sloup
3b1d72202a Correctly reproject sources in wrappable projection
With extent smaller than the projection extent
2015-10-16 09:28:41 +02:00
Petr Sloup
be6bf00d74 Add defines for certain reprojection constants 2015-10-16 09:28:41 +02:00
Petr Sloup
8ab197eba6 Optimize the reprojection by stitching the sources prior to rendering
This solves canvas antialiasing issues and also simplifies the code
handling wrapX in the source projection.
2015-10-16 09:28:41 +02:00
Petr Sloup
6482ccf2f7 Make ol.reproj.Triangulation a class 2015-10-16 09:28:41 +02:00
Petr Sloup
c205323ff2 Reproject correctly when transform returns +-Infinity values 2015-10-16 09:28:41 +02:00
Petr Sloup
9b82f19cc2 Simplify triangle-shifting logic for reprojection 2015-10-16 09:28:41 +02:00
Petr Sloup
bf65b8a4fe Stronger typing of triangles and triangulation 2015-10-16 09:28:40 +02:00
Petr Sloup
ac76989447 Detect and handle triangles (tiles) crossing the dateline (projection edge) 2015-10-16 09:28:40 +02:00
Petr Sloup
ebc3f24671 Clamp the triangulation vertices if partially outside source extent 2015-10-16 09:28:40 +02:00
Petr Sloup
c425b9c0e6 Verify triangulation against source/target extents
If we do this here, we can avoid some computations on triangles that will
be unused in the future anyway + reduce problems with non-global projections
without specified extents.
2015-10-16 09:28:40 +02:00
Petr Sloup
1222287f22 Add ol.reproj 2015-10-16 09:28:40 +02:00