@itwin/rpcinterface-full-stack-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 +797 -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 +13 -13
- package/lib/dist/object-storage.bundled-tests.js.map +0 -1
|
@@ -61828,40 +61828,82 @@ exports.ECStringConstants = ECStringConstants;
|
|
|
61828
61828
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
61829
61829
|
*--------------------------------------------------------------------------------------------*/
|
|
61830
61830
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
61831
|
-
exports.SchemaContext = exports.SchemaCache =
|
|
61831
|
+
exports.SchemaContext = exports.SchemaCache = void 0;
|
|
61832
61832
|
const ECObjects_1 = __webpack_require__(/*! ./ECObjects */ "../../core/ecschema-metadata/lib/cjs/ECObjects.js");
|
|
61833
61833
|
const Exception_1 = __webpack_require__(/*! ./Exception */ "../../core/ecschema-metadata/lib/cjs/Exception.js");
|
|
61834
61834
|
/**
|
|
61835
|
-
* @
|
|
61835
|
+
* @internal
|
|
61836
61836
|
*/
|
|
61837
61837
|
class SchemaMap extends Array {
|
|
61838
61838
|
}
|
|
61839
|
-
exports.SchemaMap = SchemaMap;
|
|
61840
61839
|
/**
|
|
61841
|
-
* @
|
|
61840
|
+
* @internal
|
|
61842
61841
|
*/
|
|
61843
61842
|
class SchemaCache {
|
|
61844
61843
|
constructor() {
|
|
61845
61844
|
this._schema = new SchemaMap();
|
|
61846
61845
|
}
|
|
61847
61846
|
get count() { return this._schema.length; }
|
|
61847
|
+
loadedSchemaExists(schemaKey) {
|
|
61848
|
+
return undefined !== this._schema.find((entry) => entry.schemaInfo.schemaKey.matches(schemaKey, ECObjects_1.SchemaMatchType.Latest) && !entry.schemaPromise);
|
|
61849
|
+
}
|
|
61850
|
+
schemaPromiseExists(schemaKey) {
|
|
61851
|
+
return undefined !== this._schema.find((entry) => entry.schemaInfo.schemaKey.matches(schemaKey, ECObjects_1.SchemaMatchType.Latest) && undefined !== entry.schemaPromise);
|
|
61852
|
+
}
|
|
61853
|
+
findEntry(schemaKey, matchType) {
|
|
61854
|
+
return this._schema.find((entry) => entry.schemaInfo.schemaKey.matches(schemaKey, matchType));
|
|
61855
|
+
}
|
|
61856
|
+
removeSchemaPromise(schemaKey) {
|
|
61857
|
+
const entry = this.findEntry(schemaKey, ECObjects_1.SchemaMatchType.Latest);
|
|
61858
|
+
if (entry)
|
|
61859
|
+
entry.schemaPromise = undefined;
|
|
61860
|
+
}
|
|
61861
|
+
removeEntry(schemaKey) {
|
|
61862
|
+
this._schema = this._schema.filter((entry) => !entry.schemaInfo.schemaKey.matches(schemaKey));
|
|
61863
|
+
}
|
|
61864
|
+
/**
|
|
61865
|
+
* Returns true if the schema exists in either the schema cache or the promise cache. SchemaMatchType.Latest used.
|
|
61866
|
+
* @param schemaKey The key to search for.
|
|
61867
|
+
*/
|
|
61868
|
+
schemaExists(schemaKey) {
|
|
61869
|
+
return this.loadedSchemaExists(schemaKey) || this.schemaPromiseExists(schemaKey);
|
|
61870
|
+
}
|
|
61871
|
+
/**
|
|
61872
|
+
* 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.
|
|
61873
|
+
* When the promise completes the schema will be added to the schema cache and the promise will be removed from the promise cache
|
|
61874
|
+
* @param schemaInfo An object with the schema key for the schema being loaded and it's references
|
|
61875
|
+
* @param schema The partially loaded schema that the promise will fulfill
|
|
61876
|
+
* @param schemaPromise The schema promise to add to the cache.
|
|
61877
|
+
*/
|
|
61878
|
+
async addSchemaPromise(schemaInfo, schema, schemaPromise) {
|
|
61879
|
+
if (this.schemaExists(schemaInfo.schemaKey))
|
|
61880
|
+
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.DuplicateSchema, `The schema, ${schemaPromise.toString()}, already exists within this cache.`);
|
|
61881
|
+
this._schema.push({ schemaInfo, schema, schemaPromise });
|
|
61882
|
+
// This promise is cached and will be awaited when the user requests the full schema.
|
|
61883
|
+
// If the promise competes successfully before the user requests the schema it will be removed from the cache
|
|
61884
|
+
// If it fails it will remain in the cache until the user awaits it and handles the error
|
|
61885
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
61886
|
+
schemaPromise.then(() => {
|
|
61887
|
+
this.removeSchemaPromise(schemaInfo.schemaKey);
|
|
61888
|
+
});
|
|
61889
|
+
}
|
|
61848
61890
|
/**
|
|
61849
61891
|
* Adds a schema to the cache. Does not allow for duplicate schemas, checks using SchemaMatchType.Latest.
|
|
61850
61892
|
* @param schema The schema to add to the cache.
|
|
61851
61893
|
*/
|
|
61852
61894
|
async addSchema(schema) {
|
|
61853
|
-
if (
|
|
61895
|
+
if (this.schemaExists(schema.schemaKey))
|
|
61854
61896
|
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.DuplicateSchema, `The schema, ${schema.schemaKey.toString()}, already exists within this cache.`);
|
|
61855
|
-
this._schema.push(schema);
|
|
61897
|
+
this._schema.push({ schemaInfo: schema, schema });
|
|
61856
61898
|
}
|
|
61857
61899
|
/**
|
|
61858
61900
|
* Adds a schema to the cache. Does not allow for duplicate schemas, checks using SchemaMatchType.Latest.
|
|
61859
61901
|
* @param schema The schema to add to the cache.
|
|
61860
61902
|
*/
|
|
61861
61903
|
addSchemaSync(schema) {
|
|
61862
|
-
if (this.
|
|
61904
|
+
if (this.schemaExists(schema.schemaKey))
|
|
61863
61905
|
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.DuplicateSchema, `The schema, ${schema.schemaKey.toString()}, already exists within this cache.`);
|
|
61864
|
-
this._schema.push(schema);
|
|
61906
|
+
this._schema.push({ schemaInfo: schema, schema });
|
|
61865
61907
|
}
|
|
61866
61908
|
/**
|
|
61867
61909
|
* Gets the schema which matches the provided SchemaKey.
|
|
@@ -61871,46 +61913,69 @@ class SchemaCache {
|
|
|
61871
61913
|
async getSchema(schemaKey, matchType = ECObjects_1.SchemaMatchType.Latest) {
|
|
61872
61914
|
if (this.count === 0)
|
|
61873
61915
|
return undefined;
|
|
61874
|
-
const
|
|
61875
|
-
|
|
61876
|
-
};
|
|
61877
|
-
const foundSchema = this._schema.find(findFunc);
|
|
61878
|
-
if (!foundSchema)
|
|
61916
|
+
const entry = this.findEntry(schemaKey, matchType);
|
|
61917
|
+
if (!entry)
|
|
61879
61918
|
return undefined;
|
|
61880
|
-
|
|
61919
|
+
if (entry.schemaPromise) {
|
|
61920
|
+
try {
|
|
61921
|
+
const schema = await entry.schemaPromise;
|
|
61922
|
+
return schema;
|
|
61923
|
+
}
|
|
61924
|
+
catch (e) {
|
|
61925
|
+
this.removeEntry(schemaKey);
|
|
61926
|
+
throw e;
|
|
61927
|
+
}
|
|
61928
|
+
}
|
|
61929
|
+
return entry.schema;
|
|
61881
61930
|
}
|
|
61882
61931
|
/**
|
|
61883
|
-
|
|
61884
|
-
|
|
61885
|
-
|
|
61932
|
+
* Gets the schema info which matches the provided SchemaKey. The schema info may be returned before the schema is fully loaded.
|
|
61933
|
+
* @param schemaKey The SchemaKey describing the schema to get from the cache.
|
|
61934
|
+
* @param matchType The match type to use when locating the schema
|
|
61935
|
+
*/
|
|
61936
|
+
async getSchemaInfo(schemaKey, matchType = ECObjects_1.SchemaMatchType.Latest) {
|
|
61937
|
+
if (this.count === 0)
|
|
61938
|
+
return undefined;
|
|
61939
|
+
const entry = this.findEntry(schemaKey, matchType);
|
|
61940
|
+
if (entry)
|
|
61941
|
+
return entry.schemaInfo;
|
|
61942
|
+
return undefined;
|
|
61943
|
+
}
|
|
61944
|
+
/**
|
|
61945
|
+
* Gets the schema which matches the provided SchemaKey. If the schema is partially loaded an exception will be thrown.
|
|
61946
|
+
* @param schemaKey The SchemaKey describing the schema to get from the cache.
|
|
61947
|
+
* @param matchType The match type to use when locating the schema
|
|
61886
61948
|
*/
|
|
61887
61949
|
getSchemaSync(schemaKey, matchType = ECObjects_1.SchemaMatchType.Latest) {
|
|
61888
61950
|
if (this.count === 0)
|
|
61889
61951
|
return undefined;
|
|
61890
|
-
const
|
|
61891
|
-
|
|
61892
|
-
|
|
61893
|
-
|
|
61894
|
-
|
|
61895
|
-
return
|
|
61896
|
-
|
|
61952
|
+
const entry = this.findEntry(schemaKey, matchType);
|
|
61953
|
+
if (entry) {
|
|
61954
|
+
if (entry.schemaPromise) {
|
|
61955
|
+
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLoadSchema, `The Schema ${schemaKey.toString()} is partially loaded so cannot be loaded synchronously.`);
|
|
61956
|
+
}
|
|
61957
|
+
return entry.schema;
|
|
61958
|
+
}
|
|
61959
|
+
return undefined;
|
|
61897
61960
|
}
|
|
61898
61961
|
/**
|
|
61899
|
-
* Generator function that can iterate through each schema in _schema SchemaMap and items for each Schema
|
|
61962
|
+
* Generator function that can iterate through each schema in _schema SchemaMap and items for each Schema.
|
|
61963
|
+
* Does not include schema items from schemas that are not completely loaded yet.
|
|
61900
61964
|
*/
|
|
61901
61965
|
*getSchemaItems() {
|
|
61902
|
-
for (const
|
|
61903
|
-
for (const schemaItem of schema.getItems()) {
|
|
61966
|
+
for (const entry of this._schema) {
|
|
61967
|
+
for (const schemaItem of entry.schema.getItems()) {
|
|
61904
61968
|
yield schemaItem;
|
|
61905
61969
|
}
|
|
61906
61970
|
}
|
|
61907
61971
|
}
|
|
61908
61972
|
/**
|
|
61909
61973
|
* Gets all the schemas from the schema cache.
|
|
61974
|
+
* Does not include schemas from schemas that are not completely loaded yet.
|
|
61910
61975
|
* @returns An array of Schema objects.
|
|
61911
61976
|
*/
|
|
61912
61977
|
getAllSchemas() {
|
|
61913
|
-
return this._schema;
|
|
61978
|
+
return this._schema.map((entry) => entry.schema);
|
|
61914
61979
|
}
|
|
61915
61980
|
}
|
|
61916
61981
|
exports.SchemaCache = SchemaCache;
|
|
@@ -61932,7 +61997,7 @@ class SchemaContext {
|
|
|
61932
61997
|
this._locaters.push(locater);
|
|
61933
61998
|
}
|
|
61934
61999
|
/**
|
|
61935
|
-
* Adds the schema to this context
|
|
62000
|
+
* Adds the schema to this context. Use addSchemaPromise instead when asynchronously loading schemas.
|
|
61936
62001
|
* @param schema The schema to add to this context
|
|
61937
62002
|
*/
|
|
61938
62003
|
async addSchema(schema) {
|
|
@@ -61948,6 +62013,7 @@ class SchemaContext {
|
|
|
61948
62013
|
/**
|
|
61949
62014
|
* Adds the given SchemaItem to the the SchemaContext by locating the schema, with the best match of SchemaMatchType.Exact, and
|
|
61950
62015
|
* @param schemaItem The SchemaItem to add
|
|
62016
|
+
* @deprecated in 4.0 use ecschema-editing package
|
|
61951
62017
|
*/
|
|
61952
62018
|
async addSchemaItem(schemaItem) {
|
|
61953
62019
|
const schema = await this.getSchema(schemaItem.key.schemaKey, ECObjects_1.SchemaMatchType.Exact);
|
|
@@ -61955,6 +62021,24 @@ class SchemaContext {
|
|
|
61955
62021
|
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.`);
|
|
61956
62022
|
schema.addItem(schemaItem);
|
|
61957
62023
|
}
|
|
62024
|
+
/**
|
|
62025
|
+
* Returns true if the schema is already in the context. SchemaMatchType.Latest is used to find a match.
|
|
62026
|
+
* @param schemaKey
|
|
62027
|
+
*/
|
|
62028
|
+
schemaExists(schemaKey) {
|
|
62029
|
+
return this._knownSchemas.schemaExists(schemaKey);
|
|
62030
|
+
}
|
|
62031
|
+
/**
|
|
62032
|
+
* 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.
|
|
62033
|
+
* When the promise completes the schema will be added to the schema cache and the promise will be removed from the promise cache.
|
|
62034
|
+
* Use this method over addSchema when asynchronously loading schemas
|
|
62035
|
+
* @param schemaInfo An object with the schema key for the schema being loaded and it's references
|
|
62036
|
+
* @param schema The partially loaded schema that the promise will fulfill
|
|
62037
|
+
* @param schemaPromise The schema promise to add to the cache.
|
|
62038
|
+
*/
|
|
62039
|
+
async addSchemaPromise(schemaInfo, schema, schemaPromise) {
|
|
62040
|
+
return this._knownSchemas.addSchemaPromise(schemaInfo, schema, schemaPromise);
|
|
62041
|
+
}
|
|
61958
62042
|
/**
|
|
61959
62043
|
*
|
|
61960
62044
|
* @param schemaKey
|
|
@@ -61968,6 +62052,20 @@ class SchemaContext {
|
|
|
61968
62052
|
}
|
|
61969
62053
|
return undefined;
|
|
61970
62054
|
}
|
|
62055
|
+
/**
|
|
62056
|
+
* Gets the schema info which matches the provided SchemaKey. The schema info may be returned before the schema is fully loaded.
|
|
62057
|
+
* The fully loaded schema can be gotten later from the context using the getCachedSchema method.
|
|
62058
|
+
* @param schemaKey The SchemaKey describing the schema to get from the cache.
|
|
62059
|
+
* @param matchType The match type to use when locating the schema
|
|
62060
|
+
*/
|
|
62061
|
+
async getSchemaInfo(schemaKey, matchType) {
|
|
62062
|
+
for (const locater of this._locaters) {
|
|
62063
|
+
const schemaInfo = await locater.getSchemaInfo(schemaKey, matchType, this);
|
|
62064
|
+
if (undefined !== schemaInfo)
|
|
62065
|
+
return schemaInfo;
|
|
62066
|
+
}
|
|
62067
|
+
return undefined;
|
|
62068
|
+
}
|
|
61971
62069
|
/**
|
|
61972
62070
|
*
|
|
61973
62071
|
* @param schemaKey
|
|
@@ -61983,42 +62081,62 @@ class SchemaContext {
|
|
|
61983
62081
|
}
|
|
61984
62082
|
/**
|
|
61985
62083
|
* Attempts to get a Schema from the context's cache.
|
|
62084
|
+
* Will await a partially loaded schema then return when it is completely loaded.
|
|
61986
62085
|
* @param schemaKey The SchemaKey to identify the Schema.
|
|
61987
62086
|
* @param matchType The SchemaMatch type to use. Default is SchemaMatchType.Latest.
|
|
61988
62087
|
* @internal
|
|
61989
62088
|
*/
|
|
61990
62089
|
async getCachedSchema(schemaKey, matchType = ECObjects_1.SchemaMatchType.Latest) {
|
|
61991
|
-
return this.
|
|
62090
|
+
return this._knownSchemas.getSchema(schemaKey, matchType);
|
|
61992
62091
|
}
|
|
61993
62092
|
/**
|
|
61994
62093
|
* Attempts to get a Schema from the context's cache.
|
|
62094
|
+
* Will return undefined if the cached schema is partially loaded. Use the async method to await partially loaded schemas.
|
|
61995
62095
|
* @param schemaKey The SchemaKey to identify the Schema.
|
|
61996
62096
|
* @param matchType The SchemaMatch type to use. Default is SchemaMatchType.Latest.
|
|
61997
62097
|
* @internal
|
|
61998
62098
|
*/
|
|
61999
62099
|
getCachedSchemaSync(schemaKey, matchType = ECObjects_1.SchemaMatchType.Latest) {
|
|
62000
|
-
|
|
62001
|
-
return schema;
|
|
62100
|
+
return this._knownSchemas.getSchemaSync(schemaKey, matchType);
|
|
62002
62101
|
}
|
|
62102
|
+
/**
|
|
62103
|
+
* Gets the schema item from the specified schema if it exists in this [[SchemaContext]].
|
|
62104
|
+
* Will await a partially loaded schema then look in it for the requested item
|
|
62105
|
+
* @param schemaItemKey The SchemaItemKey identifying the item to return. SchemaMatchType.Latest is used to match the schema.
|
|
62106
|
+
* @returns The requested schema item
|
|
62107
|
+
*/
|
|
62003
62108
|
async getSchemaItem(schemaItemKey) {
|
|
62004
62109
|
const schema = await this.getSchema(schemaItemKey.schemaKey, ECObjects_1.SchemaMatchType.Latest);
|
|
62005
62110
|
if (undefined === schema)
|
|
62006
62111
|
return undefined;
|
|
62007
62112
|
return schema.getItem(schemaItemKey.name);
|
|
62008
62113
|
}
|
|
62114
|
+
/**
|
|
62115
|
+
* Gets the schema item from the specified schema if it exists in this [[SchemaContext]].
|
|
62116
|
+
* 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.
|
|
62117
|
+
* @param schemaItemKey The SchemaItemKey identifying the item to return. SchemaMatchType.Latest is used to match the schema.
|
|
62118
|
+
* @returns The requested schema item
|
|
62119
|
+
*/
|
|
62009
62120
|
getSchemaItemSync(schemaItemKey) {
|
|
62010
62121
|
const schema = this.getSchemaSync(schemaItemKey.schemaKey, ECObjects_1.SchemaMatchType.Latest);
|
|
62011
62122
|
if (undefined === schema)
|
|
62012
62123
|
return undefined;
|
|
62013
62124
|
return schema.getItemSync(schemaItemKey.name);
|
|
62014
62125
|
}
|
|
62126
|
+
/**
|
|
62127
|
+
* Iterates through the items of each schema known to the context. This includes schemas added to the
|
|
62128
|
+
* context using [[SchemaContext.addSchema]]. This does not include schemas that
|
|
62129
|
+
* can be located by an ISchemaLocater instance added to the context.
|
|
62130
|
+
* Does not include schema items from schemas that are not completely loaded yet.
|
|
62131
|
+
*/
|
|
62015
62132
|
getSchemaItems() {
|
|
62016
62133
|
return this._knownSchemas.getSchemaItems();
|
|
62017
62134
|
}
|
|
62018
62135
|
/**
|
|
62019
62136
|
* Gets all the Schemas known by the context. This includes schemas added to the
|
|
62020
62137
|
* context using [[SchemaContext.addSchema]]. This does not include schemas that
|
|
62021
|
-
* can be located by an ISchemaLocater instance added to the context.
|
|
62138
|
+
* can be located by an ISchemaLocater instance added to the context. Does not
|
|
62139
|
+
* include schemas that are partially loaded.
|
|
62022
62140
|
* @returns An array of Schema objects.
|
|
62023
62141
|
*/
|
|
62024
62142
|
getKnownSchemas() {
|
|
@@ -62188,11 +62306,13 @@ class SchemaReadHelper {
|
|
|
62188
62306
|
this._parserType = parserType;
|
|
62189
62307
|
}
|
|
62190
62308
|
/**
|
|
62191
|
-
*
|
|
62309
|
+
* Creates a complete SchemaInfo and starts parsing the schema from a serialized representation.
|
|
62310
|
+
* The info and schema promise will be registered with the SchemaContext. The complete schema can be retrieved by
|
|
62311
|
+
* calling getCachedSchema on the context.
|
|
62192
62312
|
* @param schema The Schema to populate
|
|
62193
62313
|
* @param rawSchema The serialized data to use to populate the Schema.
|
|
62194
62314
|
*/
|
|
62195
|
-
async
|
|
62315
|
+
async readSchemaInfo(schema, rawSchema) {
|
|
62196
62316
|
// Ensure context matches schema context
|
|
62197
62317
|
if (schema.context) {
|
|
62198
62318
|
if (this._context !== schema.context)
|
|
@@ -62205,12 +62325,38 @@ class SchemaReadHelper {
|
|
|
62205
62325
|
// Loads all of the properties on the Schema object
|
|
62206
62326
|
await schema.fromJSON(this._parser.parseSchema());
|
|
62207
62327
|
this._schema = schema;
|
|
62208
|
-
|
|
62209
|
-
await this._context.addSchema(schema);
|
|
62210
|
-
// Load schema references first
|
|
62211
|
-
// Need to figure out if other schemas are present.
|
|
62328
|
+
const schemaInfo = { schemaKey: schema.schemaKey, references: [] };
|
|
62212
62329
|
for (const reference of this._parser.getReferences()) {
|
|
62213
|
-
|
|
62330
|
+
const refKey = new SchemaKey_1.SchemaKey(reference.name, SchemaKey_1.ECVersion.fromString(reference.version));
|
|
62331
|
+
schemaInfo.references.push({ schemaKey: refKey });
|
|
62332
|
+
}
|
|
62333
|
+
this._schemaInfo = schemaInfo;
|
|
62334
|
+
// Need to add this schema to the context to be able to locate schemaItems within the context.
|
|
62335
|
+
if (!this._context.schemaExists(schema.schemaKey)) {
|
|
62336
|
+
await this._context.addSchemaPromise(schemaInfo, schema, this.loadSchema(schemaInfo, schema));
|
|
62337
|
+
}
|
|
62338
|
+
return schemaInfo;
|
|
62339
|
+
}
|
|
62340
|
+
/**
|
|
62341
|
+
* Populates the given Schema from a serialized representation.
|
|
62342
|
+
* @param schema The Schema to populate
|
|
62343
|
+
* @param rawSchema The serialized data to use to populate the Schema.
|
|
62344
|
+
*/
|
|
62345
|
+
async readSchema(schema, rawSchema) {
|
|
62346
|
+
if (!this._schemaInfo) {
|
|
62347
|
+
await this.readSchemaInfo(schema, rawSchema);
|
|
62348
|
+
}
|
|
62349
|
+
const cachedSchema = await this._context.getCachedSchema(this._schemaInfo.schemaKey, ECObjects_1.SchemaMatchType.Latest);
|
|
62350
|
+
if (undefined === cachedSchema)
|
|
62351
|
+
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLoadSchema, `Could not load schema ${schema.schemaKey.toString()}`);
|
|
62352
|
+
return cachedSchema;
|
|
62353
|
+
}
|
|
62354
|
+
/* Finish loading the rest of the schema */
|
|
62355
|
+
async loadSchema(schemaInfo, schema) {
|
|
62356
|
+
// Verify that there are no schema reference cycles, this will start schema loading by loading their headers
|
|
62357
|
+
(await SchemaGraph_1.SchemaGraph.generateGraph(schemaInfo, this._context)).throwIfCycles();
|
|
62358
|
+
for (const reference of schemaInfo.references) {
|
|
62359
|
+
await this.loadSchemaReference(schemaInfo, reference.schemaKey);
|
|
62214
62360
|
}
|
|
62215
62361
|
if (this._visitorHelper)
|
|
62216
62362
|
await this._visitorHelper.visitSchema(schema, false);
|
|
@@ -62269,11 +62415,10 @@ class SchemaReadHelper {
|
|
|
62269
62415
|
* Ensures that the schema references can be located and adds them to the schema.
|
|
62270
62416
|
* @param ref The object to read the SchemaReference's props from.
|
|
62271
62417
|
*/
|
|
62272
|
-
async loadSchemaReference(
|
|
62273
|
-
const
|
|
62274
|
-
const refSchema = await this._context.getSchema(schemaKey, ECObjects_1.SchemaMatchType.LatestWriteCompatible);
|
|
62418
|
+
async loadSchemaReference(schemaInfo, refKey) {
|
|
62419
|
+
const refSchema = await this._context.getSchema(refKey, ECObjects_1.SchemaMatchType.LatestWriteCompatible);
|
|
62275
62420
|
if (undefined === refSchema)
|
|
62276
|
-
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLocateSchema, `Could not locate the referenced schema, ${
|
|
62421
|
+
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLocateSchema, `Could not locate the referenced schema, ${refKey.name}.${refKey.version.toString()}, of ${schemaInfo.schemaKey.name}`);
|
|
62277
62422
|
await this._schema.addReference(refSchema);
|
|
62278
62423
|
const results = this.validateSchemaReferences(this._schema);
|
|
62279
62424
|
let errorMessage = "";
|
|
@@ -62294,6 +62439,7 @@ class SchemaReadHelper {
|
|
|
62294
62439
|
if (!refSchema)
|
|
62295
62440
|
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLocateSchema, `Could not locate the referenced schema, ${ref.name}.${ref.version}, of ${this._schema.schemaKey.name}`);
|
|
62296
62441
|
this._schema.addReferenceSync(refSchema);
|
|
62442
|
+
SchemaGraph_1.SchemaGraph.generateGraphSync(this._schema).throwIfCycles();
|
|
62297
62443
|
const results = this.validateSchemaReferences(this._schema);
|
|
62298
62444
|
let errorMessage = "";
|
|
62299
62445
|
for (const result of results) {
|
|
@@ -62322,12 +62468,6 @@ class SchemaReadHelper {
|
|
|
62322
62468
|
aliases.set(schemaRef.alias, schemaRef);
|
|
62323
62469
|
}
|
|
62324
62470
|
}
|
|
62325
|
-
const graph = new SchemaGraph_1.SchemaGraph(schema);
|
|
62326
|
-
const cycles = graph.detectCycles();
|
|
62327
|
-
if (cycles) {
|
|
62328
|
-
const result = cycles.map((cycle) => `${cycle.schema.name} --> ${cycle.refSchema.name}`).join(", ");
|
|
62329
|
-
yield `Schema '${schema.name}' has reference cycles: ${result}`;
|
|
62330
|
-
}
|
|
62331
62471
|
}
|
|
62332
62472
|
/**
|
|
62333
62473
|
* Given the schema item object, the anticipated type and the name a schema item is created and loaded into the schema provided.
|
|
@@ -62512,7 +62652,10 @@ class SchemaReadHelper {
|
|
|
62512
62652
|
const isInThisSchema = (this._schema && this._schema.name.toLowerCase() === schemaName.toLowerCase());
|
|
62513
62653
|
if (undefined === schemaName || 0 === schemaName.length)
|
|
62514
62654
|
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.InvalidECJson, `The SchemaItem ${name} is invalid without a schema name`);
|
|
62515
|
-
if (isInThisSchema
|
|
62655
|
+
if (isInThisSchema) {
|
|
62656
|
+
schemaItem = await this._schema.getItem(itemName);
|
|
62657
|
+
if (schemaItem)
|
|
62658
|
+
return schemaItem;
|
|
62516
62659
|
const foundItem = this._parser.findItem(itemName);
|
|
62517
62660
|
if (foundItem) {
|
|
62518
62661
|
schemaItem = await this.loadSchemaItem(this._schema, ...foundItem);
|
|
@@ -65586,6 +65729,7 @@ var ECObjectsStatus;
|
|
|
65586
65729
|
ECObjectsStatus[ECObjectsStatus["InvalidSchemaComparisonArgument"] = 35077] = "InvalidSchemaComparisonArgument";
|
|
65587
65730
|
ECObjectsStatus[ECObjectsStatus["InvalidSchemaAlias"] = 35078] = "InvalidSchemaAlias";
|
|
65588
65731
|
ECObjectsStatus[ECObjectsStatus["InvalidSchemaKey"] = 35079] = "InvalidSchemaKey";
|
|
65732
|
+
ECObjectsStatus[ECObjectsStatus["UnableToLoadSchema"] = 35080] = "UnableToLoadSchema";
|
|
65589
65733
|
})(ECObjectsStatus = exports.ECObjectsStatus || (exports.ECObjectsStatus = {}));
|
|
65590
65734
|
/** @internal */
|
|
65591
65735
|
class ECObjectsError extends core_bentley_1.BentleyError {
|
|
@@ -69211,6 +69355,9 @@ class Schema {
|
|
|
69211
69355
|
schemaXml.appendChild(schemaMetadata);
|
|
69212
69356
|
return schemaXml;
|
|
69213
69357
|
}
|
|
69358
|
+
/**
|
|
69359
|
+
* Loads the schema header (name, version alias, label and description) from the input SchemaProps
|
|
69360
|
+
*/
|
|
69214
69361
|
fromJSONSync(schemaProps) {
|
|
69215
69362
|
if (undefined === this._schemaKey) {
|
|
69216
69363
|
const schemaName = schemaProps.name;
|
|
@@ -69236,9 +69383,22 @@ class Schema {
|
|
|
69236
69383
|
if (undefined !== schemaProps.description)
|
|
69237
69384
|
this._description = schemaProps.description;
|
|
69238
69385
|
}
|
|
69386
|
+
/**
|
|
69387
|
+
* Loads the schema header (name, version alias, label and description) from the input SchemaProps
|
|
69388
|
+
*/
|
|
69239
69389
|
async fromJSON(schemaProps) {
|
|
69240
69390
|
this.fromJSONSync(schemaProps);
|
|
69241
69391
|
}
|
|
69392
|
+
/**
|
|
69393
|
+
* Completely loads the SchemaInfo from the input json and starts loading the entire schema. The complete schema can be retrieved from the
|
|
69394
|
+
* schema context using the getCachedSchema method
|
|
69395
|
+
*/
|
|
69396
|
+
static async startLoadingFromJson(jsonObj, context) {
|
|
69397
|
+
const schema = new Schema(context);
|
|
69398
|
+
const reader = new Helper_1.SchemaReadHelper(JsonParser_1.JsonParser, context);
|
|
69399
|
+
const rawSchema = typeof jsonObj === "string" ? JSON.parse(jsonObj) : jsonObj;
|
|
69400
|
+
return reader.readSchemaInfo(schema, rawSchema);
|
|
69401
|
+
}
|
|
69242
69402
|
static async fromJson(jsonObj, context) {
|
|
69243
69403
|
let schema = new Schema(context);
|
|
69244
69404
|
const reader = new Helper_1.SchemaReadHelper(JsonParser_1.JsonParser, context);
|
|
@@ -69246,6 +69406,9 @@ class Schema {
|
|
|
69246
69406
|
schema = await reader.readSchema(schema, rawSchema);
|
|
69247
69407
|
return schema;
|
|
69248
69408
|
}
|
|
69409
|
+
/**
|
|
69410
|
+
* Completely loads the Schema from the input json. The schema is cached in the schema context.
|
|
69411
|
+
*/
|
|
69249
69412
|
static fromJsonSync(jsonObj, context) {
|
|
69250
69413
|
let schema = new Schema(context);
|
|
69251
69414
|
const reader = new Helper_1.SchemaReadHelper(JsonParser_1.JsonParser, context);
|
|
@@ -69771,6 +69934,14 @@ class SchemaJsonLocater {
|
|
|
69771
69934
|
async getSchema(schemaKey, matchType, context) {
|
|
69772
69935
|
return this.getSchemaSync(schemaKey, matchType, context);
|
|
69773
69936
|
}
|
|
69937
|
+
/**
|
|
69938
|
+
* Gets the schema info which matches the provided SchemaKey. The schema info may be returned before the schema is fully loaded.
|
|
69939
|
+
* @param schemaKey The SchemaKey describing the schema to get from the cache.
|
|
69940
|
+
* @param matchType The match type to use when locating the schema
|
|
69941
|
+
*/
|
|
69942
|
+
async getSchemaInfo(schemaKey, matchType, context) {
|
|
69943
|
+
return this.getSchema(schemaKey, matchType, context);
|
|
69944
|
+
}
|
|
69774
69945
|
/** Get a schema by [SchemaKey] synchronously.
|
|
69775
69946
|
* @param schemaKey The [SchemaKey] that identifies the schema.
|
|
69776
69947
|
* * @param matchType The [SchemaMatchType] to used for comparing schema versions.
|
|
@@ -71267,7 +71438,7 @@ Object.defineProperty(exports, "SchemaGraph", ({ enumerable: true, get: function
|
|
|
71267
71438
|
/*!*****************************************************************!*\
|
|
71268
71439
|
!*** ../../core/ecschema-metadata/lib/cjs/utils/SchemaGraph.js ***!
|
|
71269
71440
|
\*****************************************************************/
|
|
71270
|
-
/***/ ((__unused_webpack_module, exports) => {
|
|
71441
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
71271
71442
|
|
|
71272
71443
|
"use strict";
|
|
71273
71444
|
|
|
@@ -71277,22 +71448,32 @@ Object.defineProperty(exports, "SchemaGraph", ({ enumerable: true, get: function
|
|
|
71277
71448
|
*--------------------------------------------------------------------------------------------*/
|
|
71278
71449
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
71279
71450
|
exports.SchemaGraph = void 0;
|
|
71451
|
+
const ECObjects_1 = __webpack_require__(/*! ../ECObjects */ "../../core/ecschema-metadata/lib/cjs/ECObjects.js");
|
|
71452
|
+
const Exception_1 = __webpack_require__(/*! ../Exception */ "../../core/ecschema-metadata/lib/cjs/Exception.js");
|
|
71280
71453
|
/**
|
|
71281
71454
|
* Utility class for detecting cyclic references in a Schema graph.
|
|
71282
|
-
* @
|
|
71455
|
+
* @internal
|
|
71283
71456
|
*/
|
|
71284
71457
|
class SchemaGraph {
|
|
71458
|
+
constructor() {
|
|
71459
|
+
this._schemas = [];
|
|
71460
|
+
}
|
|
71461
|
+
find(schemaKey) {
|
|
71462
|
+
return this._schemas.find((info) => info.schemaKey.matches(schemaKey, ECObjects_1.SchemaMatchType.Latest));
|
|
71463
|
+
}
|
|
71285
71464
|
/**
|
|
71286
|
-
*
|
|
71287
|
-
* @param schema The schema to analyze.
|
|
71465
|
+
* Detected cyclic references in a schema and throw an exception if a cycle is found.
|
|
71288
71466
|
*/
|
|
71289
|
-
|
|
71290
|
-
|
|
71291
|
-
|
|
71467
|
+
throwIfCycles() {
|
|
71468
|
+
const cycles = this.detectCycles();
|
|
71469
|
+
if (cycles) {
|
|
71470
|
+
const result = cycles.map((cycle) => `${cycle.schema.schemaKey.name} --> ${cycle.refSchema.schemaKey.name}`).join(", ");
|
|
71471
|
+
throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.InvalidECJson, `Schema '${this._schemas[0].schemaKey.name}' has reference cycles: ${result}`);
|
|
71472
|
+
}
|
|
71292
71473
|
}
|
|
71293
71474
|
/**
|
|
71294
71475
|
* Detected cyclic references in a schema.
|
|
71295
|
-
* @returns
|
|
71476
|
+
* @returns An array describing the cycle if there is a cycle or undefined if no cycles found.
|
|
71296
71477
|
*/
|
|
71297
71478
|
detectCycles() {
|
|
71298
71479
|
const visited = {};
|
|
@@ -71307,31 +71488,70 @@ class SchemaGraph {
|
|
|
71307
71488
|
}
|
|
71308
71489
|
detectCycleUtil(schema, visited, recStack, cycles) {
|
|
71309
71490
|
let cycleFound = false;
|
|
71310
|
-
if (!visited[schema.name]) {
|
|
71311
|
-
visited[schema.name] = true;
|
|
71312
|
-
recStack[schema.name] = true;
|
|
71313
|
-
for (const
|
|
71314
|
-
|
|
71491
|
+
if (!visited[schema.schemaKey.name]) {
|
|
71492
|
+
visited[schema.schemaKey.name] = true;
|
|
71493
|
+
recStack[schema.schemaKey.name] = true;
|
|
71494
|
+
for (const refKey of schema.references) {
|
|
71495
|
+
const refSchema = this.find(refKey.schemaKey);
|
|
71496
|
+
if (undefined === refSchema)
|
|
71497
|
+
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()}`);
|
|
71498
|
+
if (!visited[refKey.schemaKey.name] && this.detectCycleUtil(refSchema, visited, recStack, cycles)) {
|
|
71315
71499
|
cycles.push({ schema, refSchema });
|
|
71316
71500
|
cycleFound = true;
|
|
71317
71501
|
}
|
|
71318
|
-
else if (recStack[
|
|
71502
|
+
else if (recStack[refKey.schemaKey.name]) {
|
|
71319
71503
|
cycles.push({ schema, refSchema });
|
|
71320
71504
|
cycleFound = true;
|
|
71321
71505
|
}
|
|
71322
71506
|
}
|
|
71323
71507
|
}
|
|
71324
71508
|
if (!cycleFound)
|
|
71325
|
-
recStack[schema.name] = false;
|
|
71509
|
+
recStack[schema.schemaKey.name] = false;
|
|
71326
71510
|
return cycleFound;
|
|
71327
71511
|
}
|
|
71328
|
-
|
|
71329
|
-
|
|
71330
|
-
|
|
71331
|
-
|
|
71332
|
-
|
|
71333
|
-
|
|
71334
|
-
|
|
71512
|
+
/**
|
|
71513
|
+
* 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.
|
|
71514
|
+
* @param schema The SchemaInfo to build the graph from
|
|
71515
|
+
* @param context The SchemaContext used to locate info on the referenced schemas
|
|
71516
|
+
* @returns A SchemaGraph that can be used to detect schema cycles
|
|
71517
|
+
*/
|
|
71518
|
+
static async generateGraph(schema, context) {
|
|
71519
|
+
const graph = new SchemaGraph();
|
|
71520
|
+
const genGraph = async (s) => {
|
|
71521
|
+
if (graph.find(s.schemaKey))
|
|
71522
|
+
return;
|
|
71523
|
+
graph._schemas.push(s);
|
|
71524
|
+
for (const refSchema of s.references) {
|
|
71525
|
+
if (!graph.find(refSchema.schemaKey)) {
|
|
71526
|
+
const refInfo = await context.getSchemaInfo(refSchema.schemaKey, ECObjects_1.SchemaMatchType.LatestWriteCompatible);
|
|
71527
|
+
if (undefined === refInfo) {
|
|
71528
|
+
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}`);
|
|
71529
|
+
}
|
|
71530
|
+
await genGraph(refInfo);
|
|
71531
|
+
}
|
|
71532
|
+
}
|
|
71533
|
+
};
|
|
71534
|
+
await genGraph(schema);
|
|
71535
|
+
return graph;
|
|
71536
|
+
}
|
|
71537
|
+
/**
|
|
71538
|
+
* Generates a SchemaGraph for the input schema. Use the generateGraph if you just have schema info.
|
|
71539
|
+
* @param schema The Schema to build the graph from.
|
|
71540
|
+
* @returns A SchemaGraph that can be used to detect schema cycles
|
|
71541
|
+
*/
|
|
71542
|
+
static generateGraphSync(schema) {
|
|
71543
|
+
const graph = new SchemaGraph();
|
|
71544
|
+
const genGraph = (s) => {
|
|
71545
|
+
if (graph.find(s.schemaKey))
|
|
71546
|
+
return;
|
|
71547
|
+
graph._schemas.push(s);
|
|
71548
|
+
for (const refSchema of s.references) {
|
|
71549
|
+
if (!graph.find(refSchema.schemaKey))
|
|
71550
|
+
genGraph(refSchema);
|
|
71551
|
+
}
|
|
71552
|
+
};
|
|
71553
|
+
genGraph(schema);
|
|
71554
|
+
return graph;
|
|
71335
71555
|
}
|
|
71336
71556
|
}
|
|
71337
71557
|
exports.SchemaGraph = SchemaGraph;
|
|
@@ -75148,9 +75368,13 @@ class AccuSnap {
|
|
|
75148
75368
|
this.aSnapHits.removeCurrentHit();
|
|
75149
75369
|
hit = await this.getAccuSnapDetail(this.aSnapHits, out);
|
|
75150
75370
|
}
|
|
75371
|
+
if (!this._doSnapping)
|
|
75372
|
+
hit = undefined; // Snap no longer requested...
|
|
75151
75373
|
}
|
|
75152
75374
|
else if (this.isLocateEnabled) {
|
|
75153
75375
|
hit = await this.findLocatableHit(ev, false, out); // get next AccuSnap path (or undefined)
|
|
75376
|
+
if (!this.isLocateEnabled)
|
|
75377
|
+
hit = undefined; // Hit no longer requested...
|
|
75154
75378
|
}
|
|
75155
75379
|
// set the current hit
|
|
75156
75380
|
if (hit || this.currHit)
|
|
@@ -75171,9 +75395,13 @@ class AccuSnap {
|
|
|
75171
75395
|
if (this._doSnapping) {
|
|
75172
75396
|
out.snapStatus = this.findHits(ev);
|
|
75173
75397
|
hit = (_ElementLocateManager__WEBPACK_IMPORTED_MODULE_2__.SnapStatus.Success !== out.snapStatus) ? undefined : await this.getAccuSnapDetail(this.aSnapHits, out);
|
|
75398
|
+
if (!this._doSnapping)
|
|
75399
|
+
hit = undefined; // Snap no longer requested...
|
|
75174
75400
|
}
|
|
75175
75401
|
else if (this.isLocateEnabled) {
|
|
75176
75402
|
hit = await this.findLocatableHit(ev, true, out);
|
|
75403
|
+
if (!this.isLocateEnabled)
|
|
75404
|
+
hit = undefined; // Hit no longer requested...
|
|
75177
75405
|
}
|
|
75178
75406
|
}
|
|
75179
75407
|
// set the current hit and display the sprite (based on snap's KeypointType)
|
|
@@ -77685,7 +77913,8 @@ class DisplayStyleState extends _EntityState__WEBPACK_IMPORTED_MODULE_6__.Elemen
|
|
|
77685
77913
|
/** @internal */
|
|
77686
77914
|
async queryRenderTimelineProps(timelineId) {
|
|
77687
77915
|
try {
|
|
77688
|
-
|
|
77916
|
+
const omitScriptElementIds = !_IModelApp__WEBPACK_IMPORTED_MODULE_7__.IModelApp.tileAdmin.enableFrontendScheduleScripts;
|
|
77917
|
+
return await this.iModel.elements.loadProps(timelineId, { renderTimeline: { omitScriptElementIds } });
|
|
77689
77918
|
}
|
|
77690
77919
|
catch (_) {
|
|
77691
77920
|
return undefined;
|
|
@@ -81928,9 +82157,7 @@ class IModelApp {
|
|
|
81928
82157
|
static get applicationVersion() { return this._applicationVersion; }
|
|
81929
82158
|
/** True after [[startup]] has been called, until [[shutdown]] is called. */
|
|
81930
82159
|
static get initialized() { return this._initialized; }
|
|
81931
|
-
/** Provides access to
|
|
81932
|
-
* @internal
|
|
81933
|
-
*/
|
|
82160
|
+
/** Provides access to IModelHub services. */
|
|
81934
82161
|
static get hubAccess() { return this._hubAccess; }
|
|
81935
82162
|
/** Provides access to the RealityData service implementation for this IModelApp
|
|
81936
82163
|
* @beta
|
|
@@ -97793,65 +98020,6 @@ class ExtensionHost {
|
|
|
97793
98020
|
}
|
|
97794
98021
|
|
|
97795
98022
|
|
|
97796
|
-
/***/ }),
|
|
97797
|
-
|
|
97798
|
-
/***/ "../../core/frontend/lib/esm/extension/ExtensionImpl.js":
|
|
97799
|
-
/*!**************************************************************!*\
|
|
97800
|
-
!*** ../../core/frontend/lib/esm/extension/ExtensionImpl.js ***!
|
|
97801
|
-
\**************************************************************/
|
|
97802
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
97803
|
-
|
|
97804
|
-
"use strict";
|
|
97805
|
-
__webpack_require__.r(__webpack_exports__);
|
|
97806
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
97807
|
-
/* harmony export */ "ExtensionImpl": () => (/* binding */ ExtensionImpl),
|
|
97808
|
-
/* harmony export */ "ToolProvider": () => (/* binding */ ToolProvider)
|
|
97809
|
-
/* harmony export */ });
|
|
97810
|
-
/* harmony import */ var _IModelApp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../IModelApp */ "../../core/frontend/lib/esm/IModelApp.js");
|
|
97811
|
-
/* harmony import */ var _itwin_appui_abstract__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @itwin/appui-abstract */ "../../ui/appui-abstract/lib/esm/appui-abstract.js");
|
|
97812
|
-
/*---------------------------------------------------------------------------------------------
|
|
97813
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
97814
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
97815
|
-
*--------------------------------------------------------------------------------------------*/
|
|
97816
|
-
/** @packageDocumentation
|
|
97817
|
-
* @module Extensions
|
|
97818
|
-
*/
|
|
97819
|
-
|
|
97820
|
-
|
|
97821
|
-
/** @alpha */
|
|
97822
|
-
class ToolProvider {
|
|
97823
|
-
constructor(tool) {
|
|
97824
|
-
this._toolId = "";
|
|
97825
|
-
this.id = `ToolProvider:${tool.toolId}`;
|
|
97826
|
-
this._toolId = tool.toolId;
|
|
97827
|
-
this._toolIcon = tool.iconSpec;
|
|
97828
|
-
this._toolLabel = tool.description;
|
|
97829
|
-
}
|
|
97830
|
-
provideToolbarButtonItems(_stageId, stageUsage, toolbarUsage, toolbarOrientation) {
|
|
97831
|
-
const toolbarItem = _itwin_appui_abstract__WEBPACK_IMPORTED_MODULE_1__.ToolbarItemUtilities.createActionButton(this._toolId, 0, this._toolIcon, this._toolLabel, async () => {
|
|
97832
|
-
await _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.tools.run(this._toolId);
|
|
97833
|
-
});
|
|
97834
|
-
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
|
|
97835
|
-
}
|
|
97836
|
-
}
|
|
97837
|
-
/** @alpha */
|
|
97838
|
-
class ExtensionImpl {
|
|
97839
|
-
constructor(_id) {
|
|
97840
|
-
this._id = _id;
|
|
97841
|
-
}
|
|
97842
|
-
async registerTool(tool, onRegistered) {
|
|
97843
|
-
try {
|
|
97844
|
-
_IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.tools.register(tool);
|
|
97845
|
-
_itwin_appui_abstract__WEBPACK_IMPORTED_MODULE_1__.UiItemsManager.register(new ToolProvider(tool)); // eslint-disable-line deprecation/deprecation
|
|
97846
|
-
onRegistered?.();
|
|
97847
|
-
}
|
|
97848
|
-
catch (e) {
|
|
97849
|
-
console.log(`Error registering tool: ${e}`); // eslint-disable-line
|
|
97850
|
-
}
|
|
97851
|
-
}
|
|
97852
|
-
}
|
|
97853
|
-
|
|
97854
|
-
|
|
97855
98023
|
/***/ }),
|
|
97856
98024
|
|
|
97857
98025
|
/***/ "../../core/frontend/lib/esm/extension/ExtensionRuntime.js":
|
|
@@ -97862,10 +98030,9 @@ class ExtensionImpl {
|
|
|
97862
98030
|
|
|
97863
98031
|
"use strict";
|
|
97864
98032
|
__webpack_require__.r(__webpack_exports__);
|
|
97865
|
-
/* harmony import */ var
|
|
97866
|
-
/* harmony import */ var
|
|
97867
|
-
/* harmony import */ var
|
|
97868
|
-
/* harmony import */ var _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @itwin/core-common */ "../../core/common/lib/esm/core-common.js");
|
|
98033
|
+
/* harmony import */ var _ExtensionHost__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ExtensionHost */ "../../core/frontend/lib/esm/extension/ExtensionHost.js");
|
|
98034
|
+
/* harmony import */ var _core_frontend__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core-frontend */ "../../core/frontend/lib/esm/core-frontend.js");
|
|
98035
|
+
/* harmony import */ var _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @itwin/core-common */ "../../core/common/lib/esm/core-common.js");
|
|
97869
98036
|
/*---------------------------------------------------------------------------------------------
|
|
97870
98037
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
97871
98038
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -97877,7 +98044,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
97877
98044
|
/* eslint-disable @itwin/no-internal-barrel-imports */
|
|
97878
98045
|
/* eslint-disable sort-imports */
|
|
97879
98046
|
|
|
97880
|
-
|
|
97881
98047
|
const globalSymbol = Symbol.for("itwin.core.frontend.globals");
|
|
97882
98048
|
if (globalThis[globalSymbol])
|
|
97883
98049
|
throw new Error("Multiple @itwin/core-frontend imports detected!");
|
|
@@ -97885,265 +98051,264 @@ if (globalThis[globalSymbol])
|
|
|
97885
98051
|
|
|
97886
98052
|
|
|
97887
98053
|
const extensionExports = {
|
|
97888
|
-
ACSDisplayOptions:
|
|
97889
|
-
ACSType:
|
|
97890
|
-
AccuDrawHintBuilder:
|
|
97891
|
-
AccuSnap:
|
|
97892
|
-
ActivityMessageDetails:
|
|
97893
|
-
ActivityMessageEndReason:
|
|
97894
|
-
AuxCoordSystem2dState:
|
|
97895
|
-
AuxCoordSystem3dState:
|
|
97896
|
-
AuxCoordSystemSpatialState:
|
|
97897
|
-
AuxCoordSystemState:
|
|
97898
|
-
BackgroundFill:
|
|
97899
|
-
BackgroundMapType:
|
|
97900
|
-
BatchType:
|
|
97901
|
-
BeButton:
|
|
97902
|
-
BeButtonEvent:
|
|
97903
|
-
BeButtonState:
|
|
97904
|
-
BeModifierKeys:
|
|
97905
|
-
BeTouchEvent:
|
|
97906
|
-
BeWheelEvent:
|
|
97907
|
-
BingElevationProvider:
|
|
97908
|
-
BingLocationProvider:
|
|
97909
|
-
BisCodeSpec:
|
|
97910
|
-
BriefcaseIdValue:
|
|
97911
|
-
CategorySelectorState:
|
|
97912
|
-
ChangeFlags:
|
|
97913
|
-
ChangeOpCode:
|
|
97914
|
-
ChangedValueState:
|
|
97915
|
-
ChangesetType:
|
|
97916
|
-
ClipEventType:
|
|
97917
|
-
Cluster:
|
|
97918
|
-
ColorByName:
|
|
97919
|
-
ColorDef:
|
|
97920
|
-
CommonLoggerCategory:
|
|
97921
|
-
ContextRealityModelState:
|
|
97922
|
-
ContextRotationId:
|
|
97923
|
-
CoordSource:
|
|
97924
|
-
CoordSystem:
|
|
97925
|
-
CoordinateLockOverrides:
|
|
97926
|
-
DecorateContext:
|
|
97927
|
-
Decorations:
|
|
97928
|
-
DisclosedTileTreeSet:
|
|
97929
|
-
DisplayStyle2dState:
|
|
97930
|
-
DisplayStyle3dState:
|
|
97931
|
-
DisplayStyleState:
|
|
97932
|
-
DrawingModelState:
|
|
97933
|
-
DrawingViewState:
|
|
97934
|
-
ECSqlSystemProperty:
|
|
97935
|
-
ECSqlValueType:
|
|
97936
|
-
EditManipulator:
|
|
97937
|
-
ElementGeometryOpcode:
|
|
97938
|
-
ElementLocateManager:
|
|
97939
|
-
ElementPicker:
|
|
97940
|
-
ElementState:
|
|
97941
|
-
EmphasizeElements:
|
|
97942
|
-
EntityState:
|
|
97943
|
-
EventController:
|
|
97944
|
-
EventHandled:
|
|
97945
|
-
FeatureOverrideType:
|
|
97946
|
-
FeatureSymbology:
|
|
97947
|
-
FillDisplay:
|
|
97948
|
-
FillFlags:
|
|
97949
|
-
FlashMode:
|
|
97950
|
-
FlashSettings:
|
|
97951
|
-
FontType:
|
|
97952
|
-
FrontendLoggerCategory:
|
|
97953
|
-
FrustumAnimator:
|
|
97954
|
-
FrustumPlanes:
|
|
97955
|
-
GeoCoordStatus:
|
|
97956
|
-
GeometricModel2dState:
|
|
97957
|
-
GeometricModel3dState:
|
|
97958
|
-
GeometricModelState:
|
|
97959
|
-
GeometryClass:
|
|
97960
|
-
GeometryStreamFlags:
|
|
97961
|
-
GeometrySummaryVerbosity:
|
|
97962
|
-
GlobeAnimator:
|
|
97963
|
-
GlobeMode:
|
|
97964
|
-
GraphicBranch:
|
|
97965
|
-
GraphicBuilder:
|
|
97966
|
-
GraphicType:
|
|
97967
|
-
GridOrientationType:
|
|
97968
|
-
HSVConstants:
|
|
97969
|
-
HiliteSet:
|
|
97970
|
-
HitDetail:
|
|
97971
|
-
HitDetailType:
|
|
97972
|
-
HitGeomType:
|
|
97973
|
-
HitList:
|
|
97974
|
-
HitParentGeomType:
|
|
97975
|
-
HitPriority:
|
|
97976
|
-
HitSource:
|
|
97977
|
-
IModelConnection:
|
|
97978
|
-
IconSprites:
|
|
97979
|
-
ImageBufferFormat:
|
|
97980
|
-
ImageSourceFormat:
|
|
97981
|
-
InputCollector:
|
|
97982
|
-
InputSource:
|
|
97983
|
-
InteractiveTool:
|
|
97984
|
-
IntersectDetail:
|
|
97985
|
-
KeyinParseError:
|
|
97986
|
-
LinePixels:
|
|
97987
|
-
LocateAction:
|
|
97988
|
-
LocateFilterStatus:
|
|
97989
|
-
LocateOptions:
|
|
97990
|
-
LocateResponse:
|
|
97991
|
-
ManipulatorToolEvent:
|
|
97992
|
-
MarginPercent:
|
|
97993
|
-
Marker:
|
|
97994
|
-
MarkerSet:
|
|
97995
|
-
MassPropertiesOperation:
|
|
97996
|
-
MessageBoxIconType:
|
|
97997
|
-
MessageBoxType:
|
|
97998
|
-
MessageBoxValue:
|
|
97999
|
-
ModelSelectorState:
|
|
98000
|
-
ModelState:
|
|
98001
|
-
MonochromeMode:
|
|
98002
|
-
NotificationHandler:
|
|
98003
|
-
NotificationManager:
|
|
98004
|
-
NotifyMessageDetails:
|
|
98005
|
-
Npc:
|
|
98006
|
-
OffScreenViewport:
|
|
98007
|
-
OrthographicViewState:
|
|
98008
|
-
OutputMessageAlert:
|
|
98009
|
-
OutputMessagePriority:
|
|
98010
|
-
OutputMessageType:
|
|
98011
|
-
ParseAndRunResult:
|
|
98012
|
-
PerModelCategoryVisibility:
|
|
98013
|
-
PhysicalModelState:
|
|
98014
|
-
Pixel:
|
|
98015
|
-
PlanarClipMaskMode:
|
|
98016
|
-
PlanarClipMaskPriority:
|
|
98017
|
-
PrimitiveTool:
|
|
98018
|
-
QParams2d:
|
|
98019
|
-
QParams3d:
|
|
98020
|
-
QPoint2d:
|
|
98021
|
-
QPoint2dBuffer:
|
|
98022
|
-
QPoint2dBufferBuilder:
|
|
98023
|
-
QPoint2dList:
|
|
98024
|
-
QPoint3d:
|
|
98025
|
-
QPoint3dBuffer:
|
|
98026
|
-
QPoint3dBufferBuilder:
|
|
98027
|
-
QPoint3dList:
|
|
98028
|
-
Quantization:
|
|
98029
|
-
QueryRowFormat:
|
|
98030
|
-
Rank:
|
|
98031
|
-
RenderClipVolume:
|
|
98032
|
-
RenderContext:
|
|
98033
|
-
RenderGraphic:
|
|
98034
|
-
RenderGraphicOwner:
|
|
98035
|
-
RenderMode:
|
|
98036
|
-
RenderSystem:
|
|
98037
|
-
Scene:
|
|
98038
|
-
ScreenViewport:
|
|
98039
|
-
SectionDrawingModelState:
|
|
98040
|
-
SectionType:
|
|
98041
|
-
SelectionMethod:
|
|
98042
|
-
SelectionMode:
|
|
98043
|
-
SelectionProcessing:
|
|
98044
|
-
SelectionSet:
|
|
98045
|
-
SelectionSetEventType:
|
|
98046
|
-
SheetModelState:
|
|
98047
|
-
SheetViewState:
|
|
98048
|
-
SkyBoxImageType:
|
|
98049
|
-
SnapDetail:
|
|
98050
|
-
SnapHeat:
|
|
98051
|
-
SnapMode:
|
|
98052
|
-
SnapStatus:
|
|
98053
|
-
SpatialClassifierInsideDisplay:
|
|
98054
|
-
SpatialClassifierOutsideDisplay:
|
|
98055
|
-
SpatialLocationModelState:
|
|
98056
|
-
SpatialModelState:
|
|
98057
|
-
SpatialViewState:
|
|
98058
|
-
Sprite:
|
|
98059
|
-
SpriteLocation:
|
|
98060
|
-
StandardViewId:
|
|
98061
|
-
StartOrResume:
|
|
98062
|
-
SyncMode:
|
|
98063
|
-
TentativePoint:
|
|
98064
|
-
TerrainHeightOriginMode:
|
|
98065
|
-
TextureMapUnits:
|
|
98066
|
-
ThematicDisplayMode:
|
|
98067
|
-
ThematicGradientColorScheme:
|
|
98068
|
-
ThematicGradientMode:
|
|
98069
|
-
Tile:
|
|
98070
|
-
TileAdmin:
|
|
98071
|
-
TileBoundingBoxes:
|
|
98072
|
-
TileDrawArgs:
|
|
98073
|
-
TileGraphicType:
|
|
98074
|
-
TileLoadPriority:
|
|
98075
|
-
TileLoadStatus:
|
|
98076
|
-
TileRequest:
|
|
98077
|
-
TileRequestChannel:
|
|
98078
|
-
TileRequestChannelStatistics:
|
|
98079
|
-
TileRequestChannels:
|
|
98080
|
-
TileTree:
|
|
98081
|
-
TileTreeLoadStatus:
|
|
98082
|
-
TileTreeReference:
|
|
98083
|
-
TileUsageMarker:
|
|
98084
|
-
TileVisibility:
|
|
98085
|
-
Tiles:
|
|
98086
|
-
Tool:
|
|
98087
|
-
ToolAdmin:
|
|
98088
|
-
ToolAssistance:
|
|
98089
|
-
ToolAssistanceImage:
|
|
98090
|
-
ToolAssistanceInputMethod:
|
|
98091
|
-
ToolSettings:
|
|
98092
|
-
TwoWayViewportFrustumSync:
|
|
98093
|
-
TwoWayViewportSync:
|
|
98094
|
-
TxnAction:
|
|
98095
|
-
TypeOfChange:
|
|
98096
|
-
UniformType:
|
|
98097
|
-
VaryingType:
|
|
98098
|
-
ViewClipClearTool:
|
|
98099
|
-
ViewClipDecoration:
|
|
98100
|
-
ViewClipDecorationProvider:
|
|
98101
|
-
ViewClipTool:
|
|
98102
|
-
ViewCreator2d:
|
|
98103
|
-
ViewCreator3d:
|
|
98104
|
-
ViewManager:
|
|
98105
|
-
ViewManip:
|
|
98106
|
-
ViewPose:
|
|
98107
|
-
ViewPose2d:
|
|
98108
|
-
ViewPose3d:
|
|
98109
|
-
ViewRect:
|
|
98110
|
-
ViewState:
|
|
98111
|
-
ViewState2d:
|
|
98112
|
-
ViewState3d:
|
|
98113
|
-
ViewStatus:
|
|
98114
|
-
ViewTool:
|
|
98115
|
-
ViewingSpace:
|
|
98116
|
-
Viewport:
|
|
98117
|
-
canvasToImageBuffer:
|
|
98118
|
-
canvasToResizedCanvasWithBars:
|
|
98119
|
-
connectViewportFrusta:
|
|
98120
|
-
connectViewportViews:
|
|
98121
|
-
connectViewports:
|
|
98122
|
-
extractImageSourceDimensions:
|
|
98123
|
-
getCompressedJpegFromCanvas:
|
|
98124
|
-
getImageSourceFormatForMimeType:
|
|
98125
|
-
getImageSourceMimeType:
|
|
98126
|
-
imageBufferToBase64EncodedPng:
|
|
98127
|
-
imageBufferToCanvas:
|
|
98128
|
-
imageBufferToPngDataUrl:
|
|
98129
|
-
imageElementFromImageSource:
|
|
98130
|
-
imageElementFromUrl:
|
|
98131
|
-
queryTerrainElevationOffset:
|
|
98132
|
-
readElementGraphics:
|
|
98133
|
-
readGltfGraphics:
|
|
98134
|
-
synchronizeViewportFrusta:
|
|
98135
|
-
synchronizeViewportViews:
|
|
98054
|
+
ACSDisplayOptions: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ACSDisplayOptions,
|
|
98055
|
+
ACSType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ACSType,
|
|
98056
|
+
AccuDrawHintBuilder: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.AccuDrawHintBuilder,
|
|
98057
|
+
AccuSnap: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.AccuSnap,
|
|
98058
|
+
ActivityMessageDetails: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ActivityMessageDetails,
|
|
98059
|
+
ActivityMessageEndReason: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ActivityMessageEndReason,
|
|
98060
|
+
AuxCoordSystem2dState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.AuxCoordSystem2dState,
|
|
98061
|
+
AuxCoordSystem3dState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.AuxCoordSystem3dState,
|
|
98062
|
+
AuxCoordSystemSpatialState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.AuxCoordSystemSpatialState,
|
|
98063
|
+
AuxCoordSystemState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.AuxCoordSystemState,
|
|
98064
|
+
BackgroundFill: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.BackgroundFill,
|
|
98065
|
+
BackgroundMapType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.BackgroundMapType,
|
|
98066
|
+
BatchType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.BatchType,
|
|
98067
|
+
BeButton: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BeButton,
|
|
98068
|
+
BeButtonEvent: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BeButtonEvent,
|
|
98069
|
+
BeButtonState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BeButtonState,
|
|
98070
|
+
BeModifierKeys: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BeModifierKeys,
|
|
98071
|
+
BeTouchEvent: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BeTouchEvent,
|
|
98072
|
+
BeWheelEvent: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BeWheelEvent,
|
|
98073
|
+
BingElevationProvider: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BingElevationProvider,
|
|
98074
|
+
BingLocationProvider: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BingLocationProvider,
|
|
98075
|
+
BisCodeSpec: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.BisCodeSpec,
|
|
98076
|
+
BriefcaseIdValue: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.BriefcaseIdValue,
|
|
98077
|
+
CategorySelectorState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.CategorySelectorState,
|
|
98078
|
+
ChangeFlags: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ChangeFlags,
|
|
98079
|
+
ChangeOpCode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ChangeOpCode,
|
|
98080
|
+
ChangedValueState: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ChangedValueState,
|
|
98081
|
+
ChangesetType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ChangesetType,
|
|
98082
|
+
ClipEventType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ClipEventType,
|
|
98083
|
+
Cluster: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Cluster,
|
|
98084
|
+
ColorByName: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorByName,
|
|
98085
|
+
ColorDef: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef,
|
|
98086
|
+
CommonLoggerCategory: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.CommonLoggerCategory,
|
|
98087
|
+
ContextRealityModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ContextRealityModelState,
|
|
98088
|
+
ContextRotationId: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ContextRotationId,
|
|
98089
|
+
CoordSource: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.CoordSource,
|
|
98090
|
+
CoordSystem: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.CoordSystem,
|
|
98091
|
+
CoordinateLockOverrides: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.CoordinateLockOverrides,
|
|
98092
|
+
DecorateContext: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.DecorateContext,
|
|
98093
|
+
Decorations: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Decorations,
|
|
98094
|
+
DisclosedTileTreeSet: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.DisclosedTileTreeSet,
|
|
98095
|
+
DisplayStyle2dState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.DisplayStyle2dState,
|
|
98096
|
+
DisplayStyle3dState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.DisplayStyle3dState,
|
|
98097
|
+
DisplayStyleState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.DisplayStyleState,
|
|
98098
|
+
DrawingModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.DrawingModelState,
|
|
98099
|
+
DrawingViewState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.DrawingViewState,
|
|
98100
|
+
ECSqlSystemProperty: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ECSqlSystemProperty,
|
|
98101
|
+
ECSqlValueType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ECSqlValueType,
|
|
98102
|
+
EditManipulator: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.EditManipulator,
|
|
98103
|
+
ElementGeometryOpcode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ElementGeometryOpcode,
|
|
98104
|
+
ElementLocateManager: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ElementLocateManager,
|
|
98105
|
+
ElementPicker: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ElementPicker,
|
|
98106
|
+
ElementState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ElementState,
|
|
98107
|
+
EmphasizeElements: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.EmphasizeElements,
|
|
98108
|
+
EntityState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.EntityState,
|
|
98109
|
+
EventController: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.EventController,
|
|
98110
|
+
EventHandled: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.EventHandled,
|
|
98111
|
+
FeatureOverrideType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FeatureOverrideType,
|
|
98112
|
+
FeatureSymbology: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.FeatureSymbology,
|
|
98113
|
+
FillDisplay: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FillDisplay,
|
|
98114
|
+
FillFlags: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FillFlags,
|
|
98115
|
+
FlashMode: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.FlashMode,
|
|
98116
|
+
FlashSettings: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.FlashSettings,
|
|
98117
|
+
FontType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FontType,
|
|
98118
|
+
FrontendLoggerCategory: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.FrontendLoggerCategory,
|
|
98119
|
+
FrustumAnimator: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.FrustumAnimator,
|
|
98120
|
+
FrustumPlanes: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FrustumPlanes,
|
|
98121
|
+
GeoCoordStatus: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.GeoCoordStatus,
|
|
98122
|
+
GeometricModel2dState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.GeometricModel2dState,
|
|
98123
|
+
GeometricModel3dState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.GeometricModel3dState,
|
|
98124
|
+
GeometricModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.GeometricModelState,
|
|
98125
|
+
GeometryClass: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.GeometryClass,
|
|
98126
|
+
GeometryStreamFlags: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.GeometryStreamFlags,
|
|
98127
|
+
GeometrySummaryVerbosity: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.GeometrySummaryVerbosity,
|
|
98128
|
+
GlobeAnimator: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.GlobeAnimator,
|
|
98129
|
+
GlobeMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.GlobeMode,
|
|
98130
|
+
GraphicBranch: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.GraphicBranch,
|
|
98131
|
+
GraphicBuilder: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.GraphicBuilder,
|
|
98132
|
+
GraphicType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.GraphicType,
|
|
98133
|
+
GridOrientationType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.GridOrientationType,
|
|
98134
|
+
HSVConstants: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.HSVConstants,
|
|
98135
|
+
HiliteSet: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HiliteSet,
|
|
98136
|
+
HitDetail: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HitDetail,
|
|
98137
|
+
HitDetailType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HitDetailType,
|
|
98138
|
+
HitGeomType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HitGeomType,
|
|
98139
|
+
HitList: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HitList,
|
|
98140
|
+
HitParentGeomType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HitParentGeomType,
|
|
98141
|
+
HitPriority: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HitPriority,
|
|
98142
|
+
HitSource: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HitSource,
|
|
98143
|
+
IModelConnection: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.IModelConnection,
|
|
98144
|
+
IconSprites: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.IconSprites,
|
|
98145
|
+
ImageBufferFormat: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ImageBufferFormat,
|
|
98146
|
+
ImageSourceFormat: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ImageSourceFormat,
|
|
98147
|
+
InputCollector: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.InputCollector,
|
|
98148
|
+
InputSource: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.InputSource,
|
|
98149
|
+
InteractiveTool: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.InteractiveTool,
|
|
98150
|
+
IntersectDetail: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.IntersectDetail,
|
|
98151
|
+
KeyinParseError: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.KeyinParseError,
|
|
98152
|
+
LinePixels: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.LinePixels,
|
|
98153
|
+
LocateAction: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.LocateAction,
|
|
98154
|
+
LocateFilterStatus: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.LocateFilterStatus,
|
|
98155
|
+
LocateOptions: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.LocateOptions,
|
|
98156
|
+
LocateResponse: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.LocateResponse,
|
|
98157
|
+
ManipulatorToolEvent: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ManipulatorToolEvent,
|
|
98158
|
+
MarginPercent: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.MarginPercent,
|
|
98159
|
+
Marker: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Marker,
|
|
98160
|
+
MarkerSet: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.MarkerSet,
|
|
98161
|
+
MassPropertiesOperation: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation,
|
|
98162
|
+
MessageBoxIconType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.MessageBoxIconType,
|
|
98163
|
+
MessageBoxType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.MessageBoxType,
|
|
98164
|
+
MessageBoxValue: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.MessageBoxValue,
|
|
98165
|
+
ModelSelectorState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ModelSelectorState,
|
|
98166
|
+
ModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ModelState,
|
|
98167
|
+
MonochromeMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MonochromeMode,
|
|
98168
|
+
NotificationHandler: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.NotificationHandler,
|
|
98169
|
+
NotificationManager: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.NotificationManager,
|
|
98170
|
+
NotifyMessageDetails: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.NotifyMessageDetails,
|
|
98171
|
+
Npc: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.Npc,
|
|
98172
|
+
OffScreenViewport: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.OffScreenViewport,
|
|
98173
|
+
OrthographicViewState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.OrthographicViewState,
|
|
98174
|
+
OutputMessageAlert: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.OutputMessageAlert,
|
|
98175
|
+
OutputMessagePriority: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.OutputMessagePriority,
|
|
98176
|
+
OutputMessageType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.OutputMessageType,
|
|
98177
|
+
ParseAndRunResult: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ParseAndRunResult,
|
|
98178
|
+
PerModelCategoryVisibility: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.PerModelCategoryVisibility,
|
|
98179
|
+
PhysicalModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.PhysicalModelState,
|
|
98180
|
+
Pixel: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Pixel,
|
|
98181
|
+
PlanarClipMaskMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.PlanarClipMaskMode,
|
|
98182
|
+
PlanarClipMaskPriority: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.PlanarClipMaskPriority,
|
|
98183
|
+
PrimitiveTool: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.PrimitiveTool,
|
|
98184
|
+
QParams2d: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QParams2d,
|
|
98185
|
+
QParams3d: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QParams3d,
|
|
98186
|
+
QPoint2d: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint2d,
|
|
98187
|
+
QPoint2dBuffer: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint2dBuffer,
|
|
98188
|
+
QPoint2dBufferBuilder: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint2dBufferBuilder,
|
|
98189
|
+
QPoint2dList: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint2dList,
|
|
98190
|
+
QPoint3d: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint3d,
|
|
98191
|
+
QPoint3dBuffer: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint3dBuffer,
|
|
98192
|
+
QPoint3dBufferBuilder: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint3dBufferBuilder,
|
|
98193
|
+
QPoint3dList: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint3dList,
|
|
98194
|
+
Quantization: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.Quantization,
|
|
98195
|
+
QueryRowFormat: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QueryRowFormat,
|
|
98196
|
+
Rank: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.Rank,
|
|
98197
|
+
RenderClipVolume: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.RenderClipVolume,
|
|
98198
|
+
RenderContext: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.RenderContext,
|
|
98199
|
+
RenderGraphic: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.RenderGraphic,
|
|
98200
|
+
RenderGraphicOwner: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.RenderGraphicOwner,
|
|
98201
|
+
RenderMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.RenderMode,
|
|
98202
|
+
RenderSystem: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.RenderSystem,
|
|
98203
|
+
Scene: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Scene,
|
|
98204
|
+
ScreenViewport: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ScreenViewport,
|
|
98205
|
+
SectionDrawingModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SectionDrawingModelState,
|
|
98206
|
+
SectionType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.SectionType,
|
|
98207
|
+
SelectionMethod: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SelectionMethod,
|
|
98208
|
+
SelectionMode: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SelectionMode,
|
|
98209
|
+
SelectionProcessing: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SelectionProcessing,
|
|
98210
|
+
SelectionSet: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SelectionSet,
|
|
98211
|
+
SelectionSetEventType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SelectionSetEventType,
|
|
98212
|
+
SheetModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SheetModelState,
|
|
98213
|
+
SheetViewState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SheetViewState,
|
|
98214
|
+
SkyBoxImageType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.SkyBoxImageType,
|
|
98215
|
+
SnapDetail: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SnapDetail,
|
|
98216
|
+
SnapHeat: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SnapHeat,
|
|
98217
|
+
SnapMode: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SnapMode,
|
|
98218
|
+
SnapStatus: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SnapStatus,
|
|
98219
|
+
SpatialClassifierInsideDisplay: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.SpatialClassifierInsideDisplay,
|
|
98220
|
+
SpatialClassifierOutsideDisplay: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.SpatialClassifierOutsideDisplay,
|
|
98221
|
+
SpatialLocationModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SpatialLocationModelState,
|
|
98222
|
+
SpatialModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SpatialModelState,
|
|
98223
|
+
SpatialViewState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SpatialViewState,
|
|
98224
|
+
Sprite: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Sprite,
|
|
98225
|
+
SpriteLocation: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SpriteLocation,
|
|
98226
|
+
StandardViewId: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.StandardViewId,
|
|
98227
|
+
StartOrResume: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.StartOrResume,
|
|
98228
|
+
SyncMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.SyncMode,
|
|
98229
|
+
TentativePoint: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TentativePoint,
|
|
98230
|
+
TerrainHeightOriginMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TerrainHeightOriginMode,
|
|
98231
|
+
TextureMapUnits: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TextureMapUnits,
|
|
98232
|
+
ThematicDisplayMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ThematicDisplayMode,
|
|
98233
|
+
ThematicGradientColorScheme: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ThematicGradientColorScheme,
|
|
98234
|
+
ThematicGradientMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ThematicGradientMode,
|
|
98235
|
+
Tile: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Tile,
|
|
98236
|
+
TileAdmin: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileAdmin,
|
|
98237
|
+
TileBoundingBoxes: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileBoundingBoxes,
|
|
98238
|
+
TileDrawArgs: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileDrawArgs,
|
|
98239
|
+
TileGraphicType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileGraphicType,
|
|
98240
|
+
TileLoadPriority: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileLoadPriority,
|
|
98241
|
+
TileLoadStatus: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileLoadStatus,
|
|
98242
|
+
TileRequest: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileRequest,
|
|
98243
|
+
TileRequestChannel: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileRequestChannel,
|
|
98244
|
+
TileRequestChannelStatistics: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileRequestChannelStatistics,
|
|
98245
|
+
TileRequestChannels: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileRequestChannels,
|
|
98246
|
+
TileTree: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileTree,
|
|
98247
|
+
TileTreeLoadStatus: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileTreeLoadStatus,
|
|
98248
|
+
TileTreeReference: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileTreeReference,
|
|
98249
|
+
TileUsageMarker: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileUsageMarker,
|
|
98250
|
+
TileVisibility: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileVisibility,
|
|
98251
|
+
Tiles: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Tiles,
|
|
98252
|
+
Tool: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Tool,
|
|
98253
|
+
ToolAdmin: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ToolAdmin,
|
|
98254
|
+
ToolAssistance: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ToolAssistance,
|
|
98255
|
+
ToolAssistanceImage: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ToolAssistanceImage,
|
|
98256
|
+
ToolAssistanceInputMethod: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ToolAssistanceInputMethod,
|
|
98257
|
+
ToolSettings: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ToolSettings,
|
|
98258
|
+
TwoWayViewportFrustumSync: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TwoWayViewportFrustumSync,
|
|
98259
|
+
TwoWayViewportSync: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TwoWayViewportSync,
|
|
98260
|
+
TxnAction: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TxnAction,
|
|
98261
|
+
TypeOfChange: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TypeOfChange,
|
|
98262
|
+
UniformType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.UniformType,
|
|
98263
|
+
VaryingType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.VaryingType,
|
|
98264
|
+
ViewClipClearTool: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewClipClearTool,
|
|
98265
|
+
ViewClipDecoration: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewClipDecoration,
|
|
98266
|
+
ViewClipDecorationProvider: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewClipDecorationProvider,
|
|
98267
|
+
ViewClipTool: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewClipTool,
|
|
98268
|
+
ViewCreator2d: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewCreator2d,
|
|
98269
|
+
ViewCreator3d: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewCreator3d,
|
|
98270
|
+
ViewManager: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewManager,
|
|
98271
|
+
ViewManip: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewManip,
|
|
98272
|
+
ViewPose: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewPose,
|
|
98273
|
+
ViewPose2d: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewPose2d,
|
|
98274
|
+
ViewPose3d: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewPose3d,
|
|
98275
|
+
ViewRect: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewRect,
|
|
98276
|
+
ViewState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewState,
|
|
98277
|
+
ViewState2d: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewState2d,
|
|
98278
|
+
ViewState3d: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewState3d,
|
|
98279
|
+
ViewStatus: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewStatus,
|
|
98280
|
+
ViewTool: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewTool,
|
|
98281
|
+
ViewingSpace: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewingSpace,
|
|
98282
|
+
Viewport: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Viewport,
|
|
98283
|
+
canvasToImageBuffer: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.canvasToImageBuffer,
|
|
98284
|
+
canvasToResizedCanvasWithBars: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.canvasToResizedCanvasWithBars,
|
|
98285
|
+
connectViewportFrusta: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.connectViewportFrusta,
|
|
98286
|
+
connectViewportViews: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.connectViewportViews,
|
|
98287
|
+
connectViewports: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.connectViewports,
|
|
98288
|
+
extractImageSourceDimensions: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.extractImageSourceDimensions,
|
|
98289
|
+
getCompressedJpegFromCanvas: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.getCompressedJpegFromCanvas,
|
|
98290
|
+
getImageSourceFormatForMimeType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.getImageSourceFormatForMimeType,
|
|
98291
|
+
getImageSourceMimeType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.getImageSourceMimeType,
|
|
98292
|
+
imageBufferToBase64EncodedPng: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.imageBufferToBase64EncodedPng,
|
|
98293
|
+
imageBufferToCanvas: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.imageBufferToCanvas,
|
|
98294
|
+
imageBufferToPngDataUrl: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.imageBufferToPngDataUrl,
|
|
98295
|
+
imageElementFromImageSource: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.imageElementFromImageSource,
|
|
98296
|
+
imageElementFromUrl: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.imageElementFromUrl,
|
|
98297
|
+
queryTerrainElevationOffset: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.queryTerrainElevationOffset,
|
|
98298
|
+
readElementGraphics: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.readElementGraphics,
|
|
98299
|
+
readGltfGraphics: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.readGltfGraphics,
|
|
98300
|
+
synchronizeViewportFrusta: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.synchronizeViewportFrusta,
|
|
98301
|
+
synchronizeViewportViews: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.synchronizeViewportViews,
|
|
98136
98302
|
};
|
|
98137
98303
|
// END GENERATED CODE
|
|
98138
|
-
const getExtensionApi = (
|
|
98304
|
+
const getExtensionApi = (_id) => {
|
|
98139
98305
|
return {
|
|
98140
98306
|
exports: {
|
|
98141
98307
|
// exceptions
|
|
98142
|
-
ExtensionHost:
|
|
98308
|
+
ExtensionHost: _ExtensionHost__WEBPACK_IMPORTED_MODULE_0__.ExtensionHost,
|
|
98143
98309
|
// automated
|
|
98144
98310
|
...extensionExports,
|
|
98145
98311
|
},
|
|
98146
|
-
api: new _ExtensionImpl__WEBPACK_IMPORTED_MODULE_0__.ExtensionImpl(id),
|
|
98147
98312
|
};
|
|
98148
98313
|
};
|
|
98149
98314
|
globalThis[globalSymbol] = {
|
|
@@ -143744,7 +143909,7 @@ class RealityTileTree extends _internal__WEBPACK_IMPORTED_MODULE_6__.TileTree {
|
|
|
143744
143909
|
const reprojectChildren = new Array();
|
|
143745
143910
|
for (const child of children) {
|
|
143746
143911
|
const realityChild = child;
|
|
143747
|
-
const childRange =
|
|
143912
|
+
const childRange = rootToDb.multiplyRange(realityChild.contentRange, scratchRange);
|
|
143748
143913
|
const dbCenter = childRange.center;
|
|
143749
143914
|
const ecefCenter = dbToEcef.multiplyPoint3d(dbCenter);
|
|
143750
143915
|
const dbPoints = [dbCenter, dbCenter.plusXYZ(1), dbCenter.plusXYZ(0, 1), dbCenter.plusXYZ(0, 0, 1)];
|
|
@@ -144796,8 +144961,9 @@ class TileAdmin {
|
|
|
144796
144961
|
// start dynamically loading default implementation and save the promise to avoid duplicate instances
|
|
144797
144962
|
this._tileStoragePromise = (async () => {
|
|
144798
144963
|
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));
|
|
144964
|
+
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));
|
|
144799
144965
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
144800
|
-
const { AzureFrontendStorage, FrontendBlockBlobClientWrapperFactory } =
|
|
144966
|
+
const { AzureFrontendStorage, FrontendBlockBlobClientWrapperFactory } = objectStorage.default ?? objectStorage;
|
|
144801
144967
|
const azureStorage = new AzureFrontendStorage(new FrontendBlockBlobClientWrapperFactory());
|
|
144802
144968
|
this._tileStorage = new _internal__WEBPACK_IMPORTED_MODULE_6__.TileStorage(azureStorage);
|
|
144803
144969
|
return this._tileStorage;
|
|
@@ -150355,18 +150521,25 @@ class ImageryMapLayerTreeSupplier {
|
|
|
150355
150521
|
* This allows the ID to serve as a lookup key to find the corresponding TileTree.
|
|
150356
150522
|
*/
|
|
150357
150523
|
compareTileTreeIds(lhs, rhs) {
|
|
150358
|
-
let cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareStrings)(lhs.settings.
|
|
150524
|
+
let cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareStrings)(lhs.settings.formatId, rhs.settings.formatId);
|
|
150359
150525
|
if (0 === cmp) {
|
|
150360
|
-
cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.
|
|
150526
|
+
cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareStrings)(lhs.settings.url, rhs.settings.url);
|
|
150361
150527
|
if (0 === cmp) {
|
|
150362
|
-
cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareStringsOrUndefined)(lhs.settings.
|
|
150528
|
+
cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareStringsOrUndefined)(lhs.settings.userName, rhs.settings.userName);
|
|
150363
150529
|
if (0 === cmp) {
|
|
150364
|
-
cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.
|
|
150530
|
+
cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareStringsOrUndefined)(lhs.settings.password, rhs.settings.password);
|
|
150365
150531
|
if (0 === cmp) {
|
|
150366
|
-
cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.
|
|
150532
|
+
cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareBooleans)(lhs.settings.transparentBackground, rhs.settings.transparentBackground);
|
|
150367
150533
|
if (0 === cmp) {
|
|
150368
|
-
|
|
150369
|
-
|
|
150534
|
+
cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareNumbers)(lhs.settings.subLayers.length, rhs.settings.subLayers.length);
|
|
150535
|
+
if (0 === cmp) {
|
|
150536
|
+
for (let i = 0; i < lhs.settings.subLayers.length && 0 === cmp; i++) {
|
|
150537
|
+
cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareStrings)(lhs.settings.subLayers[i].name, rhs.settings.subLayers[i].name);
|
|
150538
|
+
if (0 === cmp) {
|
|
150539
|
+
cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareBooleans)(lhs.settings.subLayers[i].visible, rhs.settings.subLayers[i].visible);
|
|
150540
|
+
}
|
|
150541
|
+
}
|
|
150542
|
+
}
|
|
150370
150543
|
}
|
|
150371
150544
|
}
|
|
150372
150545
|
}
|
|
@@ -152084,7 +152257,8 @@ class MapTile extends _internal__WEBPACK_IMPORTED_MODULE_7__.RealityTile {
|
|
|
152084
152257
|
}
|
|
152085
152258
|
/** @internal */
|
|
152086
152259
|
minimumVisibleFactor() {
|
|
152087
|
-
|
|
152260
|
+
// if minimumVisibleFactor is more than 0, it stops parents from loading when children are not ready, to fill in gaps
|
|
152261
|
+
return 0.0;
|
|
152088
152262
|
}
|
|
152089
152263
|
/** @internal */
|
|
152090
152264
|
getDrapeTextures() {
|
|
@@ -169368,17 +169542,20 @@ class Geometry {
|
|
|
169368
169542
|
if (a2b2 > 0.0) {
|
|
169369
169543
|
const a2b2r = 1.0 / a2b2; // 1/(a^2+b^2)
|
|
169370
169544
|
const d2a2b2 = d2 * a2b2r; // d^2/(a^2+b^2)
|
|
169371
|
-
const
|
|
169372
|
-
if (
|
|
169545
|
+
const criterion = 1.0 - d2a2b2; // 1 - d^2/(a^2+b^2);
|
|
169546
|
+
if (criterion < -Geometry.smallMetricDistanceSquared) // nSolution = 0
|
|
169373
169547
|
return result;
|
|
169374
169548
|
const da2b2 = -constCoff * a2b2r; // -d/(a^2+b^2)
|
|
169549
|
+
// (c0,s0) is the closest approach of the line to the circle center (origin)
|
|
169375
169550
|
const c0 = da2b2 * cosCoff; // -ad/(a^2+b^2)
|
|
169376
169551
|
const s0 = da2b2 * sinCoff; // -bd/(a^2+b^2)
|
|
169377
|
-
if (
|
|
169552
|
+
if (criterion <= 0.0) { // nSolution = 1
|
|
169553
|
+
// We observed criterion = -2.22e-16 in a rotated tangent system, therefore for negative criteria near
|
|
169554
|
+
// zero, return the near-tangency; for tiny positive criteria, fall through to return both solutions.
|
|
169378
169555
|
result = [_geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_1__.Vector2d.create(c0, s0)];
|
|
169379
169556
|
}
|
|
169380
|
-
else
|
|
169381
|
-
const s = Math.sqrt(
|
|
169557
|
+
else { // nSolution = 2
|
|
169558
|
+
const s = Math.sqrt(criterion * a2b2r); // sqrt(a^2+b^2-d^2)) / (a^2+b^2)
|
|
169382
169559
|
result = [
|
|
169383
169560
|
_geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_1__.Vector2d.create(c0 - s * sinCoff, s0 + s * cosCoff),
|
|
169384
169561
|
_geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_1__.Vector2d.create(c0 + s * sinCoff, s0 - s * cosCoff),
|
|
@@ -184322,12 +184499,12 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
184322
184499
|
extendB, reversed) {
|
|
184323
184500
|
const inverseA = matrixA.inverse();
|
|
184324
184501
|
if (inverseA) {
|
|
184325
|
-
const localB = inverseA.multiplyMatrixMatrix(matrixB);
|
|
184502
|
+
const localB = inverseA.multiplyMatrixMatrix(matrixB); // localB->localA transform
|
|
184326
184503
|
const ellipseRadians = [];
|
|
184327
184504
|
const circleRadians = [];
|
|
184328
184505
|
_numerics_Polynomials__WEBPACK_IMPORTED_MODULE_6__.TrigPolynomial.solveUnitCircleHomogeneousEllipseIntersection(localB.coffs[2], localB.coffs[5], localB.coffs[8], // center xyw
|
|
184329
|
-
localB.coffs[0], localB.coffs[3], localB.coffs[6], //
|
|
184330
|
-
localB.coffs[1], localB.coffs[4], localB.coffs[7], //
|
|
184506
|
+
localB.coffs[0], localB.coffs[3], localB.coffs[6], // vector0 xyw
|
|
184507
|
+
localB.coffs[1], localB.coffs[4], localB.coffs[7], // vector90 xyw
|
|
184331
184508
|
ellipseRadians, circleRadians);
|
|
184332
184509
|
for (let i = 0; i < ellipseRadians.length; i++) {
|
|
184333
184510
|
const fractionA = cpA.sweep.radiansToSignedPeriodicFraction(circleRadians[i]);
|
|
@@ -186274,7 +186451,7 @@ function optionalVectorUpdate(source, result) {
|
|
|
186274
186451
|
return undefined;
|
|
186275
186452
|
}
|
|
186276
186453
|
/**
|
|
186277
|
-
* CurveLocationDetail carries point and
|
|
186454
|
+
* CurveLocationDetail carries point and parameter data about a point evaluated on a curve.
|
|
186278
186455
|
* * These are returned by a variety of queries.
|
|
186279
186456
|
* * Particular contents can vary among the queries.
|
|
186280
186457
|
* @public
|
|
@@ -190518,13 +190695,16 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
190518
190695
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
190519
190696
|
/* harmony export */ "PlanarSubdivision": () => (/* binding */ PlanarSubdivision)
|
|
190520
190697
|
/* harmony export */ });
|
|
190521
|
-
/* harmony import */ var
|
|
190522
|
-
/* harmony import */ var
|
|
190523
|
-
/* harmony import */ var
|
|
190524
|
-
/* harmony import */ var
|
|
190525
|
-
/* harmony import */ var
|
|
190526
|
-
/* harmony import */ var
|
|
190527
|
-
/* harmony import */ var
|
|
190698
|
+
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
190699
|
+
/* harmony import */ var _topology_Graph__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../topology/Graph */ "../../core/geometry/lib/esm/topology/Graph.js");
|
|
190700
|
+
/* harmony import */ var _topology_HalfEdgeGraphSearch__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../topology/HalfEdgeGraphSearch */ "../../core/geometry/lib/esm/topology/HalfEdgeGraphSearch.js");
|
|
190701
|
+
/* harmony import */ var _topology_Merging__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../topology/Merging */ "../../core/geometry/lib/esm/topology/Merging.js");
|
|
190702
|
+
/* harmony import */ var _Arc3d__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Arc3d */ "../../core/geometry/lib/esm/curve/Arc3d.js");
|
|
190703
|
+
/* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
190704
|
+
/* harmony import */ var _LineSegment3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
|
|
190705
|
+
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
190706
|
+
/* harmony import */ var _Loop__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Loop */ "../../core/geometry/lib/esm/curve/Loop.js");
|
|
190707
|
+
/* harmony import */ var _RegionOps__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../RegionOps */ "../../core/geometry/lib/esm/curve/RegionOps.js");
|
|
190528
190708
|
/*---------------------------------------------------------------------------------------------
|
|
190529
190709
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
190530
190710
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -190536,13 +190716,16 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
190536
190716
|
|
|
190537
190717
|
|
|
190538
190718
|
|
|
190719
|
+
|
|
190720
|
+
|
|
190721
|
+
|
|
190539
190722
|
/** @packageDocumentation
|
|
190540
190723
|
* @module Curve
|
|
190541
190724
|
*/
|
|
190542
190725
|
class MapCurvePrimitiveToCurveLocationDetailPairArray {
|
|
190543
190726
|
constructor() {
|
|
190544
190727
|
this.primitiveToPair = new Map();
|
|
190545
|
-
// index assigned to this primitive for
|
|
190728
|
+
// index assigned to this primitive (for debugging)
|
|
190546
190729
|
this.primitiveToIndex = new Map();
|
|
190547
190730
|
this._numIndexedPrimitives = 0;
|
|
190548
190731
|
}
|
|
@@ -190574,54 +190757,63 @@ class MapCurvePrimitiveToCurveLocationDetailPairArray {
|
|
|
190574
190757
|
if (primitiveB)
|
|
190575
190758
|
this.insertPrimitiveToPair(primitiveB, pair);
|
|
190576
190759
|
}
|
|
190760
|
+
/** Split closed missing primitives in half and add new intersection pairs */
|
|
190761
|
+
splitAndAppendMissingClosedPrimitives(primitives, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.smallMetricDistance) {
|
|
190762
|
+
for (const p of primitives) {
|
|
190763
|
+
let closedCurveSplitCandidate = false;
|
|
190764
|
+
if (p instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_1__.Arc3d)
|
|
190765
|
+
closedCurveSplitCandidate = p.sweep.isFullCircle;
|
|
190766
|
+
else if (!(p instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_2__.LineSegment3d) && !(p instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_3__.LineString3d))
|
|
190767
|
+
closedCurveSplitCandidate = p.startPoint().isAlmostEqualXY(p.endPoint(), tolerance);
|
|
190768
|
+
if (closedCurveSplitCandidate && !this.primitiveToPair.has(p)) {
|
|
190769
|
+
const p0 = p.clonePartialCurve(0.0, 0.5);
|
|
190770
|
+
const p1 = p.clonePartialCurve(0.5, 1.0);
|
|
190771
|
+
if (p0 && p1) {
|
|
190772
|
+
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)));
|
|
190773
|
+
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)));
|
|
190774
|
+
}
|
|
190775
|
+
}
|
|
190776
|
+
}
|
|
190777
|
+
}
|
|
190577
190778
|
}
|
|
190578
|
-
/*
|
|
190579
|
-
function getDetailString(detail: CurveLocationDetail | undefined): string {
|
|
190580
|
-
if (!detail)
|
|
190581
|
-
return "{}";
|
|
190582
|
-
else return tagString("primitive", this.primitiveToIndex.get(detail.curve!)) + tagString("f0", detail.fraction) + tagString("f1", detail.fraction1);
|
|
190583
|
-
}
|
|
190584
|
-
}
|
|
190585
|
-
function tagString(name: string, value: number | undefined): string {
|
|
190586
|
-
if (value !== undefined)
|
|
190587
|
-
return "(" + name + " " + value + ")";
|
|
190588
|
-
return "";
|
|
190589
|
-
}
|
|
190590
|
-
*/
|
|
190591
190779
|
/**
|
|
190592
190780
|
* @internal
|
|
190593
190781
|
*/
|
|
190594
190782
|
class PlanarSubdivision {
|
|
190595
|
-
/** Create a graph from an array of curves, and an array of the curves' precomputed intersections. */
|
|
190596
|
-
static assembleHalfEdgeGraph(primitives, allPairs) {
|
|
190783
|
+
/** Create a graph from an array of curves, and an array of the curves' precomputed intersections. Z-coordinates are ignored. */
|
|
190784
|
+
static assembleHalfEdgeGraph(primitives, allPairs, mergeTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.smallMetricDistance) {
|
|
190597
190785
|
const detailByPrimitive = new MapCurvePrimitiveToCurveLocationDetailPairArray(); // map from key CurvePrimitive to CurveLocationDetailPair.
|
|
190598
|
-
for (const
|
|
190599
|
-
detailByPrimitive.assignPrimitiveIndex(p);
|
|
190600
|
-
for (const pair of allPairs) {
|
|
190786
|
+
for (const pair of allPairs)
|
|
190601
190787
|
detailByPrimitive.insertPair(pair);
|
|
190602
|
-
|
|
190603
|
-
|
|
190788
|
+
if (primitives.length > detailByPrimitive.primitiveToPair.size)
|
|
190789
|
+
detailByPrimitive.splitAndAppendMissingClosedPrimitives(primitives, mergeTolerance); // otherwise, these single-primitive loops are missing from the graph
|
|
190790
|
+
const graph = new _topology_Graph__WEBPACK_IMPORTED_MODULE_5__.HalfEdgeGraph();
|
|
190604
190791
|
for (const entry of detailByPrimitive.primitiveToPair.entries()) {
|
|
190605
190792
|
const p = entry[0];
|
|
190606
|
-
|
|
190793
|
+
// convert each interval intersection into two isolated intersections
|
|
190794
|
+
const details = entry[1].reduce((accumulator, detailPair) => {
|
|
190795
|
+
if (!detailPair.detailA.hasFraction1)
|
|
190796
|
+
return [...accumulator, detailPair];
|
|
190797
|
+
const detail = getDetailOnCurve(detailPair, p);
|
|
190798
|
+
const detail0 = _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetail.createCurveFractionPoint(p, detail.fraction, detail.point);
|
|
190799
|
+
const detail1 = _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetail.createCurveFractionPoint(p, detail.fraction1, detail.point1);
|
|
190800
|
+
return [...accumulator, _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetailPair.createCapture(detail0, detail0), _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetailPair.createCapture(detail1, detail1)];
|
|
190801
|
+
}, []);
|
|
190802
|
+
// lexical sort on p intersection fraction
|
|
190607
190803
|
details.sort((pairA, pairB) => {
|
|
190608
190804
|
const fractionA = getFractionOnCurve(pairA, p);
|
|
190609
190805
|
const fractionB = getFractionOnCurve(pairB, p);
|
|
190610
|
-
if (fractionA === undefined || fractionB === undefined)
|
|
190611
|
-
return -1000.0;
|
|
190612
190806
|
return fractionA - fractionB;
|
|
190613
190807
|
});
|
|
190614
|
-
let
|
|
190615
|
-
|
|
190616
|
-
|
|
190617
|
-
|
|
190618
|
-
|
|
190619
|
-
this.addHalfEdge(graph, p, detail0.point, detail0.fraction, detail1.point, detail1.fraction);
|
|
190620
|
-
detail0 = detail1;
|
|
190808
|
+
let last = { point: p.startPoint(), fraction: 0.0 };
|
|
190809
|
+
for (const detailPair of details) {
|
|
190810
|
+
const detail = getDetailOnCurve(detailPair, p);
|
|
190811
|
+
const detailFraction = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.restrictToInterval(detail.fraction, 0, 1); // truncate fraction, but don't snap point; clustering happens later
|
|
190812
|
+
last = this.addHalfEdge(graph, p, last.point, last.fraction, detail.point, detailFraction, mergeTolerance);
|
|
190621
190813
|
}
|
|
190622
|
-
this.addHalfEdge(graph, p,
|
|
190814
|
+
this.addHalfEdge(graph, p, last.point, last.fraction, p.endPoint(), 1.0, mergeTolerance);
|
|
190623
190815
|
}
|
|
190624
|
-
|
|
190816
|
+
_topology_Merging__WEBPACK_IMPORTED_MODULE_6__.HalfEdgeGraphMerge.clusterAndMergeXYTheta(graph, (he) => he.sortAngle);
|
|
190625
190817
|
return graph;
|
|
190626
190818
|
}
|
|
190627
190819
|
/**
|
|
@@ -190633,19 +190825,21 @@ class PlanarSubdivision {
|
|
|
190633
190825
|
* @param point0 start point
|
|
190634
190826
|
* @param fraction1 end fraction
|
|
190635
190827
|
* @param point1 end point
|
|
190636
|
-
|
|
190637
|
-
|
|
190638
|
-
|
|
190639
|
-
|
|
190640
|
-
|
|
190641
|
-
|
|
190642
|
-
|
|
190643
|
-
|
|
190644
|
-
|
|
190645
|
-
|
|
190646
|
-
|
|
190647
|
-
|
|
190648
|
-
|
|
190828
|
+
* @returns end point and fraction, or start point and fraction if no action
|
|
190829
|
+
*/
|
|
190830
|
+
static addHalfEdge(graph, p, point0, fraction0, point1, fraction1, mergeTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.smallMetricDistance) {
|
|
190831
|
+
if (point0.isAlmostEqualXY(point1, mergeTolerance))
|
|
190832
|
+
return { point: point0, fraction: fraction0 };
|
|
190833
|
+
const halfEdge = graph.createEdgeXYAndZ(point0, 0, point1, 0);
|
|
190834
|
+
const detail01 = _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetail.createCurveEvaluatedFractionFraction(p, fraction0, fraction1);
|
|
190835
|
+
const mate = halfEdge.edgeMate;
|
|
190836
|
+
halfEdge.edgeTag = detail01;
|
|
190837
|
+
halfEdge.sortData = 1.0;
|
|
190838
|
+
mate.edgeTag = detail01;
|
|
190839
|
+
mate.sortData = -1.0;
|
|
190840
|
+
halfEdge.sortAngle = sortAngle(p, fraction0, false);
|
|
190841
|
+
mate.sortAngle = sortAngle(p, fraction1, true);
|
|
190842
|
+
return { point: point1, fraction: fraction1 };
|
|
190649
190843
|
}
|
|
190650
190844
|
/**
|
|
190651
190845
|
* Based on computed (and toleranced) area, push the loop (pointer) onto the appropriate array of positive, negative, or sliver loops.
|
|
@@ -190654,7 +190848,7 @@ class PlanarSubdivision {
|
|
|
190654
190848
|
* @returns the area (forced to zero if within tolerance)
|
|
190655
190849
|
*/
|
|
190656
190850
|
static collectSignedLoop(loop, outLoops, zeroAreaTolerance = 1.0e-10, isSliverFace) {
|
|
190657
|
-
let area = isSliverFace ? 0.0 :
|
|
190851
|
+
let area = isSliverFace ? 0.0 : _RegionOps__WEBPACK_IMPORTED_MODULE_7__.RegionOps.computeXYArea(loop);
|
|
190658
190852
|
if (area === undefined)
|
|
190659
190853
|
area = 0;
|
|
190660
190854
|
if (Math.abs(area) < zeroAreaTolerance)
|
|
@@ -190670,7 +190864,7 @@ class PlanarSubdivision {
|
|
|
190670
190864
|
}
|
|
190671
190865
|
static createLoopInFace(faceSeed, announce) {
|
|
190672
190866
|
let he = faceSeed;
|
|
190673
|
-
const loop =
|
|
190867
|
+
const loop = _Loop__WEBPACK_IMPORTED_MODULE_8__.Loop.create();
|
|
190674
190868
|
do {
|
|
190675
190869
|
const detail = he.edgeTag;
|
|
190676
190870
|
if (detail) {
|
|
@@ -190694,9 +190888,9 @@ class PlanarSubdivision {
|
|
|
190694
190888
|
const faceHasTwoEdges = (he.faceSuccessor.faceSuccessor === he);
|
|
190695
190889
|
let faceIsBanana = false;
|
|
190696
190890
|
if (faceHasTwoEdges) {
|
|
190697
|
-
const c0 =
|
|
190698
|
-
const c1 =
|
|
190699
|
-
if (!
|
|
190891
|
+
const c0 = _topology_Merging__WEBPACK_IMPORTED_MODULE_6__.HalfEdgeGraphMerge.curvatureSortKey(he);
|
|
190892
|
+
const c1 = _topology_Merging__WEBPACK_IMPORTED_MODULE_6__.HalfEdgeGraphMerge.curvatureSortKey(he.faceSuccessor.edgeMate);
|
|
190893
|
+
if (!_Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isSameCoordinate(c0, c1)) // default tol!
|
|
190700
190894
|
faceIsBanana = true; // heuristic: we could also check end curvatures, and/or higher derivatives...
|
|
190701
190895
|
}
|
|
190702
190896
|
return faceHasTwoEdges && !faceIsBanana;
|
|
@@ -190714,7 +190908,7 @@ class PlanarSubdivision {
|
|
|
190714
190908
|
return e1;
|
|
190715
190909
|
}
|
|
190716
190910
|
static collectSignedLoopSetsInHalfEdgeGraph(graph, zeroAreaTolerance = 1.0e-10) {
|
|
190717
|
-
const q =
|
|
190911
|
+
const q = _topology_HalfEdgeGraphSearch__WEBPACK_IMPORTED_MODULE_9__.HalfEdgeGraphSearch.collectConnectedComponentsWithExteriorParityMasks(graph, undefined);
|
|
190718
190912
|
const result = [];
|
|
190719
190913
|
const edgeMap = new Map();
|
|
190720
190914
|
for (const faceSeeds of q) {
|
|
@@ -190729,10 +190923,10 @@ class PlanarSubdivision {
|
|
|
190729
190923
|
const e = edgeMap.get(mate);
|
|
190730
190924
|
if (e === undefined) {
|
|
190731
190925
|
// Record this as loopA,edgeA of a shared edge to be completed later from the other side of the edge
|
|
190732
|
-
const e1 = new
|
|
190926
|
+
const e1 = new _Loop__WEBPACK_IMPORTED_MODULE_8__.LoopCurveLoopCurve(loopC, curveC, undefined, undefined);
|
|
190733
190927
|
edgeMap.set(he, e1);
|
|
190734
190928
|
}
|
|
190735
|
-
else if (e instanceof
|
|
190929
|
+
else if (e instanceof _Loop__WEBPACK_IMPORTED_MODULE_8__.LoopCurveLoopCurve) {
|
|
190736
190930
|
e.setB(loopC, curveC);
|
|
190737
190931
|
edges.push(e);
|
|
190738
190932
|
edgeMap.delete(mate);
|
|
@@ -191580,27 +191774,27 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
191580
191774
|
/* harmony import */ var _geometry4d_MomentData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../geometry4d/MomentData */ "../../core/geometry/lib/esm/geometry4d/MomentData.js");
|
|
191581
191775
|
/* harmony import */ var _polyface_PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../polyface/PolyfaceBuilder */ "../../core/geometry/lib/esm/polyface/PolyfaceBuilder.js");
|
|
191582
191776
|
/* harmony import */ var _topology_Graph__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../topology/Graph */ "../../core/geometry/lib/esm/topology/Graph.js");
|
|
191777
|
+
/* harmony import */ var _topology_HalfEdgeGraphSearch__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../topology/HalfEdgeGraphSearch */ "../../core/geometry/lib/esm/topology/HalfEdgeGraphSearch.js");
|
|
191583
191778
|
/* harmony import */ var _topology_Triangulation__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../topology/Triangulation */ "../../core/geometry/lib/esm/topology/Triangulation.js");
|
|
191584
191779
|
/* harmony import */ var _ChainCollectorContext__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./ChainCollectorContext */ "../../core/geometry/lib/esm/curve/ChainCollectorContext.js");
|
|
191585
191780
|
/* harmony import */ var _CurveCollection__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./CurveCollection */ "../../core/geometry/lib/esm/curve/CurveCollection.js");
|
|
191586
191781
|
/* harmony import */ var _CurveCurve__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./CurveCurve */ "../../core/geometry/lib/esm/curve/CurveCurve.js");
|
|
191587
191782
|
/* harmony import */ var _CurvePrimitive__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
191588
191783
|
/* harmony import */ var _CurveWireMomentsXYZ__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./CurveWireMomentsXYZ */ "../../core/geometry/lib/esm/curve/CurveWireMomentsXYZ.js");
|
|
191784
|
+
/* harmony import */ var _GeometryQuery__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./GeometryQuery */ "../../core/geometry/lib/esm/curve/GeometryQuery.js");
|
|
191785
|
+
/* harmony import */ var _internalContexts_MultiChainCollector__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./internalContexts/MultiChainCollector */ "../../core/geometry/lib/esm/curve/internalContexts/MultiChainCollector.js");
|
|
191589
191786
|
/* harmony import */ var _internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
191590
191787
|
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
191591
191788
|
/* harmony import */ var _Loop__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Loop */ "../../core/geometry/lib/esm/curve/Loop.js");
|
|
191789
|
+
/* harmony import */ var _ParityRegion__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ParityRegion */ "../../core/geometry/lib/esm/curve/ParityRegion.js");
|
|
191592
191790
|
/* harmony import */ var _Path__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./Path */ "../../core/geometry/lib/esm/curve/Path.js");
|
|
191593
191791
|
/* harmony import */ var _Query_ConsolidateAdjacentPrimitivesContext__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./Query/ConsolidateAdjacentPrimitivesContext */ "../../core/geometry/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js");
|
|
191594
191792
|
/* harmony import */ var _Query_CurveSplitContext__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./Query/CurveSplitContext */ "../../core/geometry/lib/esm/curve/Query/CurveSplitContext.js");
|
|
191595
191793
|
/* harmony import */ var _Query_InOutTests__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Query/InOutTests */ "../../core/geometry/lib/esm/curve/Query/InOutTests.js");
|
|
191596
191794
|
/* harmony import */ var _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Query/PlanarSubdivision */ "../../core/geometry/lib/esm/curve/Query/PlanarSubdivision.js");
|
|
191597
191795
|
/* harmony import */ var _RegionMomentsXY__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./RegionMomentsXY */ "../../core/geometry/lib/esm/curve/RegionMomentsXY.js");
|
|
191598
|
-
/* harmony import */ var _internalContexts_MultiChainCollector__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./internalContexts/MultiChainCollector */ "../../core/geometry/lib/esm/curve/internalContexts/MultiChainCollector.js");
|
|
191599
|
-
/* harmony import */ var _GeometryQuery__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./GeometryQuery */ "../../core/geometry/lib/esm/curve/GeometryQuery.js");
|
|
191600
191796
|
/* harmony import */ var _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./RegionOpsClassificationSweeps */ "../../core/geometry/lib/esm/curve/RegionOpsClassificationSweeps.js");
|
|
191601
191797
|
/* harmony import */ var _UnionRegion__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./UnionRegion */ "../../core/geometry/lib/esm/curve/UnionRegion.js");
|
|
191602
|
-
/* harmony import */ var _topology_HalfEdgeGraphSearch__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../topology/HalfEdgeGraphSearch */ "../../core/geometry/lib/esm/topology/HalfEdgeGraphSearch.js");
|
|
191603
|
-
/* harmony import */ var _ParityRegion__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ParityRegion */ "../../core/geometry/lib/esm/curve/ParityRegion.js");
|
|
191604
191798
|
/*---------------------------------------------------------------------------------------------
|
|
191605
191799
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
191606
191800
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -191839,7 +192033,7 @@ class RegionOps {
|
|
|
191839
192033
|
* @param loopsB second set of loops
|
|
191840
192034
|
* @param operation indicates Union, Intersection, Parity, AMinusB, or BMinusA
|
|
191841
192035
|
* @param mergeTolerance absolute distance tolerance for merging loops
|
|
191842
|
-
* @returns a region resulting from merging input loops and the boolean operation. May contain bridge edges
|
|
192036
|
+
* @returns a region resulting from merging input loops and the boolean operation. May contain bridge edges added to connect interior loops to exterior loops.
|
|
191843
192037
|
*/
|
|
191844
192038
|
static regionBooleanXY(loopsA, loopsB, operation, mergeTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance) {
|
|
191845
192039
|
const result = _UnionRegion__WEBPACK_IMPORTED_MODULE_11__.UnionRegion.create();
|
|
@@ -191847,7 +192041,7 @@ class RegionOps {
|
|
|
191847
192041
|
context.addMembers(loopsA, loopsB);
|
|
191848
192042
|
context.annotateAndMergeCurvesInGraph(mergeTolerance);
|
|
191849
192043
|
const range = context.groupA.range().union(context.groupB.range());
|
|
191850
|
-
const areaTol = this.computeXYAreaTolerance(range);
|
|
192044
|
+
const areaTol = this.computeXYAreaTolerance(range, mergeTolerance);
|
|
191851
192045
|
context.runClassificationSweep(operation, (_graph, face, faceType, area) => {
|
|
191852
192046
|
// ignore danglers and null faces, but not 2-edge "banana" faces with nonzero area
|
|
191853
192047
|
if (face.countEdgesAroundFace() < 2)
|
|
@@ -192165,23 +192359,24 @@ class RegionOps {
|
|
|
192165
192359
|
}
|
|
192166
192360
|
/**
|
|
192167
192361
|
* Find all areas bounded by the unstructured, possibly intersecting curves.
|
|
192168
|
-
* *
|
|
192169
|
-
*
|
|
192170
|
-
* [[regionBooleanXY]]
|
|
192362
|
+
* * A common use case of this method is to assemble the bounding "exterior" loop (or loops) containing the input curves.
|
|
192363
|
+
* * This method does not add bridge edges to connect outer loops to inner loops. Each disconnected loop, regardless
|
|
192364
|
+
* of its containment, is returned as its own SignedLoops object. Pre-process with [[regionBooleanXY]] to add bridge edges so that
|
|
192365
|
+
* [[constructAllXYRegionLoops]] will return outer and inner loops in the same SignedLoops object.
|
|
192171
192366
|
* @param curvesAndRegions Any collection of curves. Each Loop/ParityRegion/UnionRegion contributes its curve primitives.
|
|
192367
|
+
* @param tolerance optional distance tolerance for coincidence
|
|
192172
192368
|
* @returns array of [[SignedLoops]], each entry of which describes the faces in a single connected component:
|
|
192173
192369
|
* * `positiveAreaLoops` contains "interior" loops, _including holes in ParityRegion input_. These loops have positive area and counterclockwise orientation.
|
|
192174
192370
|
* * `negativeAreaLoops` contains (probably just one) "exterior" loop which is ordered clockwise.
|
|
192175
192371
|
* * `slivers` contains sliver loops that have zero area, such as appear between coincident curves.
|
|
192176
192372
|
* * `edges` contains a [[LoopCurveLoopCurve]] object for each component edge, collecting both loops adjacent to the edge and a constituent curve in each.
|
|
192177
192373
|
*/
|
|
192178
|
-
static constructAllXYRegionLoops(curvesAndRegions) {
|
|
192179
|
-
const
|
|
192180
|
-
const
|
|
192181
|
-
const
|
|
192182
|
-
const
|
|
192183
|
-
const
|
|
192184
|
-
const graph = _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_12__.PlanarSubdivision.assembleHalfEdgeGraph(primitivesB, intersections);
|
|
192374
|
+
static constructAllXYRegionLoops(curvesAndRegions, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance) {
|
|
192375
|
+
const primitives = RegionOps.collectCurvePrimitives(curvesAndRegions, undefined, true, true);
|
|
192376
|
+
const range = this.curveArrayRange(primitives);
|
|
192377
|
+
const areaTol = this.computeXYAreaTolerance(range, tolerance);
|
|
192378
|
+
const intersections = _CurveCurve__WEBPACK_IMPORTED_MODULE_30__.CurveCurve.allIntersectionsAmongPrimitivesXY(primitives, tolerance);
|
|
192379
|
+
const graph = _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_12__.PlanarSubdivision.assembleHalfEdgeGraph(primitives, intersections, tolerance);
|
|
192185
192380
|
return _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_12__.PlanarSubdivision.collectSignedLoopSetsInHalfEdgeGraph(graph, areaTol);
|
|
192186
192381
|
}
|
|
192187
192382
|
/**
|
|
@@ -192797,7 +192992,7 @@ class RegionBooleanContext {
|
|
|
192797
192992
|
}
|
|
192798
192993
|
// const range = RegionOps.curveArrayRange(allPrimitives);
|
|
192799
192994
|
const intersections = _CurveCurve__WEBPACK_IMPORTED_MODULE_15__.CurveCurve.allIntersectionsAmongPrimitivesXY(allPrimitives, mergeTolerance);
|
|
192800
|
-
const graph = _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_16__.PlanarSubdivision.assembleHalfEdgeGraph(allPrimitives, intersections);
|
|
192995
|
+
const graph = _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_16__.PlanarSubdivision.assembleHalfEdgeGraph(allPrimitives, intersections, mergeTolerance);
|
|
192801
192996
|
this.graph = graph;
|
|
192802
192997
|
this.faceAreaFunction = faceAreaFromCurvedEdgeData;
|
|
192803
192998
|
}
|
|
@@ -199896,15 +200091,20 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
199896
200091
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
199897
200092
|
/* harmony export */ "CoincidentGeometryQuery": () => (/* binding */ CoincidentGeometryQuery)
|
|
199898
200093
|
/* harmony export */ });
|
|
199899
|
-
/* harmony import */ var
|
|
199900
|
-
/* harmony import */ var
|
|
199901
|
-
/* harmony import */ var
|
|
199902
|
-
/* harmony import */ var
|
|
199903
|
-
/* harmony import */ var
|
|
200094
|
+
/* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
|
|
200095
|
+
/* harmony import */ var _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../curve/CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
200096
|
+
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
200097
|
+
/* harmony import */ var _AngleSweep__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./AngleSweep */ "../../core/geometry/lib/esm/geometry3d/AngleSweep.js");
|
|
200098
|
+
/* harmony import */ var _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
200099
|
+
/* harmony import */ var _Segment1d__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Segment1d */ "../../core/geometry/lib/esm/geometry3d/Segment1d.js");
|
|
199904
200100
|
/*---------------------------------------------------------------------------------------------
|
|
199905
200101
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
199906
200102
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
199907
200103
|
*--------------------------------------------------------------------------------------------*/
|
|
200104
|
+
/** @packageDocumentation
|
|
200105
|
+
* @module CartesianGeometry
|
|
200106
|
+
*/
|
|
200107
|
+
|
|
199908
200108
|
|
|
199909
200109
|
|
|
199910
200110
|
|
|
@@ -199920,10 +200120,10 @@ class CoincidentGeometryQuery {
|
|
|
199920
200120
|
get tolerance() {
|
|
199921
200121
|
return this._tolerance;
|
|
199922
200122
|
}
|
|
199923
|
-
constructor(tolerance =
|
|
200123
|
+
constructor(tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.smallMetricDistance) {
|
|
199924
200124
|
this._tolerance = tolerance;
|
|
199925
200125
|
}
|
|
199926
|
-
static create(tolerance =
|
|
200126
|
+
static create(tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.smallMetricDistance) {
|
|
199927
200127
|
return new CoincidentGeometryQuery(tolerance);
|
|
199928
200128
|
}
|
|
199929
200129
|
/**
|
|
@@ -199946,12 +200146,12 @@ class CoincidentGeometryQuery {
|
|
|
199946
200146
|
*
|
|
199947
200147
|
*/
|
|
199948
200148
|
projectPointToSegmentXY(spacePoint, pointA, pointB) {
|
|
199949
|
-
this._vectorU =
|
|
199950
|
-
this._vectorV =
|
|
200149
|
+
this._vectorU = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.createStartEnd(pointA, pointB, this._vectorU);
|
|
200150
|
+
this._vectorV = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.createStartEnd(pointA, spacePoint, this._vectorV);
|
|
199951
200151
|
const uDotU = this._vectorU.dotProductXY(this._vectorU);
|
|
199952
200152
|
const uDotV = this._vectorU.dotProductXY(this._vectorV);
|
|
199953
|
-
const fraction =
|
|
199954
|
-
return
|
|
200153
|
+
const fraction = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.safeDivideFraction(uDotV, uDotU, 0.0);
|
|
200154
|
+
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetail.createCurveFractionPoint(undefined, fraction, pointA.interpolate(fraction, pointB));
|
|
199955
200155
|
}
|
|
199956
200156
|
/**
|
|
199957
200157
|
* * project `pointA0` and `pointA1` onto the segment with `pointB0` and `pointB1`
|
|
@@ -199962,84 +200162,82 @@ class CoincidentGeometryQuery {
|
|
|
199962
200162
|
* @param pointB1 end point of segment B
|
|
199963
200163
|
*/
|
|
199964
200164
|
coincidentSegmentRangeXY(pointA0, pointA1, pointB0, pointB1, restrictToBounds = true) {
|
|
199965
|
-
const
|
|
199966
|
-
if (pointA0.distanceXY(
|
|
200165
|
+
const detailA0OnB = this.projectPointToSegmentXY(pointA0, pointB0, pointB1);
|
|
200166
|
+
if (pointA0.distanceXY(detailA0OnB.point) > this._tolerance)
|
|
199967
200167
|
return undefined;
|
|
199968
200168
|
const detailA1OnB = this.projectPointToSegmentXY(pointA1, pointB0, pointB1);
|
|
199969
200169
|
if (pointA1.distanceXY(detailA1OnB.point) > this._tolerance)
|
|
199970
200170
|
return undefined;
|
|
199971
|
-
const
|
|
199972
|
-
if (pointB0.distanceXY(
|
|
200171
|
+
const detailB0OnA = this.projectPointToSegmentXY(pointB0, pointA0, pointA1);
|
|
200172
|
+
if (pointB0.distanceXY(detailB0OnA.point) > this._tolerance)
|
|
199973
200173
|
return undefined;
|
|
199974
200174
|
const detailB1OnA = this.projectPointToSegmentXY(pointB1, pointA0, pointA1);
|
|
199975
200175
|
if (pointB1.distanceXY(detailB1OnA.point) > this._tolerance)
|
|
199976
200176
|
return undefined;
|
|
199977
|
-
|
|
199978
|
-
|
|
199979
|
-
|
|
199980
|
-
|
|
200177
|
+
detailA0OnB.fraction1 = detailA1OnB.fraction;
|
|
200178
|
+
detailA0OnB.point1 = detailA1OnB.point; // capture -- detailA1OnB is not reused.
|
|
200179
|
+
detailB0OnA.fraction1 = detailB1OnA.fraction;
|
|
200180
|
+
detailB0OnA.point1 = detailB1OnA.point;
|
|
199981
200181
|
if (!restrictToBounds)
|
|
199982
|
-
return
|
|
199983
|
-
const segment =
|
|
200182
|
+
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
|
|
200183
|
+
const segment = _Segment1d__WEBPACK_IMPORTED_MODULE_4__.Segment1d.create(detailB0OnA.fraction, detailB0OnA.fraction1);
|
|
199984
200184
|
if (segment.clampDirectedTo01()) {
|
|
199985
|
-
segment.reverseIfNeededForDeltaSign(1.0);
|
|
199986
200185
|
const f0 = segment.x0;
|
|
199987
200186
|
const f1 = segment.x1;
|
|
199988
|
-
const h0 =
|
|
199989
|
-
const h1 =
|
|
200187
|
+
const h0 = detailB0OnA.inverseInterpolateFraction(f0);
|
|
200188
|
+
const h1 = detailB0OnA.inverseInterpolateFraction(f1);
|
|
199990
200189
|
// recompute fractions and points..
|
|
199991
|
-
CoincidentGeometryQuery.assignDetailInterpolatedFractionsAndPoints(
|
|
199992
|
-
CoincidentGeometryQuery.assignDetailInterpolatedFractionsAndPoints(
|
|
199993
|
-
return
|
|
200190
|
+
CoincidentGeometryQuery.assignDetailInterpolatedFractionsAndPoints(detailB0OnA, f0, f1, pointA0, pointA1, f0 > f1);
|
|
200191
|
+
CoincidentGeometryQuery.assignDetailInterpolatedFractionsAndPoints(detailA0OnB, h0, h1, pointB0, pointB1, h0 > h1);
|
|
200192
|
+
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
|
|
199994
200193
|
}
|
|
199995
200194
|
else {
|
|
199996
200195
|
if (segment.signedDelta() < 0.0) {
|
|
199997
|
-
if (
|
|
199998
|
-
|
|
199999
|
-
|
|
200000
|
-
return
|
|
200196
|
+
if (detailB0OnA.point.isAlmostEqual(pointA0, this.tolerance)) {
|
|
200197
|
+
detailB0OnA.collapseToStart();
|
|
200198
|
+
detailA0OnB.collapseToStart();
|
|
200199
|
+
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
|
|
200001
200200
|
}
|
|
200002
|
-
if (
|
|
200003
|
-
|
|
200004
|
-
|
|
200005
|
-
return
|
|
200201
|
+
if (detailB0OnA.point1.isAlmostEqual(pointA1, this.tolerance)) {
|
|
200202
|
+
detailB0OnA.collapseToEnd();
|
|
200203
|
+
detailA0OnB.collapseToEnd();
|
|
200204
|
+
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
|
|
200006
200205
|
}
|
|
200007
200206
|
}
|
|
200008
200207
|
else {
|
|
200009
|
-
if (
|
|
200010
|
-
|
|
200011
|
-
|
|
200012
|
-
return
|
|
200208
|
+
if (detailB0OnA.point.isAlmostEqual(pointA1, this.tolerance)) {
|
|
200209
|
+
detailB0OnA.collapseToStart();
|
|
200210
|
+
detailA0OnB.collapseToEnd();
|
|
200211
|
+
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
|
|
200013
200212
|
}
|
|
200014
|
-
if (
|
|
200015
|
-
|
|
200016
|
-
|
|
200017
|
-
return
|
|
200213
|
+
if (detailB0OnA.point1.isAlmostEqual(pointA0, this.tolerance)) {
|
|
200214
|
+
detailB0OnA.collapseToEnd();
|
|
200215
|
+
detailA0OnB.collapseToStart();
|
|
200216
|
+
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
|
|
200018
200217
|
}
|
|
200019
200218
|
}
|
|
200020
200219
|
}
|
|
200021
200220
|
return undefined;
|
|
200022
200221
|
}
|
|
200023
200222
|
/**
|
|
200024
|
-
* Create a CurveLocationDetailPair
|
|
200223
|
+
* Create a CurveLocationDetailPair for a coincident interval of two overlapping curves
|
|
200025
200224
|
* @param cpA curveA
|
|
200026
|
-
* @param cpB
|
|
200027
|
-
* @param fractionsOnA
|
|
200028
|
-
* @param fractionB0
|
|
200029
|
-
* @param fractionB1 end fraction of
|
|
200225
|
+
* @param cpB curveB
|
|
200226
|
+
* @param fractionsOnA coincident interval of curveB in fraction space of curveA
|
|
200227
|
+
* @param fractionB0 curveB start in fraction space of curveA
|
|
200228
|
+
* @param fractionB1 curveB end in fraction space of curveA
|
|
200229
|
+
* @param reverse whether curveB and curveA have opposite direction
|
|
200030
200230
|
*/
|
|
200031
200231
|
createDetailPair(cpA, cpB, fractionsOnA, fractionB0, fractionB1, reverse) {
|
|
200032
200232
|
const deltaB = fractionB1 - fractionB0;
|
|
200033
|
-
const g0 =
|
|
200034
|
-
const g1 =
|
|
200233
|
+
const g0 = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.conditionalDivideFraction(fractionsOnA.x0 - fractionB0, deltaB);
|
|
200234
|
+
const g1 = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.conditionalDivideFraction(fractionsOnA.x1 - fractionB0, deltaB);
|
|
200035
200235
|
if (g0 !== undefined && g1 !== undefined) {
|
|
200036
|
-
const detailA =
|
|
200037
|
-
const detailB =
|
|
200038
|
-
if (reverse)
|
|
200236
|
+
const detailA = _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetail.createCurveEvaluatedFractionFraction(cpA, fractionsOnA.x0, fractionsOnA.x1);
|
|
200237
|
+
const detailB = _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetail.createCurveEvaluatedFractionFraction(cpB, g0, g1);
|
|
200238
|
+
if (reverse)
|
|
200039
200239
|
detailA.swapFractionsAndPoints();
|
|
200040
|
-
|
|
200041
|
-
}
|
|
200042
|
-
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_2__.CurveLocationDetailPair.createCapture(detailA, detailB);
|
|
200240
|
+
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailA, detailB);
|
|
200043
200241
|
}
|
|
200044
200242
|
return undefined;
|
|
200045
200243
|
}
|
|
@@ -200056,43 +200254,67 @@ class CoincidentGeometryQuery {
|
|
|
200056
200254
|
* @param arcA
|
|
200057
200255
|
* @param arcB
|
|
200058
200256
|
* @param _restrictToBounds
|
|
200059
|
-
* @return 0, 1, or 2 overlap intervals
|
|
200257
|
+
* @return 0, 1, or 2 overlap points/intervals
|
|
200060
200258
|
*/
|
|
200061
200259
|
coincidentArcIntersectionXY(arcA, arcB, _restrictToBounds = true) {
|
|
200062
200260
|
let result;
|
|
200063
|
-
if (arcA.center.isAlmostEqual(arcB.center)) {
|
|
200261
|
+
if (arcA.center.isAlmostEqual(arcB.center, this.tolerance)) {
|
|
200064
200262
|
const matrixBToA = arcA.matrixRef.multiplyMatrixInverseMatrix(arcB.matrixRef);
|
|
200065
200263
|
if (matrixBToA) {
|
|
200066
200264
|
const ux = matrixBToA.at(0, 0);
|
|
200067
200265
|
const uy = matrixBToA.at(1, 0);
|
|
200068
200266
|
const vx = matrixBToA.at(0, 1);
|
|
200069
200267
|
const vy = matrixBToA.at(1, 1);
|
|
200070
|
-
const ru =
|
|
200071
|
-
const rv =
|
|
200072
|
-
const dot =
|
|
200073
|
-
const cross =
|
|
200074
|
-
if (
|
|
200075
|
-
&&
|
|
200076
|
-
&&
|
|
200077
|
-
const alphaB0Radians = Math.atan2(uy, ux); // angular position of arcB 0 point in
|
|
200078
|
-
const sweepDirection = cross > 0 ? 1.0 : -1.0; // 1 if arcB
|
|
200079
|
-
const betaStartRadians = alphaB0Radians + sweepDirection * arcB.sweep.startRadians;
|
|
200080
|
-
const betaEndRadians = alphaB0Radians + sweepDirection * arcB.sweep.endRadians;
|
|
200268
|
+
const ru = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.hypotenuseXY(ux, uy);
|
|
200269
|
+
const rv = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.hypotenuseXY(vx, vy);
|
|
200270
|
+
const dot = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.dotProductXYXY(ux, uy, vx, vy);
|
|
200271
|
+
const cross = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.crossProductXYXY(ux, uy, vx, vy);
|
|
200272
|
+
if (_Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.isAlmostEqualNumber(ru, 1.0)
|
|
200273
|
+
&& _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.isAlmostEqualNumber(rv, 1.0)
|
|
200274
|
+
&& _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.isAlmostEqualNumber(0, dot)) {
|
|
200275
|
+
const alphaB0Radians = Math.atan2(uy, ux); // angular position of arcB 0 point in arcA sweep
|
|
200276
|
+
const sweepDirection = cross > 0 ? 1.0 : -1.0; // 1 if arcB parameter space sweeps in same direction as arcA, -1 if opposite
|
|
200277
|
+
const betaStartRadians = alphaB0Radians + sweepDirection * arcB.sweep.startRadians; // arcB start in arcA parameter space
|
|
200278
|
+
const betaEndRadians = alphaB0Radians + sweepDirection * arcB.sweep.endRadians; // arcB end in arcA parameter space
|
|
200081
200279
|
const fractionSpacesReversed = (sweepDirection * arcA.sweep.sweepRadians * arcB.sweep.sweepRadians) < 0;
|
|
200082
|
-
const sweepB =
|
|
200280
|
+
const sweepB = _AngleSweep__WEBPACK_IMPORTED_MODULE_5__.AngleSweep.createStartEndRadians(betaStartRadians, betaEndRadians);
|
|
200083
200281
|
const sweepA = arcA.sweep;
|
|
200084
200282
|
const fractionPeriodA = sweepA.fractionPeriod();
|
|
200085
|
-
const fractionB0 = sweepA.radiansToPositivePeriodicFraction(sweepB.startRadians);
|
|
200086
|
-
|
|
200087
|
-
const
|
|
200088
|
-
const
|
|
200089
|
-
|
|
200090
|
-
|
|
200091
|
-
|
|
200092
|
-
|
|
200093
|
-
|
|
200094
|
-
|
|
200095
|
-
|
|
200283
|
+
const fractionB0 = sweepA.radiansToPositivePeriodicFraction(sweepB.startRadians); // arcB start in arcA fraction space
|
|
200284
|
+
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(fractionB0 >= 0.0);
|
|
200285
|
+
const fractionSweep = sweepB.sweepRadians / sweepA.sweepRadians; // arcB sweep in arcA fraction space
|
|
200286
|
+
const fractionB1 = fractionB0 + fractionSweep; // arcB end in arcA fraction space
|
|
200287
|
+
const fractionSweepB = _Segment1d__WEBPACK_IMPORTED_MODULE_4__.Segment1d.create(fractionB0, fractionB1);
|
|
200288
|
+
/** lambda to add a coincident interval or isolated intersection, given inputs in arcA fraction space
|
|
200289
|
+
* @param arcBInArcAFractionSpace span of arcB in arcA fraction space. On return, clamped to [0,1] if nontrivial.
|
|
200290
|
+
* @param testStartOfArcA if no nontrivial coincident interval was found, look for an isolated intersection at the start (true) or end (false) of arcA
|
|
200291
|
+
* @returns whether a detail pair was appended to result
|
|
200292
|
+
*/
|
|
200293
|
+
const appendCoincidentIntersection = (arcBInArcAFractionSpace, testStartOfArcA) => {
|
|
200294
|
+
const size = result ? result.length : 0;
|
|
200295
|
+
const arcBStart = arcBInArcAFractionSpace.x0;
|
|
200296
|
+
const arcBEnd = arcBInArcAFractionSpace.x1;
|
|
200297
|
+
if (arcBInArcAFractionSpace.clampDirectedTo01() && !_Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.isSmallRelative(arcBInArcAFractionSpace.absoluteDelta())) {
|
|
200298
|
+
result = this.appendDetailPair(result, this.createDetailPair(arcA, arcB, arcBInArcAFractionSpace, arcBStart, arcBEnd, fractionSpacesReversed));
|
|
200299
|
+
}
|
|
200300
|
+
else { // test isolated intersection
|
|
200301
|
+
const testStartOfArcB = fractionSpacesReversed ? testStartOfArcA : !testStartOfArcA;
|
|
200302
|
+
const arcAPt = this._point0 = testStartOfArcA ? arcA.startPoint(this._point0) : arcA.endPoint(this._point0);
|
|
200303
|
+
const arcBPt = this._point1 = testStartOfArcB ? arcB.startPoint(this._point1) : arcB.endPoint(this._point1);
|
|
200304
|
+
if (arcAPt.isAlmostEqual(arcBPt, this.tolerance)) {
|
|
200305
|
+
const detailA = _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetail.createCurveFractionPoint(arcA, testStartOfArcA ? 0 : 1, arcAPt);
|
|
200306
|
+
const detailB = _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetail.createCurveFractionPoint(arcB, testStartOfArcB ? 0 : 1, arcBPt);
|
|
200307
|
+
result = this.appendDetailPair(result, _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailA, detailB));
|
|
200308
|
+
}
|
|
200309
|
+
}
|
|
200310
|
+
return result !== undefined && result.length > size;
|
|
200311
|
+
};
|
|
200312
|
+
appendCoincidentIntersection(fractionSweepB, false); // compute overlap in strict interior, or at end of arcA
|
|
200313
|
+
// check overlap at start of arcA with a periodic shift of fractionSweepB
|
|
200314
|
+
if (fractionB1 >= fractionPeriodA)
|
|
200315
|
+
appendCoincidentIntersection(_Segment1d__WEBPACK_IMPORTED_MODULE_4__.Segment1d.create(fractionB0 - fractionPeriodA, fractionB1 - fractionPeriodA), true);
|
|
200316
|
+
else if (fractionB0 === 0.0)
|
|
200317
|
+
appendCoincidentIntersection(_Segment1d__WEBPACK_IMPORTED_MODULE_4__.Segment1d.create(fractionB0 + fractionPeriodA, fractionB1 + fractionPeriodA), true);
|
|
200096
200318
|
}
|
|
200097
200319
|
}
|
|
200098
200320
|
}
|
|
@@ -206978,7 +207200,7 @@ class Matrix3d {
|
|
|
206978
207200
|
* almost independent and matrix is invertible).
|
|
206979
207201
|
*/
|
|
206980
207202
|
conditionNumber() {
|
|
206981
|
-
const determinant = this.determinant();
|
|
207203
|
+
const determinant = Math.abs(this.determinant());
|
|
206982
207204
|
const columnMagnitudeSum = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.hypotenuseXYZ(this.coffs[0], this.coffs[3], this.coffs[6])
|
|
206983
207205
|
+ _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.hypotenuseXYZ(this.coffs[1], this.coffs[4], this.coffs[7])
|
|
206984
207206
|
+ _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.hypotenuseXYZ(this.coffs[2], this.coffs[5], this.coffs[8]);
|
|
@@ -251940,6 +252162,7 @@ class HalfEdgeGraphOps {
|
|
|
251940
252162
|
}
|
|
251941
252163
|
}
|
|
251942
252164
|
/**
|
|
252165
|
+
* Note: this class uses hardcoded micrometer coordinate/cluster tolerance throughout.
|
|
251943
252166
|
* @internal
|
|
251944
252167
|
*/
|
|
251945
252168
|
class HalfEdgeGraphMerge {
|
|
@@ -274591,7 +274814,7 @@ class TestContext {
|
|
|
274591
274814
|
this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
|
|
274592
274815
|
const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
|
|
274593
274816
|
await core_frontend_1.NoRenderApp.startup({
|
|
274594
|
-
applicationVersion: "4.0.
|
|
274817
|
+
applicationVersion: "4.0.2",
|
|
274595
274818
|
applicationId: this.settings.gprid,
|
|
274596
274819
|
authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.adminUserAccessToken),
|
|
274597
274820
|
hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
|
|
@@ -276830,7 +277053,6 @@ class RulesetsFactory {
|
|
|
276830
277053
|
specifications: [{
|
|
276831
277054
|
specType: _rules_content_ContentSpecification__WEBPACK_IMPORTED_MODULE_4__.ContentSpecificationTypes.ContentInstancesOfSpecificClasses,
|
|
276832
277055
|
classes: createMultiClassSpecification(record.classInfo),
|
|
276833
|
-
handleInstancesPolymorphically: true,
|
|
276834
277056
|
relatedInstances: relatedInstanceInfo ? [relatedInstanceInfo.spec] : [],
|
|
276835
277057
|
instanceFilter: createInstanceFilter(relatedInstanceInfo?.spec, field.type, propertyName, propertyValue.raw),
|
|
276836
277058
|
}],
|
|
@@ -276957,7 +277179,7 @@ const createComparison = (type, name, operator, value) => {
|
|
|
276957
277179
|
};
|
|
276958
277180
|
const createMultiClassSpecification = (classInfo) => {
|
|
276959
277181
|
const [schemaName, className] = classInfo.name.split(":");
|
|
276960
|
-
return { schemaName, classNames: [className] };
|
|
277182
|
+
return { schemaName, classNames: [className], arePolymorphic: true };
|
|
276961
277183
|
};
|
|
276962
277184
|
const createSingleClassSpecification = (classInfo) => {
|
|
276963
277185
|
const [schemaName, className] = classInfo.name.split(":");
|
|
@@ -293966,7 +294188,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
|
|
|
293966
294188
|
/***/ ((module) => {
|
|
293967
294189
|
|
|
293968
294190
|
"use strict";
|
|
293969
|
-
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.0.
|
|
294191
|
+
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"}}]}}');
|
|
293970
294192
|
|
|
293971
294193
|
/***/ }),
|
|
293972
294194
|
|