@loaders.gl/3d-tiles 3.3.0-alpha.5 → 3.3.0-alpha.7
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/dist/dist.min.js +924 -1372
- package/dist/es5/bundle.js +0 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/cesium-ion-loader.js +7 -26
- package/dist/es5/cesium-ion-loader.js.map +1 -1
- package/dist/es5/index.js +14 -23
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/classes/helpers/tile-3d-accessor-utils.js +1 -5
- package/dist/es5/lib/classes/helpers/tile-3d-accessor-utils.js.map +1 -1
- package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js +1 -40
- package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js.map +1 -1
- package/dist/es5/lib/classes/tile-3d-batch-table.js +12 -59
- package/dist/es5/lib/classes/tile-3d-batch-table.js.map +1 -1
- package/dist/es5/lib/classes/tile-3d-feature-table.js +4 -23
- package/dist/es5/lib/classes/tile-3d-feature-table.js.map +1 -1
- package/dist/es5/lib/constants.js +3 -1
- package/dist/es5/lib/constants.js.map +1 -1
- package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js +7 -16
- package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js.map +1 -1
- package/dist/es5/lib/encoders/encode-3d-tile-composite.js +2 -11
- package/dist/es5/lib/encoders/encode-3d-tile-composite.js.map +1 -1
- package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js +10 -17
- package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js.map +1 -1
- package/dist/es5/lib/encoders/encode-3d-tile-point-cloud.js +8 -16
- package/dist/es5/lib/encoders/encode-3d-tile-point-cloud.js.map +1 -1
- package/dist/es5/lib/encoders/encode-3d-tile.js +0 -12
- package/dist/es5/lib/encoders/encode-3d-tile.js.map +1 -1
- package/dist/es5/lib/encoders/helpers/encode-3d-tile-header.js +6 -9
- package/dist/es5/lib/encoders/helpers/encode-3d-tile-header.js.map +1 -1
- package/dist/es5/lib/ion/ion.js +5 -46
- package/dist/es5/lib/ion/ion.js.map +1 -1
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js +2 -11
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js.map +1 -1
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-normals.js +0 -8
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-normals.js.map +1 -1
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-positions.js +0 -5
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-positions.js.map +1 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-implicit-tiles.js +17 -51
- package/dist/es5/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +1 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js +6 -25
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-header.js +1 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-header.js.map +1 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js +0 -38
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js.map +1 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js +6 -14
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js.map +1 -1
- package/dist/es5/lib/parsers/helpers/parse-utils.js +1 -3
- package/dist/es5/lib/parsers/helpers/parse-utils.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js +0 -16
- package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-composite.js +1 -11
- package/dist/es5/lib/parsers/parse-3d-tile-composite.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-gltf.js +0 -8
- package/dist/es5/lib/parsers/parse-3d-tile-gltf.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-header.js +2 -70
- package/dist/es5/lib/parsers/parse-3d-tile-header.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-instanced-model.js +5 -41
- package/dist/es5/lib/parsers/parse-3d-tile-instanced-model.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js +4 -71
- package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile.js +5 -28
- package/dist/es5/lib/parsers/parse-3d-tile.js.map +1 -1
- package/dist/es5/lib/utils/version.js +1 -1
- package/dist/es5/lib/utils/version.js.map +1 -1
- package/dist/es5/tile-3d-subtree-loader.js +0 -4
- package/dist/es5/tile-3d-subtree-loader.js.map +1 -1
- package/dist/es5/tile-3d-writer.js +0 -6
- package/dist/es5/tile-3d-writer.js.map +1 -1
- package/dist/es5/tiles-3d-loader.js +0 -29
- package/dist/es5/tiles-3d-loader.js.map +1 -1
- package/dist/es5/types.js.map +1 -1
- package/dist/esm/bundle.js +1 -1
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/cesium-ion-loader.js +9 -7
- package/dist/esm/cesium-ion-loader.js.map +1 -1
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/classes/helpers/tile-3d-accessor-utils.js +1 -0
- package/dist/esm/lib/classes/helpers/tile-3d-accessor-utils.js.map +1 -1
- package/dist/esm/lib/classes/tile-3d-batch-table-hierarchy.js +3 -40
- package/dist/esm/lib/classes/tile-3d-batch-table-hierarchy.js.map +1 -1
- package/dist/esm/lib/classes/tile-3d-batch-table.js +7 -67
- package/dist/esm/lib/classes/tile-3d-batch-table.js.map +1 -1
- package/dist/esm/lib/classes/tile-3d-feature-table.js +5 -26
- package/dist/esm/lib/classes/tile-3d-feature-table.js.map +1 -1
- package/dist/esm/lib/constants.js +3 -0
- package/dist/esm/lib/constants.js.map +1 -1
- package/dist/esm/lib/encoders/encode-3d-tile-batched-model.js +5 -3
- package/dist/esm/lib/encoders/encode-3d-tile-batched-model.js.map +1 -1
- package/dist/esm/lib/encoders/encode-3d-tile-composite.js +2 -2
- package/dist/esm/lib/encoders/encode-3d-tile-composite.js.map +1 -1
- package/dist/esm/lib/encoders/encode-3d-tile-instanced-model.js +5 -1
- package/dist/esm/lib/encoders/encode-3d-tile-instanced-model.js.map +1 -1
- package/dist/esm/lib/encoders/encode-3d-tile-point-cloud.js +4 -1
- package/dist/esm/lib/encoders/encode-3d-tile-point-cloud.js.map +1 -1
- package/dist/esm/lib/encoders/encode-3d-tile.js +2 -6
- package/dist/esm/lib/encoders/encode-3d-tile.js.map +1 -1
- package/dist/esm/lib/encoders/helpers/encode-3d-tile-header.js +3 -3
- package/dist/esm/lib/encoders/helpers/encode-3d-tile-header.js.map +1 -1
- package/dist/esm/lib/ion/ion.js +10 -8
- package/dist/esm/lib/ion/ion.js.map +1 -1
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-colors.js +1 -6
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-colors.js.map +1 -1
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-normals.js +0 -4
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-normals.js.map +1 -1
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-positions.js +1 -2
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-positions.js.map +1 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-implicit-tiles.js +2 -16
- package/dist/esm/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +1 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js +6 -9
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-header.js +5 -2
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-header.js.map +1 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-subtree.js +1 -13
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-subtree.js.map +1 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-tables.js +4 -7
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-tables.js.map +1 -1
- package/dist/esm/lib/parsers/helpers/parse-utils.js +6 -1
- package/dist/esm/lib/parsers/helpers/parse-utils.js.map +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile-batched-model.js +3 -4
- package/dist/esm/lib/parsers/parse-3d-tile-batched-model.js.map +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile-composite.js +5 -1
- package/dist/esm/lib/parsers/parse-3d-tile-composite.js.map +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile-gltf.js.map +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile-header.js +3 -26
- package/dist/esm/lib/parsers/parse-3d-tile-header.js.map +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile-instanced-model.js +7 -25
- package/dist/esm/lib/parsers/parse-3d-tile-instanced-model.js.map +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js +9 -37
- package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile.js +8 -6
- package/dist/esm/lib/parsers/parse-3d-tile.js.map +1 -1
- package/dist/esm/lib/utils/version.js +2 -1
- package/dist/esm/lib/utils/version.js.map +1 -1
- package/dist/esm/tile-3d-subtree-loader.js +1 -0
- package/dist/esm/tile-3d-subtree-loader.js.map +1 -1
- package/dist/esm/tile-3d-writer.js +1 -1
- package/dist/esm/tile-3d-writer.js.map +1 -1
- package/dist/esm/tiles-3d-loader.js +1 -8
- package/dist/esm/tiles-3d-loader.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/lib/classes/helpers/tile-3d-accessor-utils.d.ts +1 -1
- package/dist/lib/classes/tile-3d-batch-table.d.ts +1 -1
- package/package.json +7 -7
|
@@ -1,30 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
-
|
|
12
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
-
|
|
18
11
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
19
|
-
|
|
20
12
|
var _tile3dAccessorUtils = require("./helpers/tile-3d-accessor-utils");
|
|
21
|
-
|
|
22
13
|
var _tile3dBatchTableHierarchy = require("./tile-3d-batch-table-hierarchy");
|
|
23
14
|
|
|
24
15
|
function defined(x) {
|
|
25
16
|
return x !== undefined && x !== null;
|
|
26
17
|
}
|
|
27
|
-
|
|
28
18
|
var clone = function clone(x, y) {
|
|
29
19
|
return x;
|
|
30
20
|
};
|
|
@@ -36,9 +26,9 @@ var IGNORED_PROPERTY_FIELDS = {
|
|
|
36
26
|
};
|
|
37
27
|
|
|
38
28
|
var Tile3DBatchTableParser = function () {
|
|
29
|
+
|
|
39
30
|
function Tile3DBatchTableParser(json, binary, featureCount) {
|
|
40
31
|
var _this$json;
|
|
41
|
-
|
|
42
32
|
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
43
33
|
(0, _classCallCheck2.default)(this, Tile3DBatchTableParser);
|
|
44
34
|
(0, _defineProperty2.default)(this, "json", void 0);
|
|
@@ -53,21 +43,19 @@ var Tile3DBatchTableParser = function () {
|
|
|
53
43
|
this.binary = binary;
|
|
54
44
|
this.featureCount = featureCount;
|
|
55
45
|
this._extensions = ((_this$json = this.json) === null || _this$json === void 0 ? void 0 : _this$json.extensions) || {};
|
|
56
|
-
this._properties = {};
|
|
57
46
|
|
|
47
|
+
this._properties = {};
|
|
58
48
|
for (var propertyName in this.json) {
|
|
59
49
|
if (!IGNORED_PROPERTY_FIELDS[propertyName]) {
|
|
60
50
|
this._properties[propertyName] = this.json[propertyName];
|
|
61
51
|
}
|
|
62
52
|
}
|
|
63
|
-
|
|
64
53
|
this._binaryProperties = this._initializeBinaryProperties();
|
|
65
54
|
|
|
66
55
|
if (options['3DTILES_batch_table_hierarchy']) {
|
|
67
56
|
this._hierarchy = (0, _tile3dBatchTableHierarchy.initializeHierarchy)(this, this.json, this.binary);
|
|
68
57
|
}
|
|
69
58
|
}
|
|
70
|
-
|
|
71
59
|
(0, _createClass2.default)(Tile3DBatchTableParser, [{
|
|
72
60
|
key: "getExtension",
|
|
73
61
|
value: function getExtension(extensionName) {
|
|
@@ -82,7 +70,6 @@ var Tile3DBatchTableParser = function () {
|
|
|
82
70
|
key: "isClass",
|
|
83
71
|
value: function isClass(batchId, className) {
|
|
84
72
|
this._checkBatchId(batchId);
|
|
85
|
-
|
|
86
73
|
(0, _loaderUtils.assert)(typeof className === 'string', className);
|
|
87
74
|
|
|
88
75
|
if (this._hierarchy) {
|
|
@@ -93,7 +80,6 @@ var Tile3DBatchTableParser = function () {
|
|
|
93
80
|
});
|
|
94
81
|
return defined(result);
|
|
95
82
|
}
|
|
96
|
-
|
|
97
83
|
return false;
|
|
98
84
|
}
|
|
99
85
|
}, {
|
|
@@ -112,14 +98,12 @@ var Tile3DBatchTableParser = function () {
|
|
|
112
98
|
var instanceClass = this._hierarchy.classes[classId];
|
|
113
99
|
return instanceClass.name;
|
|
114
100
|
}
|
|
115
|
-
|
|
116
101
|
return undefined;
|
|
117
102
|
}
|
|
118
103
|
}, {
|
|
119
104
|
key: "hasProperty",
|
|
120
105
|
value: function hasProperty(batchId, name) {
|
|
121
106
|
this._checkBatchId(batchId);
|
|
122
|
-
|
|
123
107
|
(0, _loaderUtils.assert)(typeof name === 'string', name);
|
|
124
108
|
return defined(this._properties[name]) || this._hasPropertyInHierarchy(batchId, name);
|
|
125
109
|
}
|
|
@@ -127,67 +111,50 @@ var Tile3DBatchTableParser = function () {
|
|
|
127
111
|
key: "getPropertyNames",
|
|
128
112
|
value: function getPropertyNames(batchId, results) {
|
|
129
113
|
var _results;
|
|
130
|
-
|
|
131
114
|
this._checkBatchId(batchId);
|
|
132
|
-
|
|
133
115
|
results = defined(results) ? results : [];
|
|
134
116
|
results.length = 0;
|
|
135
117
|
var propertyNames = Object.keys(this._properties);
|
|
136
|
-
|
|
137
|
-
(_results = results).push.apply(_results, (0, _toConsumableArray2.default)(propertyNames));
|
|
138
|
-
|
|
118
|
+
(_results = results).push.apply(_results, propertyNames);
|
|
139
119
|
if (this._hierarchy) {
|
|
140
120
|
this._getPropertyNamesInHierarchy(batchId, results);
|
|
141
121
|
}
|
|
142
|
-
|
|
143
122
|
return results;
|
|
144
123
|
}
|
|
145
124
|
}, {
|
|
146
125
|
key: "getProperty",
|
|
147
126
|
value: function getProperty(batchId, name) {
|
|
148
127
|
this._checkBatchId(batchId);
|
|
149
|
-
|
|
150
128
|
(0, _loaderUtils.assert)(typeof name === 'string', name);
|
|
151
|
-
|
|
152
129
|
if (this._binaryProperties) {
|
|
153
130
|
var binaryProperty = this._binaryProperties[name];
|
|
154
|
-
|
|
155
131
|
if (defined(binaryProperty)) {
|
|
156
132
|
return this._getBinaryProperty(binaryProperty, batchId);
|
|
157
133
|
}
|
|
158
134
|
}
|
|
159
|
-
|
|
160
135
|
var propertyValues = this._properties[name];
|
|
161
|
-
|
|
162
136
|
if (defined(propertyValues)) {
|
|
163
137
|
return clone(propertyValues[batchId], true);
|
|
164
138
|
}
|
|
165
139
|
|
|
166
140
|
if (this._hierarchy) {
|
|
167
141
|
var hierarchyProperty = this._getHierarchyProperty(batchId, name);
|
|
168
|
-
|
|
169
142
|
if (defined(hierarchyProperty)) {
|
|
170
143
|
return hierarchyProperty;
|
|
171
144
|
}
|
|
172
145
|
}
|
|
173
|
-
|
|
174
146
|
return undefined;
|
|
175
147
|
}
|
|
176
148
|
}, {
|
|
177
149
|
key: "setProperty",
|
|
178
150
|
value: function setProperty(batchId, name, value) {
|
|
179
151
|
var featureCount = this.featureCount;
|
|
180
|
-
|
|
181
152
|
this._checkBatchId(batchId);
|
|
182
|
-
|
|
183
153
|
(0, _loaderUtils.assert)(typeof name === 'string', name);
|
|
184
|
-
|
|
185
154
|
if (this._binaryProperties) {
|
|
186
155
|
var binaryProperty = this._binaryProperties[name];
|
|
187
|
-
|
|
188
156
|
if (binaryProperty) {
|
|
189
157
|
this._setBinaryProperty(binaryProperty, batchId, value);
|
|
190
|
-
|
|
191
158
|
return;
|
|
192
159
|
}
|
|
193
160
|
}
|
|
@@ -197,21 +164,20 @@ var Tile3DBatchTableParser = function () {
|
|
|
197
164
|
return;
|
|
198
165
|
}
|
|
199
166
|
}
|
|
200
|
-
|
|
201
167
|
var propertyValues = this._properties[name];
|
|
202
|
-
|
|
203
168
|
if (!defined(propertyValues)) {
|
|
204
169
|
this._properties[name] = new Array(featureCount);
|
|
205
170
|
propertyValues = this._properties[name];
|
|
206
171
|
}
|
|
207
|
-
|
|
208
172
|
propertyValues[batchId] = clone(value, true);
|
|
209
173
|
}
|
|
174
|
+
|
|
210
175
|
}, {
|
|
211
176
|
key: "_checkBatchId",
|
|
212
|
-
value:
|
|
213
|
-
var valid = batchId >= 0 && batchId < this.featureCount;
|
|
177
|
+
value:
|
|
214
178
|
|
|
179
|
+
function _checkBatchId(batchId) {
|
|
180
|
+
var valid = batchId >= 0 && batchId < this.featureCount;
|
|
215
181
|
if (!valid) {
|
|
216
182
|
throw new Error('batchId not in range [0, featureCount - 1].');
|
|
217
183
|
}
|
|
@@ -230,18 +196,14 @@ var Tile3DBatchTableParser = function () {
|
|
|
230
196
|
key: "_initializeBinaryProperties",
|
|
231
197
|
value: function _initializeBinaryProperties() {
|
|
232
198
|
var binaryProperties = null;
|
|
233
|
-
|
|
234
199
|
for (var name in this._properties) {
|
|
235
200
|
var property = this._properties[name];
|
|
236
|
-
|
|
237
201
|
var binaryProperty = this._initializeBinaryProperty(name, property);
|
|
238
|
-
|
|
239
202
|
if (binaryProperty) {
|
|
240
203
|
binaryProperties = binaryProperties || {};
|
|
241
204
|
binaryProperties[name] = binaryProperty;
|
|
242
205
|
}
|
|
243
206
|
}
|
|
244
|
-
|
|
245
207
|
return binaryProperties;
|
|
246
208
|
}
|
|
247
209
|
}, {
|
|
@@ -252,6 +214,7 @@ var Tile3DBatchTableParser = function () {
|
|
|
252
214
|
(0, _loaderUtils.assert)(this.binary, "Property ".concat(name, " requires a batch table binary."));
|
|
253
215
|
(0, _loaderUtils.assert)(tile3DAccessor.type, "Property ".concat(name, " requires a type."));
|
|
254
216
|
var accessor = (0, _tile3dAccessorUtils.createTypedArrayFromAccessor)(tile3DAccessor, this.binary.buffer, this.binary.byteOffset | 0, this.featureCount);
|
|
217
|
+
|
|
255
218
|
return {
|
|
256
219
|
typedArray: accessor.values,
|
|
257
220
|
componentCount: accessor.size,
|
|
@@ -259,16 +222,17 @@ var Tile3DBatchTableParser = function () {
|
|
|
259
222
|
pack: accessor.packer
|
|
260
223
|
};
|
|
261
224
|
}
|
|
262
|
-
|
|
263
225
|
return null;
|
|
264
226
|
}
|
|
227
|
+
|
|
265
228
|
}, {
|
|
266
229
|
key: "_hasPropertyInHierarchy",
|
|
267
|
-
value:
|
|
230
|
+
value:
|
|
231
|
+
|
|
232
|
+
function _hasPropertyInHierarchy(batchId, name) {
|
|
268
233
|
if (!this._hierarchy) {
|
|
269
234
|
return false;
|
|
270
235
|
}
|
|
271
|
-
|
|
272
236
|
var result = (0, _tile3dBatchTableHierarchy.traverseHierarchy)(this._hierarchy, batchId, function (hierarchy, instanceIndex) {
|
|
273
237
|
var classId = hierarchy.classIds[instanceIndex];
|
|
274
238
|
var instances = hierarchy.classes[classId].instances;
|
|
@@ -282,7 +246,6 @@ var Tile3DBatchTableParser = function () {
|
|
|
282
246
|
(0, _tile3dBatchTableHierarchy.traverseHierarchy)(this._hierarchy, batchId, function (hierarchy, instanceIndex) {
|
|
283
247
|
var classId = hierarchy.classIds[instanceIndex];
|
|
284
248
|
var instances = hierarchy.classes[classId].instances;
|
|
285
|
-
|
|
286
249
|
for (var name in instances) {
|
|
287
250
|
if (instances.hasOwnProperty(name)) {
|
|
288
251
|
if (results.indexOf(name) === -1) {
|
|
@@ -296,21 +259,17 @@ var Tile3DBatchTableParser = function () {
|
|
|
296
259
|
key: "_getHierarchyProperty",
|
|
297
260
|
value: function _getHierarchyProperty(batchId, name) {
|
|
298
261
|
var _this = this;
|
|
299
|
-
|
|
300
262
|
return (0, _tile3dBatchTableHierarchy.traverseHierarchy)(this._hierarchy, batchId, function (hierarchy, instanceIndex) {
|
|
301
263
|
var classId = hierarchy.classIds[instanceIndex];
|
|
302
264
|
var instanceClass = hierarchy.classes[classId];
|
|
303
265
|
var indexInClass = hierarchy.classIndexes[instanceIndex];
|
|
304
266
|
var propertyValues = instanceClass.instances[name];
|
|
305
|
-
|
|
306
267
|
if (defined(propertyValues)) {
|
|
307
268
|
if (defined(propertyValues.typedArray)) {
|
|
308
269
|
return _this._getBinaryProperty(propertyValues, indexInClass);
|
|
309
270
|
}
|
|
310
|
-
|
|
311
271
|
return clone(propertyValues[indexInClass], true);
|
|
312
272
|
}
|
|
313
|
-
|
|
314
273
|
return null;
|
|
315
274
|
});
|
|
316
275
|
}
|
|
@@ -318,25 +277,20 @@ var Tile3DBatchTableParser = function () {
|
|
|
318
277
|
key: "_setHierarchyProperty",
|
|
319
278
|
value: function _setHierarchyProperty(batchTable, batchId, name, value) {
|
|
320
279
|
var _this2 = this;
|
|
321
|
-
|
|
322
280
|
var result = (0, _tile3dBatchTableHierarchy.traverseHierarchy)(this._hierarchy, batchId, function (hierarchy, instanceIndex) {
|
|
323
281
|
var classId = hierarchy.classIds[instanceIndex];
|
|
324
282
|
var instanceClass = hierarchy.classes[classId];
|
|
325
283
|
var indexInClass = hierarchy.classIndexes[instanceIndex];
|
|
326
284
|
var propertyValues = instanceClass.instances[name];
|
|
327
|
-
|
|
328
285
|
if (defined(propertyValues)) {
|
|
329
286
|
(0, _loaderUtils.assert)(instanceIndex === batchId, "Inherited property \"".concat(name, "\" is read-only."));
|
|
330
|
-
|
|
331
287
|
if (defined(propertyValues.typedArray)) {
|
|
332
288
|
_this2._setBinaryProperty(propertyValues, indexInClass, value);
|
|
333
289
|
} else {
|
|
334
290
|
propertyValues[indexInClass] = clone(value, true);
|
|
335
291
|
}
|
|
336
|
-
|
|
337
292
|
return true;
|
|
338
293
|
}
|
|
339
|
-
|
|
340
294
|
return false;
|
|
341
295
|
});
|
|
342
296
|
return defined(result);
|
|
@@ -344,6 +298,5 @@ var Tile3DBatchTableParser = function () {
|
|
|
344
298
|
}]);
|
|
345
299
|
return Tile3DBatchTableParser;
|
|
346
300
|
}();
|
|
347
|
-
|
|
348
301
|
exports.default = Tile3DBatchTableParser;
|
|
349
302
|
//# sourceMappingURL=tile-3d-batch-table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/classes/tile-3d-batch-table.ts"],"names":["defined","x","undefined","clone","y","IGNORED_PROPERTY_FIELDS","HIERARCHY","extensions","extras","Tile3DBatchTableParser","json","binary","featureCount","options","_extensions","_properties","propertyName","_binaryProperties","_initializeBinaryProperties","_hierarchy","extensionName","batchId","className","_checkBatchId","result","hierarchy","instanceIndex","classId","classIds","instanceClass","classes","name","getExactClassName","_hasPropertyInHierarchy","results","length","propertyNames","Object","keys","push","_getPropertyNamesInHierarchy","binaryProperty","_getBinaryProperty","propertyValues","hierarchyProperty","_getHierarchyProperty","value","_setBinaryProperty","_setHierarchyProperty","Array","valid","Error","index","unpack","typedArray","pack","binaryProperties","property","_initializeBinaryProperty","tile3DAccessor","type","accessor","buffer","byteOffset","values","componentCount","size","unpacker","packer","instances","hasOwnProperty","indexOf","indexInClass","classIndexes","batchTable"],"mappings":"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","sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\nimport {assert} from '@loaders.gl/loader-utils';\n\nimport {createTypedArrayFromAccessor} from './helpers/tile-3d-accessor-utils';\nimport {initializeHierarchy, traverseHierarchy} from './tile-3d-batch-table-hierarchy';\n\nfunction defined(x) {\n return x !== undefined && x !== null;\n}\n\nconst clone = (x, y) => x;\n\n// These top level fields in the batch table json are not properties\nconst IGNORED_PROPERTY_FIELDS = {\n HIERARCHY: true, // Deprecated HIERARCHY property\n extensions: true,\n extras: true\n};\n\n// The size of this array equals the maximum instance count among all loaded tiles, which has the potential to be large.\nexport default class Tile3DBatchTableParser {\n json;\n binary;\n featureCount;\n _extensions;\n // Copy all top-level property fields from the json object, ignoring special fields\n _properties;\n _binaryProperties;\n // TODO: hierarchy support is only partially implemented and not tested\n _hierarchy;\n\n constructor(json, binary, featureCount, options = {}) {\n assert(featureCount >= 0);\n this.json = json || {};\n this.binary = binary;\n this.featureCount = featureCount;\n\n this._extensions = this.json?.extensions || {};\n\n // Copy all top-level property fields from the json object, ignoring special fields\n this._properties = {};\n for (const propertyName in this.json) {\n if (!IGNORED_PROPERTY_FIELDS[propertyName]) {\n this._properties[propertyName] = this.json[propertyName];\n }\n }\n\n this._binaryProperties = this._initializeBinaryProperties();\n\n // TODO: hierarchy support is only partially implemented and not tested\n if (options['3DTILES_batch_table_hierarchy']) {\n this._hierarchy = initializeHierarchy(this, this.json, this.binary);\n }\n }\n\n getExtension(extensionName) {\n return this.json && this.json.extensions && this.json.extensions[extensionName];\n }\n\n memorySizeInBytes(): number {\n return 0;\n }\n\n isClass(batchId, className: string): boolean {\n this._checkBatchId(batchId);\n assert(typeof className === 'string', className);\n\n // extension: 3DTILES_batch_table_hierarchy\n if (this._hierarchy) {\n // PERFORMANCE_IDEA : cache results in the ancestor classes\n // to speed up this check if this area becomes a hotspot\n // PERFORMANCE_IDEA : treat class names as integers for faster comparisons\n const result = traverseHierarchy(this._hierarchy, batchId, (hierarchy, instanceIndex) => {\n const classId = hierarchy.classIds[instanceIndex];\n const instanceClass = hierarchy.classes[classId];\n return instanceClass.name === className;\n });\n return defined(result);\n }\n\n return false;\n }\n\n isExactClass(batchId, className) {\n assert(typeof className === 'string', className);\n\n return this.getExactClassName(batchId) === className;\n }\n\n getExactClassName(batchId) {\n this._checkBatchId(batchId);\n\n // extension: 3DTILES_batch_table_hierarchy\n if (this._hierarchy) {\n const classId = this._hierarchy.classIds[batchId];\n const instanceClass = this._hierarchy.classes[classId];\n return instanceClass.name;\n }\n\n return undefined;\n }\n\n hasProperty(batchId, name) {\n this._checkBatchId(batchId);\n assert(typeof name === 'string', name);\n\n return defined(this._properties[name]) || this._hasPropertyInHierarchy(batchId, name);\n }\n\n getPropertyNames(batchId, results) {\n this._checkBatchId(batchId);\n\n results = defined(results) ? results : [];\n results.length = 0;\n\n const propertyNames = Object.keys(this._properties);\n results.push(...propertyNames);\n\n if (this._hierarchy) {\n this._getPropertyNamesInHierarchy(batchId, results);\n }\n\n return results;\n }\n\n getProperty(batchId, name) {\n this._checkBatchId(batchId);\n assert(typeof name === 'string', name);\n\n if (this._binaryProperties) {\n const binaryProperty = this._binaryProperties[name];\n if (defined(binaryProperty)) {\n return this._getBinaryProperty(binaryProperty, batchId);\n }\n }\n\n const propertyValues = this._properties[name];\n if (defined(propertyValues)) {\n return clone(propertyValues[batchId], true);\n }\n\n // EXTENSION: 3DTILES_batch_table_hierarchy\n if (this._hierarchy) {\n const hierarchyProperty = this._getHierarchyProperty(batchId, name);\n if (defined(hierarchyProperty)) {\n return hierarchyProperty;\n }\n }\n\n return undefined;\n }\n\n setProperty(batchId, name, value) {\n const featureCount = this.featureCount;\n\n this._checkBatchId(batchId);\n assert(typeof name === 'string', name);\n\n if (this._binaryProperties) {\n const binaryProperty = this._binaryProperties[name];\n if (binaryProperty) {\n this._setBinaryProperty(binaryProperty, batchId, value);\n return;\n }\n }\n\n // EXTENSION: 3DTILES_batch_table_hierarchy\n if (this._hierarchy) {\n if (this._setHierarchyProperty(this, batchId, name, value)) {\n return;\n }\n }\n\n let propertyValues = this._properties[name];\n if (!defined(propertyValues)) {\n // Property does not exist. Create it.\n this._properties[name] = new Array(featureCount);\n propertyValues = this._properties[name];\n }\n\n propertyValues[batchId] = clone(value, true);\n }\n\n // PRIVATE METHODS\n\n _checkBatchId(batchId) {\n const valid = batchId >= 0 && batchId < this.featureCount;\n if (!valid) {\n throw new Error('batchId not in range [0, featureCount - 1].');\n }\n }\n\n _getBinaryProperty(binaryProperty, index) {\n return binaryProperty.unpack(binaryProperty.typedArray, index);\n }\n\n _setBinaryProperty(binaryProperty, index, value) {\n binaryProperty.pack(value, binaryProperty.typedArray, index);\n }\n\n _initializeBinaryProperties() {\n let binaryProperties: Record<string, any> | null = null;\n for (const name in this._properties) {\n const property = this._properties[name];\n const binaryProperty = this._initializeBinaryProperty(name, property);\n // Store any information needed to access the binary data, including the typed array,\n // componentCount (e.g. a VEC4 would be 4), and the type used to pack and unpack (e.g. Cartesian4).\n if (binaryProperty) {\n binaryProperties = binaryProperties || {};\n binaryProperties[name] = binaryProperty;\n }\n }\n return binaryProperties;\n }\n\n _initializeBinaryProperty(name, property) {\n if ('byteOffset' in property) {\n // This is a binary property\n const tile3DAccessor = property;\n\n assert(this.binary, `Property ${name} requires a batch table binary.`);\n assert(tile3DAccessor.type, `Property ${name} requires a type.`);\n\n const accessor = createTypedArrayFromAccessor(\n tile3DAccessor,\n this.binary.buffer,\n this.binary.byteOffset | 0,\n this.featureCount\n );\n\n // Store any information needed to access the binary data, including the typed array,\n // componentCount (e.g. a VEC4 would be 4), and the type used to pack and unpack (e.g. Cartesian4).\n return {\n typedArray: accessor.values,\n componentCount: accessor.size,\n unpack: accessor.unpacker,\n pack: accessor.packer\n };\n }\n\n return null;\n }\n\n // EXTENSION SUPPORT: 3DTILES_batch_table_hierarchy\n\n _hasPropertyInHierarchy(batchId, name) {\n if (!this._hierarchy) {\n return false;\n }\n\n const result = traverseHierarchy(this._hierarchy, batchId, (hierarchy, instanceIndex) => {\n const classId = hierarchy.classIds[instanceIndex];\n const instances = hierarchy.classes[classId].instances;\n return defined(instances[name]);\n });\n\n return defined(result);\n }\n\n _getPropertyNamesInHierarchy(batchId, results) {\n traverseHierarchy(this._hierarchy, batchId, (hierarchy, instanceIndex) => {\n const classId = hierarchy.classIds[instanceIndex];\n const instances = hierarchy.classes[classId].instances;\n for (const name in instances) {\n if (instances.hasOwnProperty(name)) {\n if (results.indexOf(name) === -1) {\n results.push(name);\n }\n }\n }\n });\n }\n\n _getHierarchyProperty(batchId, name) {\n return traverseHierarchy(this._hierarchy, batchId, (hierarchy, instanceIndex) => {\n const classId = hierarchy.classIds[instanceIndex];\n const instanceClass = hierarchy.classes[classId];\n const indexInClass = hierarchy.classIndexes[instanceIndex];\n const propertyValues = instanceClass.instances[name];\n if (defined(propertyValues)) {\n if (defined(propertyValues.typedArray)) {\n return this._getBinaryProperty(propertyValues, indexInClass);\n }\n return clone(propertyValues[indexInClass], true);\n }\n return null;\n });\n }\n\n _setHierarchyProperty(batchTable, batchId, name, value) {\n const result = traverseHierarchy(this._hierarchy, batchId, (hierarchy, instanceIndex) => {\n const classId = hierarchy.classIds[instanceIndex];\n const instanceClass = hierarchy.classes[classId];\n const indexInClass = hierarchy.classIndexes[instanceIndex];\n const propertyValues = instanceClass.instances[name];\n if (defined(propertyValues)) {\n assert(instanceIndex === batchId, `Inherited property \"${name}\" is read-only.`);\n if (defined(propertyValues.typedArray)) {\n this._setBinaryProperty(propertyValues, indexInClass, value);\n } else {\n propertyValues[indexInClass] = clone(value, true);\n }\n return true;\n }\n return false;\n });\n return defined(result);\n }\n}\n"],"file":"tile-3d-batch-table.js"}
|
|
1
|
+
{"version":3,"file":"tile-3d-batch-table.js","names":["defined","x","undefined","clone","y","IGNORED_PROPERTY_FIELDS","HIERARCHY","extensions","extras","Tile3DBatchTableParser","json","binary","featureCount","options","assert","_extensions","_properties","propertyName","_binaryProperties","_initializeBinaryProperties","_hierarchy","initializeHierarchy","extensionName","batchId","className","_checkBatchId","result","traverseHierarchy","hierarchy","instanceIndex","classId","classIds","instanceClass","classes","name","getExactClassName","_hasPropertyInHierarchy","results","length","propertyNames","Object","keys","push","_getPropertyNamesInHierarchy","binaryProperty","_getBinaryProperty","propertyValues","hierarchyProperty","_getHierarchyProperty","value","_setBinaryProperty","_setHierarchyProperty","Array","valid","Error","index","unpack","typedArray","pack","binaryProperties","property","_initializeBinaryProperty","tile3DAccessor","type","accessor","createTypedArrayFromAccessor","buffer","byteOffset","values","componentCount","size","unpacker","packer","instances","hasOwnProperty","indexOf","indexInClass","classIndexes","batchTable"],"sources":["../../../../src/lib/classes/tile-3d-batch-table.ts"],"sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\nimport {assert} from '@loaders.gl/loader-utils';\n\nimport {createTypedArrayFromAccessor} from './helpers/tile-3d-accessor-utils';\nimport {initializeHierarchy, traverseHierarchy} from './tile-3d-batch-table-hierarchy';\n\nfunction defined(x) {\n return x !== undefined && x !== null;\n}\n\nconst clone = (x, y) => x;\n\n// These top level fields in the batch table json are not properties\nconst IGNORED_PROPERTY_FIELDS = {\n HIERARCHY: true, // Deprecated HIERARCHY property\n extensions: true,\n extras: true\n};\n\n// The size of this array equals the maximum instance count among all loaded tiles, which has the potential to be large.\nexport default class Tile3DBatchTableParser {\n json;\n binary;\n featureCount;\n _extensions;\n // Copy all top-level property fields from the json object, ignoring special fields\n _properties;\n _binaryProperties;\n // TODO: hierarchy support is only partially implemented and not tested\n _hierarchy;\n\n constructor(json, binary, featureCount, options = {}) {\n assert(featureCount >= 0);\n this.json = json || {};\n this.binary = binary;\n this.featureCount = featureCount;\n\n this._extensions = this.json?.extensions || {};\n\n // Copy all top-level property fields from the json object, ignoring special fields\n this._properties = {};\n for (const propertyName in this.json) {\n if (!IGNORED_PROPERTY_FIELDS[propertyName]) {\n this._properties[propertyName] = this.json[propertyName];\n }\n }\n\n this._binaryProperties = this._initializeBinaryProperties();\n\n // TODO: hierarchy support is only partially implemented and not tested\n if (options['3DTILES_batch_table_hierarchy']) {\n this._hierarchy = initializeHierarchy(this, this.json, this.binary);\n }\n }\n\n getExtension(extensionName) {\n return this.json && this.json.extensions && this.json.extensions[extensionName];\n }\n\n memorySizeInBytes(): number {\n return 0;\n }\n\n isClass(batchId, className: string): boolean {\n this._checkBatchId(batchId);\n assert(typeof className === 'string', className);\n\n // extension: 3DTILES_batch_table_hierarchy\n if (this._hierarchy) {\n // PERFORMANCE_IDEA : cache results in the ancestor classes\n // to speed up this check if this area becomes a hotspot\n // PERFORMANCE_IDEA : treat class names as integers for faster comparisons\n const result = traverseHierarchy(this._hierarchy, batchId, (hierarchy, instanceIndex) => {\n const classId = hierarchy.classIds[instanceIndex];\n const instanceClass = hierarchy.classes[classId];\n return instanceClass.name === className;\n });\n return defined(result);\n }\n\n return false;\n }\n\n isExactClass(batchId, className) {\n assert(typeof className === 'string', className);\n\n return this.getExactClassName(batchId) === className;\n }\n\n getExactClassName(batchId) {\n this._checkBatchId(batchId);\n\n // extension: 3DTILES_batch_table_hierarchy\n if (this._hierarchy) {\n const classId = this._hierarchy.classIds[batchId];\n const instanceClass = this._hierarchy.classes[classId];\n return instanceClass.name;\n }\n\n return undefined;\n }\n\n hasProperty(batchId, name) {\n this._checkBatchId(batchId);\n assert(typeof name === 'string', name);\n\n return defined(this._properties[name]) || this._hasPropertyInHierarchy(batchId, name);\n }\n\n getPropertyNames(batchId, results) {\n this._checkBatchId(batchId);\n\n results = defined(results) ? results : [];\n results.length = 0;\n\n const propertyNames = Object.keys(this._properties);\n results.push(...propertyNames);\n\n if (this._hierarchy) {\n this._getPropertyNamesInHierarchy(batchId, results);\n }\n\n return results;\n }\n\n getProperty(batchId, name) {\n this._checkBatchId(batchId);\n assert(typeof name === 'string', name);\n\n if (this._binaryProperties) {\n const binaryProperty = this._binaryProperties[name];\n if (defined(binaryProperty)) {\n return this._getBinaryProperty(binaryProperty, batchId);\n }\n }\n\n const propertyValues = this._properties[name];\n if (defined(propertyValues)) {\n return clone(propertyValues[batchId], true);\n }\n\n // EXTENSION: 3DTILES_batch_table_hierarchy\n if (this._hierarchy) {\n const hierarchyProperty = this._getHierarchyProperty(batchId, name);\n if (defined(hierarchyProperty)) {\n return hierarchyProperty;\n }\n }\n\n return undefined;\n }\n\n setProperty(batchId, name, value) {\n const featureCount = this.featureCount;\n\n this._checkBatchId(batchId);\n assert(typeof name === 'string', name);\n\n if (this._binaryProperties) {\n const binaryProperty = this._binaryProperties[name];\n if (binaryProperty) {\n this._setBinaryProperty(binaryProperty, batchId, value);\n return;\n }\n }\n\n // EXTENSION: 3DTILES_batch_table_hierarchy\n if (this._hierarchy) {\n if (this._setHierarchyProperty(this, batchId, name, value)) {\n return;\n }\n }\n\n let propertyValues = this._properties[name];\n if (!defined(propertyValues)) {\n // Property does not exist. Create it.\n this._properties[name] = new Array(featureCount);\n propertyValues = this._properties[name];\n }\n\n propertyValues[batchId] = clone(value, true);\n }\n\n // PRIVATE METHODS\n\n _checkBatchId(batchId) {\n const valid = batchId >= 0 && batchId < this.featureCount;\n if (!valid) {\n throw new Error('batchId not in range [0, featureCount - 1].');\n }\n }\n\n _getBinaryProperty(binaryProperty, index) {\n return binaryProperty.unpack(binaryProperty.typedArray, index);\n }\n\n _setBinaryProperty(binaryProperty, index, value) {\n binaryProperty.pack(value, binaryProperty.typedArray, index);\n }\n\n _initializeBinaryProperties() {\n let binaryProperties: Record<string, any> | null = null;\n for (const name in this._properties) {\n const property = this._properties[name];\n const binaryProperty = this._initializeBinaryProperty(name, property);\n // Store any information needed to access the binary data, including the typed array,\n // componentCount (e.g. a VEC4 would be 4), and the type used to pack and unpack (e.g. Cartesian4).\n if (binaryProperty) {\n binaryProperties = binaryProperties || {};\n binaryProperties[name] = binaryProperty;\n }\n }\n return binaryProperties;\n }\n\n _initializeBinaryProperty(name, property) {\n if ('byteOffset' in property) {\n // This is a binary property\n const tile3DAccessor = property;\n\n assert(this.binary, `Property ${name} requires a batch table binary.`);\n assert(tile3DAccessor.type, `Property ${name} requires a type.`);\n\n const accessor = createTypedArrayFromAccessor(\n tile3DAccessor,\n this.binary.buffer,\n this.binary.byteOffset | 0,\n this.featureCount\n );\n\n // Store any information needed to access the binary data, including the typed array,\n // componentCount (e.g. a VEC4 would be 4), and the type used to pack and unpack (e.g. Cartesian4).\n return {\n typedArray: accessor.values,\n componentCount: accessor.size,\n unpack: accessor.unpacker,\n pack: accessor.packer\n };\n }\n\n return null;\n }\n\n // EXTENSION SUPPORT: 3DTILES_batch_table_hierarchy\n\n _hasPropertyInHierarchy(batchId, name) {\n if (!this._hierarchy) {\n return false;\n }\n\n const result = traverseHierarchy(this._hierarchy, batchId, (hierarchy, instanceIndex) => {\n const classId = hierarchy.classIds[instanceIndex];\n const instances = hierarchy.classes[classId].instances;\n return defined(instances[name]);\n });\n\n return defined(result);\n }\n\n _getPropertyNamesInHierarchy(batchId, results) {\n traverseHierarchy(this._hierarchy, batchId, (hierarchy, instanceIndex) => {\n const classId = hierarchy.classIds[instanceIndex];\n const instances = hierarchy.classes[classId].instances;\n for (const name in instances) {\n if (instances.hasOwnProperty(name)) {\n if (results.indexOf(name) === -1) {\n results.push(name);\n }\n }\n }\n });\n }\n\n _getHierarchyProperty(batchId, name) {\n return traverseHierarchy(this._hierarchy, batchId, (hierarchy, instanceIndex) => {\n const classId = hierarchy.classIds[instanceIndex];\n const instanceClass = hierarchy.classes[classId];\n const indexInClass = hierarchy.classIndexes[instanceIndex];\n const propertyValues = instanceClass.instances[name];\n if (defined(propertyValues)) {\n if (defined(propertyValues.typedArray)) {\n return this._getBinaryProperty(propertyValues, indexInClass);\n }\n return clone(propertyValues[indexInClass], true);\n }\n return null;\n });\n }\n\n _setHierarchyProperty(batchTable, batchId, name, value) {\n const result = traverseHierarchy(this._hierarchy, batchId, (hierarchy, instanceIndex) => {\n const classId = hierarchy.classIds[instanceIndex];\n const instanceClass = hierarchy.classes[classId];\n const indexInClass = hierarchy.classIndexes[instanceIndex];\n const propertyValues = instanceClass.instances[name];\n if (defined(propertyValues)) {\n assert(instanceIndex === batchId, `Inherited property \"${name}\" is read-only.`);\n if (defined(propertyValues.typedArray)) {\n this._setBinaryProperty(propertyValues, indexInClass, value);\n } else {\n propertyValues[indexInClass] = clone(value, true);\n }\n return true;\n }\n return false;\n });\n return defined(result);\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
|
|
16
11
|
var _math = require("@loaders.gl/math");
|
|
17
|
-
|
|
18
12
|
var Tile3DFeatureTable = function () {
|
|
19
13
|
function Tile3DFeatureTable(featureTableJson, featureTableBinary) {
|
|
20
14
|
(0, _classCallCheck2.default)(this, Tile3DFeatureTable);
|
|
@@ -25,7 +19,6 @@ var Tile3DFeatureTable = function () {
|
|
|
25
19
|
this.json = featureTableJson;
|
|
26
20
|
this.buffer = featureTableBinary;
|
|
27
21
|
}
|
|
28
|
-
|
|
29
22
|
(0, _createClass2.default)(Tile3DFeatureTable, [{
|
|
30
23
|
key: "getExtension",
|
|
31
24
|
value: function getExtension(extensionName) {
|
|
@@ -42,60 +35,51 @@ var Tile3DFeatureTable = function () {
|
|
|
42
35
|
var componentType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _math.GL.UNSIGNED_INT;
|
|
43
36
|
var componentLength = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
44
37
|
var jsonValue = this.json[propertyName];
|
|
45
|
-
|
|
46
38
|
if (jsonValue && Number.isFinite(jsonValue.byteOffset)) {
|
|
47
39
|
return this._getTypedArrayFromBinary(propertyName, componentType, componentLength, 1, jsonValue.byteOffset);
|
|
48
40
|
}
|
|
49
|
-
|
|
50
41
|
return jsonValue;
|
|
51
42
|
}
|
|
52
43
|
}, {
|
|
53
44
|
key: "getPropertyArray",
|
|
54
45
|
value: function getPropertyArray(propertyName, componentType, componentLength) {
|
|
55
46
|
var jsonValue = this.json[propertyName];
|
|
56
|
-
|
|
57
47
|
if (jsonValue && Number.isFinite(jsonValue.byteOffset)) {
|
|
58
48
|
if ('componentType' in jsonValue) {
|
|
59
49
|
componentType = _math.GLType.fromName(jsonValue.componentType);
|
|
60
50
|
}
|
|
61
|
-
|
|
62
51
|
return this._getTypedArrayFromBinary(propertyName, componentType, componentLength, this.featuresLength, jsonValue.byteOffset);
|
|
63
52
|
}
|
|
64
|
-
|
|
65
53
|
return this._getTypedArrayFromArray(propertyName, componentType, jsonValue);
|
|
66
54
|
}
|
|
67
55
|
}, {
|
|
68
56
|
key: "getProperty",
|
|
69
57
|
value: function getProperty(propertyName, componentType, componentLength, featureId, result) {
|
|
70
58
|
var jsonValue = this.json[propertyName];
|
|
71
|
-
|
|
72
59
|
if (!jsonValue) {
|
|
73
60
|
return jsonValue;
|
|
74
61
|
}
|
|
75
|
-
|
|
76
62
|
var typedArray = this.getPropertyArray(propertyName, componentType, componentLength);
|
|
77
|
-
|
|
78
63
|
if (componentLength === 1) {
|
|
79
64
|
return typedArray[featureId];
|
|
80
65
|
}
|
|
81
|
-
|
|
82
66
|
for (var i = 0; i < componentLength; ++i) {
|
|
83
67
|
result[i] = typedArray[componentLength * featureId + i];
|
|
84
68
|
}
|
|
85
|
-
|
|
86
69
|
return result;
|
|
87
70
|
}
|
|
71
|
+
|
|
88
72
|
}, {
|
|
89
73
|
key: "_getTypedArrayFromBinary",
|
|
90
|
-
value:
|
|
74
|
+
value:
|
|
75
|
+
|
|
76
|
+
function _getTypedArrayFromBinary(propertyName, componentType, componentLength, count, byteOffset) {
|
|
91
77
|
var cachedTypedArrays = this._cachedTypedArrays;
|
|
92
78
|
var typedArray = cachedTypedArrays[propertyName];
|
|
93
|
-
|
|
94
79
|
if (!typedArray) {
|
|
95
80
|
typedArray = _math.GLType.createTypedArray(componentType, this.buffer.buffer, this.buffer.byteOffset + byteOffset, count * componentLength);
|
|
96
81
|
cachedTypedArrays[propertyName] = typedArray;
|
|
97
82
|
}
|
|
98
|
-
|
|
99
83
|
return typedArray;
|
|
100
84
|
}
|
|
101
85
|
}, {
|
|
@@ -103,17 +87,14 @@ var Tile3DFeatureTable = function () {
|
|
|
103
87
|
value: function _getTypedArrayFromArray(propertyName, componentType, array) {
|
|
104
88
|
var cachedTypedArrays = this._cachedTypedArrays;
|
|
105
89
|
var typedArray = cachedTypedArrays[propertyName];
|
|
106
|
-
|
|
107
90
|
if (!typedArray) {
|
|
108
91
|
typedArray = _math.GLType.createTypedArray(componentType, array);
|
|
109
92
|
cachedTypedArrays[propertyName] = typedArray;
|
|
110
93
|
}
|
|
111
|
-
|
|
112
94
|
return typedArray;
|
|
113
95
|
}
|
|
114
96
|
}]);
|
|
115
97
|
return Tile3DFeatureTable;
|
|
116
98
|
}();
|
|
117
|
-
|
|
118
99
|
exports.default = Tile3DFeatureTable;
|
|
119
100
|
//# sourceMappingURL=tile-3d-feature-table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"tile-3d-feature-table.js","names":["Tile3DFeatureTable","featureTableJson","featureTableBinary","json","buffer","extensionName","extensions","propertyName","Boolean","componentType","GL","UNSIGNED_INT","componentLength","jsonValue","Number","isFinite","byteOffset","_getTypedArrayFromBinary","GLType","fromName","featuresLength","_getTypedArrayFromArray","featureId","result","typedArray","getPropertyArray","i","count","cachedTypedArrays","_cachedTypedArrays","createTypedArray","array"],"sources":["../../../../src/lib/classes/tile-3d-feature-table.ts"],"sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\nimport {GL, GLType} from '@loaders.gl/math';\n\n// Reference:\n// https://github.com/AnalyticalGraphicsInc/cesium/blob/1de96d087f0b17575eb1a3f736407b348c765d59/Source/Scene/Cesium3DTileFeatureTable.js\nexport default class Tile3DFeatureTable {\n json;\n buffer;\n featuresLength = 0;\n _cachedTypedArrays = {};\n\n constructor(featureTableJson, featureTableBinary) {\n this.json = featureTableJson;\n this.buffer = featureTableBinary;\n }\n\n getExtension(extensionName) {\n return this.json.extensions && this.json.extensions[extensionName];\n }\n\n hasProperty(propertyName) {\n return Boolean(this.json[propertyName]);\n }\n\n getGlobalProperty(propertyName, componentType = GL.UNSIGNED_INT, componentLength = 1) {\n const jsonValue = this.json[propertyName];\n\n if (jsonValue && Number.isFinite(jsonValue.byteOffset)) {\n return this._getTypedArrayFromBinary(\n propertyName,\n componentType,\n componentLength,\n 1,\n jsonValue.byteOffset\n );\n }\n\n return jsonValue;\n }\n\n getPropertyArray(propertyName, componentType, componentLength) {\n const jsonValue = this.json[propertyName];\n\n if (jsonValue && Number.isFinite(jsonValue.byteOffset)) {\n if ('componentType' in jsonValue) {\n componentType = GLType.fromName(jsonValue.componentType);\n }\n return this._getTypedArrayFromBinary(\n propertyName,\n componentType,\n componentLength,\n this.featuresLength,\n jsonValue.byteOffset\n );\n }\n\n return this._getTypedArrayFromArray(propertyName, componentType, jsonValue);\n }\n\n getProperty(propertyName, componentType, componentLength, featureId, result) {\n const jsonValue = this.json[propertyName];\n if (!jsonValue) {\n return jsonValue;\n }\n\n const typedArray = this.getPropertyArray(propertyName, componentType, componentLength);\n\n if (componentLength === 1) {\n return typedArray[featureId];\n }\n\n for (let i = 0; i < componentLength; ++i) {\n result[i] = typedArray[componentLength * featureId + i];\n }\n\n return result;\n }\n\n // HELPERS\n\n _getTypedArrayFromBinary(propertyName, componentType, componentLength, count, byteOffset) {\n const cachedTypedArrays = this._cachedTypedArrays;\n let typedArray = cachedTypedArrays[propertyName];\n if (!typedArray) {\n typedArray = GLType.createTypedArray(\n componentType,\n this.buffer.buffer,\n this.buffer.byteOffset + byteOffset,\n count * componentLength\n );\n cachedTypedArrays[propertyName] = typedArray;\n }\n return typedArray;\n }\n\n _getTypedArrayFromArray(propertyName, componentType, array) {\n const cachedTypedArrays = this._cachedTypedArrays;\n let typedArray = cachedTypedArrays[propertyName];\n if (!typedArray) {\n typedArray = GLType.createTypedArray(componentType, array);\n cachedTypedArrays[propertyName] = typedArray;\n }\n return typedArray;\n }\n}\n"],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.TILE3D_TYPES = exports.TILE3D_TYPE = exports.TILE3D_OPTIMIZATION_HINT = exports.MAGIC_ARRAY = void 0;
|
|
7
|
+
|
|
7
8
|
var TILE3D_TYPE = {
|
|
8
9
|
COMPOSITE: 'cmpt',
|
|
9
10
|
POINT_CLOUD: 'pnts',
|
|
@@ -22,6 +23,7 @@ var MAGIC_ARRAY = {
|
|
|
22
23
|
POINT_CLOUD: [112, 110, 116, 115],
|
|
23
24
|
COMPOSITE: [99, 109, 112, 116]
|
|
24
25
|
};
|
|
26
|
+
|
|
25
27
|
exports.MAGIC_ARRAY = MAGIC_ARRAY;
|
|
26
28
|
var TILE3D_OPTIMIZATION_HINT = {
|
|
27
29
|
NOT_COMPUTED: -1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"constants.js","names":["TILE3D_TYPE","COMPOSITE","POINT_CLOUD","BATCHED_3D_MODEL","INSTANCED_3D_MODEL","GEOMETRY","VECTOR","GLTF","TILE3D_TYPES","Object","keys","MAGIC_ARRAY","BATCHED_MODEL","INSTANCED_MODEL","TILE3D_OPTIMIZATION_HINT","NOT_COMPUTED","USE_OPTIMIZATION","SKIP_OPTIMIZATION"],"sources":["../../../src/lib/constants.ts"],"sourcesContent":["// TILE TYPES\n\nexport const TILE3D_TYPE = {\n COMPOSITE: 'cmpt',\n POINT_CLOUD: 'pnts',\n BATCHED_3D_MODEL: 'b3dm',\n INSTANCED_3D_MODEL: 'i3dm',\n GEOMETRY: 'geom',\n VECTOR: 'vect',\n GLTF: 'glTF'\n};\n\nexport const TILE3D_TYPES = Object.keys(TILE3D_TYPE);\n\nexport const MAGIC_ARRAY = {\n BATCHED_MODEL: [98, 51, 100, 109],\n INSTANCED_MODEL: [105, 51, 100, 109],\n POINT_CLOUD: [112, 110, 116, 115],\n COMPOSITE: [99, 109, 112, 116]\n};\n\n// TILE CONSTANTS\nexport const TILE3D_OPTIMIZATION_HINT = {\n NOT_COMPUTED: -1,\n USE_OPTIMIZATION: 1,\n SKIP_OPTIMIZATION: 0\n};\n"],"mappings":";;;;;;;AAEO,IAAMA,WAAW,GAAG;EACzBC,SAAS,EAAE,MAAM;EACjBC,WAAW,EAAE,MAAM;EACnBC,gBAAgB,EAAE,MAAM;EACxBC,kBAAkB,EAAE,MAAM;EAC1BC,QAAQ,EAAE,MAAM;EAChBC,MAAM,EAAE,MAAM;EACdC,IAAI,EAAE;AACR,CAAC;AAAC;AAEK,IAAMC,YAAY,GAAGC,MAAM,CAACC,IAAI,CAACV,WAAW,CAAC;AAAC;AAE9C,IAAMW,WAAW,GAAG;EACzBC,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;EACjCC,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;EACpCX,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;EACjCD,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AAC/B,CAAC;;AAAC;AAGK,IAAMa,wBAAwB,GAAG;EACtCC,YAAY,EAAE,CAAC,CAAC;EAChBC,gBAAgB,EAAE,CAAC;EACnBC,iBAAiB,EAAE;AACrB,CAAC;AAAC"}
|
|
@@ -1,29 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.encodeBatchedModel3DTile = encodeBatchedModel3DTile;
|
|
9
|
-
|
|
10
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
9
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
13
|
-
|
|
14
10
|
var _constants = require("../constants");
|
|
15
|
-
|
|
16
11
|
var _encode3dTileHeader = require("./helpers/encode-3d-tile-header");
|
|
17
|
-
|
|
18
|
-
function
|
|
19
|
-
|
|
20
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
21
|
-
|
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
13
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
22
14
|
function encodeBatchedModel3DTile(tile, dataView, byteOffset, options) {
|
|
23
15
|
var _tile = tile,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
16
|
+
_tile$featuresLength = _tile.featuresLength,
|
|
17
|
+
featuresLength = _tile$featuresLength === void 0 ? 0 : _tile$featuresLength,
|
|
18
|
+
batchTable = _tile.batchTable;
|
|
27
19
|
var featureTableJson = {
|
|
28
20
|
BATCH_LENGTH: featuresLength
|
|
29
21
|
};
|
|
@@ -31,12 +23,12 @@ function encodeBatchedModel3DTile(tile, dataView, byteOffset, options) {
|
|
|
31
23
|
var batchTableJsonString = batchTable ? JSON.stringify(batchTable) : '';
|
|
32
24
|
var featureTableJsonByteLength = (0, _loaderUtils.padToNBytes)(featureTableJsonString.length, 8);
|
|
33
25
|
var batchTableJsonByteLength = batchTableJsonString ? (0, _loaderUtils.padToNBytes)(batchTableJsonString.length, 8) : 0;
|
|
26
|
+
|
|
34
27
|
tile = _objectSpread({
|
|
35
28
|
magic: _constants.MAGIC_ARRAY.BATCHED_MODEL
|
|
36
29
|
}, tile);
|
|
37
30
|
var byteOffsetStart = byteOffset;
|
|
38
31
|
byteOffset = (0, _encode3dTileHeader.encode3DTileHeader)(tile, dataView, byteOffset);
|
|
39
|
-
|
|
40
32
|
if (dataView) {
|
|
41
33
|
dataView.setUint32(12, featureTableJsonByteLength, true);
|
|
42
34
|
dataView.setUint32(16, 0, true);
|
|
@@ -45,14 +37,13 @@ function encodeBatchedModel3DTile(tile, dataView, byteOffset, options) {
|
|
|
45
37
|
}
|
|
46
38
|
|
|
47
39
|
byteOffset += 16;
|
|
48
|
-
byteOffset = (0, _loaderUtils.copyPaddedStringToDataView)(dataView, byteOffset, featureTableJsonString, 8);
|
|
49
40
|
|
|
41
|
+
byteOffset = (0, _loaderUtils.copyPaddedStringToDataView)(dataView, byteOffset, featureTableJsonString, 8);
|
|
50
42
|
if (batchTable) {
|
|
51
43
|
byteOffset = (0, _loaderUtils.copyPaddedStringToDataView)(dataView, byteOffset, batchTableJsonString, 8);
|
|
52
44
|
}
|
|
53
45
|
|
|
54
46
|
var gltfEncoded = tile.gltfEncoded;
|
|
55
|
-
|
|
56
47
|
if (gltfEncoded) {
|
|
57
48
|
byteOffset = (0, _loaderUtils.copyBinaryToDataView)(dataView, byteOffset, gltfEncoded, gltfEncoded.byteLength);
|
|
58
49
|
}
|