@itwin/ecschema-rpcinterface-tests 4.0.0-dev.99 → 4.0.2
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/lib/dist/_a8a9.bundled-tests.js.map +1 -1
- package/lib/dist/bundled-tests.js +809 -575
- package/lib/dist/bundled-tests.js.map +1 -1
- package/lib/dist/core_frontend_lib_esm_ApproximateTerrainHeightsProps_js.bundled-tests.js.map +1 -1
- package/lib/dist/{object-storage.bundled-tests.js → object-storage-azure.bundled-tests.js} +2 -2
- package/lib/dist/object-storage-azure.bundled-tests.js.map +1 -0
- package/lib/dist/vendors-common_temp_node_modules_pnpm_itwin_object-storage-azure_1_6_0_node_modules_itwin_obj-0f69b1.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_3_3_node_modules_loaders_gl_draco_di-28f62e.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_reflect-metadata_0_1_13_node_modules_reflect-metadata_R-610cb3.bundled-tests.js.map +1 -1
- package/package.json +15 -15
- package/lib/dist/object-storage.bundled-tests.js.map +0 -1
|
@@ -59083,40 +59083,82 @@ exports.ECStringConstants = ECStringConstants;
|
|
|
59083
59083
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
59084
59084
|
*--------------------------------------------------------------------------------------------*/
|
|
59085
59085
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
59086
|
-
exports.SchemaContext = exports.SchemaCache =
|
|
59086
|
+
exports.SchemaContext = exports.SchemaCache = void 0;
|
|
59087
59087
|
const ECObjects_1 = __webpack_require__(/*! ./ECObjects */ "../../core/ecschema-metadata/lib/cjs/ECObjects.js");
|
|
59088
59088
|
const Exception_1 = __webpack_require__(/*! ./Exception */ "../../core/ecschema-metadata/lib/cjs/Exception.js");
|
|
59089
59089
|
/**
|
|
59090
|
-
* @
|
|
59090
|
+
* @internal
|
|
59091
59091
|
*/
|
|
59092
59092
|
class SchemaMap extends Array {
|
|
59093
59093
|
}
|
|
59094
|
-
exports.SchemaMap = SchemaMap;
|
|
59095
59094
|
/**
|
|
59096
|
-
* @
|
|
59095
|
+
* @internal
|
|
59097
59096
|
*/
|
|
59098
59097
|
class SchemaCache {
|
|
59099
59098
|
constructor() {
|
|
59100
59099
|
this._schema = new SchemaMap();
|
|
59101
59100
|
}
|
|
59102
59101
|
get count() { return this._schema.length; }
|
|
59102
|
+
loadedSchemaExists(schemaKey) {
|
|
59103
|
+
return undefined !== this._schema.find((entry) => entry.schemaInfo.schemaKey.matches(schemaKey, ECObjects_1.SchemaMatchType.Latest) && !entry.schemaPromise);
|
|
59104
|
+
}
|
|
59105
|
+
schemaPromiseExists(schemaKey) {
|
|
59106
|
+
return undefined !== this._schema.find((entry) => entry.schemaInfo.schemaKey.matches(schemaKey, ECObjects_1.SchemaMatchType.Latest) && undefined !== entry.schemaPromise);
|
|
59107
|
+
}
|
|
59108
|
+
findEntry(schemaKey, matchType) {
|
|
59109
|
+
return this._schema.find((entry) => entry.schemaInfo.schemaKey.matches(schemaKey, matchType));
|
|
59110
|
+
}
|
|
59111
|
+
removeSchemaPromise(schemaKey) {
|
|
59112
|
+
const entry = this.findEntry(schemaKey, ECObjects_1.SchemaMatchType.Latest);
|
|
59113
|
+
if (entry)
|
|
59114
|
+
entry.schemaPromise = undefined;
|
|
59115
|
+
}
|
|
59116
|
+
removeEntry(schemaKey) {
|
|
59117
|
+
this._schema = this._schema.filter((entry) => !entry.schemaInfo.schemaKey.matches(schemaKey));
|
|
59118
|
+
}
|
|
59119
|
+
/**
|
|
59120
|
+
* Returns true if the schema exists in either the schema cache or the promise cache. SchemaMatchType.Latest used.
|
|
59121
|
+
* @param schemaKey The key to search for.
|
|
59122
|
+
*/
|
|
59123
|
+
schemaExists(schemaKey) {
|
|
59124
|
+
return this.loadedSchemaExists(schemaKey) || this.schemaPromiseExists(schemaKey);
|
|
59125
|
+
}
|
|
59126
|
+
/**
|
|
59127
|
+
* Adds a promise to load the schema to the cache. Does not allow for duplicate schemas in the cache of schemas or cache of promises, checks using SchemaMatchType.Latest.
|
|
59128
|
+
* When the promise completes the schema will be added to the schema cache and the promise will be removed from the promise cache
|
|
59129
|
+
* @param schemaInfo An object with the schema key for the schema being loaded and it's references
|
|
59130
|
+
* @param schema The partially loaded schema that the promise will fulfill
|
|
59131
|
+
* @param schemaPromise The schema promise to add to the cache.
|
|
59132
|
+
*/
|
|
59133
|
+
async addSchemaPromise(schemaInfo, schema, schemaPromise) {
|
|
59134
|
+
if (this.schemaExists(schemaInfo.schemaKey))
|
|
59135
|
+
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.DuplicateSchema, `The schema, ${schemaPromise.toString()}, already exists within this cache.`);
|
|
59136
|
+
this._schema.push({ schemaInfo, schema, schemaPromise });
|
|
59137
|
+
// This promise is cached and will be awaited when the user requests the full schema.
|
|
59138
|
+
// If the promise competes successfully before the user requests the schema it will be removed from the cache
|
|
59139
|
+
// If it fails it will remain in the cache until the user awaits it and handles the error
|
|
59140
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
59141
|
+
schemaPromise.then(() => {
|
|
59142
|
+
this.removeSchemaPromise(schemaInfo.schemaKey);
|
|
59143
|
+
});
|
|
59144
|
+
}
|
|
59103
59145
|
/**
|
|
59104
59146
|
* Adds a schema to the cache. Does not allow for duplicate schemas, checks using SchemaMatchType.Latest.
|
|
59105
59147
|
* @param schema The schema to add to the cache.
|
|
59106
59148
|
*/
|
|
59107
59149
|
async addSchema(schema) {
|
|
59108
|
-
if (
|
|
59150
|
+
if (this.schemaExists(schema.schemaKey))
|
|
59109
59151
|
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.DuplicateSchema, `The schema, ${schema.schemaKey.toString()}, already exists within this cache.`);
|
|
59110
|
-
this._schema.push(schema);
|
|
59152
|
+
this._schema.push({ schemaInfo: schema, schema });
|
|
59111
59153
|
}
|
|
59112
59154
|
/**
|
|
59113
59155
|
* Adds a schema to the cache. Does not allow for duplicate schemas, checks using SchemaMatchType.Latest.
|
|
59114
59156
|
* @param schema The schema to add to the cache.
|
|
59115
59157
|
*/
|
|
59116
59158
|
addSchemaSync(schema) {
|
|
59117
|
-
if (this.
|
|
59159
|
+
if (this.schemaExists(schema.schemaKey))
|
|
59118
59160
|
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.DuplicateSchema, `The schema, ${schema.schemaKey.toString()}, already exists within this cache.`);
|
|
59119
|
-
this._schema.push(schema);
|
|
59161
|
+
this._schema.push({ schemaInfo: schema, schema });
|
|
59120
59162
|
}
|
|
59121
59163
|
/**
|
|
59122
59164
|
* Gets the schema which matches the provided SchemaKey.
|
|
@@ -59126,46 +59168,69 @@ class SchemaCache {
|
|
|
59126
59168
|
async getSchema(schemaKey, matchType = ECObjects_1.SchemaMatchType.Latest) {
|
|
59127
59169
|
if (this.count === 0)
|
|
59128
59170
|
return undefined;
|
|
59129
|
-
const
|
|
59130
|
-
|
|
59131
|
-
};
|
|
59132
|
-
const foundSchema = this._schema.find(findFunc);
|
|
59133
|
-
if (!foundSchema)
|
|
59171
|
+
const entry = this.findEntry(schemaKey, matchType);
|
|
59172
|
+
if (!entry)
|
|
59134
59173
|
return undefined;
|
|
59135
|
-
|
|
59174
|
+
if (entry.schemaPromise) {
|
|
59175
|
+
try {
|
|
59176
|
+
const schema = await entry.schemaPromise;
|
|
59177
|
+
return schema;
|
|
59178
|
+
}
|
|
59179
|
+
catch (e) {
|
|
59180
|
+
this.removeEntry(schemaKey);
|
|
59181
|
+
throw e;
|
|
59182
|
+
}
|
|
59183
|
+
}
|
|
59184
|
+
return entry.schema;
|
|
59136
59185
|
}
|
|
59137
59186
|
/**
|
|
59138
|
-
|
|
59139
|
-
|
|
59140
|
-
|
|
59187
|
+
* Gets the schema info which matches the provided SchemaKey. The schema info may be returned before the schema is fully loaded.
|
|
59188
|
+
* @param schemaKey The SchemaKey describing the schema to get from the cache.
|
|
59189
|
+
* @param matchType The match type to use when locating the schema
|
|
59190
|
+
*/
|
|
59191
|
+
async getSchemaInfo(schemaKey, matchType = ECObjects_1.SchemaMatchType.Latest) {
|
|
59192
|
+
if (this.count === 0)
|
|
59193
|
+
return undefined;
|
|
59194
|
+
const entry = this.findEntry(schemaKey, matchType);
|
|
59195
|
+
if (entry)
|
|
59196
|
+
return entry.schemaInfo;
|
|
59197
|
+
return undefined;
|
|
59198
|
+
}
|
|
59199
|
+
/**
|
|
59200
|
+
* Gets the schema which matches the provided SchemaKey. If the schema is partially loaded an exception will be thrown.
|
|
59201
|
+
* @param schemaKey The SchemaKey describing the schema to get from the cache.
|
|
59202
|
+
* @param matchType The match type to use when locating the schema
|
|
59141
59203
|
*/
|
|
59142
59204
|
getSchemaSync(schemaKey, matchType = ECObjects_1.SchemaMatchType.Latest) {
|
|
59143
59205
|
if (this.count === 0)
|
|
59144
59206
|
return undefined;
|
|
59145
|
-
const
|
|
59146
|
-
|
|
59147
|
-
|
|
59148
|
-
|
|
59149
|
-
|
|
59150
|
-
return
|
|
59151
|
-
|
|
59207
|
+
const entry = this.findEntry(schemaKey, matchType);
|
|
59208
|
+
if (entry) {
|
|
59209
|
+
if (entry.schemaPromise) {
|
|
59210
|
+
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLoadSchema, `The Schema ${schemaKey.toString()} is partially loaded so cannot be loaded synchronously.`);
|
|
59211
|
+
}
|
|
59212
|
+
return entry.schema;
|
|
59213
|
+
}
|
|
59214
|
+
return undefined;
|
|
59152
59215
|
}
|
|
59153
59216
|
/**
|
|
59154
|
-
* Generator function that can iterate through each schema in _schema SchemaMap and items for each Schema
|
|
59217
|
+
* Generator function that can iterate through each schema in _schema SchemaMap and items for each Schema.
|
|
59218
|
+
* Does not include schema items from schemas that are not completely loaded yet.
|
|
59155
59219
|
*/
|
|
59156
59220
|
*getSchemaItems() {
|
|
59157
|
-
for (const
|
|
59158
|
-
for (const schemaItem of schema.getItems()) {
|
|
59221
|
+
for (const entry of this._schema) {
|
|
59222
|
+
for (const schemaItem of entry.schema.getItems()) {
|
|
59159
59223
|
yield schemaItem;
|
|
59160
59224
|
}
|
|
59161
59225
|
}
|
|
59162
59226
|
}
|
|
59163
59227
|
/**
|
|
59164
59228
|
* Gets all the schemas from the schema cache.
|
|
59229
|
+
* Does not include schemas from schemas that are not completely loaded yet.
|
|
59165
59230
|
* @returns An array of Schema objects.
|
|
59166
59231
|
*/
|
|
59167
59232
|
getAllSchemas() {
|
|
59168
|
-
return this._schema;
|
|
59233
|
+
return this._schema.map((entry) => entry.schema);
|
|
59169
59234
|
}
|
|
59170
59235
|
}
|
|
59171
59236
|
exports.SchemaCache = SchemaCache;
|
|
@@ -59187,7 +59252,7 @@ class SchemaContext {
|
|
|
59187
59252
|
this._locaters.push(locater);
|
|
59188
59253
|
}
|
|
59189
59254
|
/**
|
|
59190
|
-
* Adds the schema to this context
|
|
59255
|
+
* Adds the schema to this context. Use addSchemaPromise instead when asynchronously loading schemas.
|
|
59191
59256
|
* @param schema The schema to add to this context
|
|
59192
59257
|
*/
|
|
59193
59258
|
async addSchema(schema) {
|
|
@@ -59203,6 +59268,7 @@ class SchemaContext {
|
|
|
59203
59268
|
/**
|
|
59204
59269
|
* Adds the given SchemaItem to the the SchemaContext by locating the schema, with the best match of SchemaMatchType.Exact, and
|
|
59205
59270
|
* @param schemaItem The SchemaItem to add
|
|
59271
|
+
* @deprecated in 4.0 use ecschema-editing package
|
|
59206
59272
|
*/
|
|
59207
59273
|
async addSchemaItem(schemaItem) {
|
|
59208
59274
|
const schema = await this.getSchema(schemaItem.key.schemaKey, ECObjects_1.SchemaMatchType.Exact);
|
|
@@ -59210,6 +59276,24 @@ class SchemaContext {
|
|
|
59210
59276
|
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLocateSchema, `Unable to add the schema item ${schemaItem.name} to the schema ${schemaItem.key.schemaKey.toString()} because the schema could not be located.`);
|
|
59211
59277
|
schema.addItem(schemaItem);
|
|
59212
59278
|
}
|
|
59279
|
+
/**
|
|
59280
|
+
* Returns true if the schema is already in the context. SchemaMatchType.Latest is used to find a match.
|
|
59281
|
+
* @param schemaKey
|
|
59282
|
+
*/
|
|
59283
|
+
schemaExists(schemaKey) {
|
|
59284
|
+
return this._knownSchemas.schemaExists(schemaKey);
|
|
59285
|
+
}
|
|
59286
|
+
/**
|
|
59287
|
+
* Adds a promise to load the schema to the cache. Does not allow for duplicate schemas in the cache of schemas or cache of promises, checks using SchemaMatchType.Latest.
|
|
59288
|
+
* When the promise completes the schema will be added to the schema cache and the promise will be removed from the promise cache.
|
|
59289
|
+
* Use this method over addSchema when asynchronously loading schemas
|
|
59290
|
+
* @param schemaInfo An object with the schema key for the schema being loaded and it's references
|
|
59291
|
+
* @param schema The partially loaded schema that the promise will fulfill
|
|
59292
|
+
* @param schemaPromise The schema promise to add to the cache.
|
|
59293
|
+
*/
|
|
59294
|
+
async addSchemaPromise(schemaInfo, schema, schemaPromise) {
|
|
59295
|
+
return this._knownSchemas.addSchemaPromise(schemaInfo, schema, schemaPromise);
|
|
59296
|
+
}
|
|
59213
59297
|
/**
|
|
59214
59298
|
*
|
|
59215
59299
|
* @param schemaKey
|
|
@@ -59223,6 +59307,20 @@ class SchemaContext {
|
|
|
59223
59307
|
}
|
|
59224
59308
|
return undefined;
|
|
59225
59309
|
}
|
|
59310
|
+
/**
|
|
59311
|
+
* Gets the schema info which matches the provided SchemaKey. The schema info may be returned before the schema is fully loaded.
|
|
59312
|
+
* The fully loaded schema can be gotten later from the context using the getCachedSchema method.
|
|
59313
|
+
* @param schemaKey The SchemaKey describing the schema to get from the cache.
|
|
59314
|
+
* @param matchType The match type to use when locating the schema
|
|
59315
|
+
*/
|
|
59316
|
+
async getSchemaInfo(schemaKey, matchType) {
|
|
59317
|
+
for (const locater of this._locaters) {
|
|
59318
|
+
const schemaInfo = await locater.getSchemaInfo(schemaKey, matchType, this);
|
|
59319
|
+
if (undefined !== schemaInfo)
|
|
59320
|
+
return schemaInfo;
|
|
59321
|
+
}
|
|
59322
|
+
return undefined;
|
|
59323
|
+
}
|
|
59226
59324
|
/**
|
|
59227
59325
|
*
|
|
59228
59326
|
* @param schemaKey
|
|
@@ -59238,42 +59336,62 @@ class SchemaContext {
|
|
|
59238
59336
|
}
|
|
59239
59337
|
/**
|
|
59240
59338
|
* Attempts to get a Schema from the context's cache.
|
|
59339
|
+
* Will await a partially loaded schema then return when it is completely loaded.
|
|
59241
59340
|
* @param schemaKey The SchemaKey to identify the Schema.
|
|
59242
59341
|
* @param matchType The SchemaMatch type to use. Default is SchemaMatchType.Latest.
|
|
59243
59342
|
* @internal
|
|
59244
59343
|
*/
|
|
59245
59344
|
async getCachedSchema(schemaKey, matchType = ECObjects_1.SchemaMatchType.Latest) {
|
|
59246
|
-
return this.
|
|
59345
|
+
return this._knownSchemas.getSchema(schemaKey, matchType);
|
|
59247
59346
|
}
|
|
59248
59347
|
/**
|
|
59249
59348
|
* Attempts to get a Schema from the context's cache.
|
|
59349
|
+
* Will return undefined if the cached schema is partially loaded. Use the async method to await partially loaded schemas.
|
|
59250
59350
|
* @param schemaKey The SchemaKey to identify the Schema.
|
|
59251
59351
|
* @param matchType The SchemaMatch type to use. Default is SchemaMatchType.Latest.
|
|
59252
59352
|
* @internal
|
|
59253
59353
|
*/
|
|
59254
59354
|
getCachedSchemaSync(schemaKey, matchType = ECObjects_1.SchemaMatchType.Latest) {
|
|
59255
|
-
|
|
59256
|
-
return schema;
|
|
59355
|
+
return this._knownSchemas.getSchemaSync(schemaKey, matchType);
|
|
59257
59356
|
}
|
|
59357
|
+
/**
|
|
59358
|
+
* Gets the schema item from the specified schema if it exists in this [[SchemaContext]].
|
|
59359
|
+
* Will await a partially loaded schema then look in it for the requested item
|
|
59360
|
+
* @param schemaItemKey The SchemaItemKey identifying the item to return. SchemaMatchType.Latest is used to match the schema.
|
|
59361
|
+
* @returns The requested schema item
|
|
59362
|
+
*/
|
|
59258
59363
|
async getSchemaItem(schemaItemKey) {
|
|
59259
59364
|
const schema = await this.getSchema(schemaItemKey.schemaKey, ECObjects_1.SchemaMatchType.Latest);
|
|
59260
59365
|
if (undefined === schema)
|
|
59261
59366
|
return undefined;
|
|
59262
59367
|
return schema.getItem(schemaItemKey.name);
|
|
59263
59368
|
}
|
|
59369
|
+
/**
|
|
59370
|
+
* Gets the schema item from the specified schema if it exists in this [[SchemaContext]].
|
|
59371
|
+
* Will skip a partially loaded schema and return undefined if the item belongs to that schema. Use the async method to await partially loaded schemas.
|
|
59372
|
+
* @param schemaItemKey The SchemaItemKey identifying the item to return. SchemaMatchType.Latest is used to match the schema.
|
|
59373
|
+
* @returns The requested schema item
|
|
59374
|
+
*/
|
|
59264
59375
|
getSchemaItemSync(schemaItemKey) {
|
|
59265
59376
|
const schema = this.getSchemaSync(schemaItemKey.schemaKey, ECObjects_1.SchemaMatchType.Latest);
|
|
59266
59377
|
if (undefined === schema)
|
|
59267
59378
|
return undefined;
|
|
59268
59379
|
return schema.getItemSync(schemaItemKey.name);
|
|
59269
59380
|
}
|
|
59381
|
+
/**
|
|
59382
|
+
* Iterates through the items of each schema known to the context. This includes schemas added to the
|
|
59383
|
+
* context using [[SchemaContext.addSchema]]. This does not include schemas that
|
|
59384
|
+
* can be located by an ISchemaLocater instance added to the context.
|
|
59385
|
+
* Does not include schema items from schemas that are not completely loaded yet.
|
|
59386
|
+
*/
|
|
59270
59387
|
getSchemaItems() {
|
|
59271
59388
|
return this._knownSchemas.getSchemaItems();
|
|
59272
59389
|
}
|
|
59273
59390
|
/**
|
|
59274
59391
|
* Gets all the Schemas known by the context. This includes schemas added to the
|
|
59275
59392
|
* context using [[SchemaContext.addSchema]]. This does not include schemas that
|
|
59276
|
-
* can be located by an ISchemaLocater instance added to the context.
|
|
59393
|
+
* can be located by an ISchemaLocater instance added to the context. Does not
|
|
59394
|
+
* include schemas that are partially loaded.
|
|
59277
59395
|
* @returns An array of Schema objects.
|
|
59278
59396
|
*/
|
|
59279
59397
|
getKnownSchemas() {
|
|
@@ -59443,11 +59561,13 @@ class SchemaReadHelper {
|
|
|
59443
59561
|
this._parserType = parserType;
|
|
59444
59562
|
}
|
|
59445
59563
|
/**
|
|
59446
|
-
*
|
|
59564
|
+
* Creates a complete SchemaInfo and starts parsing the schema from a serialized representation.
|
|
59565
|
+
* The info and schema promise will be registered with the SchemaContext. The complete schema can be retrieved by
|
|
59566
|
+
* calling getCachedSchema on the context.
|
|
59447
59567
|
* @param schema The Schema to populate
|
|
59448
59568
|
* @param rawSchema The serialized data to use to populate the Schema.
|
|
59449
59569
|
*/
|
|
59450
|
-
async
|
|
59570
|
+
async readSchemaInfo(schema, rawSchema) {
|
|
59451
59571
|
// Ensure context matches schema context
|
|
59452
59572
|
if (schema.context) {
|
|
59453
59573
|
if (this._context !== schema.context)
|
|
@@ -59460,12 +59580,38 @@ class SchemaReadHelper {
|
|
|
59460
59580
|
// Loads all of the properties on the Schema object
|
|
59461
59581
|
await schema.fromJSON(this._parser.parseSchema());
|
|
59462
59582
|
this._schema = schema;
|
|
59463
|
-
|
|
59464
|
-
await this._context.addSchema(schema);
|
|
59465
|
-
// Load schema references first
|
|
59466
|
-
// Need to figure out if other schemas are present.
|
|
59583
|
+
const schemaInfo = { schemaKey: schema.schemaKey, references: [] };
|
|
59467
59584
|
for (const reference of this._parser.getReferences()) {
|
|
59468
|
-
|
|
59585
|
+
const refKey = new SchemaKey_1.SchemaKey(reference.name, SchemaKey_1.ECVersion.fromString(reference.version));
|
|
59586
|
+
schemaInfo.references.push({ schemaKey: refKey });
|
|
59587
|
+
}
|
|
59588
|
+
this._schemaInfo = schemaInfo;
|
|
59589
|
+
// Need to add this schema to the context to be able to locate schemaItems within the context.
|
|
59590
|
+
if (!this._context.schemaExists(schema.schemaKey)) {
|
|
59591
|
+
await this._context.addSchemaPromise(schemaInfo, schema, this.loadSchema(schemaInfo, schema));
|
|
59592
|
+
}
|
|
59593
|
+
return schemaInfo;
|
|
59594
|
+
}
|
|
59595
|
+
/**
|
|
59596
|
+
* Populates the given Schema from a serialized representation.
|
|
59597
|
+
* @param schema The Schema to populate
|
|
59598
|
+
* @param rawSchema The serialized data to use to populate the Schema.
|
|
59599
|
+
*/
|
|
59600
|
+
async readSchema(schema, rawSchema) {
|
|
59601
|
+
if (!this._schemaInfo) {
|
|
59602
|
+
await this.readSchemaInfo(schema, rawSchema);
|
|
59603
|
+
}
|
|
59604
|
+
const cachedSchema = await this._context.getCachedSchema(this._schemaInfo.schemaKey, ECObjects_1.SchemaMatchType.Latest);
|
|
59605
|
+
if (undefined === cachedSchema)
|
|
59606
|
+
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLoadSchema, `Could not load schema ${schema.schemaKey.toString()}`);
|
|
59607
|
+
return cachedSchema;
|
|
59608
|
+
}
|
|
59609
|
+
/* Finish loading the rest of the schema */
|
|
59610
|
+
async loadSchema(schemaInfo, schema) {
|
|
59611
|
+
// Verify that there are no schema reference cycles, this will start schema loading by loading their headers
|
|
59612
|
+
(await SchemaGraph_1.SchemaGraph.generateGraph(schemaInfo, this._context)).throwIfCycles();
|
|
59613
|
+
for (const reference of schemaInfo.references) {
|
|
59614
|
+
await this.loadSchemaReference(schemaInfo, reference.schemaKey);
|
|
59469
59615
|
}
|
|
59470
59616
|
if (this._visitorHelper)
|
|
59471
59617
|
await this._visitorHelper.visitSchema(schema, false);
|
|
@@ -59524,11 +59670,10 @@ class SchemaReadHelper {
|
|
|
59524
59670
|
* Ensures that the schema references can be located and adds them to the schema.
|
|
59525
59671
|
* @param ref The object to read the SchemaReference's props from.
|
|
59526
59672
|
*/
|
|
59527
|
-
async loadSchemaReference(
|
|
59528
|
-
const
|
|
59529
|
-
const refSchema = await this._context.getSchema(schemaKey, ECObjects_1.SchemaMatchType.LatestWriteCompatible);
|
|
59673
|
+
async loadSchemaReference(schemaInfo, refKey) {
|
|
59674
|
+
const refSchema = await this._context.getSchema(refKey, ECObjects_1.SchemaMatchType.LatestWriteCompatible);
|
|
59530
59675
|
if (undefined === refSchema)
|
|
59531
|
-
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLocateSchema, `Could not locate the referenced schema, ${
|
|
59676
|
+
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLocateSchema, `Could not locate the referenced schema, ${refKey.name}.${refKey.version.toString()}, of ${schemaInfo.schemaKey.name}`);
|
|
59532
59677
|
await this._schema.addReference(refSchema);
|
|
59533
59678
|
const results = this.validateSchemaReferences(this._schema);
|
|
59534
59679
|
let errorMessage = "";
|
|
@@ -59549,6 +59694,7 @@ class SchemaReadHelper {
|
|
|
59549
59694
|
if (!refSchema)
|
|
59550
59695
|
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLocateSchema, `Could not locate the referenced schema, ${ref.name}.${ref.version}, of ${this._schema.schemaKey.name}`);
|
|
59551
59696
|
this._schema.addReferenceSync(refSchema);
|
|
59697
|
+
SchemaGraph_1.SchemaGraph.generateGraphSync(this._schema).throwIfCycles();
|
|
59552
59698
|
const results = this.validateSchemaReferences(this._schema);
|
|
59553
59699
|
let errorMessage = "";
|
|
59554
59700
|
for (const result of results) {
|
|
@@ -59577,12 +59723,6 @@ class SchemaReadHelper {
|
|
|
59577
59723
|
aliases.set(schemaRef.alias, schemaRef);
|
|
59578
59724
|
}
|
|
59579
59725
|
}
|
|
59580
|
-
const graph = new SchemaGraph_1.SchemaGraph(schema);
|
|
59581
|
-
const cycles = graph.detectCycles();
|
|
59582
|
-
if (cycles) {
|
|
59583
|
-
const result = cycles.map((cycle) => `${cycle.schema.name} --> ${cycle.refSchema.name}`).join(", ");
|
|
59584
|
-
yield `Schema '${schema.name}' has reference cycles: ${result}`;
|
|
59585
|
-
}
|
|
59586
59726
|
}
|
|
59587
59727
|
/**
|
|
59588
59728
|
* Given the schema item object, the anticipated type and the name a schema item is created and loaded into the schema provided.
|
|
@@ -59767,7 +59907,10 @@ class SchemaReadHelper {
|
|
|
59767
59907
|
const isInThisSchema = (this._schema && this._schema.name.toLowerCase() === schemaName.toLowerCase());
|
|
59768
59908
|
if (undefined === schemaName || 0 === schemaName.length)
|
|
59769
59909
|
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.InvalidECJson, `The SchemaItem ${name} is invalid without a schema name`);
|
|
59770
|
-
if (isInThisSchema
|
|
59910
|
+
if (isInThisSchema) {
|
|
59911
|
+
schemaItem = await this._schema.getItem(itemName);
|
|
59912
|
+
if (schemaItem)
|
|
59913
|
+
return schemaItem;
|
|
59771
59914
|
const foundItem = this._parser.findItem(itemName);
|
|
59772
59915
|
if (foundItem) {
|
|
59773
59916
|
schemaItem = await this.loadSchemaItem(this._schema, ...foundItem);
|
|
@@ -62841,6 +62984,7 @@ var ECObjectsStatus;
|
|
|
62841
62984
|
ECObjectsStatus[ECObjectsStatus["InvalidSchemaComparisonArgument"] = 35077] = "InvalidSchemaComparisonArgument";
|
|
62842
62985
|
ECObjectsStatus[ECObjectsStatus["InvalidSchemaAlias"] = 35078] = "InvalidSchemaAlias";
|
|
62843
62986
|
ECObjectsStatus[ECObjectsStatus["InvalidSchemaKey"] = 35079] = "InvalidSchemaKey";
|
|
62987
|
+
ECObjectsStatus[ECObjectsStatus["UnableToLoadSchema"] = 35080] = "UnableToLoadSchema";
|
|
62844
62988
|
})(ECObjectsStatus = exports.ECObjectsStatus || (exports.ECObjectsStatus = {}));
|
|
62845
62989
|
/** @internal */
|
|
62846
62990
|
class ECObjectsError extends core_bentley_1.BentleyError {
|
|
@@ -66466,6 +66610,9 @@ class Schema {
|
|
|
66466
66610
|
schemaXml.appendChild(schemaMetadata);
|
|
66467
66611
|
return schemaXml;
|
|
66468
66612
|
}
|
|
66613
|
+
/**
|
|
66614
|
+
* Loads the schema header (name, version alias, label and description) from the input SchemaProps
|
|
66615
|
+
*/
|
|
66469
66616
|
fromJSONSync(schemaProps) {
|
|
66470
66617
|
if (undefined === this._schemaKey) {
|
|
66471
66618
|
const schemaName = schemaProps.name;
|
|
@@ -66491,9 +66638,22 @@ class Schema {
|
|
|
66491
66638
|
if (undefined !== schemaProps.description)
|
|
66492
66639
|
this._description = schemaProps.description;
|
|
66493
66640
|
}
|
|
66641
|
+
/**
|
|
66642
|
+
* Loads the schema header (name, version alias, label and description) from the input SchemaProps
|
|
66643
|
+
*/
|
|
66494
66644
|
async fromJSON(schemaProps) {
|
|
66495
66645
|
this.fromJSONSync(schemaProps);
|
|
66496
66646
|
}
|
|
66647
|
+
/**
|
|
66648
|
+
* Completely loads the SchemaInfo from the input json and starts loading the entire schema. The complete schema can be retrieved from the
|
|
66649
|
+
* schema context using the getCachedSchema method
|
|
66650
|
+
*/
|
|
66651
|
+
static async startLoadingFromJson(jsonObj, context) {
|
|
66652
|
+
const schema = new Schema(context);
|
|
66653
|
+
const reader = new Helper_1.SchemaReadHelper(JsonParser_1.JsonParser, context);
|
|
66654
|
+
const rawSchema = typeof jsonObj === "string" ? JSON.parse(jsonObj) : jsonObj;
|
|
66655
|
+
return reader.readSchemaInfo(schema, rawSchema);
|
|
66656
|
+
}
|
|
66497
66657
|
static async fromJson(jsonObj, context) {
|
|
66498
66658
|
let schema = new Schema(context);
|
|
66499
66659
|
const reader = new Helper_1.SchemaReadHelper(JsonParser_1.JsonParser, context);
|
|
@@ -66501,6 +66661,9 @@ class Schema {
|
|
|
66501
66661
|
schema = await reader.readSchema(schema, rawSchema);
|
|
66502
66662
|
return schema;
|
|
66503
66663
|
}
|
|
66664
|
+
/**
|
|
66665
|
+
* Completely loads the Schema from the input json. The schema is cached in the schema context.
|
|
66666
|
+
*/
|
|
66504
66667
|
static fromJsonSync(jsonObj, context) {
|
|
66505
66668
|
let schema = new Schema(context);
|
|
66506
66669
|
const reader = new Helper_1.SchemaReadHelper(JsonParser_1.JsonParser, context);
|
|
@@ -67026,6 +67189,14 @@ class SchemaJsonLocater {
|
|
|
67026
67189
|
async getSchema(schemaKey, matchType, context) {
|
|
67027
67190
|
return this.getSchemaSync(schemaKey, matchType, context);
|
|
67028
67191
|
}
|
|
67192
|
+
/**
|
|
67193
|
+
* Gets the schema info which matches the provided SchemaKey. The schema info may be returned before the schema is fully loaded.
|
|
67194
|
+
* @param schemaKey The SchemaKey describing the schema to get from the cache.
|
|
67195
|
+
* @param matchType The match type to use when locating the schema
|
|
67196
|
+
*/
|
|
67197
|
+
async getSchemaInfo(schemaKey, matchType, context) {
|
|
67198
|
+
return this.getSchema(schemaKey, matchType, context);
|
|
67199
|
+
}
|
|
67029
67200
|
/** Get a schema by [SchemaKey] synchronously.
|
|
67030
67201
|
* @param schemaKey The [SchemaKey] that identifies the schema.
|
|
67031
67202
|
* * @param matchType The [SchemaMatchType] to used for comparing schema versions.
|
|
@@ -68522,7 +68693,7 @@ Object.defineProperty(exports, "SchemaGraph", ({ enumerable: true, get: function
|
|
|
68522
68693
|
/*!*****************************************************************!*\
|
|
68523
68694
|
!*** ../../core/ecschema-metadata/lib/cjs/utils/SchemaGraph.js ***!
|
|
68524
68695
|
\*****************************************************************/
|
|
68525
|
-
/***/ ((__unused_webpack_module, exports) => {
|
|
68696
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
68526
68697
|
|
|
68527
68698
|
"use strict";
|
|
68528
68699
|
|
|
@@ -68532,22 +68703,32 @@ Object.defineProperty(exports, "SchemaGraph", ({ enumerable: true, get: function
|
|
|
68532
68703
|
*--------------------------------------------------------------------------------------------*/
|
|
68533
68704
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
68534
68705
|
exports.SchemaGraph = void 0;
|
|
68706
|
+
const ECObjects_1 = __webpack_require__(/*! ../ECObjects */ "../../core/ecschema-metadata/lib/cjs/ECObjects.js");
|
|
68707
|
+
const Exception_1 = __webpack_require__(/*! ../Exception */ "../../core/ecschema-metadata/lib/cjs/Exception.js");
|
|
68535
68708
|
/**
|
|
68536
68709
|
* Utility class for detecting cyclic references in a Schema graph.
|
|
68537
|
-
* @
|
|
68710
|
+
* @internal
|
|
68538
68711
|
*/
|
|
68539
68712
|
class SchemaGraph {
|
|
68713
|
+
constructor() {
|
|
68714
|
+
this._schemas = [];
|
|
68715
|
+
}
|
|
68716
|
+
find(schemaKey) {
|
|
68717
|
+
return this._schemas.find((info) => info.schemaKey.matches(schemaKey, ECObjects_1.SchemaMatchType.Latest));
|
|
68718
|
+
}
|
|
68540
68719
|
/**
|
|
68541
|
-
*
|
|
68542
|
-
* @param schema The schema to analyze.
|
|
68720
|
+
* Detected cyclic references in a schema and throw an exception if a cycle is found.
|
|
68543
68721
|
*/
|
|
68544
|
-
|
|
68545
|
-
|
|
68546
|
-
|
|
68722
|
+
throwIfCycles() {
|
|
68723
|
+
const cycles = this.detectCycles();
|
|
68724
|
+
if (cycles) {
|
|
68725
|
+
const result = cycles.map((cycle) => `${cycle.schema.schemaKey.name} --> ${cycle.refSchema.schemaKey.name}`).join(", ");
|
|
68726
|
+
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.InvalidECJson, `Schema '${this._schemas[0].schemaKey.name}' has reference cycles: ${result}`);
|
|
68727
|
+
}
|
|
68547
68728
|
}
|
|
68548
68729
|
/**
|
|
68549
68730
|
* Detected cyclic references in a schema.
|
|
68550
|
-
* @returns
|
|
68731
|
+
* @returns An array describing the cycle if there is a cycle or undefined if no cycles found.
|
|
68551
68732
|
*/
|
|
68552
68733
|
detectCycles() {
|
|
68553
68734
|
const visited = {};
|
|
@@ -68562,31 +68743,70 @@ class SchemaGraph {
|
|
|
68562
68743
|
}
|
|
68563
68744
|
detectCycleUtil(schema, visited, recStack, cycles) {
|
|
68564
68745
|
let cycleFound = false;
|
|
68565
|
-
if (!visited[schema.name]) {
|
|
68566
|
-
visited[schema.name] = true;
|
|
68567
|
-
recStack[schema.name] = true;
|
|
68568
|
-
for (const
|
|
68569
|
-
|
|
68746
|
+
if (!visited[schema.schemaKey.name]) {
|
|
68747
|
+
visited[schema.schemaKey.name] = true;
|
|
68748
|
+
recStack[schema.schemaKey.name] = true;
|
|
68749
|
+
for (const refKey of schema.references) {
|
|
68750
|
+
const refSchema = this.find(refKey.schemaKey);
|
|
68751
|
+
if (undefined === refSchema)
|
|
68752
|
+
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLoadSchema, `Could not find the schema info for ref schema ${refKey.schemaKey.toString()} for schema ${schema.schemaKey.toString()}`);
|
|
68753
|
+
if (!visited[refKey.schemaKey.name] && this.detectCycleUtil(refSchema, visited, recStack, cycles)) {
|
|
68570
68754
|
cycles.push({ schema, refSchema });
|
|
68571
68755
|
cycleFound = true;
|
|
68572
68756
|
}
|
|
68573
|
-
else if (recStack[
|
|
68757
|
+
else if (recStack[refKey.schemaKey.name]) {
|
|
68574
68758
|
cycles.push({ schema, refSchema });
|
|
68575
68759
|
cycleFound = true;
|
|
68576
68760
|
}
|
|
68577
68761
|
}
|
|
68578
68762
|
}
|
|
68579
68763
|
if (!cycleFound)
|
|
68580
|
-
recStack[schema.name] = false;
|
|
68764
|
+
recStack[schema.schemaKey.name] = false;
|
|
68581
68765
|
return cycleFound;
|
|
68582
68766
|
}
|
|
68583
|
-
|
|
68584
|
-
|
|
68585
|
-
|
|
68586
|
-
|
|
68587
|
-
|
|
68588
|
-
|
|
68589
|
-
|
|
68767
|
+
/**
|
|
68768
|
+
* Generates a SchemaGraph for the input schema using the context to find info on referenced schemas. Use the generateGraphSync if you have the fully loaded Schema.
|
|
68769
|
+
* @param schema The SchemaInfo to build the graph from
|
|
68770
|
+
* @param context The SchemaContext used to locate info on the referenced schemas
|
|
68771
|
+
* @returns A SchemaGraph that can be used to detect schema cycles
|
|
68772
|
+
*/
|
|
68773
|
+
static async generateGraph(schema, context) {
|
|
68774
|
+
const graph = new SchemaGraph();
|
|
68775
|
+
const genGraph = async (s) => {
|
|
68776
|
+
if (graph.find(s.schemaKey))
|
|
68777
|
+
return;
|
|
68778
|
+
graph._schemas.push(s);
|
|
68779
|
+
for (const refSchema of s.references) {
|
|
68780
|
+
if (!graph.find(refSchema.schemaKey)) {
|
|
68781
|
+
const refInfo = await context.getSchemaInfo(refSchema.schemaKey, ECObjects_1.SchemaMatchType.LatestWriteCompatible);
|
|
68782
|
+
if (undefined === refInfo) {
|
|
68783
|
+
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLocateSchema, `Could not locate the referenced schema, ${refSchema.schemaKey.name}.${refSchema.schemaKey.version.toString()}, of ${s.schemaKey.name} when populating the graph for ${schema.schemaKey.name}`);
|
|
68784
|
+
}
|
|
68785
|
+
await genGraph(refInfo);
|
|
68786
|
+
}
|
|
68787
|
+
}
|
|
68788
|
+
};
|
|
68789
|
+
await genGraph(schema);
|
|
68790
|
+
return graph;
|
|
68791
|
+
}
|
|
68792
|
+
/**
|
|
68793
|
+
* Generates a SchemaGraph for the input schema. Use the generateGraph if you just have schema info.
|
|
68794
|
+
* @param schema The Schema to build the graph from.
|
|
68795
|
+
* @returns A SchemaGraph that can be used to detect schema cycles
|
|
68796
|
+
*/
|
|
68797
|
+
static generateGraphSync(schema) {
|
|
68798
|
+
const graph = new SchemaGraph();
|
|
68799
|
+
const genGraph = (s) => {
|
|
68800
|
+
if (graph.find(s.schemaKey))
|
|
68801
|
+
return;
|
|
68802
|
+
graph._schemas.push(s);
|
|
68803
|
+
for (const refSchema of s.references) {
|
|
68804
|
+
if (!graph.find(refSchema.schemaKey))
|
|
68805
|
+
genGraph(refSchema);
|
|
68806
|
+
}
|
|
68807
|
+
};
|
|
68808
|
+
genGraph(schema);
|
|
68809
|
+
return graph;
|
|
68590
68810
|
}
|
|
68591
68811
|
}
|
|
68592
68812
|
exports.SchemaGraph = SchemaGraph;
|
|
@@ -68690,10 +68910,21 @@ class ECSchemaRpcLocater {
|
|
|
68690
68910
|
* @param context The SchemaContext that will control the lifetime of the schema and holds the schema's references, if they exist.
|
|
68691
68911
|
*/
|
|
68692
68912
|
async getSchema(schemaKey, matchType, context) {
|
|
68913
|
+
await this.getSchemaInfo(schemaKey, matchType, context);
|
|
68914
|
+
const schema = await context.getCachedSchema(schemaKey, matchType);
|
|
68915
|
+
return schema;
|
|
68916
|
+
}
|
|
68917
|
+
/**
|
|
68918
|
+
* Gets the schema info which matches the provided SchemaKey. The schema info may be returned before the schema is fully loaded.
|
|
68919
|
+
* The fully loaded schema can be accessed via the schema context using the getCachedSchema method.
|
|
68920
|
+
* @param schemaKey The SchemaKey describing the schema to get from the cache.
|
|
68921
|
+
* @param matchType The match type to use when locating the schema
|
|
68922
|
+
*/
|
|
68923
|
+
async getSchemaInfo(schemaKey, matchType, context) {
|
|
68693
68924
|
const schemaJson = await ECSchemaRpcInterface_1.ECSchemaRpcInterface.getClient().getSchemaJSON(this.token, schemaKey.name);
|
|
68694
|
-
const
|
|
68695
|
-
if (
|
|
68696
|
-
return
|
|
68925
|
+
const schemaInfo = await ecschema_metadata_1.Schema.startLoadingFromJson(schemaJson, context || new ecschema_metadata_1.SchemaContext());
|
|
68926
|
+
if (schemaInfo !== undefined && schemaInfo.schemaKey.matches(schemaKey, matchType)) {
|
|
68927
|
+
return schemaInfo;
|
|
68697
68928
|
}
|
|
68698
68929
|
return undefined;
|
|
68699
68930
|
}
|
|
@@ -72561,9 +72792,13 @@ class AccuSnap {
|
|
|
72561
72792
|
this.aSnapHits.removeCurrentHit();
|
|
72562
72793
|
hit = await this.getAccuSnapDetail(this.aSnapHits, out);
|
|
72563
72794
|
}
|
|
72795
|
+
if (!this._doSnapping)
|
|
72796
|
+
hit = undefined; // Snap no longer requested...
|
|
72564
72797
|
}
|
|
72565
72798
|
else if (this.isLocateEnabled) {
|
|
72566
72799
|
hit = await this.findLocatableHit(ev, false, out); // get next AccuSnap path (or undefined)
|
|
72800
|
+
if (!this.isLocateEnabled)
|
|
72801
|
+
hit = undefined; // Hit no longer requested...
|
|
72567
72802
|
}
|
|
72568
72803
|
// set the current hit
|
|
72569
72804
|
if (hit || this.currHit)
|
|
@@ -72584,9 +72819,13 @@ class AccuSnap {
|
|
|
72584
72819
|
if (this._doSnapping) {
|
|
72585
72820
|
out.snapStatus = this.findHits(ev);
|
|
72586
72821
|
hit = (_ElementLocateManager__WEBPACK_IMPORTED_MODULE_2__.SnapStatus.Success !== out.snapStatus) ? undefined : await this.getAccuSnapDetail(this.aSnapHits, out);
|
|
72822
|
+
if (!this._doSnapping)
|
|
72823
|
+
hit = undefined; // Snap no longer requested...
|
|
72587
72824
|
}
|
|
72588
72825
|
else if (this.isLocateEnabled) {
|
|
72589
72826
|
hit = await this.findLocatableHit(ev, true, out);
|
|
72827
|
+
if (!this.isLocateEnabled)
|
|
72828
|
+
hit = undefined; // Hit no longer requested...
|
|
72590
72829
|
}
|
|
72591
72830
|
}
|
|
72592
72831
|
// set the current hit and display the sprite (based on snap's KeypointType)
|
|
@@ -75098,7 +75337,8 @@ class DisplayStyleState extends _EntityState__WEBPACK_IMPORTED_MODULE_6__.Elemen
|
|
|
75098
75337
|
/** @internal */
|
|
75099
75338
|
async queryRenderTimelineProps(timelineId) {
|
|
75100
75339
|
try {
|
|
75101
|
-
|
|
75340
|
+
const omitScriptElementIds = !_IModelApp__WEBPACK_IMPORTED_MODULE_7__.IModelApp.tileAdmin.enableFrontendScheduleScripts;
|
|
75341
|
+
return await this.iModel.elements.loadProps(timelineId, { renderTimeline: { omitScriptElementIds } });
|
|
75102
75342
|
}
|
|
75103
75343
|
catch (_) {
|
|
75104
75344
|
return undefined;
|
|
@@ -79341,9 +79581,7 @@ class IModelApp {
|
|
|
79341
79581
|
static get applicationVersion() { return this._applicationVersion; }
|
|
79342
79582
|
/** True after [[startup]] has been called, until [[shutdown]] is called. */
|
|
79343
79583
|
static get initialized() { return this._initialized; }
|
|
79344
|
-
/** Provides access to
|
|
79345
|
-
* @internal
|
|
79346
|
-
*/
|
|
79584
|
+
/** Provides access to IModelHub services. */
|
|
79347
79585
|
static get hubAccess() { return this._hubAccess; }
|
|
79348
79586
|
/** Provides access to the RealityData service implementation for this IModelApp
|
|
79349
79587
|
* @beta
|
|
@@ -95206,65 +95444,6 @@ class ExtensionHost {
|
|
|
95206
95444
|
}
|
|
95207
95445
|
|
|
95208
95446
|
|
|
95209
|
-
/***/ }),
|
|
95210
|
-
|
|
95211
|
-
/***/ "../../core/frontend/lib/esm/extension/ExtensionImpl.js":
|
|
95212
|
-
/*!**************************************************************!*\
|
|
95213
|
-
!*** ../../core/frontend/lib/esm/extension/ExtensionImpl.js ***!
|
|
95214
|
-
\**************************************************************/
|
|
95215
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
95216
|
-
|
|
95217
|
-
"use strict";
|
|
95218
|
-
__webpack_require__.r(__webpack_exports__);
|
|
95219
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
95220
|
-
/* harmony export */ "ExtensionImpl": () => (/* binding */ ExtensionImpl),
|
|
95221
|
-
/* harmony export */ "ToolProvider": () => (/* binding */ ToolProvider)
|
|
95222
|
-
/* harmony export */ });
|
|
95223
|
-
/* harmony import */ var _IModelApp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../IModelApp */ "../../core/frontend/lib/esm/IModelApp.js");
|
|
95224
|
-
/* harmony import */ var _itwin_appui_abstract__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @itwin/appui-abstract */ "../../ui/appui-abstract/lib/esm/appui-abstract.js");
|
|
95225
|
-
/*---------------------------------------------------------------------------------------------
|
|
95226
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
95227
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
95228
|
-
*--------------------------------------------------------------------------------------------*/
|
|
95229
|
-
/** @packageDocumentation
|
|
95230
|
-
* @module Extensions
|
|
95231
|
-
*/
|
|
95232
|
-
|
|
95233
|
-
|
|
95234
|
-
/** @alpha */
|
|
95235
|
-
class ToolProvider {
|
|
95236
|
-
constructor(tool) {
|
|
95237
|
-
this._toolId = "";
|
|
95238
|
-
this.id = `ToolProvider:${tool.toolId}`;
|
|
95239
|
-
this._toolId = tool.toolId;
|
|
95240
|
-
this._toolIcon = tool.iconSpec;
|
|
95241
|
-
this._toolLabel = tool.description;
|
|
95242
|
-
}
|
|
95243
|
-
provideToolbarButtonItems(_stageId, stageUsage, toolbarUsage, toolbarOrientation) {
|
|
95244
|
-
const toolbarItem = _itwin_appui_abstract__WEBPACK_IMPORTED_MODULE_1__.ToolbarItemUtilities.createActionButton(this._toolId, 0, this._toolIcon, this._toolLabel, async () => {
|
|
95245
|
-
await _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.tools.run(this._toolId);
|
|
95246
|
-
});
|
|
95247
|
-
return stageUsage === _itwin_appui_abstract__WEBPACK_IMPORTED_MODULE_1__.StageUsage.General && toolbarUsage === _itwin_appui_abstract__WEBPACK_IMPORTED_MODULE_1__.ToolbarUsage.ContentManipulation && toolbarOrientation === _itwin_appui_abstract__WEBPACK_IMPORTED_MODULE_1__.ToolbarOrientation.Vertical ? [toolbarItem] : []; // eslint-disable-line deprecation/deprecation
|
|
95248
|
-
}
|
|
95249
|
-
}
|
|
95250
|
-
/** @alpha */
|
|
95251
|
-
class ExtensionImpl {
|
|
95252
|
-
constructor(_id) {
|
|
95253
|
-
this._id = _id;
|
|
95254
|
-
}
|
|
95255
|
-
async registerTool(tool, onRegistered) {
|
|
95256
|
-
try {
|
|
95257
|
-
_IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.tools.register(tool);
|
|
95258
|
-
_itwin_appui_abstract__WEBPACK_IMPORTED_MODULE_1__.UiItemsManager.register(new ToolProvider(tool)); // eslint-disable-line deprecation/deprecation
|
|
95259
|
-
onRegistered?.();
|
|
95260
|
-
}
|
|
95261
|
-
catch (e) {
|
|
95262
|
-
console.log(`Error registering tool: ${e}`); // eslint-disable-line
|
|
95263
|
-
}
|
|
95264
|
-
}
|
|
95265
|
-
}
|
|
95266
|
-
|
|
95267
|
-
|
|
95268
95447
|
/***/ }),
|
|
95269
95448
|
|
|
95270
95449
|
/***/ "../../core/frontend/lib/esm/extension/ExtensionRuntime.js":
|
|
@@ -95275,10 +95454,9 @@ class ExtensionImpl {
|
|
|
95275
95454
|
|
|
95276
95455
|
"use strict";
|
|
95277
95456
|
__webpack_require__.r(__webpack_exports__);
|
|
95278
|
-
/* harmony import */ var
|
|
95279
|
-
/* harmony import */ var
|
|
95280
|
-
/* harmony import */ var
|
|
95281
|
-
/* harmony import */ var _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @itwin/core-common */ "../../core/common/lib/esm/core-common.js");
|
|
95457
|
+
/* harmony import */ var _ExtensionHost__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ExtensionHost */ "../../core/frontend/lib/esm/extension/ExtensionHost.js");
|
|
95458
|
+
/* harmony import */ var _core_frontend__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core-frontend */ "../../core/frontend/lib/esm/core-frontend.js");
|
|
95459
|
+
/* harmony import */ var _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @itwin/core-common */ "../../core/common/lib/esm/core-common.js");
|
|
95282
95460
|
/*---------------------------------------------------------------------------------------------
|
|
95283
95461
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
95284
95462
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -95290,7 +95468,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
95290
95468
|
/* eslint-disable @itwin/no-internal-barrel-imports */
|
|
95291
95469
|
/* eslint-disable sort-imports */
|
|
95292
95470
|
|
|
95293
|
-
|
|
95294
95471
|
const globalSymbol = Symbol.for("itwin.core.frontend.globals");
|
|
95295
95472
|
if (globalThis[globalSymbol])
|
|
95296
95473
|
throw new Error("Multiple @itwin/core-frontend imports detected!");
|
|
@@ -95298,265 +95475,264 @@ if (globalThis[globalSymbol])
|
|
|
95298
95475
|
|
|
95299
95476
|
|
|
95300
95477
|
const extensionExports = {
|
|
95301
|
-
ACSDisplayOptions:
|
|
95302
|
-
ACSType:
|
|
95303
|
-
AccuDrawHintBuilder:
|
|
95304
|
-
AccuSnap:
|
|
95305
|
-
ActivityMessageDetails:
|
|
95306
|
-
ActivityMessageEndReason:
|
|
95307
|
-
AuxCoordSystem2dState:
|
|
95308
|
-
AuxCoordSystem3dState:
|
|
95309
|
-
AuxCoordSystemSpatialState:
|
|
95310
|
-
AuxCoordSystemState:
|
|
95311
|
-
BackgroundFill:
|
|
95312
|
-
BackgroundMapType:
|
|
95313
|
-
BatchType:
|
|
95314
|
-
BeButton:
|
|
95315
|
-
BeButtonEvent:
|
|
95316
|
-
BeButtonState:
|
|
95317
|
-
BeModifierKeys:
|
|
95318
|
-
BeTouchEvent:
|
|
95319
|
-
BeWheelEvent:
|
|
95320
|
-
BingElevationProvider:
|
|
95321
|
-
BingLocationProvider:
|
|
95322
|
-
BisCodeSpec:
|
|
95323
|
-
BriefcaseIdValue:
|
|
95324
|
-
CategorySelectorState:
|
|
95325
|
-
ChangeFlags:
|
|
95326
|
-
ChangeOpCode:
|
|
95327
|
-
ChangedValueState:
|
|
95328
|
-
ChangesetType:
|
|
95329
|
-
ClipEventType:
|
|
95330
|
-
Cluster:
|
|
95331
|
-
ColorByName:
|
|
95332
|
-
ColorDef:
|
|
95333
|
-
CommonLoggerCategory:
|
|
95334
|
-
ContextRealityModelState:
|
|
95335
|
-
ContextRotationId:
|
|
95336
|
-
CoordSource:
|
|
95337
|
-
CoordSystem:
|
|
95338
|
-
CoordinateLockOverrides:
|
|
95339
|
-
DecorateContext:
|
|
95340
|
-
Decorations:
|
|
95341
|
-
DisclosedTileTreeSet:
|
|
95342
|
-
DisplayStyle2dState:
|
|
95343
|
-
DisplayStyle3dState:
|
|
95344
|
-
DisplayStyleState:
|
|
95345
|
-
DrawingModelState:
|
|
95346
|
-
DrawingViewState:
|
|
95347
|
-
ECSqlSystemProperty:
|
|
95348
|
-
ECSqlValueType:
|
|
95349
|
-
EditManipulator:
|
|
95350
|
-
ElementGeometryOpcode:
|
|
95351
|
-
ElementLocateManager:
|
|
95352
|
-
ElementPicker:
|
|
95353
|
-
ElementState:
|
|
95354
|
-
EmphasizeElements:
|
|
95355
|
-
EntityState:
|
|
95356
|
-
EventController:
|
|
95357
|
-
EventHandled:
|
|
95358
|
-
FeatureOverrideType:
|
|
95359
|
-
FeatureSymbology:
|
|
95360
|
-
FillDisplay:
|
|
95361
|
-
FillFlags:
|
|
95362
|
-
FlashMode:
|
|
95363
|
-
FlashSettings:
|
|
95364
|
-
FontType:
|
|
95365
|
-
FrontendLoggerCategory:
|
|
95366
|
-
FrustumAnimator:
|
|
95367
|
-
FrustumPlanes:
|
|
95368
|
-
GeoCoordStatus:
|
|
95369
|
-
GeometricModel2dState:
|
|
95370
|
-
GeometricModel3dState:
|
|
95371
|
-
GeometricModelState:
|
|
95372
|
-
GeometryClass:
|
|
95373
|
-
GeometryStreamFlags:
|
|
95374
|
-
GeometrySummaryVerbosity:
|
|
95375
|
-
GlobeAnimator:
|
|
95376
|
-
GlobeMode:
|
|
95377
|
-
GraphicBranch:
|
|
95378
|
-
GraphicBuilder:
|
|
95379
|
-
GraphicType:
|
|
95380
|
-
GridOrientationType:
|
|
95381
|
-
HSVConstants:
|
|
95382
|
-
HiliteSet:
|
|
95383
|
-
HitDetail:
|
|
95384
|
-
HitDetailType:
|
|
95385
|
-
HitGeomType:
|
|
95386
|
-
HitList:
|
|
95387
|
-
HitParentGeomType:
|
|
95388
|
-
HitPriority:
|
|
95389
|
-
HitSource:
|
|
95390
|
-
IModelConnection:
|
|
95391
|
-
IconSprites:
|
|
95392
|
-
ImageBufferFormat:
|
|
95393
|
-
ImageSourceFormat:
|
|
95394
|
-
InputCollector:
|
|
95395
|
-
InputSource:
|
|
95396
|
-
InteractiveTool:
|
|
95397
|
-
IntersectDetail:
|
|
95398
|
-
KeyinParseError:
|
|
95399
|
-
LinePixels:
|
|
95400
|
-
LocateAction:
|
|
95401
|
-
LocateFilterStatus:
|
|
95402
|
-
LocateOptions:
|
|
95403
|
-
LocateResponse:
|
|
95404
|
-
ManipulatorToolEvent:
|
|
95405
|
-
MarginPercent:
|
|
95406
|
-
Marker:
|
|
95407
|
-
MarkerSet:
|
|
95408
|
-
MassPropertiesOperation:
|
|
95409
|
-
MessageBoxIconType:
|
|
95410
|
-
MessageBoxType:
|
|
95411
|
-
MessageBoxValue:
|
|
95412
|
-
ModelSelectorState:
|
|
95413
|
-
ModelState:
|
|
95414
|
-
MonochromeMode:
|
|
95415
|
-
NotificationHandler:
|
|
95416
|
-
NotificationManager:
|
|
95417
|
-
NotifyMessageDetails:
|
|
95418
|
-
Npc:
|
|
95419
|
-
OffScreenViewport:
|
|
95420
|
-
OrthographicViewState:
|
|
95421
|
-
OutputMessageAlert:
|
|
95422
|
-
OutputMessagePriority:
|
|
95423
|
-
OutputMessageType:
|
|
95424
|
-
ParseAndRunResult:
|
|
95425
|
-
PerModelCategoryVisibility:
|
|
95426
|
-
PhysicalModelState:
|
|
95427
|
-
Pixel:
|
|
95428
|
-
PlanarClipMaskMode:
|
|
95429
|
-
PlanarClipMaskPriority:
|
|
95430
|
-
PrimitiveTool:
|
|
95431
|
-
QParams2d:
|
|
95432
|
-
QParams3d:
|
|
95433
|
-
QPoint2d:
|
|
95434
|
-
QPoint2dBuffer:
|
|
95435
|
-
QPoint2dBufferBuilder:
|
|
95436
|
-
QPoint2dList:
|
|
95437
|
-
QPoint3d:
|
|
95438
|
-
QPoint3dBuffer:
|
|
95439
|
-
QPoint3dBufferBuilder:
|
|
95440
|
-
QPoint3dList:
|
|
95441
|
-
Quantization:
|
|
95442
|
-
QueryRowFormat:
|
|
95443
|
-
Rank:
|
|
95444
|
-
RenderClipVolume:
|
|
95445
|
-
RenderContext:
|
|
95446
|
-
RenderGraphic:
|
|
95447
|
-
RenderGraphicOwner:
|
|
95448
|
-
RenderMode:
|
|
95449
|
-
RenderSystem:
|
|
95450
|
-
Scene:
|
|
95451
|
-
ScreenViewport:
|
|
95452
|
-
SectionDrawingModelState:
|
|
95453
|
-
SectionType:
|
|
95454
|
-
SelectionMethod:
|
|
95455
|
-
SelectionMode:
|
|
95456
|
-
SelectionProcessing:
|
|
95457
|
-
SelectionSet:
|
|
95458
|
-
SelectionSetEventType:
|
|
95459
|
-
SheetModelState:
|
|
95460
|
-
SheetViewState:
|
|
95461
|
-
SkyBoxImageType:
|
|
95462
|
-
SnapDetail:
|
|
95463
|
-
SnapHeat:
|
|
95464
|
-
SnapMode:
|
|
95465
|
-
SnapStatus:
|
|
95466
|
-
SpatialClassifierInsideDisplay:
|
|
95467
|
-
SpatialClassifierOutsideDisplay:
|
|
95468
|
-
SpatialLocationModelState:
|
|
95469
|
-
SpatialModelState:
|
|
95470
|
-
SpatialViewState:
|
|
95471
|
-
Sprite:
|
|
95472
|
-
SpriteLocation:
|
|
95473
|
-
StandardViewId:
|
|
95474
|
-
StartOrResume:
|
|
95475
|
-
SyncMode:
|
|
95476
|
-
TentativePoint:
|
|
95477
|
-
TerrainHeightOriginMode:
|
|
95478
|
-
TextureMapUnits:
|
|
95479
|
-
ThematicDisplayMode:
|
|
95480
|
-
ThematicGradientColorScheme:
|
|
95481
|
-
ThematicGradientMode:
|
|
95482
|
-
Tile:
|
|
95483
|
-
TileAdmin:
|
|
95484
|
-
TileBoundingBoxes:
|
|
95485
|
-
TileDrawArgs:
|
|
95486
|
-
TileGraphicType:
|
|
95487
|
-
TileLoadPriority:
|
|
95488
|
-
TileLoadStatus:
|
|
95489
|
-
TileRequest:
|
|
95490
|
-
TileRequestChannel:
|
|
95491
|
-
TileRequestChannelStatistics:
|
|
95492
|
-
TileRequestChannels:
|
|
95493
|
-
TileTree:
|
|
95494
|
-
TileTreeLoadStatus:
|
|
95495
|
-
TileTreeReference:
|
|
95496
|
-
TileUsageMarker:
|
|
95497
|
-
TileVisibility:
|
|
95498
|
-
Tiles:
|
|
95499
|
-
Tool:
|
|
95500
|
-
ToolAdmin:
|
|
95501
|
-
ToolAssistance:
|
|
95502
|
-
ToolAssistanceImage:
|
|
95503
|
-
ToolAssistanceInputMethod:
|
|
95504
|
-
ToolSettings:
|
|
95505
|
-
TwoWayViewportFrustumSync:
|
|
95506
|
-
TwoWayViewportSync:
|
|
95507
|
-
TxnAction:
|
|
95508
|
-
TypeOfChange:
|
|
95509
|
-
UniformType:
|
|
95510
|
-
VaryingType:
|
|
95511
|
-
ViewClipClearTool:
|
|
95512
|
-
ViewClipDecoration:
|
|
95513
|
-
ViewClipDecorationProvider:
|
|
95514
|
-
ViewClipTool:
|
|
95515
|
-
ViewCreator2d:
|
|
95516
|
-
ViewCreator3d:
|
|
95517
|
-
ViewManager:
|
|
95518
|
-
ViewManip:
|
|
95519
|
-
ViewPose:
|
|
95520
|
-
ViewPose2d:
|
|
95521
|
-
ViewPose3d:
|
|
95522
|
-
ViewRect:
|
|
95523
|
-
ViewState:
|
|
95524
|
-
ViewState2d:
|
|
95525
|
-
ViewState3d:
|
|
95526
|
-
ViewStatus:
|
|
95527
|
-
ViewTool:
|
|
95528
|
-
ViewingSpace:
|
|
95529
|
-
Viewport:
|
|
95530
|
-
canvasToImageBuffer:
|
|
95531
|
-
canvasToResizedCanvasWithBars:
|
|
95532
|
-
connectViewportFrusta:
|
|
95533
|
-
connectViewportViews:
|
|
95534
|
-
connectViewports:
|
|
95535
|
-
extractImageSourceDimensions:
|
|
95536
|
-
getCompressedJpegFromCanvas:
|
|
95537
|
-
getImageSourceFormatForMimeType:
|
|
95538
|
-
getImageSourceMimeType:
|
|
95539
|
-
imageBufferToBase64EncodedPng:
|
|
95540
|
-
imageBufferToCanvas:
|
|
95541
|
-
imageBufferToPngDataUrl:
|
|
95542
|
-
imageElementFromImageSource:
|
|
95543
|
-
imageElementFromUrl:
|
|
95544
|
-
queryTerrainElevationOffset:
|
|
95545
|
-
readElementGraphics:
|
|
95546
|
-
readGltfGraphics:
|
|
95547
|
-
synchronizeViewportFrusta:
|
|
95548
|
-
synchronizeViewportViews:
|
|
95478
|
+
ACSDisplayOptions: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ACSDisplayOptions,
|
|
95479
|
+
ACSType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ACSType,
|
|
95480
|
+
AccuDrawHintBuilder: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.AccuDrawHintBuilder,
|
|
95481
|
+
AccuSnap: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.AccuSnap,
|
|
95482
|
+
ActivityMessageDetails: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ActivityMessageDetails,
|
|
95483
|
+
ActivityMessageEndReason: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ActivityMessageEndReason,
|
|
95484
|
+
AuxCoordSystem2dState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.AuxCoordSystem2dState,
|
|
95485
|
+
AuxCoordSystem3dState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.AuxCoordSystem3dState,
|
|
95486
|
+
AuxCoordSystemSpatialState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.AuxCoordSystemSpatialState,
|
|
95487
|
+
AuxCoordSystemState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.AuxCoordSystemState,
|
|
95488
|
+
BackgroundFill: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.BackgroundFill,
|
|
95489
|
+
BackgroundMapType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.BackgroundMapType,
|
|
95490
|
+
BatchType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.BatchType,
|
|
95491
|
+
BeButton: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BeButton,
|
|
95492
|
+
BeButtonEvent: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BeButtonEvent,
|
|
95493
|
+
BeButtonState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BeButtonState,
|
|
95494
|
+
BeModifierKeys: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BeModifierKeys,
|
|
95495
|
+
BeTouchEvent: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BeTouchEvent,
|
|
95496
|
+
BeWheelEvent: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BeWheelEvent,
|
|
95497
|
+
BingElevationProvider: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BingElevationProvider,
|
|
95498
|
+
BingLocationProvider: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BingLocationProvider,
|
|
95499
|
+
BisCodeSpec: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.BisCodeSpec,
|
|
95500
|
+
BriefcaseIdValue: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.BriefcaseIdValue,
|
|
95501
|
+
CategorySelectorState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.CategorySelectorState,
|
|
95502
|
+
ChangeFlags: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ChangeFlags,
|
|
95503
|
+
ChangeOpCode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ChangeOpCode,
|
|
95504
|
+
ChangedValueState: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ChangedValueState,
|
|
95505
|
+
ChangesetType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ChangesetType,
|
|
95506
|
+
ClipEventType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ClipEventType,
|
|
95507
|
+
Cluster: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Cluster,
|
|
95508
|
+
ColorByName: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorByName,
|
|
95509
|
+
ColorDef: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef,
|
|
95510
|
+
CommonLoggerCategory: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.CommonLoggerCategory,
|
|
95511
|
+
ContextRealityModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ContextRealityModelState,
|
|
95512
|
+
ContextRotationId: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ContextRotationId,
|
|
95513
|
+
CoordSource: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.CoordSource,
|
|
95514
|
+
CoordSystem: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.CoordSystem,
|
|
95515
|
+
CoordinateLockOverrides: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.CoordinateLockOverrides,
|
|
95516
|
+
DecorateContext: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.DecorateContext,
|
|
95517
|
+
Decorations: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Decorations,
|
|
95518
|
+
DisclosedTileTreeSet: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.DisclosedTileTreeSet,
|
|
95519
|
+
DisplayStyle2dState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.DisplayStyle2dState,
|
|
95520
|
+
DisplayStyle3dState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.DisplayStyle3dState,
|
|
95521
|
+
DisplayStyleState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.DisplayStyleState,
|
|
95522
|
+
DrawingModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.DrawingModelState,
|
|
95523
|
+
DrawingViewState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.DrawingViewState,
|
|
95524
|
+
ECSqlSystemProperty: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ECSqlSystemProperty,
|
|
95525
|
+
ECSqlValueType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ECSqlValueType,
|
|
95526
|
+
EditManipulator: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.EditManipulator,
|
|
95527
|
+
ElementGeometryOpcode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ElementGeometryOpcode,
|
|
95528
|
+
ElementLocateManager: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ElementLocateManager,
|
|
95529
|
+
ElementPicker: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ElementPicker,
|
|
95530
|
+
ElementState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ElementState,
|
|
95531
|
+
EmphasizeElements: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.EmphasizeElements,
|
|
95532
|
+
EntityState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.EntityState,
|
|
95533
|
+
EventController: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.EventController,
|
|
95534
|
+
EventHandled: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.EventHandled,
|
|
95535
|
+
FeatureOverrideType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FeatureOverrideType,
|
|
95536
|
+
FeatureSymbology: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.FeatureSymbology,
|
|
95537
|
+
FillDisplay: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FillDisplay,
|
|
95538
|
+
FillFlags: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FillFlags,
|
|
95539
|
+
FlashMode: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.FlashMode,
|
|
95540
|
+
FlashSettings: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.FlashSettings,
|
|
95541
|
+
FontType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FontType,
|
|
95542
|
+
FrontendLoggerCategory: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.FrontendLoggerCategory,
|
|
95543
|
+
FrustumAnimator: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.FrustumAnimator,
|
|
95544
|
+
FrustumPlanes: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FrustumPlanes,
|
|
95545
|
+
GeoCoordStatus: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.GeoCoordStatus,
|
|
95546
|
+
GeometricModel2dState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.GeometricModel2dState,
|
|
95547
|
+
GeometricModel3dState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.GeometricModel3dState,
|
|
95548
|
+
GeometricModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.GeometricModelState,
|
|
95549
|
+
GeometryClass: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.GeometryClass,
|
|
95550
|
+
GeometryStreamFlags: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.GeometryStreamFlags,
|
|
95551
|
+
GeometrySummaryVerbosity: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.GeometrySummaryVerbosity,
|
|
95552
|
+
GlobeAnimator: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.GlobeAnimator,
|
|
95553
|
+
GlobeMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.GlobeMode,
|
|
95554
|
+
GraphicBranch: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.GraphicBranch,
|
|
95555
|
+
GraphicBuilder: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.GraphicBuilder,
|
|
95556
|
+
GraphicType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.GraphicType,
|
|
95557
|
+
GridOrientationType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.GridOrientationType,
|
|
95558
|
+
HSVConstants: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.HSVConstants,
|
|
95559
|
+
HiliteSet: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HiliteSet,
|
|
95560
|
+
HitDetail: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HitDetail,
|
|
95561
|
+
HitDetailType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HitDetailType,
|
|
95562
|
+
HitGeomType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HitGeomType,
|
|
95563
|
+
HitList: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HitList,
|
|
95564
|
+
HitParentGeomType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HitParentGeomType,
|
|
95565
|
+
HitPriority: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HitPriority,
|
|
95566
|
+
HitSource: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HitSource,
|
|
95567
|
+
IModelConnection: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.IModelConnection,
|
|
95568
|
+
IconSprites: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.IconSprites,
|
|
95569
|
+
ImageBufferFormat: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ImageBufferFormat,
|
|
95570
|
+
ImageSourceFormat: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ImageSourceFormat,
|
|
95571
|
+
InputCollector: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.InputCollector,
|
|
95572
|
+
InputSource: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.InputSource,
|
|
95573
|
+
InteractiveTool: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.InteractiveTool,
|
|
95574
|
+
IntersectDetail: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.IntersectDetail,
|
|
95575
|
+
KeyinParseError: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.KeyinParseError,
|
|
95576
|
+
LinePixels: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.LinePixels,
|
|
95577
|
+
LocateAction: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.LocateAction,
|
|
95578
|
+
LocateFilterStatus: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.LocateFilterStatus,
|
|
95579
|
+
LocateOptions: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.LocateOptions,
|
|
95580
|
+
LocateResponse: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.LocateResponse,
|
|
95581
|
+
ManipulatorToolEvent: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ManipulatorToolEvent,
|
|
95582
|
+
MarginPercent: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.MarginPercent,
|
|
95583
|
+
Marker: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Marker,
|
|
95584
|
+
MarkerSet: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.MarkerSet,
|
|
95585
|
+
MassPropertiesOperation: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation,
|
|
95586
|
+
MessageBoxIconType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.MessageBoxIconType,
|
|
95587
|
+
MessageBoxType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.MessageBoxType,
|
|
95588
|
+
MessageBoxValue: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.MessageBoxValue,
|
|
95589
|
+
ModelSelectorState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ModelSelectorState,
|
|
95590
|
+
ModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ModelState,
|
|
95591
|
+
MonochromeMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MonochromeMode,
|
|
95592
|
+
NotificationHandler: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.NotificationHandler,
|
|
95593
|
+
NotificationManager: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.NotificationManager,
|
|
95594
|
+
NotifyMessageDetails: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.NotifyMessageDetails,
|
|
95595
|
+
Npc: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.Npc,
|
|
95596
|
+
OffScreenViewport: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.OffScreenViewport,
|
|
95597
|
+
OrthographicViewState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.OrthographicViewState,
|
|
95598
|
+
OutputMessageAlert: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.OutputMessageAlert,
|
|
95599
|
+
OutputMessagePriority: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.OutputMessagePriority,
|
|
95600
|
+
OutputMessageType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.OutputMessageType,
|
|
95601
|
+
ParseAndRunResult: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ParseAndRunResult,
|
|
95602
|
+
PerModelCategoryVisibility: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.PerModelCategoryVisibility,
|
|
95603
|
+
PhysicalModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.PhysicalModelState,
|
|
95604
|
+
Pixel: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Pixel,
|
|
95605
|
+
PlanarClipMaskMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.PlanarClipMaskMode,
|
|
95606
|
+
PlanarClipMaskPriority: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.PlanarClipMaskPriority,
|
|
95607
|
+
PrimitiveTool: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.PrimitiveTool,
|
|
95608
|
+
QParams2d: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QParams2d,
|
|
95609
|
+
QParams3d: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QParams3d,
|
|
95610
|
+
QPoint2d: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint2d,
|
|
95611
|
+
QPoint2dBuffer: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint2dBuffer,
|
|
95612
|
+
QPoint2dBufferBuilder: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint2dBufferBuilder,
|
|
95613
|
+
QPoint2dList: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint2dList,
|
|
95614
|
+
QPoint3d: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint3d,
|
|
95615
|
+
QPoint3dBuffer: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint3dBuffer,
|
|
95616
|
+
QPoint3dBufferBuilder: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint3dBufferBuilder,
|
|
95617
|
+
QPoint3dList: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint3dList,
|
|
95618
|
+
Quantization: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.Quantization,
|
|
95619
|
+
QueryRowFormat: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QueryRowFormat,
|
|
95620
|
+
Rank: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.Rank,
|
|
95621
|
+
RenderClipVolume: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.RenderClipVolume,
|
|
95622
|
+
RenderContext: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.RenderContext,
|
|
95623
|
+
RenderGraphic: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.RenderGraphic,
|
|
95624
|
+
RenderGraphicOwner: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.RenderGraphicOwner,
|
|
95625
|
+
RenderMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.RenderMode,
|
|
95626
|
+
RenderSystem: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.RenderSystem,
|
|
95627
|
+
Scene: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Scene,
|
|
95628
|
+
ScreenViewport: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ScreenViewport,
|
|
95629
|
+
SectionDrawingModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SectionDrawingModelState,
|
|
95630
|
+
SectionType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.SectionType,
|
|
95631
|
+
SelectionMethod: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SelectionMethod,
|
|
95632
|
+
SelectionMode: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SelectionMode,
|
|
95633
|
+
SelectionProcessing: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SelectionProcessing,
|
|
95634
|
+
SelectionSet: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SelectionSet,
|
|
95635
|
+
SelectionSetEventType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SelectionSetEventType,
|
|
95636
|
+
SheetModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SheetModelState,
|
|
95637
|
+
SheetViewState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SheetViewState,
|
|
95638
|
+
SkyBoxImageType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.SkyBoxImageType,
|
|
95639
|
+
SnapDetail: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SnapDetail,
|
|
95640
|
+
SnapHeat: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SnapHeat,
|
|
95641
|
+
SnapMode: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SnapMode,
|
|
95642
|
+
SnapStatus: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SnapStatus,
|
|
95643
|
+
SpatialClassifierInsideDisplay: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.SpatialClassifierInsideDisplay,
|
|
95644
|
+
SpatialClassifierOutsideDisplay: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.SpatialClassifierOutsideDisplay,
|
|
95645
|
+
SpatialLocationModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SpatialLocationModelState,
|
|
95646
|
+
SpatialModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SpatialModelState,
|
|
95647
|
+
SpatialViewState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SpatialViewState,
|
|
95648
|
+
Sprite: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Sprite,
|
|
95649
|
+
SpriteLocation: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SpriteLocation,
|
|
95650
|
+
StandardViewId: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.StandardViewId,
|
|
95651
|
+
StartOrResume: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.StartOrResume,
|
|
95652
|
+
SyncMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.SyncMode,
|
|
95653
|
+
TentativePoint: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TentativePoint,
|
|
95654
|
+
TerrainHeightOriginMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TerrainHeightOriginMode,
|
|
95655
|
+
TextureMapUnits: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TextureMapUnits,
|
|
95656
|
+
ThematicDisplayMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ThematicDisplayMode,
|
|
95657
|
+
ThematicGradientColorScheme: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ThematicGradientColorScheme,
|
|
95658
|
+
ThematicGradientMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ThematicGradientMode,
|
|
95659
|
+
Tile: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Tile,
|
|
95660
|
+
TileAdmin: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileAdmin,
|
|
95661
|
+
TileBoundingBoxes: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileBoundingBoxes,
|
|
95662
|
+
TileDrawArgs: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileDrawArgs,
|
|
95663
|
+
TileGraphicType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileGraphicType,
|
|
95664
|
+
TileLoadPriority: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileLoadPriority,
|
|
95665
|
+
TileLoadStatus: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileLoadStatus,
|
|
95666
|
+
TileRequest: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileRequest,
|
|
95667
|
+
TileRequestChannel: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileRequestChannel,
|
|
95668
|
+
TileRequestChannelStatistics: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileRequestChannelStatistics,
|
|
95669
|
+
TileRequestChannels: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileRequestChannels,
|
|
95670
|
+
TileTree: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileTree,
|
|
95671
|
+
TileTreeLoadStatus: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileTreeLoadStatus,
|
|
95672
|
+
TileTreeReference: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileTreeReference,
|
|
95673
|
+
TileUsageMarker: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileUsageMarker,
|
|
95674
|
+
TileVisibility: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileVisibility,
|
|
95675
|
+
Tiles: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Tiles,
|
|
95676
|
+
Tool: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Tool,
|
|
95677
|
+
ToolAdmin: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ToolAdmin,
|
|
95678
|
+
ToolAssistance: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ToolAssistance,
|
|
95679
|
+
ToolAssistanceImage: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ToolAssistanceImage,
|
|
95680
|
+
ToolAssistanceInputMethod: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ToolAssistanceInputMethod,
|
|
95681
|
+
ToolSettings: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ToolSettings,
|
|
95682
|
+
TwoWayViewportFrustumSync: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TwoWayViewportFrustumSync,
|
|
95683
|
+
TwoWayViewportSync: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TwoWayViewportSync,
|
|
95684
|
+
TxnAction: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TxnAction,
|
|
95685
|
+
TypeOfChange: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TypeOfChange,
|
|
95686
|
+
UniformType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.UniformType,
|
|
95687
|
+
VaryingType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.VaryingType,
|
|
95688
|
+
ViewClipClearTool: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewClipClearTool,
|
|
95689
|
+
ViewClipDecoration: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewClipDecoration,
|
|
95690
|
+
ViewClipDecorationProvider: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewClipDecorationProvider,
|
|
95691
|
+
ViewClipTool: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewClipTool,
|
|
95692
|
+
ViewCreator2d: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewCreator2d,
|
|
95693
|
+
ViewCreator3d: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewCreator3d,
|
|
95694
|
+
ViewManager: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewManager,
|
|
95695
|
+
ViewManip: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewManip,
|
|
95696
|
+
ViewPose: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewPose,
|
|
95697
|
+
ViewPose2d: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewPose2d,
|
|
95698
|
+
ViewPose3d: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewPose3d,
|
|
95699
|
+
ViewRect: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewRect,
|
|
95700
|
+
ViewState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewState,
|
|
95701
|
+
ViewState2d: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewState2d,
|
|
95702
|
+
ViewState3d: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewState3d,
|
|
95703
|
+
ViewStatus: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewStatus,
|
|
95704
|
+
ViewTool: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewTool,
|
|
95705
|
+
ViewingSpace: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewingSpace,
|
|
95706
|
+
Viewport: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Viewport,
|
|
95707
|
+
canvasToImageBuffer: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.canvasToImageBuffer,
|
|
95708
|
+
canvasToResizedCanvasWithBars: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.canvasToResizedCanvasWithBars,
|
|
95709
|
+
connectViewportFrusta: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.connectViewportFrusta,
|
|
95710
|
+
connectViewportViews: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.connectViewportViews,
|
|
95711
|
+
connectViewports: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.connectViewports,
|
|
95712
|
+
extractImageSourceDimensions: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.extractImageSourceDimensions,
|
|
95713
|
+
getCompressedJpegFromCanvas: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.getCompressedJpegFromCanvas,
|
|
95714
|
+
getImageSourceFormatForMimeType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.getImageSourceFormatForMimeType,
|
|
95715
|
+
getImageSourceMimeType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.getImageSourceMimeType,
|
|
95716
|
+
imageBufferToBase64EncodedPng: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.imageBufferToBase64EncodedPng,
|
|
95717
|
+
imageBufferToCanvas: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.imageBufferToCanvas,
|
|
95718
|
+
imageBufferToPngDataUrl: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.imageBufferToPngDataUrl,
|
|
95719
|
+
imageElementFromImageSource: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.imageElementFromImageSource,
|
|
95720
|
+
imageElementFromUrl: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.imageElementFromUrl,
|
|
95721
|
+
queryTerrainElevationOffset: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.queryTerrainElevationOffset,
|
|
95722
|
+
readElementGraphics: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.readElementGraphics,
|
|
95723
|
+
readGltfGraphics: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.readGltfGraphics,
|
|
95724
|
+
synchronizeViewportFrusta: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.synchronizeViewportFrusta,
|
|
95725
|
+
synchronizeViewportViews: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.synchronizeViewportViews,
|
|
95549
95726
|
};
|
|
95550
95727
|
// END GENERATED CODE
|
|
95551
|
-
const getExtensionApi = (
|
|
95728
|
+
const getExtensionApi = (_id) => {
|
|
95552
95729
|
return {
|
|
95553
95730
|
exports: {
|
|
95554
95731
|
// exceptions
|
|
95555
|
-
ExtensionHost:
|
|
95732
|
+
ExtensionHost: _ExtensionHost__WEBPACK_IMPORTED_MODULE_0__.ExtensionHost,
|
|
95556
95733
|
// automated
|
|
95557
95734
|
...extensionExports,
|
|
95558
95735
|
},
|
|
95559
|
-
api: new _ExtensionImpl__WEBPACK_IMPORTED_MODULE_0__.ExtensionImpl(id),
|
|
95560
95736
|
};
|
|
95561
95737
|
};
|
|
95562
95738
|
globalThis[globalSymbol] = {
|
|
@@ -141157,7 +141333,7 @@ class RealityTileTree extends _internal__WEBPACK_IMPORTED_MODULE_6__.TileTree {
|
|
|
141157
141333
|
const reprojectChildren = new Array();
|
|
141158
141334
|
for (const child of children) {
|
|
141159
141335
|
const realityChild = child;
|
|
141160
|
-
const childRange =
|
|
141336
|
+
const childRange = rootToDb.multiplyRange(realityChild.contentRange, scratchRange);
|
|
141161
141337
|
const dbCenter = childRange.center;
|
|
141162
141338
|
const ecefCenter = dbToEcef.multiplyPoint3d(dbCenter);
|
|
141163
141339
|
const dbPoints = [dbCenter, dbCenter.plusXYZ(1), dbCenter.plusXYZ(0, 1), dbCenter.plusXYZ(0, 0, 1)];
|
|
@@ -142209,8 +142385,9 @@ class TileAdmin {
|
|
|
142209
142385
|
// start dynamically loading default implementation and save the promise to avoid duplicate instances
|
|
142210
142386
|
this._tileStoragePromise = (async () => {
|
|
142211
142387
|
await __webpack_require__.e(/*! import() */ "vendors-common_temp_node_modules_pnpm_reflect-metadata_0_1_13_node_modules_reflect-metadata_R-610cb3").then(__webpack_require__.t.bind(__webpack_require__, /*! reflect-metadata */ "../../common/temp/node_modules/.pnpm/reflect-metadata@0.1.13/node_modules/reflect-metadata/Reflect.js", 23));
|
|
142388
|
+
const objectStorage = await Promise.all(/*! import() | object-storage-azure */[__webpack_require__.e("vendors-common_temp_node_modules_pnpm_reflect-metadata_0_1_13_node_modules_reflect-metadata_R-610cb3"), __webpack_require__.e("vendors-common_temp_node_modules_pnpm_itwin_object-storage-azure_1_6_0_node_modules_itwin_obj-0f69b1"), __webpack_require__.e("object-storage-azure")]).then(__webpack_require__.t.bind(__webpack_require__, /*! @itwin/object-storage-azure/lib/frontend */ "../../common/temp/node_modules/.pnpm/@itwin+object-storage-azure@1.6.0/node_modules/@itwin/object-storage-azure/lib/frontend/index.js", 23));
|
|
142212
142389
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
142213
|
-
const { AzureFrontendStorage, FrontendBlockBlobClientWrapperFactory } =
|
|
142390
|
+
const { AzureFrontendStorage, FrontendBlockBlobClientWrapperFactory } = objectStorage.default ?? objectStorage;
|
|
142214
142391
|
const azureStorage = new AzureFrontendStorage(new FrontendBlockBlobClientWrapperFactory());
|
|
142215
142392
|
this._tileStorage = new _internal__WEBPACK_IMPORTED_MODULE_6__.TileStorage(azureStorage);
|
|
142216
142393
|
return this._tileStorage;
|
|
@@ -147768,18 +147945,25 @@ class ImageryMapLayerTreeSupplier {
|
|
|
147768
147945
|
* This allows the ID to serve as a lookup key to find the corresponding TileTree.
|
|
147769
147946
|
*/
|
|
147770
147947
|
compareTileTreeIds(lhs, rhs) {
|
|
147771
|
-
let cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareStrings)(lhs.settings.
|
|
147948
|
+
let cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareStrings)(lhs.settings.formatId, rhs.settings.formatId);
|
|
147772
147949
|
if (0 === cmp) {
|
|
147773
|
-
cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.
|
|
147950
|
+
cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareStrings)(lhs.settings.url, rhs.settings.url);
|
|
147774
147951
|
if (0 === cmp) {
|
|
147775
|
-
cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareStringsOrUndefined)(lhs.settings.
|
|
147952
|
+
cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareStringsOrUndefined)(lhs.settings.userName, rhs.settings.userName);
|
|
147776
147953
|
if (0 === cmp) {
|
|
147777
|
-
cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.
|
|
147954
|
+
cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareStringsOrUndefined)(lhs.settings.password, rhs.settings.password);
|
|
147778
147955
|
if (0 === cmp) {
|
|
147779
|
-
cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.
|
|
147956
|
+
cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareBooleans)(lhs.settings.transparentBackground, rhs.settings.transparentBackground);
|
|
147780
147957
|
if (0 === cmp) {
|
|
147781
|
-
|
|
147782
|
-
|
|
147958
|
+
cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareNumbers)(lhs.settings.subLayers.length, rhs.settings.subLayers.length);
|
|
147959
|
+
if (0 === cmp) {
|
|
147960
|
+
for (let i = 0; i < lhs.settings.subLayers.length && 0 === cmp; i++) {
|
|
147961
|
+
cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareStrings)(lhs.settings.subLayers[i].name, rhs.settings.subLayers[i].name);
|
|
147962
|
+
if (0 === cmp) {
|
|
147963
|
+
cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareBooleans)(lhs.settings.subLayers[i].visible, rhs.settings.subLayers[i].visible);
|
|
147964
|
+
}
|
|
147965
|
+
}
|
|
147966
|
+
}
|
|
147783
147967
|
}
|
|
147784
147968
|
}
|
|
147785
147969
|
}
|
|
@@ -149497,7 +149681,8 @@ class MapTile extends _internal__WEBPACK_IMPORTED_MODULE_7__.RealityTile {
|
|
|
149497
149681
|
}
|
|
149498
149682
|
/** @internal */
|
|
149499
149683
|
minimumVisibleFactor() {
|
|
149500
|
-
|
|
149684
|
+
// if minimumVisibleFactor is more than 0, it stops parents from loading when children are not ready, to fill in gaps
|
|
149685
|
+
return 0.0;
|
|
149501
149686
|
}
|
|
149502
149687
|
/** @internal */
|
|
149503
149688
|
getDrapeTextures() {
|
|
@@ -166781,17 +166966,20 @@ class Geometry {
|
|
|
166781
166966
|
if (a2b2 > 0.0) {
|
|
166782
166967
|
const a2b2r = 1.0 / a2b2; // 1/(a^2+b^2)
|
|
166783
166968
|
const d2a2b2 = d2 * a2b2r; // d^2/(a^2+b^2)
|
|
166784
|
-
const
|
|
166785
|
-
if (
|
|
166969
|
+
const criterion = 1.0 - d2a2b2; // 1 - d^2/(a^2+b^2);
|
|
166970
|
+
if (criterion < -Geometry.smallMetricDistanceSquared) // nSolution = 0
|
|
166786
166971
|
return result;
|
|
166787
166972
|
const da2b2 = -constCoff * a2b2r; // -d/(a^2+b^2)
|
|
166973
|
+
// (c0,s0) is the closest approach of the line to the circle center (origin)
|
|
166788
166974
|
const c0 = da2b2 * cosCoff; // -ad/(a^2+b^2)
|
|
166789
166975
|
const s0 = da2b2 * sinCoff; // -bd/(a^2+b^2)
|
|
166790
|
-
if (
|
|
166976
|
+
if (criterion <= 0.0) { // nSolution = 1
|
|
166977
|
+
// We observed criterion = -2.22e-16 in a rotated tangent system, therefore for negative criteria near
|
|
166978
|
+
// zero, return the near-tangency; for tiny positive criteria, fall through to return both solutions.
|
|
166791
166979
|
result = [_geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_1__.Vector2d.create(c0, s0)];
|
|
166792
166980
|
}
|
|
166793
|
-
else
|
|
166794
|
-
const s = Math.sqrt(
|
|
166981
|
+
else { // nSolution = 2
|
|
166982
|
+
const s = Math.sqrt(criterion * a2b2r); // sqrt(a^2+b^2-d^2)) / (a^2+b^2)
|
|
166795
166983
|
result = [
|
|
166796
166984
|
_geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_1__.Vector2d.create(c0 - s * sinCoff, s0 + s * cosCoff),
|
|
166797
166985
|
_geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_1__.Vector2d.create(c0 + s * sinCoff, s0 - s * cosCoff),
|
|
@@ -181735,12 +181923,12 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
181735
181923
|
extendB, reversed) {
|
|
181736
181924
|
const inverseA = matrixA.inverse();
|
|
181737
181925
|
if (inverseA) {
|
|
181738
|
-
const localB = inverseA.multiplyMatrixMatrix(matrixB);
|
|
181926
|
+
const localB = inverseA.multiplyMatrixMatrix(matrixB); // localB->localA transform
|
|
181739
181927
|
const ellipseRadians = [];
|
|
181740
181928
|
const circleRadians = [];
|
|
181741
181929
|
_numerics_Polynomials__WEBPACK_IMPORTED_MODULE_6__.TrigPolynomial.solveUnitCircleHomogeneousEllipseIntersection(localB.coffs[2], localB.coffs[5], localB.coffs[8], // center xyw
|
|
181742
|
-
localB.coffs[0], localB.coffs[3], localB.coffs[6], //
|
|
181743
|
-
localB.coffs[1], localB.coffs[4], localB.coffs[7], //
|
|
181930
|
+
localB.coffs[0], localB.coffs[3], localB.coffs[6], // vector0 xyw
|
|
181931
|
+
localB.coffs[1], localB.coffs[4], localB.coffs[7], // vector90 xyw
|
|
181744
181932
|
ellipseRadians, circleRadians);
|
|
181745
181933
|
for (let i = 0; i < ellipseRadians.length; i++) {
|
|
181746
181934
|
const fractionA = cpA.sweep.radiansToSignedPeriodicFraction(circleRadians[i]);
|
|
@@ -183687,7 +183875,7 @@ function optionalVectorUpdate(source, result) {
|
|
|
183687
183875
|
return undefined;
|
|
183688
183876
|
}
|
|
183689
183877
|
/**
|
|
183690
|
-
* CurveLocationDetail carries point and
|
|
183878
|
+
* CurveLocationDetail carries point and parameter data about a point evaluated on a curve.
|
|
183691
183879
|
* * These are returned by a variety of queries.
|
|
183692
183880
|
* * Particular contents can vary among the queries.
|
|
183693
183881
|
* @public
|
|
@@ -187931,13 +188119,16 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
187931
188119
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
187932
188120
|
/* harmony export */ "PlanarSubdivision": () => (/* binding */ PlanarSubdivision)
|
|
187933
188121
|
/* harmony export */ });
|
|
187934
|
-
/* harmony import */ var
|
|
187935
|
-
/* harmony import */ var
|
|
187936
|
-
/* harmony import */ var
|
|
187937
|
-
/* harmony import */ var
|
|
187938
|
-
/* harmony import */ var
|
|
187939
|
-
/* harmony import */ var
|
|
187940
|
-
/* harmony import */ var
|
|
188122
|
+
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
188123
|
+
/* harmony import */ var _topology_Graph__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../topology/Graph */ "../../core/geometry/lib/esm/topology/Graph.js");
|
|
188124
|
+
/* harmony import */ var _topology_HalfEdgeGraphSearch__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../topology/HalfEdgeGraphSearch */ "../../core/geometry/lib/esm/topology/HalfEdgeGraphSearch.js");
|
|
188125
|
+
/* harmony import */ var _topology_Merging__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../topology/Merging */ "../../core/geometry/lib/esm/topology/Merging.js");
|
|
188126
|
+
/* harmony import */ var _Arc3d__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Arc3d */ "../../core/geometry/lib/esm/curve/Arc3d.js");
|
|
188127
|
+
/* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
188128
|
+
/* harmony import */ var _LineSegment3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
|
|
188129
|
+
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
188130
|
+
/* harmony import */ var _Loop__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Loop */ "../../core/geometry/lib/esm/curve/Loop.js");
|
|
188131
|
+
/* harmony import */ var _RegionOps__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../RegionOps */ "../../core/geometry/lib/esm/curve/RegionOps.js");
|
|
187941
188132
|
/*---------------------------------------------------------------------------------------------
|
|
187942
188133
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
187943
188134
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -187949,13 +188140,16 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
187949
188140
|
|
|
187950
188141
|
|
|
187951
188142
|
|
|
188143
|
+
|
|
188144
|
+
|
|
188145
|
+
|
|
187952
188146
|
/** @packageDocumentation
|
|
187953
188147
|
* @module Curve
|
|
187954
188148
|
*/
|
|
187955
188149
|
class MapCurvePrimitiveToCurveLocationDetailPairArray {
|
|
187956
188150
|
constructor() {
|
|
187957
188151
|
this.primitiveToPair = new Map();
|
|
187958
|
-
// index assigned to this primitive for
|
|
188152
|
+
// index assigned to this primitive (for debugging)
|
|
187959
188153
|
this.primitiveToIndex = new Map();
|
|
187960
188154
|
this._numIndexedPrimitives = 0;
|
|
187961
188155
|
}
|
|
@@ -187987,54 +188181,63 @@ class MapCurvePrimitiveToCurveLocationDetailPairArray {
|
|
|
187987
188181
|
if (primitiveB)
|
|
187988
188182
|
this.insertPrimitiveToPair(primitiveB, pair);
|
|
187989
188183
|
}
|
|
188184
|
+
/** Split closed missing primitives in half and add new intersection pairs */
|
|
188185
|
+
splitAndAppendMissingClosedPrimitives(primitives, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.smallMetricDistance) {
|
|
188186
|
+
for (const p of primitives) {
|
|
188187
|
+
let closedCurveSplitCandidate = false;
|
|
188188
|
+
if (p instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_1__.Arc3d)
|
|
188189
|
+
closedCurveSplitCandidate = p.sweep.isFullCircle;
|
|
188190
|
+
else if (!(p instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_2__.LineSegment3d) && !(p instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_3__.LineString3d))
|
|
188191
|
+
closedCurveSplitCandidate = p.startPoint().isAlmostEqualXY(p.endPoint(), tolerance);
|
|
188192
|
+
if (closedCurveSplitCandidate && !this.primitiveToPair.has(p)) {
|
|
188193
|
+
const p0 = p.clonePartialCurve(0.0, 0.5);
|
|
188194
|
+
const p1 = p.clonePartialCurve(0.5, 1.0);
|
|
188195
|
+
if (p0 && p1) {
|
|
188196
|
+
this.insertPair(_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetailPair.createCapture(_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetail.createCurveEvaluatedFraction(p0, 0.0), _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetail.createCurveEvaluatedFraction(p1, 1.0)));
|
|
188197
|
+
this.insertPair(_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetailPair.createCapture(_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetail.createCurveEvaluatedFraction(p0, 1.0), _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetail.createCurveEvaluatedFraction(p1, 0.0)));
|
|
188198
|
+
}
|
|
188199
|
+
}
|
|
188200
|
+
}
|
|
188201
|
+
}
|
|
187990
188202
|
}
|
|
187991
|
-
/*
|
|
187992
|
-
function getDetailString(detail: CurveLocationDetail | undefined): string {
|
|
187993
|
-
if (!detail)
|
|
187994
|
-
return "{}";
|
|
187995
|
-
else return tagString("primitive", this.primitiveToIndex.get(detail.curve!)) + tagString("f0", detail.fraction) + tagString("f1", detail.fraction1);
|
|
187996
|
-
}
|
|
187997
|
-
}
|
|
187998
|
-
function tagString(name: string, value: number | undefined): string {
|
|
187999
|
-
if (value !== undefined)
|
|
188000
|
-
return "(" + name + " " + value + ")";
|
|
188001
|
-
return "";
|
|
188002
|
-
}
|
|
188003
|
-
*/
|
|
188004
188203
|
/**
|
|
188005
188204
|
* @internal
|
|
188006
188205
|
*/
|
|
188007
188206
|
class PlanarSubdivision {
|
|
188008
|
-
/** Create a graph from an array of curves, and an array of the curves' precomputed intersections. */
|
|
188009
|
-
static assembleHalfEdgeGraph(primitives, allPairs) {
|
|
188207
|
+
/** Create a graph from an array of curves, and an array of the curves' precomputed intersections. Z-coordinates are ignored. */
|
|
188208
|
+
static assembleHalfEdgeGraph(primitives, allPairs, mergeTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.smallMetricDistance) {
|
|
188010
188209
|
const detailByPrimitive = new MapCurvePrimitiveToCurveLocationDetailPairArray(); // map from key CurvePrimitive to CurveLocationDetailPair.
|
|
188011
|
-
for (const
|
|
188012
|
-
detailByPrimitive.assignPrimitiveIndex(p);
|
|
188013
|
-
for (const pair of allPairs) {
|
|
188210
|
+
for (const pair of allPairs)
|
|
188014
188211
|
detailByPrimitive.insertPair(pair);
|
|
188015
|
-
|
|
188016
|
-
|
|
188212
|
+
if (primitives.length > detailByPrimitive.primitiveToPair.size)
|
|
188213
|
+
detailByPrimitive.splitAndAppendMissingClosedPrimitives(primitives, mergeTolerance); // otherwise, these single-primitive loops are missing from the graph
|
|
188214
|
+
const graph = new _topology_Graph__WEBPACK_IMPORTED_MODULE_5__.HalfEdgeGraph();
|
|
188017
188215
|
for (const entry of detailByPrimitive.primitiveToPair.entries()) {
|
|
188018
188216
|
const p = entry[0];
|
|
188019
|
-
|
|
188217
|
+
// convert each interval intersection into two isolated intersections
|
|
188218
|
+
const details = entry[1].reduce((accumulator, detailPair) => {
|
|
188219
|
+
if (!detailPair.detailA.hasFraction1)
|
|
188220
|
+
return [...accumulator, detailPair];
|
|
188221
|
+
const detail = getDetailOnCurve(detailPair, p);
|
|
188222
|
+
const detail0 = _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetail.createCurveFractionPoint(p, detail.fraction, detail.point);
|
|
188223
|
+
const detail1 = _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetail.createCurveFractionPoint(p, detail.fraction1, detail.point1);
|
|
188224
|
+
return [...accumulator, _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetailPair.createCapture(detail0, detail0), _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetailPair.createCapture(detail1, detail1)];
|
|
188225
|
+
}, []);
|
|
188226
|
+
// lexical sort on p intersection fraction
|
|
188020
188227
|
details.sort((pairA, pairB) => {
|
|
188021
188228
|
const fractionA = getFractionOnCurve(pairA, p);
|
|
188022
188229
|
const fractionB = getFractionOnCurve(pairB, p);
|
|
188023
|
-
if (fractionA === undefined || fractionB === undefined)
|
|
188024
|
-
return -1000.0;
|
|
188025
188230
|
return fractionA - fractionB;
|
|
188026
188231
|
});
|
|
188027
|
-
let
|
|
188028
|
-
|
|
188029
|
-
|
|
188030
|
-
|
|
188031
|
-
|
|
188032
|
-
this.addHalfEdge(graph, p, detail0.point, detail0.fraction, detail1.point, detail1.fraction);
|
|
188033
|
-
detail0 = detail1;
|
|
188232
|
+
let last = { point: p.startPoint(), fraction: 0.0 };
|
|
188233
|
+
for (const detailPair of details) {
|
|
188234
|
+
const detail = getDetailOnCurve(detailPair, p);
|
|
188235
|
+
const detailFraction = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.restrictToInterval(detail.fraction, 0, 1); // truncate fraction, but don't snap point; clustering happens later
|
|
188236
|
+
last = this.addHalfEdge(graph, p, last.point, last.fraction, detail.point, detailFraction, mergeTolerance);
|
|
188034
188237
|
}
|
|
188035
|
-
this.addHalfEdge(graph, p,
|
|
188238
|
+
this.addHalfEdge(graph, p, last.point, last.fraction, p.endPoint(), 1.0, mergeTolerance);
|
|
188036
188239
|
}
|
|
188037
|
-
|
|
188240
|
+
_topology_Merging__WEBPACK_IMPORTED_MODULE_6__.HalfEdgeGraphMerge.clusterAndMergeXYTheta(graph, (he) => he.sortAngle);
|
|
188038
188241
|
return graph;
|
|
188039
188242
|
}
|
|
188040
188243
|
/**
|
|
@@ -188046,19 +188249,21 @@ class PlanarSubdivision {
|
|
|
188046
188249
|
* @param point0 start point
|
|
188047
188250
|
* @param fraction1 end fraction
|
|
188048
188251
|
* @param point1 end point
|
|
188049
|
-
|
|
188050
|
-
|
|
188051
|
-
|
|
188052
|
-
|
|
188053
|
-
|
|
188054
|
-
|
|
188055
|
-
|
|
188056
|
-
|
|
188057
|
-
|
|
188058
|
-
|
|
188059
|
-
|
|
188060
|
-
|
|
188061
|
-
|
|
188252
|
+
* @returns end point and fraction, or start point and fraction if no action
|
|
188253
|
+
*/
|
|
188254
|
+
static addHalfEdge(graph, p, point0, fraction0, point1, fraction1, mergeTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.smallMetricDistance) {
|
|
188255
|
+
if (point0.isAlmostEqualXY(point1, mergeTolerance))
|
|
188256
|
+
return { point: point0, fraction: fraction0 };
|
|
188257
|
+
const halfEdge = graph.createEdgeXYAndZ(point0, 0, point1, 0);
|
|
188258
|
+
const detail01 = _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetail.createCurveEvaluatedFractionFraction(p, fraction0, fraction1);
|
|
188259
|
+
const mate = halfEdge.edgeMate;
|
|
188260
|
+
halfEdge.edgeTag = detail01;
|
|
188261
|
+
halfEdge.sortData = 1.0;
|
|
188262
|
+
mate.edgeTag = detail01;
|
|
188263
|
+
mate.sortData = -1.0;
|
|
188264
|
+
halfEdge.sortAngle = sortAngle(p, fraction0, false);
|
|
188265
|
+
mate.sortAngle = sortAngle(p, fraction1, true);
|
|
188266
|
+
return { point: point1, fraction: fraction1 };
|
|
188062
188267
|
}
|
|
188063
188268
|
/**
|
|
188064
188269
|
* Based on computed (and toleranced) area, push the loop (pointer) onto the appropriate array of positive, negative, or sliver loops.
|
|
@@ -188067,7 +188272,7 @@ class PlanarSubdivision {
|
|
|
188067
188272
|
* @returns the area (forced to zero if within tolerance)
|
|
188068
188273
|
*/
|
|
188069
188274
|
static collectSignedLoop(loop, outLoops, zeroAreaTolerance = 1.0e-10, isSliverFace) {
|
|
188070
|
-
let area = isSliverFace ? 0.0 :
|
|
188275
|
+
let area = isSliverFace ? 0.0 : _RegionOps__WEBPACK_IMPORTED_MODULE_7__.RegionOps.computeXYArea(loop);
|
|
188071
188276
|
if (area === undefined)
|
|
188072
188277
|
area = 0;
|
|
188073
188278
|
if (Math.abs(area) < zeroAreaTolerance)
|
|
@@ -188083,7 +188288,7 @@ class PlanarSubdivision {
|
|
|
188083
188288
|
}
|
|
188084
188289
|
static createLoopInFace(faceSeed, announce) {
|
|
188085
188290
|
let he = faceSeed;
|
|
188086
|
-
const loop =
|
|
188291
|
+
const loop = _Loop__WEBPACK_IMPORTED_MODULE_8__.Loop.create();
|
|
188087
188292
|
do {
|
|
188088
188293
|
const detail = he.edgeTag;
|
|
188089
188294
|
if (detail) {
|
|
@@ -188107,9 +188312,9 @@ class PlanarSubdivision {
|
|
|
188107
188312
|
const faceHasTwoEdges = (he.faceSuccessor.faceSuccessor === he);
|
|
188108
188313
|
let faceIsBanana = false;
|
|
188109
188314
|
if (faceHasTwoEdges) {
|
|
188110
|
-
const c0 =
|
|
188111
|
-
const c1 =
|
|
188112
|
-
if (!
|
|
188315
|
+
const c0 = _topology_Merging__WEBPACK_IMPORTED_MODULE_6__.HalfEdgeGraphMerge.curvatureSortKey(he);
|
|
188316
|
+
const c1 = _topology_Merging__WEBPACK_IMPORTED_MODULE_6__.HalfEdgeGraphMerge.curvatureSortKey(he.faceSuccessor.edgeMate);
|
|
188317
|
+
if (!_Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isSameCoordinate(c0, c1)) // default tol!
|
|
188113
188318
|
faceIsBanana = true; // heuristic: we could also check end curvatures, and/or higher derivatives...
|
|
188114
188319
|
}
|
|
188115
188320
|
return faceHasTwoEdges && !faceIsBanana;
|
|
@@ -188127,7 +188332,7 @@ class PlanarSubdivision {
|
|
|
188127
188332
|
return e1;
|
|
188128
188333
|
}
|
|
188129
188334
|
static collectSignedLoopSetsInHalfEdgeGraph(graph, zeroAreaTolerance = 1.0e-10) {
|
|
188130
|
-
const q =
|
|
188335
|
+
const q = _topology_HalfEdgeGraphSearch__WEBPACK_IMPORTED_MODULE_9__.HalfEdgeGraphSearch.collectConnectedComponentsWithExteriorParityMasks(graph, undefined);
|
|
188131
188336
|
const result = [];
|
|
188132
188337
|
const edgeMap = new Map();
|
|
188133
188338
|
for (const faceSeeds of q) {
|
|
@@ -188142,10 +188347,10 @@ class PlanarSubdivision {
|
|
|
188142
188347
|
const e = edgeMap.get(mate);
|
|
188143
188348
|
if (e === undefined) {
|
|
188144
188349
|
// Record this as loopA,edgeA of a shared edge to be completed later from the other side of the edge
|
|
188145
|
-
const e1 = new
|
|
188350
|
+
const e1 = new _Loop__WEBPACK_IMPORTED_MODULE_8__.LoopCurveLoopCurve(loopC, curveC, undefined, undefined);
|
|
188146
188351
|
edgeMap.set(he, e1);
|
|
188147
188352
|
}
|
|
188148
|
-
else if (e instanceof
|
|
188353
|
+
else if (e instanceof _Loop__WEBPACK_IMPORTED_MODULE_8__.LoopCurveLoopCurve) {
|
|
188149
188354
|
e.setB(loopC, curveC);
|
|
188150
188355
|
edges.push(e);
|
|
188151
188356
|
edgeMap.delete(mate);
|
|
@@ -188993,27 +189198,27 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
188993
189198
|
/* harmony import */ var _geometry4d_MomentData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../geometry4d/MomentData */ "../../core/geometry/lib/esm/geometry4d/MomentData.js");
|
|
188994
189199
|
/* harmony import */ var _polyface_PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../polyface/PolyfaceBuilder */ "../../core/geometry/lib/esm/polyface/PolyfaceBuilder.js");
|
|
188995
189200
|
/* harmony import */ var _topology_Graph__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../topology/Graph */ "../../core/geometry/lib/esm/topology/Graph.js");
|
|
189201
|
+
/* harmony import */ var _topology_HalfEdgeGraphSearch__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../topology/HalfEdgeGraphSearch */ "../../core/geometry/lib/esm/topology/HalfEdgeGraphSearch.js");
|
|
188996
189202
|
/* harmony import */ var _topology_Triangulation__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../topology/Triangulation */ "../../core/geometry/lib/esm/topology/Triangulation.js");
|
|
188997
189203
|
/* harmony import */ var _ChainCollectorContext__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./ChainCollectorContext */ "../../core/geometry/lib/esm/curve/ChainCollectorContext.js");
|
|
188998
189204
|
/* harmony import */ var _CurveCollection__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./CurveCollection */ "../../core/geometry/lib/esm/curve/CurveCollection.js");
|
|
188999
189205
|
/* harmony import */ var _CurveCurve__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./CurveCurve */ "../../core/geometry/lib/esm/curve/CurveCurve.js");
|
|
189000
189206
|
/* harmony import */ var _CurvePrimitive__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
189001
189207
|
/* harmony import */ var _CurveWireMomentsXYZ__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./CurveWireMomentsXYZ */ "../../core/geometry/lib/esm/curve/CurveWireMomentsXYZ.js");
|
|
189208
|
+
/* harmony import */ var _GeometryQuery__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./GeometryQuery */ "../../core/geometry/lib/esm/curve/GeometryQuery.js");
|
|
189209
|
+
/* harmony import */ var _internalContexts_MultiChainCollector__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./internalContexts/MultiChainCollector */ "../../core/geometry/lib/esm/curve/internalContexts/MultiChainCollector.js");
|
|
189002
189210
|
/* harmony import */ var _internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
189003
189211
|
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
189004
189212
|
/* harmony import */ var _Loop__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Loop */ "../../core/geometry/lib/esm/curve/Loop.js");
|
|
189213
|
+
/* harmony import */ var _ParityRegion__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ParityRegion */ "../../core/geometry/lib/esm/curve/ParityRegion.js");
|
|
189005
189214
|
/* harmony import */ var _Path__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./Path */ "../../core/geometry/lib/esm/curve/Path.js");
|
|
189006
189215
|
/* harmony import */ var _Query_ConsolidateAdjacentPrimitivesContext__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./Query/ConsolidateAdjacentPrimitivesContext */ "../../core/geometry/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js");
|
|
189007
189216
|
/* harmony import */ var _Query_CurveSplitContext__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./Query/CurveSplitContext */ "../../core/geometry/lib/esm/curve/Query/CurveSplitContext.js");
|
|
189008
189217
|
/* harmony import */ var _Query_InOutTests__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Query/InOutTests */ "../../core/geometry/lib/esm/curve/Query/InOutTests.js");
|
|
189009
189218
|
/* harmony import */ var _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Query/PlanarSubdivision */ "../../core/geometry/lib/esm/curve/Query/PlanarSubdivision.js");
|
|
189010
189219
|
/* harmony import */ var _RegionMomentsXY__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./RegionMomentsXY */ "../../core/geometry/lib/esm/curve/RegionMomentsXY.js");
|
|
189011
|
-
/* harmony import */ var _internalContexts_MultiChainCollector__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./internalContexts/MultiChainCollector */ "../../core/geometry/lib/esm/curve/internalContexts/MultiChainCollector.js");
|
|
189012
|
-
/* harmony import */ var _GeometryQuery__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./GeometryQuery */ "../../core/geometry/lib/esm/curve/GeometryQuery.js");
|
|
189013
189220
|
/* harmony import */ var _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./RegionOpsClassificationSweeps */ "../../core/geometry/lib/esm/curve/RegionOpsClassificationSweeps.js");
|
|
189014
189221
|
/* harmony import */ var _UnionRegion__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./UnionRegion */ "../../core/geometry/lib/esm/curve/UnionRegion.js");
|
|
189015
|
-
/* harmony import */ var _topology_HalfEdgeGraphSearch__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../topology/HalfEdgeGraphSearch */ "../../core/geometry/lib/esm/topology/HalfEdgeGraphSearch.js");
|
|
189016
|
-
/* harmony import */ var _ParityRegion__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ParityRegion */ "../../core/geometry/lib/esm/curve/ParityRegion.js");
|
|
189017
189222
|
/*---------------------------------------------------------------------------------------------
|
|
189018
189223
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
189019
189224
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -189252,7 +189457,7 @@ class RegionOps {
|
|
|
189252
189457
|
* @param loopsB second set of loops
|
|
189253
189458
|
* @param operation indicates Union, Intersection, Parity, AMinusB, or BMinusA
|
|
189254
189459
|
* @param mergeTolerance absolute distance tolerance for merging loops
|
|
189255
|
-
* @returns a region resulting from merging input loops and the boolean operation. May contain bridge edges
|
|
189460
|
+
* @returns a region resulting from merging input loops and the boolean operation. May contain bridge edges added to connect interior loops to exterior loops.
|
|
189256
189461
|
*/
|
|
189257
189462
|
static regionBooleanXY(loopsA, loopsB, operation, mergeTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance) {
|
|
189258
189463
|
const result = _UnionRegion__WEBPACK_IMPORTED_MODULE_11__.UnionRegion.create();
|
|
@@ -189260,7 +189465,7 @@ class RegionOps {
|
|
|
189260
189465
|
context.addMembers(loopsA, loopsB);
|
|
189261
189466
|
context.annotateAndMergeCurvesInGraph(mergeTolerance);
|
|
189262
189467
|
const range = context.groupA.range().union(context.groupB.range());
|
|
189263
|
-
const areaTol = this.computeXYAreaTolerance(range);
|
|
189468
|
+
const areaTol = this.computeXYAreaTolerance(range, mergeTolerance);
|
|
189264
189469
|
context.runClassificationSweep(operation, (_graph, face, faceType, area) => {
|
|
189265
189470
|
// ignore danglers and null faces, but not 2-edge "banana" faces with nonzero area
|
|
189266
189471
|
if (face.countEdgesAroundFace() < 2)
|
|
@@ -189578,23 +189783,24 @@ class RegionOps {
|
|
|
189578
189783
|
}
|
|
189579
189784
|
/**
|
|
189580
189785
|
* Find all areas bounded by the unstructured, possibly intersecting curves.
|
|
189581
|
-
* *
|
|
189582
|
-
*
|
|
189583
|
-
* [[regionBooleanXY]]
|
|
189786
|
+
* * A common use case of this method is to assemble the bounding "exterior" loop (or loops) containing the input curves.
|
|
189787
|
+
* * This method does not add bridge edges to connect outer loops to inner loops. Each disconnected loop, regardless
|
|
189788
|
+
* of its containment, is returned as its own SignedLoops object. Pre-process with [[regionBooleanXY]] to add bridge edges so that
|
|
189789
|
+
* [[constructAllXYRegionLoops]] will return outer and inner loops in the same SignedLoops object.
|
|
189584
189790
|
* @param curvesAndRegions Any collection of curves. Each Loop/ParityRegion/UnionRegion contributes its curve primitives.
|
|
189791
|
+
* @param tolerance optional distance tolerance for coincidence
|
|
189585
189792
|
* @returns array of [[SignedLoops]], each entry of which describes the faces in a single connected component:
|
|
189586
189793
|
* * `positiveAreaLoops` contains "interior" loops, _including holes in ParityRegion input_. These loops have positive area and counterclockwise orientation.
|
|
189587
189794
|
* * `negativeAreaLoops` contains (probably just one) "exterior" loop which is ordered clockwise.
|
|
189588
189795
|
* * `slivers` contains sliver loops that have zero area, such as appear between coincident curves.
|
|
189589
189796
|
* * `edges` contains a [[LoopCurveLoopCurve]] object for each component edge, collecting both loops adjacent to the edge and a constituent curve in each.
|
|
189590
189797
|
*/
|
|
189591
|
-
static constructAllXYRegionLoops(curvesAndRegions) {
|
|
189592
|
-
const
|
|
189593
|
-
const
|
|
189594
|
-
const
|
|
189595
|
-
const
|
|
189596
|
-
const
|
|
189597
|
-
const graph = _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_12__.PlanarSubdivision.assembleHalfEdgeGraph(primitivesB, intersections);
|
|
189798
|
+
static constructAllXYRegionLoops(curvesAndRegions, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance) {
|
|
189799
|
+
const primitives = RegionOps.collectCurvePrimitives(curvesAndRegions, undefined, true, true);
|
|
189800
|
+
const range = this.curveArrayRange(primitives);
|
|
189801
|
+
const areaTol = this.computeXYAreaTolerance(range, tolerance);
|
|
189802
|
+
const intersections = _CurveCurve__WEBPACK_IMPORTED_MODULE_30__.CurveCurve.allIntersectionsAmongPrimitivesXY(primitives, tolerance);
|
|
189803
|
+
const graph = _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_12__.PlanarSubdivision.assembleHalfEdgeGraph(primitives, intersections, tolerance);
|
|
189598
189804
|
return _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_12__.PlanarSubdivision.collectSignedLoopSetsInHalfEdgeGraph(graph, areaTol);
|
|
189599
189805
|
}
|
|
189600
189806
|
/**
|
|
@@ -190210,7 +190416,7 @@ class RegionBooleanContext {
|
|
|
190210
190416
|
}
|
|
190211
190417
|
// const range = RegionOps.curveArrayRange(allPrimitives);
|
|
190212
190418
|
const intersections = _CurveCurve__WEBPACK_IMPORTED_MODULE_15__.CurveCurve.allIntersectionsAmongPrimitivesXY(allPrimitives, mergeTolerance);
|
|
190213
|
-
const graph = _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_16__.PlanarSubdivision.assembleHalfEdgeGraph(allPrimitives, intersections);
|
|
190419
|
+
const graph = _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_16__.PlanarSubdivision.assembleHalfEdgeGraph(allPrimitives, intersections, mergeTolerance);
|
|
190214
190420
|
this.graph = graph;
|
|
190215
190421
|
this.faceAreaFunction = faceAreaFromCurvedEdgeData;
|
|
190216
190422
|
}
|
|
@@ -197309,15 +197515,20 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
197309
197515
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
197310
197516
|
/* harmony export */ "CoincidentGeometryQuery": () => (/* binding */ CoincidentGeometryQuery)
|
|
197311
197517
|
/* harmony export */ });
|
|
197312
|
-
/* harmony import */ var
|
|
197313
|
-
/* harmony import */ var
|
|
197314
|
-
/* harmony import */ var
|
|
197315
|
-
/* harmony import */ var
|
|
197316
|
-
/* harmony import */ var
|
|
197518
|
+
/* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
|
|
197519
|
+
/* harmony import */ var _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../curve/CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
197520
|
+
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
197521
|
+
/* harmony import */ var _AngleSweep__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./AngleSweep */ "../../core/geometry/lib/esm/geometry3d/AngleSweep.js");
|
|
197522
|
+
/* harmony import */ var _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
197523
|
+
/* harmony import */ var _Segment1d__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Segment1d */ "../../core/geometry/lib/esm/geometry3d/Segment1d.js");
|
|
197317
197524
|
/*---------------------------------------------------------------------------------------------
|
|
197318
197525
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
197319
197526
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
197320
197527
|
*--------------------------------------------------------------------------------------------*/
|
|
197528
|
+
/** @packageDocumentation
|
|
197529
|
+
* @module CartesianGeometry
|
|
197530
|
+
*/
|
|
197531
|
+
|
|
197321
197532
|
|
|
197322
197533
|
|
|
197323
197534
|
|
|
@@ -197333,10 +197544,10 @@ class CoincidentGeometryQuery {
|
|
|
197333
197544
|
get tolerance() {
|
|
197334
197545
|
return this._tolerance;
|
|
197335
197546
|
}
|
|
197336
|
-
constructor(tolerance =
|
|
197547
|
+
constructor(tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.smallMetricDistance) {
|
|
197337
197548
|
this._tolerance = tolerance;
|
|
197338
197549
|
}
|
|
197339
|
-
static create(tolerance =
|
|
197550
|
+
static create(tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.smallMetricDistance) {
|
|
197340
197551
|
return new CoincidentGeometryQuery(tolerance);
|
|
197341
197552
|
}
|
|
197342
197553
|
/**
|
|
@@ -197359,12 +197570,12 @@ class CoincidentGeometryQuery {
|
|
|
197359
197570
|
*
|
|
197360
197571
|
*/
|
|
197361
197572
|
projectPointToSegmentXY(spacePoint, pointA, pointB) {
|
|
197362
|
-
this._vectorU =
|
|
197363
|
-
this._vectorV =
|
|
197573
|
+
this._vectorU = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.createStartEnd(pointA, pointB, this._vectorU);
|
|
197574
|
+
this._vectorV = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.createStartEnd(pointA, spacePoint, this._vectorV);
|
|
197364
197575
|
const uDotU = this._vectorU.dotProductXY(this._vectorU);
|
|
197365
197576
|
const uDotV = this._vectorU.dotProductXY(this._vectorV);
|
|
197366
|
-
const fraction =
|
|
197367
|
-
return
|
|
197577
|
+
const fraction = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.safeDivideFraction(uDotV, uDotU, 0.0);
|
|
197578
|
+
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetail.createCurveFractionPoint(undefined, fraction, pointA.interpolate(fraction, pointB));
|
|
197368
197579
|
}
|
|
197369
197580
|
/**
|
|
197370
197581
|
* * project `pointA0` and `pointA1` onto the segment with `pointB0` and `pointB1`
|
|
@@ -197375,84 +197586,82 @@ class CoincidentGeometryQuery {
|
|
|
197375
197586
|
* @param pointB1 end point of segment B
|
|
197376
197587
|
*/
|
|
197377
197588
|
coincidentSegmentRangeXY(pointA0, pointA1, pointB0, pointB1, restrictToBounds = true) {
|
|
197378
|
-
const
|
|
197379
|
-
if (pointA0.distanceXY(
|
|
197589
|
+
const detailA0OnB = this.projectPointToSegmentXY(pointA0, pointB0, pointB1);
|
|
197590
|
+
if (pointA0.distanceXY(detailA0OnB.point) > this._tolerance)
|
|
197380
197591
|
return undefined;
|
|
197381
197592
|
const detailA1OnB = this.projectPointToSegmentXY(pointA1, pointB0, pointB1);
|
|
197382
197593
|
if (pointA1.distanceXY(detailA1OnB.point) > this._tolerance)
|
|
197383
197594
|
return undefined;
|
|
197384
|
-
const
|
|
197385
|
-
if (pointB0.distanceXY(
|
|
197595
|
+
const detailB0OnA = this.projectPointToSegmentXY(pointB0, pointA0, pointA1);
|
|
197596
|
+
if (pointB0.distanceXY(detailB0OnA.point) > this._tolerance)
|
|
197386
197597
|
return undefined;
|
|
197387
197598
|
const detailB1OnA = this.projectPointToSegmentXY(pointB1, pointA0, pointA1);
|
|
197388
197599
|
if (pointB1.distanceXY(detailB1OnA.point) > this._tolerance)
|
|
197389
197600
|
return undefined;
|
|
197390
|
-
|
|
197391
|
-
|
|
197392
|
-
|
|
197393
|
-
|
|
197601
|
+
detailA0OnB.fraction1 = detailA1OnB.fraction;
|
|
197602
|
+
detailA0OnB.point1 = detailA1OnB.point; // capture -- detailA1OnB is not reused.
|
|
197603
|
+
detailB0OnA.fraction1 = detailB1OnA.fraction;
|
|
197604
|
+
detailB0OnA.point1 = detailB1OnA.point;
|
|
197394
197605
|
if (!restrictToBounds)
|
|
197395
|
-
return
|
|
197396
|
-
const segment =
|
|
197606
|
+
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
|
|
197607
|
+
const segment = _Segment1d__WEBPACK_IMPORTED_MODULE_4__.Segment1d.create(detailB0OnA.fraction, detailB0OnA.fraction1);
|
|
197397
197608
|
if (segment.clampDirectedTo01()) {
|
|
197398
|
-
segment.reverseIfNeededForDeltaSign(1.0);
|
|
197399
197609
|
const f0 = segment.x0;
|
|
197400
197610
|
const f1 = segment.x1;
|
|
197401
|
-
const h0 =
|
|
197402
|
-
const h1 =
|
|
197611
|
+
const h0 = detailB0OnA.inverseInterpolateFraction(f0);
|
|
197612
|
+
const h1 = detailB0OnA.inverseInterpolateFraction(f1);
|
|
197403
197613
|
// recompute fractions and points..
|
|
197404
|
-
CoincidentGeometryQuery.assignDetailInterpolatedFractionsAndPoints(
|
|
197405
|
-
CoincidentGeometryQuery.assignDetailInterpolatedFractionsAndPoints(
|
|
197406
|
-
return
|
|
197614
|
+
CoincidentGeometryQuery.assignDetailInterpolatedFractionsAndPoints(detailB0OnA, f0, f1, pointA0, pointA1, f0 > f1);
|
|
197615
|
+
CoincidentGeometryQuery.assignDetailInterpolatedFractionsAndPoints(detailA0OnB, h0, h1, pointB0, pointB1, h0 > h1);
|
|
197616
|
+
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
|
|
197407
197617
|
}
|
|
197408
197618
|
else {
|
|
197409
197619
|
if (segment.signedDelta() < 0.0) {
|
|
197410
|
-
if (
|
|
197411
|
-
|
|
197412
|
-
|
|
197413
|
-
return
|
|
197620
|
+
if (detailB0OnA.point.isAlmostEqual(pointA0, this.tolerance)) {
|
|
197621
|
+
detailB0OnA.collapseToStart();
|
|
197622
|
+
detailA0OnB.collapseToStart();
|
|
197623
|
+
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
|
|
197414
197624
|
}
|
|
197415
|
-
if (
|
|
197416
|
-
|
|
197417
|
-
|
|
197418
|
-
return
|
|
197625
|
+
if (detailB0OnA.point1.isAlmostEqual(pointA1, this.tolerance)) {
|
|
197626
|
+
detailB0OnA.collapseToEnd();
|
|
197627
|
+
detailA0OnB.collapseToEnd();
|
|
197628
|
+
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
|
|
197419
197629
|
}
|
|
197420
197630
|
}
|
|
197421
197631
|
else {
|
|
197422
|
-
if (
|
|
197423
|
-
|
|
197424
|
-
|
|
197425
|
-
return
|
|
197632
|
+
if (detailB0OnA.point.isAlmostEqual(pointA1, this.tolerance)) {
|
|
197633
|
+
detailB0OnA.collapseToStart();
|
|
197634
|
+
detailA0OnB.collapseToEnd();
|
|
197635
|
+
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
|
|
197426
197636
|
}
|
|
197427
|
-
if (
|
|
197428
|
-
|
|
197429
|
-
|
|
197430
|
-
return
|
|
197637
|
+
if (detailB0OnA.point1.isAlmostEqual(pointA0, this.tolerance)) {
|
|
197638
|
+
detailB0OnA.collapseToEnd();
|
|
197639
|
+
detailA0OnB.collapseToStart();
|
|
197640
|
+
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
|
|
197431
197641
|
}
|
|
197432
197642
|
}
|
|
197433
197643
|
}
|
|
197434
197644
|
return undefined;
|
|
197435
197645
|
}
|
|
197436
197646
|
/**
|
|
197437
|
-
* Create a CurveLocationDetailPair
|
|
197647
|
+
* Create a CurveLocationDetailPair for a coincident interval of two overlapping curves
|
|
197438
197648
|
* @param cpA curveA
|
|
197439
|
-
* @param cpB
|
|
197440
|
-
* @param fractionsOnA
|
|
197441
|
-
* @param fractionB0
|
|
197442
|
-
* @param fractionB1 end fraction of
|
|
197649
|
+
* @param cpB curveB
|
|
197650
|
+
* @param fractionsOnA coincident interval of curveB in fraction space of curveA
|
|
197651
|
+
* @param fractionB0 curveB start in fraction space of curveA
|
|
197652
|
+
* @param fractionB1 curveB end in fraction space of curveA
|
|
197653
|
+
* @param reverse whether curveB and curveA have opposite direction
|
|
197443
197654
|
*/
|
|
197444
197655
|
createDetailPair(cpA, cpB, fractionsOnA, fractionB0, fractionB1, reverse) {
|
|
197445
197656
|
const deltaB = fractionB1 - fractionB0;
|
|
197446
|
-
const g0 =
|
|
197447
|
-
const g1 =
|
|
197657
|
+
const g0 = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.conditionalDivideFraction(fractionsOnA.x0 - fractionB0, deltaB);
|
|
197658
|
+
const g1 = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.conditionalDivideFraction(fractionsOnA.x1 - fractionB0, deltaB);
|
|
197448
197659
|
if (g0 !== undefined && g1 !== undefined) {
|
|
197449
|
-
const detailA =
|
|
197450
|
-
const detailB =
|
|
197451
|
-
if (reverse)
|
|
197660
|
+
const detailA = _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetail.createCurveEvaluatedFractionFraction(cpA, fractionsOnA.x0, fractionsOnA.x1);
|
|
197661
|
+
const detailB = _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetail.createCurveEvaluatedFractionFraction(cpB, g0, g1);
|
|
197662
|
+
if (reverse)
|
|
197452
197663
|
detailA.swapFractionsAndPoints();
|
|
197453
|
-
|
|
197454
|
-
}
|
|
197455
|
-
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_2__.CurveLocationDetailPair.createCapture(detailA, detailB);
|
|
197664
|
+
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailA, detailB);
|
|
197456
197665
|
}
|
|
197457
197666
|
return undefined;
|
|
197458
197667
|
}
|
|
@@ -197469,43 +197678,67 @@ class CoincidentGeometryQuery {
|
|
|
197469
197678
|
* @param arcA
|
|
197470
197679
|
* @param arcB
|
|
197471
197680
|
* @param _restrictToBounds
|
|
197472
|
-
* @return 0, 1, or 2 overlap intervals
|
|
197681
|
+
* @return 0, 1, or 2 overlap points/intervals
|
|
197473
197682
|
*/
|
|
197474
197683
|
coincidentArcIntersectionXY(arcA, arcB, _restrictToBounds = true) {
|
|
197475
197684
|
let result;
|
|
197476
|
-
if (arcA.center.isAlmostEqual(arcB.center)) {
|
|
197685
|
+
if (arcA.center.isAlmostEqual(arcB.center, this.tolerance)) {
|
|
197477
197686
|
const matrixBToA = arcA.matrixRef.multiplyMatrixInverseMatrix(arcB.matrixRef);
|
|
197478
197687
|
if (matrixBToA) {
|
|
197479
197688
|
const ux = matrixBToA.at(0, 0);
|
|
197480
197689
|
const uy = matrixBToA.at(1, 0);
|
|
197481
197690
|
const vx = matrixBToA.at(0, 1);
|
|
197482
197691
|
const vy = matrixBToA.at(1, 1);
|
|
197483
|
-
const ru =
|
|
197484
|
-
const rv =
|
|
197485
|
-
const dot =
|
|
197486
|
-
const cross =
|
|
197487
|
-
if (
|
|
197488
|
-
&&
|
|
197489
|
-
&&
|
|
197490
|
-
const alphaB0Radians = Math.atan2(uy, ux); // angular position of arcB 0 point in
|
|
197491
|
-
const sweepDirection = cross > 0 ? 1.0 : -1.0; // 1 if arcB
|
|
197492
|
-
const betaStartRadians = alphaB0Radians + sweepDirection * arcB.sweep.startRadians;
|
|
197493
|
-
const betaEndRadians = alphaB0Radians + sweepDirection * arcB.sweep.endRadians;
|
|
197692
|
+
const ru = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.hypotenuseXY(ux, uy);
|
|
197693
|
+
const rv = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.hypotenuseXY(vx, vy);
|
|
197694
|
+
const dot = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.dotProductXYXY(ux, uy, vx, vy);
|
|
197695
|
+
const cross = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.crossProductXYXY(ux, uy, vx, vy);
|
|
197696
|
+
if (_Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.isAlmostEqualNumber(ru, 1.0)
|
|
197697
|
+
&& _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.isAlmostEqualNumber(rv, 1.0)
|
|
197698
|
+
&& _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.isAlmostEqualNumber(0, dot)) {
|
|
197699
|
+
const alphaB0Radians = Math.atan2(uy, ux); // angular position of arcB 0 point in arcA sweep
|
|
197700
|
+
const sweepDirection = cross > 0 ? 1.0 : -1.0; // 1 if arcB parameter space sweeps in same direction as arcA, -1 if opposite
|
|
197701
|
+
const betaStartRadians = alphaB0Radians + sweepDirection * arcB.sweep.startRadians; // arcB start in arcA parameter space
|
|
197702
|
+
const betaEndRadians = alphaB0Radians + sweepDirection * arcB.sweep.endRadians; // arcB end in arcA parameter space
|
|
197494
197703
|
const fractionSpacesReversed = (sweepDirection * arcA.sweep.sweepRadians * arcB.sweep.sweepRadians) < 0;
|
|
197495
|
-
const sweepB =
|
|
197704
|
+
const sweepB = _AngleSweep__WEBPACK_IMPORTED_MODULE_5__.AngleSweep.createStartEndRadians(betaStartRadians, betaEndRadians);
|
|
197496
197705
|
const sweepA = arcA.sweep;
|
|
197497
197706
|
const fractionPeriodA = sweepA.fractionPeriod();
|
|
197498
|
-
const fractionB0 = sweepA.radiansToPositivePeriodicFraction(sweepB.startRadians);
|
|
197499
|
-
|
|
197500
|
-
const
|
|
197501
|
-
const
|
|
197502
|
-
|
|
197503
|
-
|
|
197504
|
-
|
|
197505
|
-
|
|
197506
|
-
|
|
197507
|
-
|
|
197508
|
-
|
|
197707
|
+
const fractionB0 = sweepA.radiansToPositivePeriodicFraction(sweepB.startRadians); // arcB start in arcA fraction space
|
|
197708
|
+
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(fractionB0 >= 0.0);
|
|
197709
|
+
const fractionSweep = sweepB.sweepRadians / sweepA.sweepRadians; // arcB sweep in arcA fraction space
|
|
197710
|
+
const fractionB1 = fractionB0 + fractionSweep; // arcB end in arcA fraction space
|
|
197711
|
+
const fractionSweepB = _Segment1d__WEBPACK_IMPORTED_MODULE_4__.Segment1d.create(fractionB0, fractionB1);
|
|
197712
|
+
/** lambda to add a coincident interval or isolated intersection, given inputs in arcA fraction space
|
|
197713
|
+
* @param arcBInArcAFractionSpace span of arcB in arcA fraction space. On return, clamped to [0,1] if nontrivial.
|
|
197714
|
+
* @param testStartOfArcA if no nontrivial coincident interval was found, look for an isolated intersection at the start (true) or end (false) of arcA
|
|
197715
|
+
* @returns whether a detail pair was appended to result
|
|
197716
|
+
*/
|
|
197717
|
+
const appendCoincidentIntersection = (arcBInArcAFractionSpace, testStartOfArcA) => {
|
|
197718
|
+
const size = result ? result.length : 0;
|
|
197719
|
+
const arcBStart = arcBInArcAFractionSpace.x0;
|
|
197720
|
+
const arcBEnd = arcBInArcAFractionSpace.x1;
|
|
197721
|
+
if (arcBInArcAFractionSpace.clampDirectedTo01() && !_Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.isSmallRelative(arcBInArcAFractionSpace.absoluteDelta())) {
|
|
197722
|
+
result = this.appendDetailPair(result, this.createDetailPair(arcA, arcB, arcBInArcAFractionSpace, arcBStart, arcBEnd, fractionSpacesReversed));
|
|
197723
|
+
}
|
|
197724
|
+
else { // test isolated intersection
|
|
197725
|
+
const testStartOfArcB = fractionSpacesReversed ? testStartOfArcA : !testStartOfArcA;
|
|
197726
|
+
const arcAPt = this._point0 = testStartOfArcA ? arcA.startPoint(this._point0) : arcA.endPoint(this._point0);
|
|
197727
|
+
const arcBPt = this._point1 = testStartOfArcB ? arcB.startPoint(this._point1) : arcB.endPoint(this._point1);
|
|
197728
|
+
if (arcAPt.isAlmostEqual(arcBPt, this.tolerance)) {
|
|
197729
|
+
const detailA = _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetail.createCurveFractionPoint(arcA, testStartOfArcA ? 0 : 1, arcAPt);
|
|
197730
|
+
const detailB = _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetail.createCurveFractionPoint(arcB, testStartOfArcB ? 0 : 1, arcBPt);
|
|
197731
|
+
result = this.appendDetailPair(result, _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailA, detailB));
|
|
197732
|
+
}
|
|
197733
|
+
}
|
|
197734
|
+
return result !== undefined && result.length > size;
|
|
197735
|
+
};
|
|
197736
|
+
appendCoincidentIntersection(fractionSweepB, false); // compute overlap in strict interior, or at end of arcA
|
|
197737
|
+
// check overlap at start of arcA with a periodic shift of fractionSweepB
|
|
197738
|
+
if (fractionB1 >= fractionPeriodA)
|
|
197739
|
+
appendCoincidentIntersection(_Segment1d__WEBPACK_IMPORTED_MODULE_4__.Segment1d.create(fractionB0 - fractionPeriodA, fractionB1 - fractionPeriodA), true);
|
|
197740
|
+
else if (fractionB0 === 0.0)
|
|
197741
|
+
appendCoincidentIntersection(_Segment1d__WEBPACK_IMPORTED_MODULE_4__.Segment1d.create(fractionB0 + fractionPeriodA, fractionB1 + fractionPeriodA), true);
|
|
197509
197742
|
}
|
|
197510
197743
|
}
|
|
197511
197744
|
}
|
|
@@ -204391,7 +204624,7 @@ class Matrix3d {
|
|
|
204391
204624
|
* almost independent and matrix is invertible).
|
|
204392
204625
|
*/
|
|
204393
204626
|
conditionNumber() {
|
|
204394
|
-
const determinant = this.determinant();
|
|
204627
|
+
const determinant = Math.abs(this.determinant());
|
|
204395
204628
|
const columnMagnitudeSum = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.hypotenuseXYZ(this.coffs[0], this.coffs[3], this.coffs[6])
|
|
204396
204629
|
+ _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.hypotenuseXYZ(this.coffs[1], this.coffs[4], this.coffs[7])
|
|
204397
204630
|
+ _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.hypotenuseXYZ(this.coffs[2], this.coffs[5], this.coffs[8]);
|
|
@@ -249353,6 +249586,7 @@ class HalfEdgeGraphOps {
|
|
|
249353
249586
|
}
|
|
249354
249587
|
}
|
|
249355
249588
|
/**
|
|
249589
|
+
* Note: this class uses hardcoded micrometer coordinate/cluster tolerance throughout.
|
|
249356
249590
|
* @internal
|
|
249357
249591
|
*/
|
|
249358
249592
|
class HalfEdgeGraphMerge {
|
|
@@ -282312,7 +282546,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
|
|
|
282312
282546
|
/***/ ((module) => {
|
|
282313
282547
|
|
|
282314
282548
|
"use strict";
|
|
282315
|
-
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.0.
|
|
282549
|
+
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.0.2","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/primitives,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-eslintrc -c \\"./node_modules/@itwin/eslint-plugin/dist/configs/extension-exports-config.js\\" \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:^4.0.2","@itwin/core-bentley":"workspace:^4.0.2","@itwin/core-common":"workspace:^4.0.2","@itwin/core-geometry":"workspace:^4.0.2","@itwin/core-orbitgt":"workspace:^4.0.2","@itwin/core-quantity":"workspace:^4.0.2"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/certa":"workspace:*","@itwin/eslint-plugin":"^4.0.0-dev.33","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^8.2.2","@types/node":"^18.11.5","@types/sinon":"^9.0.0","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.36.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^9.0.2","source-map-loader":"^4.0.0","typescript":"~5.0.2","webpack":"^5.76.0"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/object-storage-azure":"^1.5.0","@itwin/cloud-agnostic-core":"^1.5.0","@itwin/object-storage-core":"^1.5.0","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0","reflect-metadata":"0.1.13"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"},"eslintConfig":{"plugins":["@itwin"],"extends":"plugin:@itwin/itwinjs-recommended","rules":{"@itwin/no-internal-barrel-imports":["error",{"required-barrel-modules":["./src/tile/internal.ts"]}],"@itwin/public-extension-exports":["error",{"releaseTags":["public","preview"],"outputApiFile":false}]},"overrides":[{"files":["*.test.ts","*.test.tsx","**/test/**/*.ts"],"rules":{"@itwin/no-internal-barrel-imports":"off"}}]}}');
|
|
282316
282550
|
|
|
282317
282551
|
/***/ })
|
|
282318
282552
|
|