Move WebGL typedefs out of src/ol/typedefs.js
This commit is contained in:
@@ -20,6 +20,22 @@ import RBush from '../../structs/RBush.js';
|
|||||||
import {FLOAT} from '../../webgl.js';
|
import {FLOAT} from '../../webgl.js';
|
||||||
import WebGLBuffer from '../../webgl/Buffer.js';
|
import WebGLBuffer from '../../webgl/Buffer.js';
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @typedef {Object} PolygonVertex
|
||||||
|
* @property {number} x
|
||||||
|
* @property {number} y
|
||||||
|
* @property {number} i
|
||||||
|
* @property {boolean} [reflex]
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @typedef {Object} PolygonSegment
|
||||||
|
* @property {module:ol/render/webgl/PolygonReplay~PolygonVertex} p0
|
||||||
|
* @property {module:ol/render/webgl/PolygonReplay~PolygonVertex} p1
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends {ol.render.webgl.Replay}
|
* @extends {ol.render.webgl.Replay}
|
||||||
@@ -144,11 +160,11 @@ WebGLPolygonReplay.prototype.processFlatCoordinates_ = function(
|
|||||||
0, flatCoordinates.length, stride);
|
0, flatCoordinates.length, stride);
|
||||||
let i, ii;
|
let i, ii;
|
||||||
let n = this.vertices.length / 2;
|
let n = this.vertices.length / 2;
|
||||||
/** @type {ol.WebglPolygonVertex} */
|
/** @type {module:ol/render/webgl/PolygonReplay~PolygonVertex} */
|
||||||
let start;
|
let start;
|
||||||
/** @type {ol.WebglPolygonVertex} */
|
/** @type {module:ol/render/webgl/PolygonReplay~PolygonVertex} */
|
||||||
let p0;
|
let p0;
|
||||||
/** @type {ol.WebglPolygonVertex} */
|
/** @type {module:ol/render/webgl/PolygonReplay~PolygonVertex} */
|
||||||
let p1;
|
let p1;
|
||||||
const extents = [];
|
const extents = [];
|
||||||
const segments = [];
|
const segments = [];
|
||||||
@@ -260,11 +276,11 @@ WebGLPolygonReplay.prototype.bridgeHole_ = function(hole, holeMaxX,
|
|||||||
}
|
}
|
||||||
|
|
||||||
const p1 = seg.p1;
|
const p1 = seg.p1;
|
||||||
/** @type {ol.WebglPolygonVertex} */
|
/** @type {module:ol/render/webgl/PolygonReplay~PolygonVertex} */
|
||||||
const p2 = {x: listMaxX, y: p1.y, i: -1};
|
const p2 = {x: listMaxX, y: p1.y, i: -1};
|
||||||
let minDist = Infinity;
|
let minDist = Infinity;
|
||||||
let i, ii, bestPoint;
|
let i, ii, bestPoint;
|
||||||
/** @type {ol.WebglPolygonVertex} */
|
/** @type {module:ol/render/webgl/PolygonReplay~PolygonVertex} */
|
||||||
let p5;
|
let p5;
|
||||||
|
|
||||||
const intersectingSegments = this.getIntersections_({p0: p1, p1: p2}, rtree, true);
|
const intersectingSegments = this.getIntersections_({p0: p1, p1: p2}, rtree, true);
|
||||||
@@ -586,13 +602,13 @@ WebGLPolygonReplay.prototype.splitPolygon_ = function(list, rtree) {
|
|||||||
* @param {number} x X coordinate.
|
* @param {number} x X coordinate.
|
||||||
* @param {number} y Y coordinate.
|
* @param {number} y Y coordinate.
|
||||||
* @param {number} i Index.
|
* @param {number} i Index.
|
||||||
* @return {ol.WebglPolygonVertex} List item.
|
* @return {module:ol/render/webgl/PolygonReplay~PolygonVertex} List item.
|
||||||
*/
|
*/
|
||||||
WebGLPolygonReplay.prototype.createPoint_ = function(x, y, i) {
|
WebGLPolygonReplay.prototype.createPoint_ = function(x, y, i) {
|
||||||
let numVertices = this.vertices.length;
|
let numVertices = this.vertices.length;
|
||||||
this.vertices[numVertices++] = x;
|
this.vertices[numVertices++] = x;
|
||||||
this.vertices[numVertices++] = y;
|
this.vertices[numVertices++] = y;
|
||||||
/** @type {ol.WebglPolygonVertex} */
|
/** @type {module:ol/render/webgl/PolygonReplay~PolygonVertex} */
|
||||||
const p = {
|
const p = {
|
||||||
x: x,
|
x: x,
|
||||||
y: y,
|
y: y,
|
||||||
@@ -605,11 +621,11 @@ WebGLPolygonReplay.prototype.createPoint_ = function(x, y, i) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
* @param {ol.WebglPolygonVertex} p0 First point of segment.
|
* @param {module:ol/render/webgl/PolygonReplay~PolygonVertex} p0 First point of segment.
|
||||||
* @param {ol.WebglPolygonVertex} p1 Second point of segment.
|
* @param {module:ol/render/webgl/PolygonReplay~PolygonVertex} p1 Second point of segment.
|
||||||
* @param {ol.structs.LinkedList} list Polygon ring.
|
* @param {ol.structs.LinkedList} list Polygon ring.
|
||||||
* @param {ol.structs.RBush=} opt_rtree Insert the segment into the R-Tree.
|
* @param {ol.structs.RBush=} opt_rtree Insert the segment into the R-Tree.
|
||||||
* @return {ol.WebglPolygonSegment} segment.
|
* @return {module:ol/render/webgl/PolygonReplay~PolygonSegment} segment.
|
||||||
*/
|
*/
|
||||||
WebGLPolygonReplay.prototype.insertItem_ = function(p0, p1, list, opt_rtree) {
|
WebGLPolygonReplay.prototype.insertItem_ = function(p0, p1, list, opt_rtree) {
|
||||||
const seg = {
|
const seg = {
|
||||||
@@ -627,8 +643,8 @@ WebGLPolygonReplay.prototype.insertItem_ = function(p0, p1, list, opt_rtree) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
* @param {ol.WebglPolygonSegment} s0 Segment before the remove candidate.
|
* @param {module:ol/render/webgl/PolygonReplay~PolygonSegment} s0 Segment before the remove candidate.
|
||||||
* @param {ol.WebglPolygonSegment} s1 Remove candidate segment.
|
* @param {module:ol/render/webgl/PolygonReplay~PolygonSegment} s1 Remove candidate segment.
|
||||||
* @param {ol.structs.LinkedList} list Polygon ring.
|
* @param {ol.structs.LinkedList} list Polygon ring.
|
||||||
* @param {ol.structs.RBush} rtree R-Tree of the polygon.
|
* @param {ol.structs.RBush} rtree R-Tree of the polygon.
|
||||||
*/
|
*/
|
||||||
@@ -645,12 +661,12 @@ WebGLPolygonReplay.prototype.removeItem_ = function(s0, s1, list, rtree) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
* @param {ol.WebglPolygonVertex} p0 First point.
|
* @param {module:ol/render/webgl/PolygonReplay~PolygonVertex} p0 First point.
|
||||||
* @param {ol.WebglPolygonVertex} p1 Second point.
|
* @param {module:ol/render/webgl/PolygonReplay~PolygonVertex} p1 Second point.
|
||||||
* @param {ol.WebglPolygonVertex} p2 Third point.
|
* @param {module:ol/render/webgl/PolygonReplay~PolygonVertex} p2 Third point.
|
||||||
* @param {ol.structs.RBush} rtree R-Tree of the polygon.
|
* @param {ol.structs.RBush} rtree R-Tree of the polygon.
|
||||||
* @param {boolean=} opt_reflex Only include reflex points.
|
* @param {boolean=} opt_reflex Only include reflex points.
|
||||||
* @return {Array.<ol.WebglPolygonVertex>} Points in the triangle.
|
* @return {Array.<module:ol/render/webgl/PolygonReplay~PolygonVertex>} Points in the triangle.
|
||||||
*/
|
*/
|
||||||
WebGLPolygonReplay.prototype.getPointsInTriangle_ = function(p0, p1, p2, rtree, opt_reflex) {
|
WebGLPolygonReplay.prototype.getPointsInTriangle_ = function(p0, p1, p2, rtree, opt_reflex) {
|
||||||
const result = [];
|
const result = [];
|
||||||
@@ -675,10 +691,10 @@ WebGLPolygonReplay.prototype.getPointsInTriangle_ = function(p0, p1, p2, rtree,
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
* @param {ol.WebglPolygonSegment} segment Segment.
|
* @param {module:ol/render/webgl/PolygonReplay~PolygonSegment} segment Segment.
|
||||||
* @param {ol.structs.RBush} rtree R-Tree of the polygon.
|
* @param {ol.structs.RBush} rtree R-Tree of the polygon.
|
||||||
* @param {boolean=} opt_touch Touching segments should be considered an intersection.
|
* @param {boolean=} opt_touch Touching segments should be considered an intersection.
|
||||||
* @return {Array.<ol.WebglPolygonSegment>} Intersecting segments.
|
* @return {Array.<module:ol/render/webgl/PolygonReplay~PolygonSegment>} Intersecting segments.
|
||||||
*/
|
*/
|
||||||
WebGLPolygonReplay.prototype.getIntersections_ = function(segment, rtree, opt_touch) {
|
WebGLPolygonReplay.prototype.getIntersections_ = function(segment, rtree, opt_touch) {
|
||||||
const p0 = segment.p0;
|
const p0 = segment.p0;
|
||||||
@@ -702,10 +718,10 @@ WebGLPolygonReplay.prototype.getIntersections_ = function(segment, rtree, opt_to
|
|||||||
* @see http://paulbourke.net/geometry/pointlineplane/
|
* @see http://paulbourke.net/geometry/pointlineplane/
|
||||||
*
|
*
|
||||||
* @private
|
* @private
|
||||||
* @param {ol.WebglPolygonVertex} p0 First point.
|
* @param {module:ol/render/webgl/PolygonReplay~PolygonVertex} p0 First point.
|
||||||
* @param {ol.WebglPolygonVertex} p1 Second point.
|
* @param {module:ol/render/webgl/PolygonReplay~PolygonVertex} p1 Second point.
|
||||||
* @param {ol.WebglPolygonVertex} p2 Third point.
|
* @param {module:ol/render/webgl/PolygonReplay~PolygonVertex} p2 Third point.
|
||||||
* @param {ol.WebglPolygonVertex} p3 Fourth point.
|
* @param {module:ol/render/webgl/PolygonReplay~PolygonVertex} p3 Fourth point.
|
||||||
* @param {boolean=} opt_touch Touching segments should be considered an intersection.
|
* @param {boolean=} opt_touch Touching segments should be considered an intersection.
|
||||||
* @return {Array.<number>|undefined} Intersection coordinates.
|
* @return {Array.<number>|undefined} Intersection coordinates.
|
||||||
*/
|
*/
|
||||||
@@ -726,11 +742,11 @@ WebGLPolygonReplay.prototype.calculateIntersection_ = function(p0, p1, p2, p3, o
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
* @param {ol.WebglPolygonVertex} p0 Point before the start of the diagonal.
|
* @param {module:ol/render/webgl/PolygonReplay~PolygonVertex} p0 Point before the start of the diagonal.
|
||||||
* @param {ol.WebglPolygonVertex} p1 Start point of the diagonal.
|
* @param {module:ol/render/webgl/PolygonReplay~PolygonVertex} p1 Start point of the diagonal.
|
||||||
* @param {ol.WebglPolygonVertex} p2 Ear candidate.
|
* @param {module:ol/render/webgl/PolygonReplay~PolygonVertex} p2 Ear candidate.
|
||||||
* @param {ol.WebglPolygonVertex} p3 End point of the diagonal.
|
* @param {module:ol/render/webgl/PolygonReplay~PolygonVertex} p3 End point of the diagonal.
|
||||||
* @param {ol.WebglPolygonVertex} p4 Point after the end of the diagonal.
|
* @param {module:ol/render/webgl/PolygonReplay~PolygonVertex} p4 Point after the end of the diagonal.
|
||||||
* @return {boolean} Diagonal is inside the polygon.
|
* @return {boolean} Diagonal is inside the polygon.
|
||||||
*/
|
*/
|
||||||
WebGLPolygonReplay.prototype.diagonalIsInside_ = function(p0, p1, p2, p3, p4) {
|
WebGLPolygonReplay.prototype.diagonalIsInside_ = function(p0, p1, p2, p3, p4) {
|
||||||
|
|||||||
@@ -14,6 +14,14 @@ import WebGLTextureReplay from '../webgl/TextureReplay.js';
|
|||||||
import AtlasManager from '../../style/AtlasManager.js';
|
import AtlasManager from '../../style/AtlasManager.js';
|
||||||
import WebGLBuffer from '../../webgl/Buffer.js';
|
import WebGLBuffer from '../../webgl/Buffer.js';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @typedef {Object} GlyphAtlas
|
||||||
|
* @property {module:ol/style/AtlasManager~AtlasManager} atlas
|
||||||
|
* @property {Object.<string, number>} width
|
||||||
|
* @property {number} height
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends {ol.render.webgl.TextureReplay}
|
* @extends {ol.render.webgl.TextureReplay}
|
||||||
@@ -100,13 +108,13 @@ const WebGLTextReplay = function(tolerance, maxExtent) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
* @type {Object.<string, ol.WebglGlyphAtlas>}
|
* @type {Object.<string, module:ol/render/webgl/TextReplay~GlyphAtlas>}
|
||||||
*/
|
*/
|
||||||
this.atlases_ = {};
|
this.atlases_ = {};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
* @type {ol.WebglGlyphAtlas|undefined}
|
* @type {module:ol/render/webgl/TextReplay~GlyphAtlas|undefined}
|
||||||
*/
|
*/
|
||||||
this.currAtlas_ = undefined;
|
this.currAtlas_ = undefined;
|
||||||
|
|
||||||
@@ -397,7 +405,7 @@ WebGLTextReplay.prototype.setTextStyle = function(textStyle) {
|
|||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
* @param {Object} state Font attributes.
|
* @param {Object} state Font attributes.
|
||||||
* @return {ol.WebglGlyphAtlas} Glyph atlas.
|
* @return {module:ol/render/webgl/TextReplay~GlyphAtlas} Glyph atlas.
|
||||||
*/
|
*/
|
||||||
WebGLTextReplay.prototype.getAtlas_ = function(state) {
|
WebGLTextReplay.prototype.getAtlas_ = function(state) {
|
||||||
let params = [];
|
let params = [];
|
||||||
|
|||||||
@@ -25,6 +25,14 @@ import WebGLContext from '../../webgl/Context.js';
|
|||||||
import ContextEventType from '../../webgl/ContextEventType.js';
|
import ContextEventType from '../../webgl/ContextEventType.js';
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @typedef {Object} TextureCacheEntry
|
||||||
|
* @property {number} magFilter
|
||||||
|
* @property {number} minFilter
|
||||||
|
* @property {WebGLTexture} texture
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Texture cache high water mark.
|
* Texture cache high water mark.
|
||||||
* @type {number}
|
* @type {number}
|
||||||
@@ -103,7 +111,7 @@ const WebGLMapRenderer = function(container, map) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
* @type {ol.structs.LRUCache.<ol.WebglTextureCacheEntry|null>}
|
* @type {ol.structs.LRUCache.<module:ol/renderer/webgl/Map~TextureCacheEntry|null>}
|
||||||
*/
|
*/
|
||||||
this.textureCache_ = new LRUCache();
|
this.textureCache_ = new LRUCache();
|
||||||
|
|
||||||
@@ -295,9 +303,9 @@ WebGLMapRenderer.prototype.disposeInternal = function() {
|
|||||||
if (!gl.isContextLost()) {
|
if (!gl.isContextLost()) {
|
||||||
this.textureCache_.forEach(
|
this.textureCache_.forEach(
|
||||||
/**
|
/**
|
||||||
* @param {?ol.WebglTextureCacheEntry} textureCacheEntry
|
* @param {?module:ol/renderer/webgl/Map~TextureCacheEntry} textureCacheEntry
|
||||||
* Texture cache entry.
|
* Texture cache entry.
|
||||||
*/
|
*/
|
||||||
function(textureCacheEntry) {
|
function(textureCacheEntry) {
|
||||||
if (textureCacheEntry) {
|
if (textureCacheEntry) {
|
||||||
gl.deleteTexture(textureCacheEntry.texture);
|
gl.deleteTexture(textureCacheEntry.texture);
|
||||||
|
|||||||
@@ -301,42 +301,6 @@ ol.StyleRenderFunction;
|
|||||||
ol.StyleImageOptions;
|
ol.StyleImageOptions;
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @typedef {{buf: module:ol/webgl/Buffer~WebGLBuffer,
|
|
||||||
* buffer: WebGLBuffer}}
|
|
||||||
*/
|
|
||||||
ol.WebglBufferCacheEntry;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @typedef {{atlas: ol.style.AtlasManager,
|
|
||||||
* width: Object.<string, number>,
|
|
||||||
* height: number}}
|
|
||||||
*/
|
|
||||||
ol.WebglGlyphAtlas;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @typedef {{p0: ol.WebglPolygonVertex,
|
|
||||||
* p1: ol.WebglPolygonVertex}}
|
|
||||||
*/
|
|
||||||
ol.WebglPolygonSegment;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @typedef {{x: number,
|
|
||||||
* y: number,
|
|
||||||
* i: number,
|
|
||||||
* reflex: (boolean|undefined)}}
|
|
||||||
*/
|
|
||||||
ol.WebglPolygonVertex;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @typedef {{magFilter: number, minFilter: number, texture: WebGLTexture}}
|
|
||||||
*/
|
|
||||||
ol.WebglTextureCacheEntry;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Number of features; bounds/extent.
|
* Number of features; bounds/extent.
|
||||||
* @typedef {{numberOfFeatures: number,
|
* @typedef {{numberOfFeatures: number,
|
||||||
|
|||||||
@@ -9,6 +9,14 @@ import {clear} from '../obj.js';
|
|||||||
import {ARRAY_BUFFER, ELEMENT_ARRAY_BUFFER, TEXTURE_2D, TEXTURE_WRAP_S, TEXTURE_WRAP_T} from '../webgl.js';
|
import {ARRAY_BUFFER, ELEMENT_ARRAY_BUFFER, TEXTURE_2D, TEXTURE_WRAP_S, TEXTURE_WRAP_T} from '../webgl.js';
|
||||||
import ContextEventType from '../webgl/ContextEventType.js';
|
import ContextEventType from '../webgl/ContextEventType.js';
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @typedef {Object} BufferCacheEntry
|
||||||
|
* @property {module:ol/webgl/Buffer~WebGLBuffer} buf
|
||||||
|
* @property {WebGLBuffer} buffer
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @classdesc
|
* @classdesc
|
||||||
* A WebGL context for accessing low-level WebGL capabilities.
|
* A WebGL context for accessing low-level WebGL capabilities.
|
||||||
@@ -34,7 +42,7 @@ const WebGLContext = function(canvas, gl) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
* @type {!Object.<string, ol.WebglBufferCacheEntry>}
|
* @type {!Object.<string, module:ol/webgl/Context~BufferCacheEntry>}
|
||||||
*/
|
*/
|
||||||
this.bufferCache_ = {};
|
this.bufferCache_ = {};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user