@vaadin/bundles 25.0.0-alpha3 → 25.0.0-alpha5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node_modules_ol_ImageCanvas_js.js +76 -83
- package/node_modules_ol_ImageCanvas_js.js.map +1 -1
- package/node_modules_ol_TileRange_js.js +128 -110
- package/node_modules_ol_TileRange_js.js.map +1 -1
- package/node_modules_ol_Tile_js.js +279 -0
- package/node_modules_ol_Tile_js.js.map +1 -0
- package/node_modules_ol_VectorRenderTile_js.js +428 -143
- package/node_modules_ol_VectorRenderTile_js.js.map +1 -1
- package/node_modules_ol_VectorTile_js.js +405 -119
- package/node_modules_ol_VectorTile_js.js.map +1 -1
- package/node_modules_ol_control_MousePosition_js.js +327 -0
- package/node_modules_ol_control_MousePosition_js.js.map +1 -0
- package/node_modules_ol_control_ZoomToExtent_js.js +118 -0
- package/node_modules_ol_control_ZoomToExtent_js.js.map +1 -0
- package/node_modules_ol_events_SnapEvent_js.js +79 -0
- package/node_modules_ol_events_SnapEvent_js.js.map +1 -0
- package/node_modules_ol_featureloader_js.js +205 -0
- package/node_modules_ol_featureloader_js.js.map +1 -0
- package/node_modules_ol_geom_Circle_js.js +300 -0
- package/node_modules_ol_geom_Circle_js.js.map +1 -0
- package/node_modules_ol_geom_GeometryCollection_js.js +369 -0
- package/node_modules_ol_geom_GeometryCollection_js.js.map +1 -0
- package/node_modules_ol_geom_MultiPoint_js.js +228 -0
- package/node_modules_ol_geom_MultiPoint_js.js.map +1 -0
- package/node_modules_ol_geom_flat_center_js.js +47 -0
- package/node_modules_ol_geom_flat_center_js.js.map +1 -0
- package/node_modules_ol_geom_flat_geodesic_js.js +123 -88
- package/node_modules_ol_geom_flat_geodesic_js.js.map +1 -1
- package/node_modules_ol_geom_flat_interpolate_js.js +230 -0
- package/node_modules_ol_geom_flat_interpolate_js.js.map +1 -0
- package/node_modules_ol_geom_flat_length_js-_375a0.js +58 -0
- package/node_modules_ol_geom_flat_length_js-_375a0.js.map +1 -0
- package/node_modules_ol_geom_flat_length_js-_375a1.js +58 -0
- package/node_modules_ol_geom_flat_length_js-_375a1.js.map +1 -0
- package/node_modules_ol_geom_flat_length_js-_375a2.js +58 -0
- package/node_modules_ol_geom_flat_length_js-_375a2.js.map +1 -0
- package/node_modules_ol_geom_flat_length_js-_375a3.js +58 -0
- package/node_modules_ol_geom_flat_length_js-_375a3.js.map +1 -0
- package/node_modules_ol_geom_flat_length_js-_375a4.js +58 -0
- package/node_modules_ol_geom_flat_length_js-_375a4.js.map +1 -0
- package/node_modules_ol_geom_flat_linechunk_js.js +76 -0
- package/node_modules_ol_geom_flat_linechunk_js.js.map +1 -0
- package/node_modules_ol_geom_flat_straightchunk_js.js +68 -0
- package/node_modules_ol_geom_flat_straightchunk_js.js.map +1 -0
- package/node_modules_ol_geom_flat_textpath_js.js +178 -0
- package/node_modules_ol_geom_flat_textpath_js.js.map +1 -0
- package/node_modules_ol_interaction_DblClickDragZoom_js.js +285 -0
- package/node_modules_ol_interaction_DblClickDragZoom_js.js.map +1 -0
- package/node_modules_ol_interaction_DragAndDrop_js.js +351 -0
- package/node_modules_ol_interaction_DragAndDrop_js.js.map +1 -0
- package/node_modules_ol_interaction_DragRotateAndZoom_js.js +159 -0
- package/node_modules_ol_interaction_DragRotateAndZoom_js.js.map +1 -0
- package/node_modules_ol_layer_Vector_js-_49290.js +110 -0
- package/node_modules_ol_layer_Vector_js-_49290.js.map +1 -0
- package/node_modules_ol_layer_Vector_js-_49291.js +110 -0
- package/node_modules_ol_layer_Vector_js-_49291.js.map +1 -0
- package/node_modules_ol_layer_Vector_js-_49292.js +110 -0
- package/node_modules_ol_layer_Vector_js-_49292.js.map +1 -0
- package/node_modules_ol_layer_Vector_js-_49293.js +110 -0
- package/node_modules_ol_layer_Vector_js-_49293.js.map +1 -0
- package/node_modules_ol_loadingstrategy_js.js +95 -0
- package/node_modules_ol_loadingstrategy_js.js.map +1 -0
- package/node_modules_ol_render_VectorContext_js-_3ad60.js +144 -0
- package/node_modules_ol_render_VectorContext_js-_3ad60.js.map +1 -0
- package/node_modules_ol_render_VectorContext_js-_3ad61.js +144 -0
- package/node_modules_ol_render_VectorContext_js-_3ad61.js.map +1 -0
- package/node_modules_ol_render_VectorContext_js-node_modules_ol_render_canvas_hitdetect_js.js +372 -0
- package/node_modules_ol_render_VectorContext_js-node_modules_ol_render_canvas_hitdetect_js.js.map +1 -0
- package/node_modules_ol_render_canvas_ImageBuilder_js.js +318 -0
- package/node_modules_ol_render_canvas_ImageBuilder_js.js.map +1 -0
- package/node_modules_ol_render_canvas_Instruction_js.js +66 -0
- package/node_modules_ol_render_canvas_Instruction_js.js.map +1 -0
- package/node_modules_ol_render_canvas_LineStringBuilder_js.js +187 -0
- package/node_modules_ol_render_canvas_LineStringBuilder_js.js.map +1 -0
- package/node_modules_ol_render_canvas_PolygonBuilder_js.js +276 -0
- package/node_modules_ol_render_canvas_PolygonBuilder_js.js.map +1 -0
- package/node_modules_ol_render_canvas_ZIndexContext_js-_fab20.js +156 -0
- package/node_modules_ol_render_canvas_ZIndexContext_js-_fab20.js.map +1 -0
- package/node_modules_ol_render_canvas_ZIndexContext_js-_fab21.js +156 -0
- package/node_modules_ol_render_canvas_ZIndexContext_js-_fab21.js.map +1 -0
- package/node_modules_ol_render_js-node_modules_ol_render_VectorContext_js.js +301 -0
- package/node_modules_ol_render_js-node_modules_ol_render_VectorContext_js.js.map +1 -0
- package/node_modules_ol_renderer_Layer_js.js +219 -0
- package/node_modules_ol_renderer_Layer_js.js.map +1 -0
- package/node_modules_ol_source_Source_js.js +256 -0
- package/node_modules_ol_source_Source_js.js.map +1 -0
- package/node_modules_ol_source_VectorEventType_js-node_modules_ol_structs_RBush_js.js +318 -0
- package/node_modules_ol_source_VectorEventType_js-node_modules_ol_structs_RBush_js.js.map +1 -0
- package/node_modules_ol_source_VectorEventType_js.js +80 -0
- package/node_modules_ol_source_VectorEventType_js.js.map +1 -0
- package/node_modules_ol_structs_RBush_js.js +242 -0
- package/node_modules_ol_structs_RBush_js.js.map +1 -0
- package/node_modules_ol_style_js.js +2 -1
- package/node_modules_ol_style_js.js.map +1 -1
- package/node_modules_rbush_rbush_min_js.js +16 -0
- package/node_modules_rbush_rbush_min_js.js.map +1 -0
- package/package.json +142 -146
- package/vaadin-bundle.json +2447 -2352
- package/vaadin.js +52246 -63791
- package/vaadin.js.map +1 -1
- package/vendors-node_modules_dompurify_dist_purify_es_mjs.js +1364 -0
- package/vendors-node_modules_dompurify_dist_purify_es_mjs.js.map +1 -0
- package/vendors-node_modules_dompurify_dist_purify_js.js +26 -21
- package/vendors-node_modules_dompurify_dist_purify_js.js.map +1 -1
- package/vendors-node_modules_marked_lib_marked_esm_js.js +2205 -0
- package/vendors-node_modules_marked_lib_marked_esm_js.js.map +1 -0
- package/vendors-node_modules_marked_lib_marked_umd_js.js +2164 -2556
- package/vendors-node_modules_marked_lib_marked_umd_js.js.map +1 -1
- package/vendors-node_modules_ol_Feature_js.js +360 -0
- package/vendors-node_modules_ol_Feature_js.js.map +1 -0
- package/vendors-node_modules_ol_Geolocation_js.js +352 -293
- package/vendors-node_modules_ol_Geolocation_js.js.map +1 -1
- package/vendors-node_modules_ol_ImageTile_js.js +494 -0
- package/vendors-node_modules_ol_ImageTile_js.js.map +1 -0
- package/vendors-node_modules_ol_Overlay_js.js +606 -0
- package/vendors-node_modules_ol_Overlay_js.js.map +1 -0
- package/vendors-node_modules_ol_control_FullScreen_js.js +417 -0
- package/vendors-node_modules_ol_control_FullScreen_js.js.map +1 -0
- package/vendors-node_modules_ol_control_OverviewMap_js.js +711 -0
- package/vendors-node_modules_ol_control_OverviewMap_js.js.map +1 -0
- package/vendors-node_modules_ol_control_ScaleLine_js.js +509 -0
- package/vendors-node_modules_ol_control_ScaleLine_js.js.map +1 -0
- package/vendors-node_modules_ol_control_ZoomSlider_js.js +418 -0
- package/vendors-node_modules_ol_control_ZoomSlider_js.js.map +1 -0
- package/vendors-node_modules_ol_control_js.js +490 -0
- package/vendors-node_modules_ol_control_js.js.map +1 -0
- package/vendors-node_modules_ol_geom_LineString_js.js +574 -0
- package/vendors-node_modules_ol_geom_LineString_js.js.map +1 -0
- package/vendors-node_modules_ol_geom_MultiLineString_js.js +405 -0
- package/vendors-node_modules_ol_geom_MultiLineString_js.js.map +1 -0
- package/vendors-node_modules_ol_geom_MultiPolygon_js.js +773 -0
- package/vendors-node_modules_ol_geom_MultiPolygon_js.js.map +1 -0
- package/vendors-node_modules_ol_geom_js-node_modules_ol_geom_flat_length_js.js +769 -0
- package/vendors-node_modules_ol_geom_js-node_modules_ol_geom_flat_length_js.js.map +1 -0
- package/vendors-node_modules_ol_index_js.js +526 -675
- package/vendors-node_modules_ol_index_js.js.map +1 -1
- package/vendors-node_modules_ol_interaction_Draw_js.js +2777 -0
- package/vendors-node_modules_ol_interaction_Draw_js.js.map +1 -0
- package/vendors-node_modules_ol_interaction_Extent_js.js +586 -0
- package/vendors-node_modules_ol_interaction_Extent_js.js.map +1 -0
- package/vendors-node_modules_ol_interaction_Link_js.js +489 -0
- package/vendors-node_modules_ol_interaction_Link_js.js.map +1 -0
- package/vendors-node_modules_ol_interaction_Modify_js.js +1841 -0
- package/vendors-node_modules_ol_interaction_Modify_js.js.map +1 -0
- package/vendors-node_modules_ol_interaction_Select_js.js +623 -0
- package/vendors-node_modules_ol_interaction_Select_js.js.map +1 -0
- package/vendors-node_modules_ol_interaction_Snap_js.js +982 -0
- package/vendors-node_modules_ol_interaction_Snap_js.js.map +1 -0
- package/vendors-node_modules_ol_interaction_Translate_js.js +466 -0
- package/vendors-node_modules_ol_interaction_Translate_js.js.map +1 -0
- package/vendors-node_modules_ol_interaction_js.js +872 -0
- package/vendors-node_modules_ol_interaction_js.js.map +1 -0
- package/vendors-node_modules_ol_layer_Graticule_js.js +1374 -989
- package/vendors-node_modules_ol_layer_Graticule_js.js.map +1 -1
- package/vendors-node_modules_ol_render_Feature_js.js +546 -0
- package/vendors-node_modules_ol_render_Feature_js.js.map +1 -0
- package/vendors-node_modules_ol_render_canvas_BuilderGroup_js.js +897 -0
- package/vendors-node_modules_ol_render_canvas_BuilderGroup_js.js.map +1 -0
- package/vendors-node_modules_ol_render_canvas_Builder_js.js +907 -0
- package/vendors-node_modules_ol_render_canvas_Builder_js.js.map +1 -0
- package/vendors-node_modules_ol_render_canvas_ExecutorGroup_js.js +539 -0
- package/vendors-node_modules_ol_render_canvas_ExecutorGroup_js.js.map +1 -0
- package/vendors-node_modules_ol_render_canvas_Executor_js.js +1715 -0
- package/vendors-node_modules_ol_render_canvas_Executor_js.js.map +1 -0
- package/vendors-node_modules_ol_render_canvas_Immediate_js.js +1208 -0
- package/vendors-node_modules_ol_render_canvas_Immediate_js.js.map +1 -0
- package/vendors-node_modules_ol_render_canvas_TextBuilder_js.js +825 -0
- package/vendors-node_modules_ol_render_canvas_TextBuilder_js.js.map +1 -0
- package/vendors-node_modules_ol_renderer_canvas_Layer_js.js +654 -0
- package/vendors-node_modules_ol_renderer_canvas_Layer_js.js.map +1 -0
- package/vendors-node_modules_ol_renderer_canvas_VectorLayer_js.js +1044 -0
- package/vendors-node_modules_ol_renderer_canvas_VectorLayer_js.js.map +1 -0
- package/vendors-node_modules_ol_renderer_vector_js.js +460 -0
- package/vendors-node_modules_ol_renderer_vector_js.js.map +1 -0
- package/vendors-node_modules_ol_source_Vector_js.js +2091 -0
- package/vendors-node_modules_ol_source_Vector_js.js.map +1 -0
- package/node_modules_ol_ImageTile_js.js +0 -177
- package/node_modules_ol_ImageTile_js.js.map +0 -1
- package/node_modules_ol_render_js.js +0 -131
- package/node_modules_ol_render_js.js.map +0 -1
- package/node_modules_ol_structs_LRUCache_js.js +0 -275
- package/node_modules_ol_structs_LRUCache_js.js.map +0 -1
- package/node_modules_ol_tilecoord_js.js +0 -115
- package/node_modules_ol_tilecoord_js.js.map +0 -1
- package/vendors-node_modules_ol_TileCache_js.js +0 -461
- package/vendors-node_modules_ol_TileCache_js.js.map +0 -1
- package/vendors-node_modules_ol_Tile_js.js +0 -330
- package/vendors-node_modules_ol_Tile_js.js.map +0 -1
- package/vendors-node_modules_ol_style_Text_js.js +0 -509
- package/vendors-node_modules_ol_style_Text_js.js.map +0 -1
- package/vendors-node_modules_rbush_index_js.js +0 -531
- package/vendors-node_modules_rbush_index_js.js.map +0 -1
|
@@ -0,0 +1,546 @@
|
|
|
1
|
+
(self["webpackChunk_vaadin_bundles"] = self["webpackChunk_vaadin_bundles"] || []).push([["vendors-node_modules_ol_render_Feature_js"],{
|
|
2
|
+
|
|
3
|
+
/***/ "./node_modules/ol/render/Feature.js":
|
|
4
|
+
/*!*******************************************!*\
|
|
5
|
+
!*** ./node_modules/ol/render/Feature.js ***!
|
|
6
|
+
\*******************************************/
|
|
7
|
+
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
8
|
+
|
|
9
|
+
__webpack_require__.r(__webpack_exports__);
|
|
10
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
11
|
+
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
|
|
12
|
+
/* harmony export */ "toFeature": () => (/* binding */ toFeature),
|
|
13
|
+
/* harmony export */ "toGeometry": () => (/* binding */ toGeometry)
|
|
14
|
+
/* harmony export */ });
|
|
15
|
+
/* harmony import */ var _Feature_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../Feature.js */ "./node_modules/ol/Feature.js");
|
|
16
|
+
/* harmony import */ var _array_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../array.js */ "./node_modules/ol/array.js");
|
|
17
|
+
/* harmony import */ var _extent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../extent.js */ "./node_modules/ol/extent.js");
|
|
18
|
+
/* harmony import */ var _functions_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../functions.js */ "./node_modules/ol/functions.js");
|
|
19
|
+
/* harmony import */ var _geom_flat_center_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../geom/flat/center.js */ "./node_modules/ol/geom/flat/center.js");
|
|
20
|
+
/* harmony import */ var _geom_flat_interiorpoint_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../geom/flat/interiorpoint.js */ "./node_modules/ol/geom/flat/interiorpoint.js");
|
|
21
|
+
/* harmony import */ var _geom_flat_interpolate_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../geom/flat/interpolate.js */ "./node_modules/ol/geom/flat/interpolate.js");
|
|
22
|
+
/* harmony import */ var _geom_flat_orient_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../geom/flat/orient.js */ "./node_modules/ol/geom/flat/orient.js");
|
|
23
|
+
/* harmony import */ var _geom_flat_simplify_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../geom/flat/simplify.js */ "./node_modules/ol/geom/flat/simplify.js");
|
|
24
|
+
/* harmony import */ var _geom_flat_transform_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../geom/flat/transform.js */ "./node_modules/ol/geom/flat/transform.js");
|
|
25
|
+
/* harmony import */ var _geom_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../geom.js */ "./node_modules/ol/geom/Point.js");
|
|
26
|
+
/* harmony import */ var _geom_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../geom.js */ "./node_modules/ol/geom/MultiPoint.js");
|
|
27
|
+
/* harmony import */ var _geom_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../geom.js */ "./node_modules/ol/geom/LineString.js");
|
|
28
|
+
/* harmony import */ var _geom_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../geom.js */ "./node_modules/ol/geom/MultiLineString.js");
|
|
29
|
+
/* harmony import */ var _geom_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../geom.js */ "./node_modules/ol/geom/MultiPolygon.js");
|
|
30
|
+
/* harmony import */ var _geom_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../geom.js */ "./node_modules/ol/geom/Polygon.js");
|
|
31
|
+
/* harmony import */ var _proj_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../proj.js */ "./node_modules/ol/proj.js");
|
|
32
|
+
/* harmony import */ var _transform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../transform.js */ "./node_modules/ol/transform.js");
|
|
33
|
+
/**
|
|
34
|
+
* @module ol/render/Feature
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* @typedef {'Point' | 'LineString' | 'LinearRing' | 'Polygon' | 'MultiPoint' | 'MultiLineString'} Type
|
|
52
|
+
* The geometry type. One of `'Point'`, `'LineString'`, `'LinearRing'`,
|
|
53
|
+
* `'Polygon'`, `'MultiPoint'` or 'MultiLineString'`.
|
|
54
|
+
*/
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* @type {import("../transform.js").Transform}
|
|
58
|
+
*/
|
|
59
|
+
const tmpTransform = (0,_transform_js__WEBPACK_IMPORTED_MODULE_1__.create)();
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Lightweight, read-only, {@link module:ol/Feature~Feature} and {@link module:ol/geom/Geometry~Geometry} like
|
|
63
|
+
* structure, optimized for vector tile rendering and styling. Geometry access
|
|
64
|
+
* through the API is limited to getting the type and extent of the geometry.
|
|
65
|
+
*/
|
|
66
|
+
class RenderFeature {
|
|
67
|
+
/**
|
|
68
|
+
* @param {Type} type Geometry type.
|
|
69
|
+
* @param {Array<number>} flatCoordinates Flat coordinates. These always need
|
|
70
|
+
* to be right-handed for polygons.
|
|
71
|
+
* @param {Array<number>} ends Ends.
|
|
72
|
+
* @param {number} stride Stride.
|
|
73
|
+
* @param {Object<string, *>} properties Properties.
|
|
74
|
+
* @param {number|string|undefined} id Feature id.
|
|
75
|
+
*/
|
|
76
|
+
constructor(type, flatCoordinates, ends, stride, properties, id) {
|
|
77
|
+
/**
|
|
78
|
+
* @type {import("../style/Style.js").StyleFunction|undefined}
|
|
79
|
+
*/
|
|
80
|
+
this.styleFunction;
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* @private
|
|
84
|
+
* @type {import("../extent.js").Extent|undefined}
|
|
85
|
+
*/
|
|
86
|
+
this.extent_;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* @private
|
|
90
|
+
* @type {number|string|undefined}
|
|
91
|
+
*/
|
|
92
|
+
this.id_ = id;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* @private
|
|
96
|
+
* @type {Type}
|
|
97
|
+
*/
|
|
98
|
+
this.type_ = type;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* @private
|
|
102
|
+
* @type {Array<number>}
|
|
103
|
+
*/
|
|
104
|
+
this.flatCoordinates_ = flatCoordinates;
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* @private
|
|
108
|
+
* @type {Array<number>}
|
|
109
|
+
*/
|
|
110
|
+
this.flatInteriorPoints_ = null;
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* @private
|
|
114
|
+
* @type {Array<number>}
|
|
115
|
+
*/
|
|
116
|
+
this.flatMidpoints_ = null;
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* @private
|
|
120
|
+
* @type {Array<number>|null}
|
|
121
|
+
*/
|
|
122
|
+
this.ends_ = ends || null;
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* @private
|
|
126
|
+
* @type {Object<string, *>}
|
|
127
|
+
*/
|
|
128
|
+
this.properties_ = properties;
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* @private
|
|
132
|
+
* @type {number}
|
|
133
|
+
*/
|
|
134
|
+
this.squaredTolerance_;
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* @private
|
|
138
|
+
* @type {number}
|
|
139
|
+
*/
|
|
140
|
+
this.stride_ = stride;
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* @private
|
|
144
|
+
* @type {RenderFeature}
|
|
145
|
+
*/
|
|
146
|
+
this.simplifiedGeometry_;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Get a feature property by its key.
|
|
151
|
+
* @param {string} key Key
|
|
152
|
+
* @return {*} Value for the requested key.
|
|
153
|
+
* @api
|
|
154
|
+
*/
|
|
155
|
+
get(key) {
|
|
156
|
+
return this.properties_[key];
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Get the extent of this feature's geometry.
|
|
161
|
+
* @return {import("../extent.js").Extent} Extent.
|
|
162
|
+
* @api
|
|
163
|
+
*/
|
|
164
|
+
getExtent() {
|
|
165
|
+
if (!this.extent_) {
|
|
166
|
+
this.extent_ =
|
|
167
|
+
this.type_ === 'Point'
|
|
168
|
+
? (0,_extent_js__WEBPACK_IMPORTED_MODULE_2__.createOrUpdateFromCoordinate)(this.flatCoordinates_)
|
|
169
|
+
: (0,_extent_js__WEBPACK_IMPORTED_MODULE_2__.createOrUpdateFromFlatCoordinates)(
|
|
170
|
+
this.flatCoordinates_,
|
|
171
|
+
0,
|
|
172
|
+
this.flatCoordinates_.length,
|
|
173
|
+
2,
|
|
174
|
+
);
|
|
175
|
+
}
|
|
176
|
+
return this.extent_;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* @return {Array<number>} Flat interior points.
|
|
181
|
+
*/
|
|
182
|
+
getFlatInteriorPoint() {
|
|
183
|
+
if (!this.flatInteriorPoints_) {
|
|
184
|
+
const flatCenter = (0,_extent_js__WEBPACK_IMPORTED_MODULE_2__.getCenter)(this.getExtent());
|
|
185
|
+
this.flatInteriorPoints_ = (0,_geom_flat_interiorpoint_js__WEBPACK_IMPORTED_MODULE_3__.getInteriorPointOfArray)(
|
|
186
|
+
this.flatCoordinates_,
|
|
187
|
+
0,
|
|
188
|
+
this.ends_,
|
|
189
|
+
2,
|
|
190
|
+
flatCenter,
|
|
191
|
+
0,
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
return this.flatInteriorPoints_;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* @return {Array<number>} Flat interior points.
|
|
199
|
+
*/
|
|
200
|
+
getFlatInteriorPoints() {
|
|
201
|
+
if (!this.flatInteriorPoints_) {
|
|
202
|
+
const ends = (0,_geom_flat_orient_js__WEBPACK_IMPORTED_MODULE_4__.inflateEnds)(this.flatCoordinates_, this.ends_);
|
|
203
|
+
const flatCenters = (0,_geom_flat_center_js__WEBPACK_IMPORTED_MODULE_5__.linearRingss)(this.flatCoordinates_, 0, ends, 2);
|
|
204
|
+
this.flatInteriorPoints_ = (0,_geom_flat_interiorpoint_js__WEBPACK_IMPORTED_MODULE_3__.getInteriorPointsOfMultiArray)(
|
|
205
|
+
this.flatCoordinates_,
|
|
206
|
+
0,
|
|
207
|
+
ends,
|
|
208
|
+
2,
|
|
209
|
+
flatCenters,
|
|
210
|
+
);
|
|
211
|
+
}
|
|
212
|
+
return this.flatInteriorPoints_;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* @return {Array<number>} Flat midpoint.
|
|
217
|
+
*/
|
|
218
|
+
getFlatMidpoint() {
|
|
219
|
+
if (!this.flatMidpoints_) {
|
|
220
|
+
this.flatMidpoints_ = (0,_geom_flat_interpolate_js__WEBPACK_IMPORTED_MODULE_6__.interpolatePoint)(
|
|
221
|
+
this.flatCoordinates_,
|
|
222
|
+
0,
|
|
223
|
+
this.flatCoordinates_.length,
|
|
224
|
+
2,
|
|
225
|
+
0.5,
|
|
226
|
+
);
|
|
227
|
+
}
|
|
228
|
+
return this.flatMidpoints_;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* @return {Array<number>} Flat midpoints.
|
|
233
|
+
*/
|
|
234
|
+
getFlatMidpoints() {
|
|
235
|
+
if (!this.flatMidpoints_) {
|
|
236
|
+
this.flatMidpoints_ = [];
|
|
237
|
+
const flatCoordinates = this.flatCoordinates_;
|
|
238
|
+
let offset = 0;
|
|
239
|
+
const ends = /** @type {Array<number>} */ (this.ends_);
|
|
240
|
+
for (let i = 0, ii = ends.length; i < ii; ++i) {
|
|
241
|
+
const end = ends[i];
|
|
242
|
+
const midpoint = (0,_geom_flat_interpolate_js__WEBPACK_IMPORTED_MODULE_6__.interpolatePoint)(flatCoordinates, offset, end, 2, 0.5);
|
|
243
|
+
(0,_array_js__WEBPACK_IMPORTED_MODULE_7__.extend)(this.flatMidpoints_, midpoint);
|
|
244
|
+
offset = end;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
return this.flatMidpoints_;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/**
|
|
251
|
+
* Get the feature identifier. This is a stable identifier for the feature and
|
|
252
|
+
* is set when reading data from a remote source.
|
|
253
|
+
* @return {number|string|undefined} Id.
|
|
254
|
+
* @api
|
|
255
|
+
*/
|
|
256
|
+
getId() {
|
|
257
|
+
return this.id_;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* @return {Array<number>} Flat coordinates.
|
|
262
|
+
*/
|
|
263
|
+
getOrientedFlatCoordinates() {
|
|
264
|
+
return this.flatCoordinates_;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* For API compatibility with {@link module:ol/Feature~Feature}, this method is useful when
|
|
269
|
+
* determining the geometry type in style function (see {@link #getType}).
|
|
270
|
+
* @return {RenderFeature} Feature.
|
|
271
|
+
* @api
|
|
272
|
+
*/
|
|
273
|
+
getGeometry() {
|
|
274
|
+
return this;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* @param {number} squaredTolerance Squared tolerance.
|
|
279
|
+
* @return {RenderFeature} Simplified geometry.
|
|
280
|
+
*/
|
|
281
|
+
getSimplifiedGeometry(squaredTolerance) {
|
|
282
|
+
return this;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* Get a transformed and simplified version of the geometry.
|
|
287
|
+
* @param {number} squaredTolerance Squared tolerance.
|
|
288
|
+
* @param {import("../proj.js").TransformFunction} [transform] Optional transform function.
|
|
289
|
+
* @return {RenderFeature} Simplified geometry.
|
|
290
|
+
*/
|
|
291
|
+
simplifyTransformed(squaredTolerance, transform) {
|
|
292
|
+
return this;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* Get the feature properties.
|
|
297
|
+
* @return {Object<string, *>} Feature properties.
|
|
298
|
+
* @api
|
|
299
|
+
*/
|
|
300
|
+
getProperties() {
|
|
301
|
+
return this.properties_;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
* Get an object of all property names and values. This has the same behavior as getProperties,
|
|
306
|
+
* but is here to conform with the {@link module:ol/Feature~Feature} interface.
|
|
307
|
+
* @return {Object<string, *>?} Object.
|
|
308
|
+
*/
|
|
309
|
+
getPropertiesInternal() {
|
|
310
|
+
return this.properties_;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* @return {number} Stride.
|
|
315
|
+
*/
|
|
316
|
+
getStride() {
|
|
317
|
+
return this.stride_;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* @return {import('../style/Style.js').StyleFunction|undefined} Style
|
|
322
|
+
*/
|
|
323
|
+
getStyleFunction() {
|
|
324
|
+
return this.styleFunction;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
/**
|
|
328
|
+
* Get the type of this feature's geometry.
|
|
329
|
+
* @return {Type} Geometry type.
|
|
330
|
+
* @api
|
|
331
|
+
*/
|
|
332
|
+
getType() {
|
|
333
|
+
return this.type_;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* Transform geometry coordinates from tile pixel space to projected.
|
|
338
|
+
*
|
|
339
|
+
* @param {import("../proj.js").ProjectionLike} projection The data projection
|
|
340
|
+
*/
|
|
341
|
+
transform(projection) {
|
|
342
|
+
projection = (0,_proj_js__WEBPACK_IMPORTED_MODULE_0__.get)(projection);
|
|
343
|
+
const pixelExtent = projection.getExtent();
|
|
344
|
+
const projectedExtent = projection.getWorldExtent();
|
|
345
|
+
if (pixelExtent && projectedExtent) {
|
|
346
|
+
const scale = (0,_extent_js__WEBPACK_IMPORTED_MODULE_2__.getHeight)(projectedExtent) / (0,_extent_js__WEBPACK_IMPORTED_MODULE_2__.getHeight)(pixelExtent);
|
|
347
|
+
(0,_transform_js__WEBPACK_IMPORTED_MODULE_1__.compose)(
|
|
348
|
+
tmpTransform,
|
|
349
|
+
projectedExtent[0],
|
|
350
|
+
projectedExtent[3],
|
|
351
|
+
scale,
|
|
352
|
+
-scale,
|
|
353
|
+
0,
|
|
354
|
+
0,
|
|
355
|
+
0,
|
|
356
|
+
);
|
|
357
|
+
(0,_geom_flat_transform_js__WEBPACK_IMPORTED_MODULE_8__.transform2D)(
|
|
358
|
+
this.flatCoordinates_,
|
|
359
|
+
0,
|
|
360
|
+
this.flatCoordinates_.length,
|
|
361
|
+
2,
|
|
362
|
+
tmpTransform,
|
|
363
|
+
this.flatCoordinates_,
|
|
364
|
+
);
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* Apply a transform function to the coordinates of the geometry.
|
|
370
|
+
* The geometry is modified in place.
|
|
371
|
+
* If you do not want the geometry modified in place, first `clone()` it and
|
|
372
|
+
* then use this function on the clone.
|
|
373
|
+
* @param {import("../proj.js").TransformFunction} transformFn Transform function.
|
|
374
|
+
*/
|
|
375
|
+
applyTransform(transformFn) {
|
|
376
|
+
transformFn(this.flatCoordinates_, this.flatCoordinates_, this.stride_);
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
/**
|
|
380
|
+
* @return {RenderFeature} A cloned render feature.
|
|
381
|
+
*/
|
|
382
|
+
clone() {
|
|
383
|
+
return new RenderFeature(
|
|
384
|
+
this.type_,
|
|
385
|
+
this.flatCoordinates_.slice(),
|
|
386
|
+
this.ends_?.slice(),
|
|
387
|
+
this.stride_,
|
|
388
|
+
Object.assign({}, this.properties_),
|
|
389
|
+
this.id_,
|
|
390
|
+
);
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
/**
|
|
394
|
+
* @return {Array<number>|null} Ends.
|
|
395
|
+
*/
|
|
396
|
+
getEnds() {
|
|
397
|
+
return this.ends_;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
/**
|
|
401
|
+
* Add transform and resolution based geometry simplification to this instance.
|
|
402
|
+
* @return {RenderFeature} This render feature.
|
|
403
|
+
*/
|
|
404
|
+
enableSimplifyTransformed() {
|
|
405
|
+
this.simplifyTransformed = (0,_functions_js__WEBPACK_IMPORTED_MODULE_9__.memoizeOne)((squaredTolerance, transform) => {
|
|
406
|
+
if (squaredTolerance === this.squaredTolerance_) {
|
|
407
|
+
return this.simplifiedGeometry_;
|
|
408
|
+
}
|
|
409
|
+
this.simplifiedGeometry_ = this.clone();
|
|
410
|
+
if (transform) {
|
|
411
|
+
this.simplifiedGeometry_.applyTransform(transform);
|
|
412
|
+
}
|
|
413
|
+
const simplifiedFlatCoordinates =
|
|
414
|
+
this.simplifiedGeometry_.getFlatCoordinates();
|
|
415
|
+
let simplifiedEnds;
|
|
416
|
+
switch (this.type_) {
|
|
417
|
+
case 'LineString':
|
|
418
|
+
simplifiedFlatCoordinates.length = (0,_geom_flat_simplify_js__WEBPACK_IMPORTED_MODULE_10__.douglasPeucker)(
|
|
419
|
+
simplifiedFlatCoordinates,
|
|
420
|
+
0,
|
|
421
|
+
this.simplifiedGeometry_.flatCoordinates_.length,
|
|
422
|
+
this.simplifiedGeometry_.stride_,
|
|
423
|
+
squaredTolerance,
|
|
424
|
+
simplifiedFlatCoordinates,
|
|
425
|
+
0,
|
|
426
|
+
);
|
|
427
|
+
simplifiedEnds = [simplifiedFlatCoordinates.length];
|
|
428
|
+
break;
|
|
429
|
+
case 'MultiLineString':
|
|
430
|
+
simplifiedEnds = [];
|
|
431
|
+
simplifiedFlatCoordinates.length = (0,_geom_flat_simplify_js__WEBPACK_IMPORTED_MODULE_10__.douglasPeuckerArray)(
|
|
432
|
+
simplifiedFlatCoordinates,
|
|
433
|
+
0,
|
|
434
|
+
this.simplifiedGeometry_.ends_,
|
|
435
|
+
this.simplifiedGeometry_.stride_,
|
|
436
|
+
squaredTolerance,
|
|
437
|
+
simplifiedFlatCoordinates,
|
|
438
|
+
0,
|
|
439
|
+
simplifiedEnds,
|
|
440
|
+
);
|
|
441
|
+
break;
|
|
442
|
+
case 'Polygon':
|
|
443
|
+
simplifiedEnds = [];
|
|
444
|
+
simplifiedFlatCoordinates.length = (0,_geom_flat_simplify_js__WEBPACK_IMPORTED_MODULE_10__.quantizeArray)(
|
|
445
|
+
simplifiedFlatCoordinates,
|
|
446
|
+
0,
|
|
447
|
+
this.simplifiedGeometry_.ends_,
|
|
448
|
+
this.simplifiedGeometry_.stride_,
|
|
449
|
+
Math.sqrt(squaredTolerance),
|
|
450
|
+
simplifiedFlatCoordinates,
|
|
451
|
+
0,
|
|
452
|
+
simplifiedEnds,
|
|
453
|
+
);
|
|
454
|
+
break;
|
|
455
|
+
default:
|
|
456
|
+
}
|
|
457
|
+
if (simplifiedEnds) {
|
|
458
|
+
this.simplifiedGeometry_ = new RenderFeature(
|
|
459
|
+
this.type_,
|
|
460
|
+
simplifiedFlatCoordinates,
|
|
461
|
+
simplifiedEnds,
|
|
462
|
+
2,
|
|
463
|
+
this.properties_,
|
|
464
|
+
this.id_,
|
|
465
|
+
);
|
|
466
|
+
}
|
|
467
|
+
this.squaredTolerance_ = squaredTolerance;
|
|
468
|
+
return this.simplifiedGeometry_;
|
|
469
|
+
});
|
|
470
|
+
return this;
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
/**
|
|
475
|
+
* @return {Array<number>} Flat coordinates.
|
|
476
|
+
*/
|
|
477
|
+
RenderFeature.prototype.getFlatCoordinates =
|
|
478
|
+
RenderFeature.prototype.getOrientedFlatCoordinates;
|
|
479
|
+
|
|
480
|
+
/**
|
|
481
|
+
* Create a geometry from an `ol/render/Feature`
|
|
482
|
+
* @param {RenderFeature} renderFeature
|
|
483
|
+
* Render Feature
|
|
484
|
+
* @return {Point|MultiPoint|LineString|MultiLineString|Polygon|MultiPolygon}
|
|
485
|
+
* New geometry instance.
|
|
486
|
+
* @api
|
|
487
|
+
*/
|
|
488
|
+
function toGeometry(renderFeature) {
|
|
489
|
+
const geometryType = renderFeature.getType();
|
|
490
|
+
switch (geometryType) {
|
|
491
|
+
case 'Point':
|
|
492
|
+
return new _geom_js__WEBPACK_IMPORTED_MODULE_11__["default"](renderFeature.getFlatCoordinates());
|
|
493
|
+
case 'MultiPoint':
|
|
494
|
+
return new _geom_js__WEBPACK_IMPORTED_MODULE_12__["default"](renderFeature.getFlatCoordinates(), 'XY');
|
|
495
|
+
case 'LineString':
|
|
496
|
+
return new _geom_js__WEBPACK_IMPORTED_MODULE_13__["default"](renderFeature.getFlatCoordinates(), 'XY');
|
|
497
|
+
case 'MultiLineString':
|
|
498
|
+
return new _geom_js__WEBPACK_IMPORTED_MODULE_14__["default"](
|
|
499
|
+
renderFeature.getFlatCoordinates(),
|
|
500
|
+
'XY',
|
|
501
|
+
/** @type {Array<number>} */ (renderFeature.getEnds()),
|
|
502
|
+
);
|
|
503
|
+
case 'Polygon':
|
|
504
|
+
const flatCoordinates = renderFeature.getFlatCoordinates();
|
|
505
|
+
const ends = renderFeature.getEnds();
|
|
506
|
+
const endss = (0,_geom_flat_orient_js__WEBPACK_IMPORTED_MODULE_4__.inflateEnds)(flatCoordinates, ends);
|
|
507
|
+
return endss.length > 1
|
|
508
|
+
? new _geom_js__WEBPACK_IMPORTED_MODULE_15__["default"](flatCoordinates, 'XY', endss)
|
|
509
|
+
: new _geom_js__WEBPACK_IMPORTED_MODULE_16__["default"](flatCoordinates, 'XY', ends);
|
|
510
|
+
default:
|
|
511
|
+
throw new Error('Invalid geometry type:' + geometryType);
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
/**
|
|
516
|
+
* Create an `ol/Feature` from an `ol/render/Feature`
|
|
517
|
+
* @param {RenderFeature} renderFeature RenderFeature
|
|
518
|
+
* @param {string} [geometryName] Geometry name to use
|
|
519
|
+
* when creating the Feature.
|
|
520
|
+
* @return {Feature} Newly constructed `ol/Feature` with properties,
|
|
521
|
+
* geometry, and id copied over.
|
|
522
|
+
* @api
|
|
523
|
+
*/
|
|
524
|
+
function toFeature(renderFeature, geometryName) {
|
|
525
|
+
const id = renderFeature.getId();
|
|
526
|
+
const geometry = toGeometry(renderFeature);
|
|
527
|
+
const properties = renderFeature.getProperties();
|
|
528
|
+
const feature = new _Feature_js__WEBPACK_IMPORTED_MODULE_17__["default"]();
|
|
529
|
+
if (geometryName !== undefined) {
|
|
530
|
+
feature.setGeometryName(geometryName);
|
|
531
|
+
}
|
|
532
|
+
feature.setGeometry(geometry);
|
|
533
|
+
if (id !== undefined) {
|
|
534
|
+
feature.setId(id);
|
|
535
|
+
}
|
|
536
|
+
feature.setProperties(properties, true);
|
|
537
|
+
return feature;
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (RenderFeature);
|
|
541
|
+
|
|
542
|
+
|
|
543
|
+
/***/ })
|
|
544
|
+
|
|
545
|
+
}])
|
|
546
|
+
//# sourceMappingURL=vendors-node_modules_ol_render_Feature_js.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vendors-node_modules_ol_render_Feature_js.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACoC;AACD;AAMb;AACqB;AAC+B;AAInC;AACsB;AACV;AAKjB;AACoB;AAQlC;AAC4B;AAIvB;;AAEzB;AACA,aAAa,sFAAsF;AACnG;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,qBAAqB,qDAAe;;AAEpC;AACA,4BAA4B,iCAAiC,KAAK,wCAAwC;AAC1G;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,eAAe;AAC5B;AACA,aAAa,eAAe;AAC5B,aAAa,QAAQ;AACrB,aAAa,mBAAmB;AAChC,aAAa,yBAAyB;AACtC;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc,GAAG;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,+BAA+B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,wEAA4B;AACxC,YAAY,6EAAiC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,eAAe;AAC7B;AACA;AACA;AACA,yBAAyB,qDAAS;AAClC,iCAAiC,oFAAuB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,eAAe;AAC7B;AACA;AACA;AACA,mBAAmB,iEAAW;AAC9B,0BAA0B,kEAAkB;AAC5C,iCAAiC,0FAA6B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,eAAe;AAC7B;AACA;AACA;AACA,4BAA4B,2EAAgB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,eAAe;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,eAAe;AAC7C,wCAAwC,QAAQ;AAChD;AACA,yBAAyB,2EAAgB;AACzC,QAAQ,iDAAM;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,yBAAyB;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,eAAe;AAC7B;AACA;AACA;AACA;;AAEA;AACA,iCAAiC,gCAAgC;AACjE,2DAA2D,eAAe;AAC1E,cAAc,eAAe;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,QAAQ;AACrB,cAAc,eAAe;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,wCAAwC;AACrD,cAAc,eAAe;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sCAAsC,iCAAiC;AACvE,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;;AAEA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA,cAAc,qDAAqD;AACnE;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,qCAAqC;AAClD;AACA;AACA,iBAAiB,6CAAa;AAC9B;AACA;AACA;AACA,oBAAoB,qDAAS,oBAAoB,qDAAS;AAC1D,MAAM,sDAAgB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,oEAAW;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;;AAEA;AACA,cAAc,eAAe;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;;AAEA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,eAAe;AAC7B;AACA;AACA,+BAA+B,yDAAU;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,uEAAc;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,4EAAmB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,sEAAa;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,YAAY,eAAe;AAC3B;AACA;AACA;;AAEA;AACA;AACA,WAAW,eAAe;AAC1B;AACA,YAAY;AACZ;AACA;AACA;AACO;AACP;AACA;AACA;AACA,iBAAiB,iDAAK;AACtB;AACA,iBAAiB,iDAAU;AAC3B;AACA,iBAAiB,iDAAU;AAC3B;AACA,iBAAiB,iDAAe;AAChC;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA,oBAAoB,iEAAW;AAC/B;AACA,cAAc,iDAAY;AAC1B,cAAc,iDAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACO;AACP;AACA;AACA;AACA,sBAAsB,oDAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,aAAa,EAAC","sources":["webpack://@vaadin/bundles/./node_modules/ol/render/Feature.js"],"sourcesContent":["/**\n * @module ol/render/Feature\n */\nimport Feature from '../Feature.js';\nimport {extend} from '../array.js';\nimport {\n createOrUpdateFromCoordinate,\n createOrUpdateFromFlatCoordinates,\n getCenter,\n getHeight,\n} from '../extent.js';\nimport {memoizeOne} from '../functions.js';\nimport {linearRingss as linearRingssCenter} from '../geom/flat/center.js';\nimport {\n getInteriorPointOfArray,\n getInteriorPointsOfMultiArray,\n} from '../geom/flat/interiorpoint.js';\nimport {interpolatePoint} from '../geom/flat/interpolate.js';\nimport {inflateEnds} from '../geom/flat/orient.js';\nimport {\n douglasPeucker,\n douglasPeuckerArray,\n quantizeArray,\n} from '../geom/flat/simplify.js';\nimport {transform2D} from '../geom/flat/transform.js';\nimport {\n LineString,\n MultiLineString,\n MultiPoint,\n MultiPolygon,\n Point,\n Polygon,\n} from '../geom.js';\nimport {get as getProjection} from '../proj.js';\nimport {\n compose as composeTransform,\n create as createTransform,\n} from '../transform.js';\n\n/**\n * @typedef {'Point' | 'LineString' | 'LinearRing' | 'Polygon' | 'MultiPoint' | 'MultiLineString'} Type\n * The geometry type. One of `'Point'`, `'LineString'`, `'LinearRing'`,\n * `'Polygon'`, `'MultiPoint'` or 'MultiLineString'`.\n */\n\n/**\n * @type {import(\"../transform.js\").Transform}\n */\nconst tmpTransform = createTransform();\n\n/**\n * Lightweight, read-only, {@link module:ol/Feature~Feature} and {@link module:ol/geom/Geometry~Geometry} like\n * structure, optimized for vector tile rendering and styling. Geometry access\n * through the API is limited to getting the type and extent of the geometry.\n */\nclass RenderFeature {\n /**\n * @param {Type} type Geometry type.\n * @param {Array<number>} flatCoordinates Flat coordinates. These always need\n * to be right-handed for polygons.\n * @param {Array<number>} ends Ends.\n * @param {number} stride Stride.\n * @param {Object<string, *>} properties Properties.\n * @param {number|string|undefined} id Feature id.\n */\n constructor(type, flatCoordinates, ends, stride, properties, id) {\n /**\n * @type {import(\"../style/Style.js\").StyleFunction|undefined}\n */\n this.styleFunction;\n\n /**\n * @private\n * @type {import(\"../extent.js\").Extent|undefined}\n */\n this.extent_;\n\n /**\n * @private\n * @type {number|string|undefined}\n */\n this.id_ = id;\n\n /**\n * @private\n * @type {Type}\n */\n this.type_ = type;\n\n /**\n * @private\n * @type {Array<number>}\n */\n this.flatCoordinates_ = flatCoordinates;\n\n /**\n * @private\n * @type {Array<number>}\n */\n this.flatInteriorPoints_ = null;\n\n /**\n * @private\n * @type {Array<number>}\n */\n this.flatMidpoints_ = null;\n\n /**\n * @private\n * @type {Array<number>|null}\n */\n this.ends_ = ends || null;\n\n /**\n * @private\n * @type {Object<string, *>}\n */\n this.properties_ = properties;\n\n /**\n * @private\n * @type {number}\n */\n this.squaredTolerance_;\n\n /**\n * @private\n * @type {number}\n */\n this.stride_ = stride;\n\n /**\n * @private\n * @type {RenderFeature}\n */\n this.simplifiedGeometry_;\n }\n\n /**\n * Get a feature property by its key.\n * @param {string} key Key\n * @return {*} Value for the requested key.\n * @api\n */\n get(key) {\n return this.properties_[key];\n }\n\n /**\n * Get the extent of this feature's geometry.\n * @return {import(\"../extent.js\").Extent} Extent.\n * @api\n */\n getExtent() {\n if (!this.extent_) {\n this.extent_ =\n this.type_ === 'Point'\n ? createOrUpdateFromCoordinate(this.flatCoordinates_)\n : createOrUpdateFromFlatCoordinates(\n this.flatCoordinates_,\n 0,\n this.flatCoordinates_.length,\n 2,\n );\n }\n return this.extent_;\n }\n\n /**\n * @return {Array<number>} Flat interior points.\n */\n getFlatInteriorPoint() {\n if (!this.flatInteriorPoints_) {\n const flatCenter = getCenter(this.getExtent());\n this.flatInteriorPoints_ = getInteriorPointOfArray(\n this.flatCoordinates_,\n 0,\n this.ends_,\n 2,\n flatCenter,\n 0,\n );\n }\n return this.flatInteriorPoints_;\n }\n\n /**\n * @return {Array<number>} Flat interior points.\n */\n getFlatInteriorPoints() {\n if (!this.flatInteriorPoints_) {\n const ends = inflateEnds(this.flatCoordinates_, this.ends_);\n const flatCenters = linearRingssCenter(this.flatCoordinates_, 0, ends, 2);\n this.flatInteriorPoints_ = getInteriorPointsOfMultiArray(\n this.flatCoordinates_,\n 0,\n ends,\n 2,\n flatCenters,\n );\n }\n return this.flatInteriorPoints_;\n }\n\n /**\n * @return {Array<number>} Flat midpoint.\n */\n getFlatMidpoint() {\n if (!this.flatMidpoints_) {\n this.flatMidpoints_ = interpolatePoint(\n this.flatCoordinates_,\n 0,\n this.flatCoordinates_.length,\n 2,\n 0.5,\n );\n }\n return this.flatMidpoints_;\n }\n\n /**\n * @return {Array<number>} Flat midpoints.\n */\n getFlatMidpoints() {\n if (!this.flatMidpoints_) {\n this.flatMidpoints_ = [];\n const flatCoordinates = this.flatCoordinates_;\n let offset = 0;\n const ends = /** @type {Array<number>} */ (this.ends_);\n for (let i = 0, ii = ends.length; i < ii; ++i) {\n const end = ends[i];\n const midpoint = interpolatePoint(flatCoordinates, offset, end, 2, 0.5);\n extend(this.flatMidpoints_, midpoint);\n offset = end;\n }\n }\n return this.flatMidpoints_;\n }\n\n /**\n * Get the feature identifier. This is a stable identifier for the feature and\n * is set when reading data from a remote source.\n * @return {number|string|undefined} Id.\n * @api\n */\n getId() {\n return this.id_;\n }\n\n /**\n * @return {Array<number>} Flat coordinates.\n */\n getOrientedFlatCoordinates() {\n return this.flatCoordinates_;\n }\n\n /**\n * For API compatibility with {@link module:ol/Feature~Feature}, this method is useful when\n * determining the geometry type in style function (see {@link #getType}).\n * @return {RenderFeature} Feature.\n * @api\n */\n getGeometry() {\n return this;\n }\n\n /**\n * @param {number} squaredTolerance Squared tolerance.\n * @return {RenderFeature} Simplified geometry.\n */\n getSimplifiedGeometry(squaredTolerance) {\n return this;\n }\n\n /**\n * Get a transformed and simplified version of the geometry.\n * @param {number} squaredTolerance Squared tolerance.\n * @param {import(\"../proj.js\").TransformFunction} [transform] Optional transform function.\n * @return {RenderFeature} Simplified geometry.\n */\n simplifyTransformed(squaredTolerance, transform) {\n return this;\n }\n\n /**\n * Get the feature properties.\n * @return {Object<string, *>} Feature properties.\n * @api\n */\n getProperties() {\n return this.properties_;\n }\n\n /**\n * Get an object of all property names and values. This has the same behavior as getProperties,\n * but is here to conform with the {@link module:ol/Feature~Feature} interface.\n * @return {Object<string, *>?} Object.\n */\n getPropertiesInternal() {\n return this.properties_;\n }\n\n /**\n * @return {number} Stride.\n */\n getStride() {\n return this.stride_;\n }\n\n /**\n * @return {import('../style/Style.js').StyleFunction|undefined} Style\n */\n getStyleFunction() {\n return this.styleFunction;\n }\n\n /**\n * Get the type of this feature's geometry.\n * @return {Type} Geometry type.\n * @api\n */\n getType() {\n return this.type_;\n }\n\n /**\n * Transform geometry coordinates from tile pixel space to projected.\n *\n * @param {import(\"../proj.js\").ProjectionLike} projection The data projection\n */\n transform(projection) {\n projection = getProjection(projection);\n const pixelExtent = projection.getExtent();\n const projectedExtent = projection.getWorldExtent();\n if (pixelExtent && projectedExtent) {\n const scale = getHeight(projectedExtent) / getHeight(pixelExtent);\n composeTransform(\n tmpTransform,\n projectedExtent[0],\n projectedExtent[3],\n scale,\n -scale,\n 0,\n 0,\n 0,\n );\n transform2D(\n this.flatCoordinates_,\n 0,\n this.flatCoordinates_.length,\n 2,\n tmpTransform,\n this.flatCoordinates_,\n );\n }\n }\n\n /**\n * Apply a transform function to the coordinates of the geometry.\n * The geometry is modified in place.\n * If you do not want the geometry modified in place, first `clone()` it and\n * then use this function on the clone.\n * @param {import(\"../proj.js\").TransformFunction} transformFn Transform function.\n */\n applyTransform(transformFn) {\n transformFn(this.flatCoordinates_, this.flatCoordinates_, this.stride_);\n }\n\n /**\n * @return {RenderFeature} A cloned render feature.\n */\n clone() {\n return new RenderFeature(\n this.type_,\n this.flatCoordinates_.slice(),\n this.ends_?.slice(),\n this.stride_,\n Object.assign({}, this.properties_),\n this.id_,\n );\n }\n\n /**\n * @return {Array<number>|null} Ends.\n */\n getEnds() {\n return this.ends_;\n }\n\n /**\n * Add transform and resolution based geometry simplification to this instance.\n * @return {RenderFeature} This render feature.\n */\n enableSimplifyTransformed() {\n this.simplifyTransformed = memoizeOne((squaredTolerance, transform) => {\n if (squaredTolerance === this.squaredTolerance_) {\n return this.simplifiedGeometry_;\n }\n this.simplifiedGeometry_ = this.clone();\n if (transform) {\n this.simplifiedGeometry_.applyTransform(transform);\n }\n const simplifiedFlatCoordinates =\n this.simplifiedGeometry_.getFlatCoordinates();\n let simplifiedEnds;\n switch (this.type_) {\n case 'LineString':\n simplifiedFlatCoordinates.length = douglasPeucker(\n simplifiedFlatCoordinates,\n 0,\n this.simplifiedGeometry_.flatCoordinates_.length,\n this.simplifiedGeometry_.stride_,\n squaredTolerance,\n simplifiedFlatCoordinates,\n 0,\n );\n simplifiedEnds = [simplifiedFlatCoordinates.length];\n break;\n case 'MultiLineString':\n simplifiedEnds = [];\n simplifiedFlatCoordinates.length = douglasPeuckerArray(\n simplifiedFlatCoordinates,\n 0,\n this.simplifiedGeometry_.ends_,\n this.simplifiedGeometry_.stride_,\n squaredTolerance,\n simplifiedFlatCoordinates,\n 0,\n simplifiedEnds,\n );\n break;\n case 'Polygon':\n simplifiedEnds = [];\n simplifiedFlatCoordinates.length = quantizeArray(\n simplifiedFlatCoordinates,\n 0,\n this.simplifiedGeometry_.ends_,\n this.simplifiedGeometry_.stride_,\n Math.sqrt(squaredTolerance),\n simplifiedFlatCoordinates,\n 0,\n simplifiedEnds,\n );\n break;\n default:\n }\n if (simplifiedEnds) {\n this.simplifiedGeometry_ = new RenderFeature(\n this.type_,\n simplifiedFlatCoordinates,\n simplifiedEnds,\n 2,\n this.properties_,\n this.id_,\n );\n }\n this.squaredTolerance_ = squaredTolerance;\n return this.simplifiedGeometry_;\n });\n return this;\n }\n}\n\n/**\n * @return {Array<number>} Flat coordinates.\n */\nRenderFeature.prototype.getFlatCoordinates =\n RenderFeature.prototype.getOrientedFlatCoordinates;\n\n/**\n * Create a geometry from an `ol/render/Feature`\n * @param {RenderFeature} renderFeature\n * Render Feature\n * @return {Point|MultiPoint|LineString|MultiLineString|Polygon|MultiPolygon}\n * New geometry instance.\n * @api\n */\nexport function toGeometry(renderFeature) {\n const geometryType = renderFeature.getType();\n switch (geometryType) {\n case 'Point':\n return new Point(renderFeature.getFlatCoordinates());\n case 'MultiPoint':\n return new MultiPoint(renderFeature.getFlatCoordinates(), 'XY');\n case 'LineString':\n return new LineString(renderFeature.getFlatCoordinates(), 'XY');\n case 'MultiLineString':\n return new MultiLineString(\n renderFeature.getFlatCoordinates(),\n 'XY',\n /** @type {Array<number>} */ (renderFeature.getEnds()),\n );\n case 'Polygon':\n const flatCoordinates = renderFeature.getFlatCoordinates();\n const ends = renderFeature.getEnds();\n const endss = inflateEnds(flatCoordinates, ends);\n return endss.length > 1\n ? new MultiPolygon(flatCoordinates, 'XY', endss)\n : new Polygon(flatCoordinates, 'XY', ends);\n default:\n throw new Error('Invalid geometry type:' + geometryType);\n }\n}\n\n/**\n * Create an `ol/Feature` from an `ol/render/Feature`\n * @param {RenderFeature} renderFeature RenderFeature\n * @param {string} [geometryName] Geometry name to use\n * when creating the Feature.\n * @return {Feature} Newly constructed `ol/Feature` with properties,\n * geometry, and id copied over.\n * @api\n */\nexport function toFeature(renderFeature, geometryName) {\n const id = renderFeature.getId();\n const geometry = toGeometry(renderFeature);\n const properties = renderFeature.getProperties();\n const feature = new Feature();\n if (geometryName !== undefined) {\n feature.setGeometryName(geometryName);\n }\n feature.setGeometry(geometry);\n if (id !== undefined) {\n feature.setId(id);\n }\n feature.setProperties(properties, true);\n return feature;\n}\n\nexport default RenderFeature;\n"],"names":[],"sourceRoot":""}
|