@itwin/core-frontend 5.12.0-dev.8 → 5.13.0-dev.1
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/CHANGELOG.md +11 -1
- package/lib/cjs/AccuDraw.d.ts.map +1 -1
- package/lib/cjs/AccuDraw.js +10 -9
- package/lib/cjs/AccuDraw.js.map +1 -1
- package/lib/cjs/AuxCoordSys.d.ts +11 -4
- package/lib/cjs/AuxCoordSys.d.ts.map +1 -1
- package/lib/cjs/AuxCoordSys.js +12 -6
- package/lib/cjs/AuxCoordSys.js.map +1 -1
- package/lib/cjs/DrawingViewState.d.ts.map +1 -1
- package/lib/cjs/DrawingViewState.js +3 -4
- package/lib/cjs/DrawingViewState.js.map +1 -1
- package/lib/cjs/EntityState.js +1 -1
- package/lib/cjs/EntityState.js.map +1 -1
- package/lib/cjs/IModelConnection.d.ts +20 -7
- package/lib/cjs/IModelConnection.d.ts.map +1 -1
- package/lib/cjs/IModelConnection.js +66 -77
- package/lib/cjs/IModelConnection.js.map +1 -1
- package/lib/cjs/IpcApp.d.ts +37 -0
- package/lib/cjs/IpcApp.d.ts.map +1 -1
- package/lib/cjs/IpcApp.js +56 -26
- package/lib/cjs/IpcApp.js.map +1 -1
- package/lib/cjs/ViewCreator2d.d.ts.map +1 -1
- package/lib/cjs/ViewCreator2d.js +7 -9
- package/lib/cjs/ViewCreator2d.js.map +1 -1
- package/lib/cjs/common/gltf/GltfSchema.d.ts +7 -0
- package/lib/cjs/common/gltf/GltfSchema.d.ts.map +1 -1
- package/lib/cjs/common/gltf/GltfSchema.js.map +1 -1
- package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
- package/lib/cjs/tile/GltfReader.js +3 -0
- package/lib/cjs/tile/GltfReader.js.map +1 -1
- package/lib/cjs/tile/TileRequestChannel.js.map +1 -1
- package/lib/cjs/tools/AccuDrawTool.d.ts +20 -3
- package/lib/cjs/tools/AccuDrawTool.d.ts.map +1 -1
- package/lib/cjs/tools/AccuDrawTool.js +108 -58
- package/lib/cjs/tools/AccuDrawTool.js.map +1 -1
- package/lib/cjs/tools/ElementSetTool.d.ts.map +1 -1
- package/lib/cjs/tools/ElementSetTool.js +1 -2
- package/lib/cjs/tools/ElementSetTool.js.map +1 -1
- package/lib/esm/AccuDraw.d.ts.map +1 -1
- package/lib/esm/AccuDraw.js +11 -10
- package/lib/esm/AccuDraw.js.map +1 -1
- package/lib/esm/AuxCoordSys.d.ts +11 -4
- package/lib/esm/AuxCoordSys.d.ts.map +1 -1
- package/lib/esm/AuxCoordSys.js +13 -7
- package/lib/esm/AuxCoordSys.js.map +1 -1
- package/lib/esm/DrawingViewState.d.ts.map +1 -1
- package/lib/esm/DrawingViewState.js +3 -4
- package/lib/esm/DrawingViewState.js.map +1 -1
- package/lib/esm/EntityState.js +1 -1
- package/lib/esm/EntityState.js.map +1 -1
- package/lib/esm/IModelConnection.d.ts +20 -7
- package/lib/esm/IModelConnection.d.ts.map +1 -1
- package/lib/esm/IModelConnection.js +67 -78
- package/lib/esm/IModelConnection.js.map +1 -1
- package/lib/esm/IpcApp.d.ts +37 -0
- package/lib/esm/IpcApp.d.ts.map +1 -1
- package/lib/esm/IpcApp.js +56 -27
- package/lib/esm/IpcApp.js.map +1 -1
- package/lib/esm/ViewCreator2d.d.ts.map +1 -1
- package/lib/esm/ViewCreator2d.js +7 -9
- package/lib/esm/ViewCreator2d.js.map +1 -1
- package/lib/esm/common/gltf/GltfSchema.d.ts +7 -0
- package/lib/esm/common/gltf/GltfSchema.d.ts.map +1 -1
- package/lib/esm/common/gltf/GltfSchema.js.map +1 -1
- package/lib/esm/tile/GltfReader.d.ts.map +1 -1
- package/lib/esm/tile/GltfReader.js +3 -0
- package/lib/esm/tile/GltfReader.js.map +1 -1
- package/lib/esm/tile/TileRequestChannel.js.map +1 -1
- package/lib/esm/tools/AccuDrawTool.d.ts +20 -3
- package/lib/esm/tools/AccuDrawTool.d.ts.map +1 -1
- package/lib/esm/tools/AccuDrawTool.js +109 -59
- package/lib/esm/tools/AccuDrawTool.js.map +1 -1
- package/lib/esm/tools/ElementSetTool.d.ts.map +1 -1
- package/lib/esm/tools/ElementSetTool.js +1 -2
- package/lib/esm/tools/ElementSetTool.js.map +1 -1
- package/lib/public/scripts/parse-imdl-worker.js +1 -1
- package/lib/workers/webpack/parse-imdl-worker.js +1 -1
- package/package.json +23 -23
package/lib/cjs/AuxCoordSys.d.ts
CHANGED
|
@@ -40,11 +40,18 @@ export declare abstract class AuxCoordSystemState extends ElementState implement
|
|
|
40
40
|
description?: string;
|
|
41
41
|
static fromProps(props: AuxCoordSystemProps, iModel: IModelConnection): AuxCoordSystemState;
|
|
42
42
|
/** Create a new AuxCoordSystemState.
|
|
43
|
-
* @param
|
|
44
|
-
* @param iModel the iModel for which the ACS applies
|
|
45
|
-
* @note
|
|
43
|
+
* @param _acsName unused, this method creates an empty code as it lacks sufficient information to do otherwise.
|
|
44
|
+
* @param iModel the iModel for which the ACS applies
|
|
45
|
+
* @note Inserting a new named ACS element requires creating a CodeProps for the type of view and the view's definition model.
|
|
46
|
+
* This method doesn't have the information to do this so it creates an empty code.
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* const codeSpecName = vp.view.isSpatialView() ? BisCodeSpec.auxCoordSystemSpatial : (vp.view.is3d() ? BisCodeSpec.auxCoordSystem3d : BisCodeSpec.auxCoordSystem2d);
|
|
50
|
+
* const codeSpec = await vp.iModel.codeSpecs.getByName(codeSpecName);
|
|
51
|
+
* const code = new Code({ spec: codeSpec.id, scope: vp.view.model, value: acsName });
|
|
52
|
+
* ```
|
|
46
53
|
*/
|
|
47
|
-
static createNew(
|
|
54
|
+
static createNew(_acsName: string, iModel: IModelConnection): AuxCoordSystemState;
|
|
48
55
|
constructor(props: AuxCoordSystemProps, iModel: IModelConnection);
|
|
49
56
|
toJSON(): AuxCoordSystemProps;
|
|
50
57
|
isValidForView(view: ViewState): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuxCoordSys.d.ts","sourceRoot":"","sources":["../../src/AuxCoordSys.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAA4B,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAuB,KAAK,EAAE,MAAM,EAAsB,MAAM,sBAAsB,CAAC;AACpJ,OAAO,EACL,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,EAClE,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;GAGG;AACH,oBAAY,OAAO;IACjB,IAAI,IAAI;IACR,WAAW,IAAI;IACf,WAAW,IAAI;IACf,SAAS,IAAI;CACd;AAED;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B,IAAI,IAAI,CAAE,oCAAoC;IAC9C,MAAM,IAAW;IACjB,YAAY,IAAW;IACvB,MAAM,IAAW;IACjB,YAAY,IAAW;IACvB,QAAQ,KAAW;CACpB;AAgBD;;;GAGG;AACH,8BAAsB,mBAAoB,SAAQ,YAAa,YAAW,mBAAmB;IAC3F,WAA2B,SAAS,WAA+B;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;WAEd,SAAS,CAAC,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,gBAAgB,GAAG,mBAAmB;IAWlG
|
|
1
|
+
{"version":3,"file":"AuxCoordSys.d.ts","sourceRoot":"","sources":["../../src/AuxCoordSys.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/AuxCoordSys.js
CHANGED
|
@@ -55,13 +55,19 @@ class AuxCoordSystemState extends EntityState_1.ElementState {
|
|
|
55
55
|
return new AuxCoordSystemSpatialState(props, iModel);
|
|
56
56
|
}
|
|
57
57
|
/** Create a new AuxCoordSystemState.
|
|
58
|
-
* @param
|
|
59
|
-
* @param iModel the iModel for which the ACS applies
|
|
60
|
-
* @note
|
|
58
|
+
* @param _acsName unused, this method creates an empty code as it lacks sufficient information to do otherwise.
|
|
59
|
+
* @param iModel the iModel for which the ACS applies
|
|
60
|
+
* @note Inserting a new named ACS element requires creating a CodeProps for the type of view and the view's definition model.
|
|
61
|
+
* This method doesn't have the information to do this so it creates an empty code.
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* const codeSpecName = vp.view.isSpatialView() ? BisCodeSpec.auxCoordSystemSpatial : (vp.view.is3d() ? BisCodeSpec.auxCoordSystem3d : BisCodeSpec.auxCoordSystem2d);
|
|
65
|
+
* const codeSpec = await vp.iModel.codeSpecs.getByName(codeSpecName);
|
|
66
|
+
* const code = new Code({ spec: codeSpec.id, scope: vp.view.model, value: acsName });
|
|
67
|
+
* ```
|
|
61
68
|
*/
|
|
62
|
-
static createNew(
|
|
63
|
-
|
|
64
|
-
return new AuxCoordSystemSpatialState({ model: core_common_1.IModel.dictionaryId, code: myCode, classFullName: this.classFullName }, iModel);
|
|
69
|
+
static createNew(_acsName, iModel) {
|
|
70
|
+
return new AuxCoordSystemSpatialState({ model: core_common_1.IModel.dictionaryId, code: core_common_1.Code.createEmpty(), classFullName: this.classFullName }, iModel);
|
|
65
71
|
}
|
|
66
72
|
constructor(props, iModel) {
|
|
67
73
|
super(props, iModel);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuxCoordSys.js","sourceRoot":"","sources":["../../src/AuxCoordSys.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Views\n */\n\nimport { JsonUtils } from \"@itwin/core-bentley\";\nimport { Angle, AngleSweep, Arc3d, Matrix3d, Point2d, Point3d, Transform, Vector3d, XAndY, XYAndZ, YawPitchRollAngles } from \"@itwin/core-geometry\";\nimport {\n AuxCoordSystem2dProps, AuxCoordSystem3dProps, AuxCoordSystemProps, BisCodeSpec, Code, ColorDef, IModel, LinePixels, Npc,\n} from \"@itwin/core-common\";\nimport { ElementState } from \"./EntityState\";\nimport { IModelConnection } from \"./IModelConnection\";\nimport { GraphicBuilder } from \"./render/GraphicBuilder\";\nimport { DecorateContext } from \"./ViewContext\";\nimport { CoordSystem } from \"./CoordSystem\";\nimport { Viewport } from \"./Viewport\";\nimport { ViewState } from \"./ViewState\";\nimport { GraphicType } from \"./common/render/GraphicType\";\n\n/**\n * @public\n * @extensions\n */\nexport enum ACSType {\n None = 0,\n Rectangular = 1,\n Cylindrical = 2,\n Spherical = 3,\n}\n\n/**\n * @public\n * @extensions\n */\nexport enum ACSDisplayOptions {\n None = 0, // used for testing individual bits.\n Active = (1 << 0),\n Deemphasized = (1 << 1),\n Hilite = (1 << 2),\n CheckVisible = (1 << 3),\n Dynamics = (1 << 4),\n}\n\nconst enum ACSDisplaySizes { // eslint-disable-line no-restricted-syntax\n TriadSizeInches = 0.6,\n ArrowBaseStart = 0.3,\n ArrowBaseWidth = 0.2,\n ArrowTipEnd = 1.25,\n ArrowTipStart = 0.85,\n ArrowTipFlange = 0.75,\n ArrowTipWidth = 0.4,\n ZAxisLength = 0.65,\n LabelStart = 0.4, // eslint-disable-line @typescript-eslint/no-duplicate-enum-values\n LabelEnd = 0.8,\n LabelWidth = 0.15,\n}\n\n/** The state of an AuxCoordSystem element in the frontend\n * @public\n * @extensions\n */\nexport abstract class AuxCoordSystemState extends ElementState implements AuxCoordSystemProps {\n public static override get className() { return \"AuxCoordSystem\"; }\n public type: number;\n public description?: string;\n\n public static fromProps(props: AuxCoordSystemProps, iModel: IModelConnection): AuxCoordSystemState {\n const name = props.classFullName.toLowerCase();\n if (name.endsWith(\"system2d\"))\n return new AuxCoordSystem2dState(props, iModel);\n\n if (name.endsWith(\"system3d\"))\n return new AuxCoordSystem3dState(props, iModel);\n\n return new AuxCoordSystemSpatialState(props, iModel);\n }\n\n /** Create a new AuxCoordSystemState.\n * @param acsName the name for the new AuxCoordSystem\n * @param iModel the iModel for which the ACS applies.\n * @note call this method with the appropriate subclass (e.g. AuxCoordSystemSpatialState, AuxCoordSystem2dState, etc), not on AuxCoordSystemState directly\n */\n public static createNew(acsName: string, iModel: IModelConnection): AuxCoordSystemState {\n const myCode = new Code({ spec: BisCodeSpec.auxCoordSystemSpatial, scope: IModel.dictionaryId.toString(), value: acsName });\n return new AuxCoordSystemSpatialState({ model: IModel.dictionaryId, code: myCode, classFullName: this.classFullName }, iModel);\n }\n\n public constructor(props: AuxCoordSystemProps, iModel: IModelConnection) {\n super(props, iModel);\n this.type = JsonUtils.asInt(props.type, ACSType.None);\n this.description = props.description;\n }\n public override toJSON(): AuxCoordSystemProps {\n const val = super.toJSON() as AuxCoordSystemProps;\n val.type = this.type;\n val.description = this.description;\n return val;\n }\n\n public isValidForView(view: ViewState): boolean {\n if (view.isSpatialView())\n return this instanceof AuxCoordSystemSpatialState;\n return (view.is3d() === this.is3d);\n }\n\n public abstract getOrigin(result?: Point3d): Point3d;\n public abstract setOrigin(val: XYAndZ | XAndY): void;\n /** get a *copy of* the rotation matrix for this ACS. */\n public abstract getRotation(result?: Matrix3d): Matrix3d;\n public abstract setRotation(val: Matrix3d): void;\n public get is3d(): boolean { return this instanceof AuxCoordSystem3dState; }\n\n public drawGrid(context: DecorateContext): void {\n // Called for active ACS when grid orientation is GridOrientationType::ACS.\n const view = context.viewport.view;\n const fixedRepsAuto = Point2d.create(); // limit grid to project extents\n context.drawStandardGrid(this.getOrigin(), this.getRotation(), view.getGridSpacing(), view.getGridsPerRef(), false, fixedRepsAuto);\n }\n\n /** Returns the value, clamped to the supplied range. */\n private static limitRange(min: number, max: number, val: number): number { return Math.max(min, Math.min(max, val)); }\n\n /**\n * Given an origin point, returns whether the point falls within the view or not. If adjustOrigin is set to true, a point outside\n * the view will be modified to fall within the appropriate range.\n */\n public static isOriginInView(drawOrigin: Point3d, viewport: Viewport, adjustOrigin: boolean): boolean {\n const testPtView = viewport.worldToView(drawOrigin);\n const frustum = viewport.getFrustum(CoordSystem.View);\n const screenRange = Point3d.create();\n screenRange.x = frustum.points[Npc._000].distance(frustum.points[Npc._100]);\n screenRange.y = frustum.points[Npc._000].distance(frustum.points[Npc._010]);\n screenRange.z = frustum.points[Npc._000].distance(frustum.points[Npc._001]);\n\n // Check if current acs origin is outside view...\n const inView = (!((testPtView.x < 0 || testPtView.x > screenRange.x) || (testPtView.y < 0 || testPtView.y > screenRange.y)));\n\n if (!adjustOrigin)\n return inView;\n\n if (!inView) {\n const offset = viewport.pixelsFromInches(ACSDisplaySizes.TriadSizeInches);\n testPtView.x = AuxCoordSystemState.limitRange(offset, screenRange.x - offset, testPtView.x);\n testPtView.y = AuxCoordSystemState.limitRange(offset, screenRange.y - offset, testPtView.y);\n }\n\n // Limit point to NPC box to prevent triad from being clipped from display...\n const originPtNpc = viewport.viewToNpc(testPtView);\n originPtNpc.x = AuxCoordSystemState.limitRange(0, 1, originPtNpc.x);\n originPtNpc.y = AuxCoordSystemState.limitRange(0, 1, originPtNpc.y);\n originPtNpc.z = AuxCoordSystemState.limitRange(0, 1, originPtNpc.z);\n viewport.npcToView(originPtNpc, testPtView);\n viewport.viewToWorld(testPtView, drawOrigin);\n\n return inView;\n }\n\n private getAdjustedColor(inColor: ColorDef, isFill: boolean, viewport: Viewport, options: ACSDisplayOptions): ColorDef {\n let color;\n if ((options & ACSDisplayOptions.Hilite) !== ACSDisplayOptions.None) {\n color = viewport.hilite.color;\n } else if ((options & ACSDisplayOptions.Active) !== ACSDisplayOptions.None) {\n color = inColor.equals(ColorDef.white) ? viewport.getContrastToBackgroundColor() : inColor;\n } else {\n color = ColorDef.from(150, 150, 150, 0);\n }\n\n color = color.adjustedForContrast(viewport.view.backgroundColor);\n\n if (isFill)\n color = color.withTransparency((options & (ACSDisplayOptions.Deemphasized | ACSDisplayOptions.Dynamics)) !== ACSDisplayOptions.None ? 225 : 200);\n else\n color = color.withTransparency((options & ACSDisplayOptions.Deemphasized) !== ACSDisplayOptions.None ? 150 : 75);\n\n return color;\n }\n\n private addAxisLabel(builder: GraphicBuilder, axis: number, options: ACSDisplayOptions, vp: Viewport) {\n const color = ColorDef.white;\n const lineColor = this.getAdjustedColor(color, false, vp, options);\n builder.setSymbology(lineColor, lineColor, 2);\n\n const linePts1: Point3d[] = [];\n if (0 === axis) {\n linePts1[0] = Point3d.create(ACSDisplaySizes.LabelStart, -ACSDisplaySizes.LabelWidth);\n linePts1[1] = Point3d.create(ACSDisplaySizes.LabelEnd, ACSDisplaySizes.LabelWidth);\n } else {\n linePts1[0] = Point3d.create(0.0, ACSDisplaySizes.LabelStart);\n linePts1[1] = Point3d.create(0.0, (ACSDisplaySizes.LabelStart + ACSDisplaySizes.LabelEnd) * 0.5);\n }\n builder.addLineString(linePts1);\n\n const linePts2: Point3d[] = []; // NOTE: Don't use same point array, addPointString/addLineString don't deep copy...\n if (0 === axis) {\n linePts2[0] = Point3d.create(ACSDisplaySizes.LabelStart, ACSDisplaySizes.LabelWidth);\n linePts2[1] = Point3d.create(ACSDisplaySizes.LabelEnd, -ACSDisplaySizes.LabelWidth);\n } else {\n linePts2[0] = Point3d.create(ACSDisplaySizes.LabelWidth, ACSDisplaySizes.LabelEnd);\n linePts2[1] = Point3d.create(0.0, (ACSDisplaySizes.LabelStart + ACSDisplaySizes.LabelEnd) * 0.5);\n linePts2[2] = Point3d.create(-ACSDisplaySizes.LabelWidth, ACSDisplaySizes.LabelEnd);\n }\n builder.addLineString(linePts2);\n }\n\n private addAxis(builder: GraphicBuilder, axis: number, options: ACSDisplayOptions, vp: Viewport) {\n const color = (0 === axis ? ColorDef.red : (1 === axis ? ColorDef.green : ColorDef.blue));\n const lineColor = this.getAdjustedColor(color, false, vp, options);\n const fillColor = this.getAdjustedColor(color, true, vp, options);\n\n if (axis === 2) {\n builder.setSymbology(lineColor, lineColor, 6);\n builder.addPointString([Point3d.create(0.0, 0.0, ACSDisplaySizes.ZAxisLength)]); // NOTE: ACS origin point will be drawn separately as a pickable world decoration...\n\n const linePts2: Point3d[] = [Point3d.create(), Point3d.create()]; // NOTE: Don't use same point array, addPointString/addLineString don't deep copy...\n linePts2[1].z = ACSDisplaySizes.ZAxisLength;\n builder.setSymbology(lineColor, lineColor, 1, (options & ACSDisplayOptions.Dynamics) === ACSDisplayOptions.None ? LinePixels.Solid : LinePixels.Code2);\n builder.addLineString(linePts2);\n\n const scale = ACSDisplaySizes.ArrowTipWidth / 2;\n const center = Point3d.create();\n const viewRMatrix = vp.rotation;\n\n const xVec = viewRMatrix.getRow(0);\n const yVec = viewRMatrix.getRow(1);\n\n builder.placement.matrix.multiplyTransposeVectorInPlace(xVec);\n builder.placement.matrix.multiplyTransposeVectorInPlace(yVec);\n\n xVec.normalize(xVec);\n yVec.normalize(yVec);\n\n const ellipse = Arc3d.createScaledXYColumns(center, Matrix3d.createColumns(xVec, yVec, Vector3d.create()), scale, scale, AngleSweep.createStartEnd(Angle.createRadians(0), Angle.createRadians(Math.PI * 2)));\n builder.addArc(ellipse, false, false);\n\n builder.setBlankingFill(fillColor);\n builder.addArc(ellipse, true, true);\n return;\n }\n\n const shapePts: Point3d[] = [];\n shapePts[0] = Point3d.create(ACSDisplaySizes.ArrowTipEnd, 0.0);\n shapePts[1] = Point3d.create(ACSDisplaySizes.ArrowTipFlange, ACSDisplaySizes.ArrowTipWidth);\n shapePts[2] = Point3d.create(ACSDisplaySizes.ArrowTipStart, ACSDisplaySizes.ArrowBaseWidth);\n shapePts[3] = Point3d.create(ACSDisplaySizes.ArrowBaseStart, ACSDisplaySizes.ArrowBaseWidth);\n shapePts[4] = Point3d.create(ACSDisplaySizes.ArrowBaseStart, -ACSDisplaySizes.ArrowBaseWidth);\n shapePts[5] = Point3d.create(ACSDisplaySizes.ArrowTipStart, -ACSDisplaySizes.ArrowBaseWidth);\n shapePts[6] = Point3d.create(ACSDisplaySizes.ArrowTipFlange, -ACSDisplaySizes.ArrowTipWidth);\n shapePts[7] = shapePts[0].clone();\n if (1 === axis)\n shapePts.forEach((tmpPt) => tmpPt.set(tmpPt.y, tmpPt.x));\n\n builder.setSymbology(lineColor, lineColor, 1, (options & ACSDisplayOptions.Dynamics) === ACSDisplayOptions.None ? LinePixels.Solid : LinePixels.Code2);\n builder.addLineString(shapePts);\n\n this.addAxisLabel(builder, axis, options, vp);\n\n builder.setBlankingFill(fillColor);\n builder.addShape(shapePts);\n }\n\n /** Returns a GraphicBuilder for this AuxCoordSystemState. */\n private createGraphicBuilder(context: DecorateContext, options: ACSDisplayOptions): GraphicBuilder {\n const checkOutOfView = (options & ACSDisplayOptions.CheckVisible) !== ACSDisplayOptions.None;\n const drawOrigin = this.getOrigin();\n\n if (checkOutOfView && !AuxCoordSystemState.isOriginInView(drawOrigin, context.viewport, true))\n options = options | ACSDisplayOptions.Deemphasized;\n\n let pixelSize = context.viewport.pixelsFromInches(ACSDisplaySizes.TriadSizeInches);\n\n if ((options & ACSDisplayOptions.Deemphasized) !== ACSDisplayOptions.None)\n pixelSize *= 0.8;\n else if ((options & ACSDisplayOptions.Active) !== ACSDisplayOptions.None)\n pixelSize *= 0.9;\n\n const exaggerate = context.viewport.view.getAspectRatioSkew();\n const scale = context.getPixelSizeAtPoint(drawOrigin) * pixelSize;\n const rMatrix = this.getRotation();\n\n rMatrix.transposeInPlace();\n rMatrix.scaleColumns(scale, scale / exaggerate, scale, rMatrix);\n const transform = Transform.createRefs(drawOrigin, rMatrix);\n\n const builder = context.createGraphicBuilder(GraphicType.WorldOverlay, transform);\n const vp = context.viewport;\n this.addAxis(builder, 0, options, vp);\n this.addAxis(builder, 1, options, vp);\n this.addAxis(builder, 2, options, vp);\n return builder;\n }\n\n public display(context: DecorateContext, options: ACSDisplayOptions) {\n const builder = this.createGraphicBuilder(context, options);\n if (undefined !== builder)\n context.addDecorationFromBuilder(builder);\n }\n}\n\n/** The state of an AuxCoordSystem2d element in the frontend\n * @public\n * @extensions\n */\nexport class AuxCoordSystem2dState extends AuxCoordSystemState implements AuxCoordSystem2dProps {\n public static override get className() { return \"AuxCoordSystem2d\"; }\n public readonly origin: Point2d;\n public angle: number; // in degrees\n private readonly _rMatrix: Matrix3d;\n\n constructor(props: AuxCoordSystem2dProps, iModel: IModelConnection) {\n super(props, iModel);\n this.origin = Point2d.fromJSON(props.origin);\n this.angle = JsonUtils.asDouble(props.angle);\n this._rMatrix = Matrix3d.createRotationAroundVector(Vector3d.unitZ(), Angle.createDegrees(this.angle)) ?? Matrix3d.createIdentity();\n }\n\n public override toJSON(): AuxCoordSystem2dProps {\n const val = super.toJSON() as AuxCoordSystem2dProps;\n val.origin = this.origin;\n val.angle = this.angle;\n return val;\n }\n\n public getOrigin(result?: Point3d): Point3d { return Point3d.createFrom(this.origin, result); }\n public setOrigin(val: XYAndZ | XAndY): void { this.origin.setFrom(val); }\n public getRotation(result?: Matrix3d): Matrix3d { return this._rMatrix.clone(result); }\n public setRotation(val: Matrix3d): void {\n this._rMatrix.setFrom(val);\n const angle = YawPitchRollAngles.createFromMatrix3d(val);\n this.angle = (undefined !== angle ? angle.yaw.degrees : 0.0);\n }\n}\n\n/** The state of an AuxCoordSystem3d element in the frontend\n * @public\n * @extensions\n */\nexport class AuxCoordSystem3dState extends AuxCoordSystemState implements AuxCoordSystem3dProps {\n public static override get className() { return \"AuxCoordSystem3d\"; }\n public readonly origin: Point3d;\n public yaw: number; // in degrees\n public pitch: number; // in degrees\n public roll: number; // in degrees\n private readonly _rMatrix: Matrix3d;\n\n constructor(props: AuxCoordSystem3dProps, iModel: IModelConnection) {\n super(props, iModel);\n this.origin = Point3d.fromJSON(props.origin);\n this.yaw = JsonUtils.asDouble(props.yaw);\n this.pitch = JsonUtils.asDouble(props.pitch);\n this.roll = JsonUtils.asDouble(props.roll);\n const angles = new YawPitchRollAngles(Angle.createDegrees(this.yaw), Angle.createDegrees(this.pitch), Angle.createDegrees(this.roll));\n this._rMatrix = angles.toMatrix3d();\n }\n\n public override toJSON(): AuxCoordSystem3dProps {\n const val = super.toJSON() as AuxCoordSystem3dProps;\n val.origin = this.origin;\n val.yaw = this.yaw;\n val.pitch = this.pitch;\n val.roll = this.roll;\n return val;\n }\n\n public getOrigin(result?: Point3d): Point3d { return Point3d.createFrom(this.origin, result); }\n public setOrigin(val: XYAndZ | XAndY): void { this.origin.setFrom(val); }\n public getRotation(result?: Matrix3d): Matrix3d { return this._rMatrix.clone(result); }\n public setRotation(rMatrix: Matrix3d): void {\n this._rMatrix.setFrom(rMatrix);\n const angles = YawPitchRollAngles.createFromMatrix3d(rMatrix);\n this.yaw = (undefined !== angles ? angles.yaw.degrees : 0.0);\n this.pitch = (undefined !== angles ? angles.pitch.degrees : 0.0);\n this.roll = (undefined !== angles ? angles.roll.degrees : 0.0);\n }\n}\n\n/** The state of an AuxCoordSystemSpatial element in the frontend\n * @public\n * @extensions\n */\nexport class AuxCoordSystemSpatialState extends AuxCoordSystem3dState {\n public static override get className() { return \"AuxCoordSystemSpatial\"; }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"AuxCoordSys.js","sourceRoot":"","sources":["../../src/AuxCoordSys.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Views\n */\n\nimport { JsonUtils } from \"@itwin/core-bentley\";\nimport { Angle, AngleSweep, Arc3d, Matrix3d, Point2d, Point3d, Transform, Vector3d, XAndY, XYAndZ, YawPitchRollAngles } from \"@itwin/core-geometry\";\nimport {\n AuxCoordSystem2dProps, AuxCoordSystem3dProps, AuxCoordSystemProps, Code, ColorDef, IModel, LinePixels, Npc,\n} from \"@itwin/core-common\";\nimport { ElementState } from \"./EntityState\";\nimport { IModelConnection } from \"./IModelConnection\";\nimport { GraphicBuilder } from \"./render/GraphicBuilder\";\nimport { DecorateContext } from \"./ViewContext\";\nimport { CoordSystem } from \"./CoordSystem\";\nimport { Viewport } from \"./Viewport\";\nimport { ViewState } from \"./ViewState\";\nimport { GraphicType } from \"./common/render/GraphicType\";\n\n/**\n * @public\n * @extensions\n */\nexport enum ACSType {\n None = 0,\n Rectangular = 1,\n Cylindrical = 2,\n Spherical = 3,\n}\n\n/**\n * @public\n * @extensions\n */\nexport enum ACSDisplayOptions {\n None = 0, // used for testing individual bits.\n Active = (1 << 0),\n Deemphasized = (1 << 1),\n Hilite = (1 << 2),\n CheckVisible = (1 << 3),\n Dynamics = (1 << 4),\n}\n\nconst enum ACSDisplaySizes { // eslint-disable-line no-restricted-syntax\n TriadSizeInches = 0.6,\n ArrowBaseStart = 0.3,\n ArrowBaseWidth = 0.2,\n ArrowTipEnd = 1.25,\n ArrowTipStart = 0.85,\n ArrowTipFlange = 0.75,\n ArrowTipWidth = 0.4,\n ZAxisLength = 0.65,\n LabelStart = 0.4, // eslint-disable-line @typescript-eslint/no-duplicate-enum-values\n LabelEnd = 0.8,\n LabelWidth = 0.15,\n}\n\n/** The state of an AuxCoordSystem element in the frontend\n * @public\n * @extensions\n */\nexport abstract class AuxCoordSystemState extends ElementState implements AuxCoordSystemProps {\n public static override get className() { return \"AuxCoordSystem\"; }\n public type: number;\n public description?: string;\n\n public static fromProps(props: AuxCoordSystemProps, iModel: IModelConnection): AuxCoordSystemState {\n const name = props.classFullName.toLowerCase();\n if (name.endsWith(\"system2d\"))\n return new AuxCoordSystem2dState(props, iModel);\n\n if (name.endsWith(\"system3d\"))\n return new AuxCoordSystem3dState(props, iModel);\n\n return new AuxCoordSystemSpatialState(props, iModel);\n }\n\n /** Create a new AuxCoordSystemState.\n * @param _acsName unused, this method creates an empty code as it lacks sufficient information to do otherwise.\n * @param iModel the iModel for which the ACS applies\n * @note Inserting a new named ACS element requires creating a CodeProps for the type of view and the view's definition model.\n * This method doesn't have the information to do this so it creates an empty code.\n * @example\n * ```typescript\n * const codeSpecName = vp.view.isSpatialView() ? BisCodeSpec.auxCoordSystemSpatial : (vp.view.is3d() ? BisCodeSpec.auxCoordSystem3d : BisCodeSpec.auxCoordSystem2d);\n * const codeSpec = await vp.iModel.codeSpecs.getByName(codeSpecName);\n * const code = new Code({ spec: codeSpec.id, scope: vp.view.model, value: acsName });\n * ```\n */\n public static createNew(_acsName: string, iModel: IModelConnection): AuxCoordSystemState {\n return new AuxCoordSystemSpatialState({ model: IModel.dictionaryId, code: Code.createEmpty(), classFullName: this.classFullName }, iModel);\n }\n\n public constructor(props: AuxCoordSystemProps, iModel: IModelConnection) {\n super(props, iModel);\n this.type = JsonUtils.asInt(props.type, ACSType.None);\n this.description = props.description;\n }\n public override toJSON(): AuxCoordSystemProps {\n const val = super.toJSON() as AuxCoordSystemProps;\n val.type = this.type;\n val.description = this.description;\n return val;\n }\n\n public isValidForView(view: ViewState): boolean {\n if (view.isSpatialView())\n return this instanceof AuxCoordSystemSpatialState;\n return (view.is3d() === this.is3d);\n }\n\n public abstract getOrigin(result?: Point3d): Point3d;\n public abstract setOrigin(val: XYAndZ | XAndY): void;\n /** get a *copy of* the rotation matrix for this ACS. */\n public abstract getRotation(result?: Matrix3d): Matrix3d;\n public abstract setRotation(val: Matrix3d): void;\n public get is3d(): boolean { return this instanceof AuxCoordSystem3dState; }\n\n public drawGrid(context: DecorateContext): void {\n // Called for active ACS when grid orientation is GridOrientationType::ACS.\n const view = context.viewport.view;\n const fixedRepsAuto = Point2d.create(); // limit grid to project extents\n context.drawStandardGrid(this.getOrigin(), this.getRotation(), view.getGridSpacing(), view.getGridsPerRef(), false, fixedRepsAuto);\n }\n\n /** Returns the value, clamped to the supplied range. */\n private static limitRange(min: number, max: number, val: number): number { return Math.max(min, Math.min(max, val)); }\n\n /**\n * Given an origin point, returns whether the point falls within the view or not. If adjustOrigin is set to true, a point outside\n * the view will be modified to fall within the appropriate range.\n */\n public static isOriginInView(drawOrigin: Point3d, viewport: Viewport, adjustOrigin: boolean): boolean {\n const testPtView = viewport.worldToView(drawOrigin);\n const frustum = viewport.getFrustum(CoordSystem.View);\n const screenRange = Point3d.create();\n screenRange.x = frustum.points[Npc._000].distance(frustum.points[Npc._100]);\n screenRange.y = frustum.points[Npc._000].distance(frustum.points[Npc._010]);\n screenRange.z = frustum.points[Npc._000].distance(frustum.points[Npc._001]);\n\n // Check if current acs origin is outside view...\n const inView = (!((testPtView.x < 0 || testPtView.x > screenRange.x) || (testPtView.y < 0 || testPtView.y > screenRange.y)));\n\n if (!adjustOrigin)\n return inView;\n\n if (!inView) {\n const offset = viewport.pixelsFromInches(ACSDisplaySizes.TriadSizeInches);\n testPtView.x = AuxCoordSystemState.limitRange(offset, screenRange.x - offset, testPtView.x);\n testPtView.y = AuxCoordSystemState.limitRange(offset, screenRange.y - offset, testPtView.y);\n }\n\n // Limit point to NPC box to prevent triad from being clipped from display...\n const originPtNpc = viewport.viewToNpc(testPtView);\n originPtNpc.x = AuxCoordSystemState.limitRange(0, 1, originPtNpc.x);\n originPtNpc.y = AuxCoordSystemState.limitRange(0, 1, originPtNpc.y);\n originPtNpc.z = AuxCoordSystemState.limitRange(0, 1, originPtNpc.z);\n viewport.npcToView(originPtNpc, testPtView);\n viewport.viewToWorld(testPtView, drawOrigin);\n\n return inView;\n }\n\n private getAdjustedColor(inColor: ColorDef, isFill: boolean, viewport: Viewport, options: ACSDisplayOptions): ColorDef {\n let color;\n if ((options & ACSDisplayOptions.Hilite) !== ACSDisplayOptions.None) {\n color = viewport.hilite.color;\n } else if ((options & ACSDisplayOptions.Active) !== ACSDisplayOptions.None) {\n color = inColor.equals(ColorDef.white) ? viewport.getContrastToBackgroundColor() : inColor;\n } else {\n color = ColorDef.from(150, 150, 150, 0);\n }\n\n color = color.adjustedForContrast(viewport.view.backgroundColor);\n\n if (isFill)\n color = color.withTransparency((options & (ACSDisplayOptions.Deemphasized | ACSDisplayOptions.Dynamics)) !== ACSDisplayOptions.None ? 225 : 200);\n else\n color = color.withTransparency((options & ACSDisplayOptions.Deemphasized) !== ACSDisplayOptions.None ? 150 : 75);\n\n return color;\n }\n\n private addAxisLabel(builder: GraphicBuilder, axis: number, options: ACSDisplayOptions, vp: Viewport) {\n const color = ColorDef.white;\n const lineColor = this.getAdjustedColor(color, false, vp, options);\n builder.setSymbology(lineColor, lineColor, 2);\n\n const linePts1: Point3d[] = [];\n if (0 === axis) {\n linePts1[0] = Point3d.create(ACSDisplaySizes.LabelStart, -ACSDisplaySizes.LabelWidth);\n linePts1[1] = Point3d.create(ACSDisplaySizes.LabelEnd, ACSDisplaySizes.LabelWidth);\n } else {\n linePts1[0] = Point3d.create(0.0, ACSDisplaySizes.LabelStart);\n linePts1[1] = Point3d.create(0.0, (ACSDisplaySizes.LabelStart + ACSDisplaySizes.LabelEnd) * 0.5);\n }\n builder.addLineString(linePts1);\n\n const linePts2: Point3d[] = []; // NOTE: Don't use same point array, addPointString/addLineString don't deep copy...\n if (0 === axis) {\n linePts2[0] = Point3d.create(ACSDisplaySizes.LabelStart, ACSDisplaySizes.LabelWidth);\n linePts2[1] = Point3d.create(ACSDisplaySizes.LabelEnd, -ACSDisplaySizes.LabelWidth);\n } else {\n linePts2[0] = Point3d.create(ACSDisplaySizes.LabelWidth, ACSDisplaySizes.LabelEnd);\n linePts2[1] = Point3d.create(0.0, (ACSDisplaySizes.LabelStart + ACSDisplaySizes.LabelEnd) * 0.5);\n linePts2[2] = Point3d.create(-ACSDisplaySizes.LabelWidth, ACSDisplaySizes.LabelEnd);\n }\n builder.addLineString(linePts2);\n }\n\n private addAxis(builder: GraphicBuilder, axis: number, options: ACSDisplayOptions, vp: Viewport) {\n const color = (0 === axis ? ColorDef.red : (1 === axis ? ColorDef.green : ColorDef.blue));\n const lineColor = this.getAdjustedColor(color, false, vp, options);\n const fillColor = this.getAdjustedColor(color, true, vp, options);\n\n if (axis === 2) {\n builder.setSymbology(lineColor, lineColor, 6);\n builder.addPointString([Point3d.create(0.0, 0.0, ACSDisplaySizes.ZAxisLength)]); // NOTE: ACS origin point will be drawn separately as a pickable world decoration...\n\n const linePts2: Point3d[] = [Point3d.create(), Point3d.create()]; // NOTE: Don't use same point array, addPointString/addLineString don't deep copy...\n linePts2[1].z = ACSDisplaySizes.ZAxisLength;\n builder.setSymbology(lineColor, lineColor, 1, (options & ACSDisplayOptions.Dynamics) === ACSDisplayOptions.None ? LinePixels.Solid : LinePixels.Code2);\n builder.addLineString(linePts2);\n\n const scale = ACSDisplaySizes.ArrowTipWidth / 2;\n const center = Point3d.create();\n const viewRMatrix = vp.rotation;\n\n const xVec = viewRMatrix.getRow(0);\n const yVec = viewRMatrix.getRow(1);\n\n builder.placement.matrix.multiplyTransposeVectorInPlace(xVec);\n builder.placement.matrix.multiplyTransposeVectorInPlace(yVec);\n\n xVec.normalize(xVec);\n yVec.normalize(yVec);\n\n const ellipse = Arc3d.createScaledXYColumns(center, Matrix3d.createColumns(xVec, yVec, Vector3d.create()), scale, scale, AngleSweep.createStartEnd(Angle.createRadians(0), Angle.createRadians(Math.PI * 2)));\n builder.addArc(ellipse, false, false);\n\n builder.setBlankingFill(fillColor);\n builder.addArc(ellipse, true, true);\n return;\n }\n\n const shapePts: Point3d[] = [];\n shapePts[0] = Point3d.create(ACSDisplaySizes.ArrowTipEnd, 0.0);\n shapePts[1] = Point3d.create(ACSDisplaySizes.ArrowTipFlange, ACSDisplaySizes.ArrowTipWidth);\n shapePts[2] = Point3d.create(ACSDisplaySizes.ArrowTipStart, ACSDisplaySizes.ArrowBaseWidth);\n shapePts[3] = Point3d.create(ACSDisplaySizes.ArrowBaseStart, ACSDisplaySizes.ArrowBaseWidth);\n shapePts[4] = Point3d.create(ACSDisplaySizes.ArrowBaseStart, -ACSDisplaySizes.ArrowBaseWidth);\n shapePts[5] = Point3d.create(ACSDisplaySizes.ArrowTipStart, -ACSDisplaySizes.ArrowBaseWidth);\n shapePts[6] = Point3d.create(ACSDisplaySizes.ArrowTipFlange, -ACSDisplaySizes.ArrowTipWidth);\n shapePts[7] = shapePts[0].clone();\n if (1 === axis)\n shapePts.forEach((tmpPt) => tmpPt.set(tmpPt.y, tmpPt.x));\n\n builder.setSymbology(lineColor, lineColor, 1, (options & ACSDisplayOptions.Dynamics) === ACSDisplayOptions.None ? LinePixels.Solid : LinePixels.Code2);\n builder.addLineString(shapePts);\n\n this.addAxisLabel(builder, axis, options, vp);\n\n builder.setBlankingFill(fillColor);\n builder.addShape(shapePts);\n }\n\n /** Returns a GraphicBuilder for this AuxCoordSystemState. */\n private createGraphicBuilder(context: DecorateContext, options: ACSDisplayOptions): GraphicBuilder {\n const checkOutOfView = (options & ACSDisplayOptions.CheckVisible) !== ACSDisplayOptions.None;\n const drawOrigin = this.getOrigin();\n\n if (checkOutOfView && !AuxCoordSystemState.isOriginInView(drawOrigin, context.viewport, true))\n options = options | ACSDisplayOptions.Deemphasized;\n\n let pixelSize = context.viewport.pixelsFromInches(ACSDisplaySizes.TriadSizeInches);\n\n if ((options & ACSDisplayOptions.Deemphasized) !== ACSDisplayOptions.None)\n pixelSize *= 0.8;\n else if ((options & ACSDisplayOptions.Active) !== ACSDisplayOptions.None)\n pixelSize *= 0.9;\n\n const exaggerate = context.viewport.view.getAspectRatioSkew();\n const scale = context.getPixelSizeAtPoint(drawOrigin) * pixelSize;\n const rMatrix = this.getRotation();\n\n rMatrix.transposeInPlace();\n rMatrix.scaleColumns(scale, scale / exaggerate, scale, rMatrix);\n const transform = Transform.createRefs(drawOrigin, rMatrix);\n\n const builder = context.createGraphicBuilder(GraphicType.WorldOverlay, transform);\n const vp = context.viewport;\n this.addAxis(builder, 0, options, vp);\n this.addAxis(builder, 1, options, vp);\n this.addAxis(builder, 2, options, vp);\n return builder;\n }\n\n public display(context: DecorateContext, options: ACSDisplayOptions) {\n const builder = this.createGraphicBuilder(context, options);\n if (undefined !== builder)\n context.addDecorationFromBuilder(builder);\n }\n}\n\n/** The state of an AuxCoordSystem2d element in the frontend\n * @public\n * @extensions\n */\nexport class AuxCoordSystem2dState extends AuxCoordSystemState implements AuxCoordSystem2dProps {\n public static override get className() { return \"AuxCoordSystem2d\"; }\n public readonly origin: Point2d;\n public angle: number; // in degrees\n private readonly _rMatrix: Matrix3d;\n\n constructor(props: AuxCoordSystem2dProps, iModel: IModelConnection) {\n super(props, iModel);\n this.origin = Point2d.fromJSON(props.origin);\n this.angle = JsonUtils.asDouble(props.angle);\n this._rMatrix = Matrix3d.createRotationAroundVector(Vector3d.unitZ(), Angle.createDegrees(this.angle)) ?? Matrix3d.createIdentity();\n }\n\n public override toJSON(): AuxCoordSystem2dProps {\n const val = super.toJSON() as AuxCoordSystem2dProps;\n val.origin = this.origin;\n val.angle = this.angle;\n return val;\n }\n\n public getOrigin(result?: Point3d): Point3d { return Point3d.createFrom(this.origin, result); }\n public setOrigin(val: XYAndZ | XAndY): void { this.origin.setFrom(val); }\n public getRotation(result?: Matrix3d): Matrix3d { return this._rMatrix.clone(result); }\n public setRotation(val: Matrix3d): void {\n this._rMatrix.setFrom(val);\n const angle = YawPitchRollAngles.createFromMatrix3d(val);\n this.angle = (undefined !== angle ? angle.yaw.degrees : 0.0);\n }\n}\n\n/** The state of an AuxCoordSystem3d element in the frontend\n * @public\n * @extensions\n */\nexport class AuxCoordSystem3dState extends AuxCoordSystemState implements AuxCoordSystem3dProps {\n public static override get className() { return \"AuxCoordSystem3d\"; }\n public readonly origin: Point3d;\n public yaw: number; // in degrees\n public pitch: number; // in degrees\n public roll: number; // in degrees\n private readonly _rMatrix: Matrix3d;\n\n constructor(props: AuxCoordSystem3dProps, iModel: IModelConnection) {\n super(props, iModel);\n this.origin = Point3d.fromJSON(props.origin);\n this.yaw = JsonUtils.asDouble(props.yaw);\n this.pitch = JsonUtils.asDouble(props.pitch);\n this.roll = JsonUtils.asDouble(props.roll);\n const angles = new YawPitchRollAngles(Angle.createDegrees(this.yaw), Angle.createDegrees(this.pitch), Angle.createDegrees(this.roll));\n this._rMatrix = angles.toMatrix3d();\n }\n\n public override toJSON(): AuxCoordSystem3dProps {\n const val = super.toJSON() as AuxCoordSystem3dProps;\n val.origin = this.origin;\n val.yaw = this.yaw;\n val.pitch = this.pitch;\n val.roll = this.roll;\n return val;\n }\n\n public getOrigin(result?: Point3d): Point3d { return Point3d.createFrom(this.origin, result); }\n public setOrigin(val: XYAndZ | XAndY): void { this.origin.setFrom(val); }\n public getRotation(result?: Matrix3d): Matrix3d { return this._rMatrix.clone(result); }\n public setRotation(rMatrix: Matrix3d): void {\n this._rMatrix.setFrom(rMatrix);\n const angles = YawPitchRollAngles.createFromMatrix3d(rMatrix);\n this.yaw = (undefined !== angles ? angles.yaw.degrees : 0.0);\n this.pitch = (undefined !== angles ? angles.pitch.degrees : 0.0);\n this.roll = (undefined !== angles ? angles.roll.degrees : 0.0);\n }\n}\n\n/** The state of an AuxCoordSystemSpatial element in the frontend\n * @public\n * @extensions\n */\nexport class AuxCoordSystemSpatialState extends AuxCoordSystem3dState {\n public static override get className() { return \"AuxCoordSystemSpatial\"; }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawingViewState.d.ts","sourceRoot":"","sources":["../../src/DrawingViewState.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAyB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EACL,gBAAgB,EAAW,4BAA4B,EAAE,6BAA6B,EAAkB,uBAAuB,EAAE,qBAAqB,EAAqB,cAAc,EAC1L,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAqB,SAAS,EAAkB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMtD,OAAO,EAAE,oBAAoB,EAAmB,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAqB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,YAAY,EAAE,yBAAyB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEnJ;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,yBAAyB,EAAE,SAAS,CAAC;CAC/C;AA+QD;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,WAA2B,SAAS,WAAsC;IAE1E;;;OAGG;IACH,OAAc,wBAAwB,UAAS;IAE/C;;OAEG;IACH,OAAc,mBAAmB,UAAS;IAE1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmB;IAClD,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,WAAW,CAAC,CAAoB;IAExC,sCAAsC;IACtC,IAAW,mBAAmB,IAAI,uBAAuB,GAAG,SAAS,CAEpE;IAED,sCAAsC;IACtC,IAAW,kBAAkB,uBAE5B;IAED,sCAAsC;IACtC,IAAW,UAAU,IAAI,MAAM,GAAG,SAAS,CAE1C;IAED,sCAAsC;IACtC,IAAW,cAAc,IAAI;QAAE,WAAW,EAAE,UAAU,GAAG,WAAW,CAAA;KAAE,CAErE;gBAEkB,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,qBAAqB,EAAE,YAAY,EAAE,mBAAmB,EAAE,OAAO,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,uBAAuB;IAWpN,0CAA0C;IAC1B,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI;IAMlE,4CAA4C;IAC5B,kBAAkB,IAAI,IAAI;IAKpB,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;YAS7D,wBAAwB;
|
|
1
|
+
{"version":3,"file":"DrawingViewState.d.ts","sourceRoot":"","sources":["../../src/DrawingViewState.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAyB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EACL,gBAAgB,EAAW,4BAA4B,EAAE,6BAA6B,EAAkB,uBAAuB,EAAE,qBAAqB,EAAqB,cAAc,EAC1L,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAqB,SAAS,EAAkB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMtD,OAAO,EAAE,oBAAoB,EAAmB,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAqB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,YAAY,EAAE,yBAAyB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEnJ;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,yBAAyB,EAAE,SAAS,CAAC;CAC/C;AA+QD;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,WAA2B,SAAS,WAAsC;IAE1E;;;OAGG;IACH,OAAc,wBAAwB,UAAS;IAE/C;;OAEG;IACH,OAAc,mBAAmB,UAAS;IAE1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmB;IAClD,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,WAAW,CAAC,CAAoB;IAExC,sCAAsC;IACtC,IAAW,mBAAmB,IAAI,uBAAuB,GAAG,SAAS,CAEpE;IAED,sCAAsC;IACtC,IAAW,kBAAkB,uBAE5B;IAED,sCAAsC;IACtC,IAAW,UAAU,IAAI,MAAM,GAAG,SAAS,CAE1C;IAED,sCAAsC;IACtC,IAAW,cAAc,IAAI;QAAE,WAAW,EAAE,UAAU,GAAG,WAAW,CAAA;KAAE,CAErE;gBAEkB,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,qBAAqB,EAAE,YAAY,EAAE,mBAAmB,EAAE,OAAO,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,uBAAuB;IAWpN,0CAA0C;IAC1B,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI;IAMlE,4CAA4C;IAC5B,kBAAkB,IAAI,IAAI;IAKpB,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;YAS7D,wBAAwB;IA8BtC,gBAAgB;cACG,OAAO,CAAC,cAAc,EAAE,4BAA4B,GAAG,IAAI;IAM9E,gBAAgB;cACS,QAAQ,CAAC,eAAe,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;WAOzE,eAAe,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB,GAAG,gBAAgB;IASzF,OAAO,IAAI,cAAc;IAOlC,gBAAgB,IAAI,gBAAgB;IAS3C,IAAW,mBAAmB,IAAI,YAAY,CAK7C;IAEe,aAAa,IAAI,IAAI,IAAI,gBAAgB;IAEzD,mCAAmC;IACnB,SAAS;IAQzB,oCAAoC;IACpB,UAAU;IAQ1B,gBAAgB;IACA,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAMpE,gBAAgB;IACA,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAQxD,IAAoB,qBAAqB,IAAI,OAAO,CAEnD;IAED,gBAAgB;IAChB,IAAoB,kBAAkB,uBAErC;IAED,gBAAgB;IACA,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,QAAQ,GAAG,SAAS;IAK5F,YAAY;IACI,uBAAuB,CAAC,IAAI,EAAE,2BAA2B,GAAG,SAAS,GAAG,SAAS;CAMlG"}
|
|
@@ -310,14 +310,13 @@ class DrawingViewState extends ViewState_1.ViewState2d {
|
|
|
310
310
|
let displaySpatialView = false;
|
|
311
311
|
try {
|
|
312
312
|
const ecsql = `
|
|
313
|
-
SELECT spatialView,
|
|
313
|
+
SELECT spatialView.Id as spatialViewId,
|
|
314
314
|
json_extract(jsonProperties, '$.drawingToSpatialTransform') as drawingToSpatialTransform,
|
|
315
315
|
CAST(json_extract(jsonProperties, '$.displaySpatialView') as BOOLEAN) as displaySpatialView
|
|
316
316
|
FROM bis.SectionDrawing
|
|
317
317
|
WHERE ECInstanceId=${this.baseModelId}`;
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
spatialView = core_bentley_1.Id64.fromJSON(row.spatialView?.id);
|
|
318
|
+
for await (const row of this.iModel.createQueryReader(ecsql, undefined, { rowFormat: core_common_1.QueryRowFormat.UseECSqlPropertyNames })) {
|
|
319
|
+
spatialView = core_bentley_1.Id64.fromJSON(row.spatialViewId);
|
|
321
320
|
displaySpatialView = !!row.displaySpatialView;
|
|
322
321
|
try {
|
|
323
322
|
drawingToSpatialTransform = JSON.parse(row.drawingToSpatialTransform);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawingViewState.js","sourceRoot":"","sources":["../../src/DrawingViewState.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Views\n */\n\nimport { assert, dispose, Id64, Id64String } from \"@itwin/core-bentley\";\nimport {\n AxisAlignedBox3d, Frustum, HydrateViewStateRequestProps, HydrateViewStateResponseProps, QueryRowFormat, SectionDrawingViewProps, ViewDefinition2dProps, ViewFlagOverrides, ViewStateProps,\n} from \"@itwin/core-common\";\nimport { Constant, Range3d, Transform, TransformProps, Vector3d } from \"@itwin/core-geometry\";\nimport { CategorySelectorState } from \"./CategorySelectorState\";\nimport { CoordSystem } from \"./CoordSystem\";\nimport { DisplayStyle2dState } from \"./DisplayStyleState\";\nimport { Frustum2d } from \"./Frustum2d\";\nimport { IModelApp } from \"./IModelApp\";\nimport { IModelConnection } from \"./IModelConnection\";\nimport { FeatureSymbology } from \"./render/FeatureSymbology\";\nimport { GraphicBranch, GraphicBranchOptions } from \"./render/GraphicBranch\";\nimport { MockRender } from \"./internal/render/MockRender\";\nimport { RenderGraphic } from \"./render/RenderGraphic\";\nimport { Scene } from \"./render/Scene\";\nimport { DisclosedTileTreeSet, TileGraphicType } from \"./tile/internal\";\nimport { SceneContext } from \"./ViewContext\";\nimport { OffScreenViewport, Viewport } from \"./Viewport\";\nimport { ViewRect } from \"./common/ViewRect\";\nimport { AttachToViewportArgs, ComputeDisplayTransformArgs, ExtentLimits, GetAttachmentViewportArgs, ViewState2d, ViewState3d } from \"./ViewState\";\n\n/** Strictly for testing.\n * @internal\n */\nexport interface SectionDrawingInfo {\n readonly spatialView: Id64String;\n readonly drawingToSpatialTransform: Transform;\n}\n\n/** The information required to instantiate a [[SectionAttachment]]. This information is supplied to DrawingViewState constructor via ViewStateProps.\n * The spatial view is obtained asynchronously in DrawingViewState.load(). The SectionAttachment is created in DrawingViewState.attachToViewport and\n * disposed of in DrawingViewState.detachFromViewport.\n */\nclass SectionAttachmentInfo {\n private _spatialView: Id64String | ViewState3d;\n private readonly _drawingToSpatialTransform: Transform;\n private readonly _displaySpatialView: boolean;\n\n public get spatialView(): Id64String | ViewState3d { return this._spatialView; }\n public get wantDisplayed(): boolean {\n return this._displaySpatialView || DrawingViewState.alwaysDisplaySpatialView;\n }\n\n private constructor(spatialView: Id64String | ViewState3d, drawingToSpatialTransform: Transform, displaySpatialView: boolean) {\n this._spatialView = spatialView;\n this._drawingToSpatialTransform = drawingToSpatialTransform;\n this._displaySpatialView = displaySpatialView;\n }\n\n public static fromJSON(props?: SectionDrawingViewProps): SectionAttachmentInfo {\n if (!props)\n return new SectionAttachmentInfo(Id64.invalid, Transform.createIdentity(), false);\n\n return new SectionAttachmentInfo(props.spatialView, Transform.fromJSON(props.drawingToSpatialTransform), true === props.displaySpatialView);\n }\n\n public toJSON(): SectionDrawingViewProps | undefined {\n if (\"string\" === typeof this._spatialView && !Id64.isValidId64(this._spatialView))\n return undefined;\n\n return {\n spatialView: (this._spatialView instanceof ViewState3d) ? this._spatialView.id : this._spatialView,\n drawingToSpatialTransform: this._drawingToSpatialTransform.isIdentity ? undefined : this._drawingToSpatialTransform.toJSON(),\n displaySpatialView: this._displaySpatialView,\n };\n }\n\n public clone(iModel: IModelConnection): SectionAttachmentInfo {\n let spatialView = this._spatialView;\n if (spatialView instanceof ViewState3d)\n spatialView = spatialView.clone(iModel);\n\n return new SectionAttachmentInfo(spatialView, this._drawingToSpatialTransform, this._displaySpatialView);\n }\n\n public preload(options: HydrateViewStateRequestProps): void {\n if (!this.wantDisplayed)\n return;\n\n if (this._spatialView instanceof ViewState3d)\n return;\n\n if (!Id64.isValidId64(this._spatialView))\n return;\n\n options.spatialViewId = this._spatialView;\n options.viewStateLoadProps = {\n displayStyle: {\n omitScheduleScriptElementIds: !IModelApp.tileAdmin.enableFrontendScheduleScripts,\n compressExcludedElementIds: true,\n },\n };\n }\n\n public async load(iModel: IModelConnection): Promise<void> {\n if (!this.wantDisplayed)\n return;\n\n if (this._spatialView instanceof ViewState3d)\n return;\n\n if (!Id64.isValidId64(this._spatialView))\n return;\n\n const spatialView = await iModel.views.load(this._spatialView);\n if (spatialView instanceof ViewState3d)\n this._spatialView = spatialView;\n }\n\n public async postload(options: HydrateViewStateResponseProps, iModel: IModelConnection): Promise<void> {\n let spatialView;\n if (options.spatialViewProps) {\n spatialView = await iModel.views.convertViewStatePropsToViewState(options.spatialViewProps);\n }\n\n if (spatialView instanceof ViewState3d)\n this._spatialView = spatialView;\n }\n\n public createAttachment(toSheet: Transform | undefined): SectionAttachment | undefined {\n if (!this.wantDisplayed || !(this._spatialView instanceof ViewState3d))\n return undefined;\n\n const spatialToDrawing = this._drawingToSpatialTransform.inverse();\n return spatialToDrawing ? new SectionAttachment(this._spatialView, spatialToDrawing, this._drawingToSpatialTransform, toSheet) : undefined;\n }\n\n public get sectionDrawingInfo(): SectionDrawingInfo {\n return {\n drawingToSpatialTransform: this._drawingToSpatialTransform,\n spatialView: this._spatialView instanceof ViewState3d ? this._spatialView.id : this._spatialView,\n };\n }\n}\n\n/** A mostly no-op [[RenderTarget]] for a [[SectionAttachment]]. It allocates no webgl resources. */\nclass SectionTarget extends MockRender.OffScreenTarget {\n private readonly _attachment: SectionAttachment;\n\n public constructor(attachment: SectionAttachment) {\n super(IModelApp.renderSystem, new ViewRect(0, 0, 1, 1));\n this._attachment = attachment;\n }\n\n public override changeScene(scene: Scene): void {\n this._attachment.scene = scene;\n }\n\n public override overrideFeatureSymbology(ovrs: FeatureSymbology.Overrides): void {\n this._attachment.symbologyOverrides = ovrs;\n }\n}\n\n/** Draws the contents of an orthographic [[ViewState3d]] directly into a [[DrawingViewState]], if the associated [SectionDrawing]($backend)\n * specifies it should be. We select tiles for the view in the context of a lightweight offscreen viewport with a no-op [[RenderTarget]], then\n * add the resultant graphics to the drawing view's scene. The attachment is created in DrawingViewState.attachToViewport and disposed of in\n * DrawingViewState.detachFromViewport.\n */\nclass SectionAttachment {\n private readonly _viewFlagOverrides: ViewFlagOverrides;\n public readonly toDrawing: Transform;\n private readonly _fromDrawing: Transform;\n private readonly _viewRect = new ViewRect(0, 0, 1, 1);\n private readonly _originalFrustum = new Frustum();\n private readonly _drawingExtents: Vector3d;\n public readonly viewport: OffScreenViewport;\n private readonly _branchOptions: GraphicBranchOptions;\n public scene?: Scene;\n public symbologyOverrides: FeatureSymbology.Overrides;\n\n public get view(): ViewState3d {\n assert(this.viewport.view instanceof ViewState3d);\n return this.viewport.view;\n }\n\n public get zDepth(): number {\n return this._drawingExtents.z;\n }\n\n public get drawingRange() {\n const frustum3d = this._originalFrustum.transformBy(this.toDrawing);\n return frustum3d.toRange();\n }\n\n public constructor(view: ViewState3d, toDrawing: Transform, fromDrawing: Transform, toSheet: Transform | undefined) {\n // Save the input for clone(). Attach a copy to the viewport.\n this.toDrawing = toDrawing;\n this._fromDrawing = fromDrawing;\n\n this.viewport = OffScreenViewport.createViewport(view, new SectionTarget(this), true);\n\n this.symbologyOverrides = new FeatureSymbology.Overrides(view);\n let clipVolume;\n let clip = this.view.getViewClip();\n if (clip) {\n clip = clip.clone();\n const clipTransform = toSheet ? toSheet.multiplyTransformTransform(this.toDrawing) : this.toDrawing;\n clip.transformInPlace(clipTransform);\n clipVolume = IModelApp.renderSystem.createClipVolume(clip);\n }\n\n this._branchOptions = {\n clipVolume,\n hline: view.getDisplayStyle3d().settings.hiddenLineSettings,\n inSectionDrawingAttachment: true,\n frustum: {\n is3d: true,\n scale: { x: 1, y: 1 },\n },\n contours: view.getDisplayStyle3d().settings.contours\n };\n\n this._viewFlagOverrides = { ...view.viewFlags, lighting: false, shadows: false };\n\n // Save off the original frustum (potentially adjusted by viewport).\n this.viewport.setupFromView();\n this.viewport.viewingSpace.getFrustum(CoordSystem.World, true, this._originalFrustum);\n\n const drawingFrustum = this._originalFrustum.transformBy(this.toDrawing);\n const drawingRange = drawingFrustum.toRange();\n this._drawingExtents = drawingRange.diagonal();\n this._drawingExtents.z = Math.abs(this._drawingExtents.z);\n }\n\n public [Symbol.dispose](): void {\n this.viewport[Symbol.dispose]();\n }\n\n public addToScene(context: SceneContext): void {\n if (context.viewport.freezeScene)\n return;\n\n const pixelSize = context.viewport.getPixelSizeAtPoint();\n if (0 === pixelSize)\n return;\n\n // Adjust offscreen viewport's frustum based on intersection with drawing view frustum.\n const frustum3d = this._originalFrustum.transformBy(this.toDrawing);\n const frustumRange3d = frustum3d.toRange();\n const frustum2d = context.viewport.getWorldFrustum();\n const frustumRange2d = frustum2d.toRange();\n const intersect = frustumRange3d.intersect(frustumRange2d);\n if (intersect.isNull)\n return;\n\n frustum3d.initFromRange(intersect);\n frustum3d.transformBy(this._fromDrawing, frustum3d);\n this.viewport.setupViewFromFrustum(frustum3d);\n\n // Adjust view rect based on size of attachment on screen so tiles of appropriate LOD are selected.\n const width = this._drawingExtents.x * intersect.xLength() / frustumRange3d.xLength();\n const height = this._drawingExtents.y * intersect.yLength() / frustumRange3d.yLength();\n this._viewRect.width = Math.max(1, Math.round(width / pixelSize));\n this._viewRect.height = Math.max(1, Math.round(height / pixelSize));\n this.viewport.setRect(this._viewRect);\n\n // Propagate settings from drawing viewport.\n this.viewport.debugBoundingBoxes = context.viewport.debugBoundingBoxes;\n this.viewport.setTileSizeModifier(context.viewport.tileSizeModifier);\n\n // Create the scene.\n this.viewport.renderFrame();\n const scene = this.scene;\n if (!scene)\n return;\n\n // Extract graphics and insert into drawing's scene context.\n const outputGraphics = (source: RenderGraphic[]) => {\n if (0 === source.length)\n return;\n\n const graphics = new GraphicBranch();\n graphics.setViewFlagOverrides(this._viewFlagOverrides);\n graphics.symbologyOverrides = this.symbologyOverrides;\n\n for (const graphic of source)\n graphics.entries.push(graphic);\n\n const branch = context.createGraphicBranch(graphics, this.toDrawing, this._branchOptions);\n context.outputGraphic(branch);\n };\n\n outputGraphics(scene.foreground);\n context.withGraphicType(TileGraphicType.BackgroundMap, () => outputGraphics(scene.background));\n context.withGraphicType(TileGraphicType.Overlay, () => outputGraphics(scene.overlay));\n\n // Report tile statistics to drawing viewport.\n const tileAdmin = IModelApp.tileAdmin;\n const selectedAndReady = tileAdmin.getTilesForUser(this.viewport);\n const requested = tileAdmin.getRequestsForUser(this.viewport);\n tileAdmin.addExternalTilesForUser(context.viewport, {\n requested: requested?.size ?? 0,\n selected: selectedAndReady?.selected.size ?? 0,\n ready: selectedAndReady?.ready.size ?? 0,\n });\n }\n}\n\n/** A view of a [DrawingModel]($backend)\n * @public\n * @extensions\n */\nexport class DrawingViewState extends ViewState2d {\n public static override get className() { return \"DrawingViewDefinition\"; }\n\n /** Exposed strictly for testing and debugging. Indicates that when loading the view, the spatial view should be displayed even\n * if `SectionDrawing.displaySpatialView` is not `true`.\n * @internal\n */\n public static alwaysDisplaySpatialView = false;\n\n /** Exposed strictly for testing and debugging. Indicates that the 2d graphics should not be displayed.\n * @internal\n */\n public static hideDrawingGraphics = false;\n\n private readonly _viewedExtents: AxisAlignedBox3d;\n private _attachmentInfo: SectionAttachmentInfo;\n private _attachment?: SectionAttachment;\n\n /** Strictly for testing. @internal */\n public get sectionDrawingProps(): SectionDrawingViewProps | undefined {\n return this._attachmentInfo.toJSON();\n }\n\n /** Strictly for testing. @internal */\n public get sectionDrawingInfo() {\n return this._attachmentInfo.sectionDrawingInfo;\n }\n\n /** Strictly for testing. @internal */\n public get attachment(): object | undefined {\n return this._attachment;\n }\n\n /** Strictly for testing. @internal */\n public get attachmentInfo(): { spatialView: Id64String | ViewState3d } {\n return this._attachmentInfo;\n }\n\n public constructor(props: ViewDefinition2dProps, iModel: IModelConnection, categories: CategorySelectorState, displayStyle: DisplayStyle2dState, extents: AxisAlignedBox3d, sectionDrawing?: SectionDrawingViewProps) {\n super(props, iModel, categories, displayStyle);\n if (categories instanceof DrawingViewState) {\n this._viewedExtents = categories._viewedExtents.clone();\n this._attachmentInfo = categories._attachmentInfo.clone(iModel);\n } else {\n this._viewedExtents = extents;\n this._attachmentInfo = SectionAttachmentInfo.fromJSON(sectionDrawing);\n }\n }\n\n /** See [[ViewState.attachToViewport]]. */\n public override attachToViewport(args: AttachToViewportArgs): void {\n super.attachToViewport(args);\n assert(undefined === this._attachment);\n this._attachment = this._attachmentInfo.createAttachment(args.drawingToSheetTransform);\n }\n\n /** See [[ViewState.detachFromViewport]]. */\n public override detachFromViewport(): void {\n super.detachFromViewport();\n this._attachment = dispose(this._attachment);\n }\n\n public override async changeViewedModel(modelId: Id64String): Promise<void> {\n await super.changeViewedModel(modelId);\n const props = await this.querySectionDrawingProps();\n this._attachmentInfo = SectionAttachmentInfo.fromJSON(props);\n\n // super.changeViewedModel() throws if attached to viewport, and attachment only allocated while attached to viewport\n assert(undefined === this._attachment);\n }\n\n private async querySectionDrawingProps(): Promise<SectionDrawingViewProps> {\n let spatialView = Id64.invalid;\n let drawingToSpatialTransform: TransformProps | undefined;\n let displaySpatialView = false;\n try {\n const ecsql = `\n SELECT spatialView,\n json_extract(jsonProperties, '$.drawingToSpatialTransform') as drawingToSpatialTransform,\n CAST(json_extract(jsonProperties, '$.displaySpatialView') as BOOLEAN) as displaySpatialView\n FROM bis.SectionDrawing\n WHERE ECInstanceId=${this.baseModelId}`;\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n for await (const row of this.iModel.createQueryReader(ecsql, undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames })) {\n spatialView = Id64.fromJSON(row.spatialView?.id);\n displaySpatialView = !!row.displaySpatialView;\n try {\n drawingToSpatialTransform = JSON.parse(row.drawingToSpatialTransform);\n } catch {\n // We'll use identity transform.\n }\n\n break;\n }\n } catch {\n // The version of BisCore ECSchema in the iModel is probably too old to contain the SectionDrawing ECClass.\n }\n\n return { spatialView, displaySpatialView, drawingToSpatialTransform };\n }\n\n /** @internal */\n protected override preload(hydrateRequest: HydrateViewStateRequestProps): void {\n assert(!this.isAttachedToViewport);\n super.preload(hydrateRequest);\n this._attachmentInfo.preload(hydrateRequest);\n }\n\n /** @internal */\n protected override async postload(hydrateResponse: HydrateViewStateResponseProps): Promise<void> {\n const promises = [];\n promises.push(super.postload(hydrateResponse));\n promises.push(this._attachmentInfo.postload(hydrateResponse, this.iModel));\n await Promise.all(promises);\n }\n\n public static override createFromProps(props: ViewStateProps, iModel: IModelConnection): DrawingViewState {\n const cat = new CategorySelectorState(props.categorySelectorProps, iModel);\n const displayStyleState = new DisplayStyle2dState(props.displayStyleProps, iModel);\n const extents = props.modelExtents ? Range3d.fromJSON(props.modelExtents) : new Range3d();\n\n // use \"new this\" so subclasses are correct\n return new this(props.viewDefinitionProps as ViewDefinition2dProps, iModel, cat, displayStyleState, extents, props.sectionDrawing);\n }\n\n public override toProps(): ViewStateProps {\n const props = super.toProps();\n props.modelExtents = this._viewedExtents.toJSON();\n props.sectionDrawing = this._attachmentInfo.toJSON();\n return props;\n }\n\n public getViewedExtents(): AxisAlignedBox3d {\n const extents = this._viewedExtents.clone();\n if (this._attachment) {\n extents.extendRange(this._attachment.drawingRange);\n }\n\n return extents;\n }\n\n public get defaultExtentLimits(): ExtentLimits {\n return {\n min: Constant.oneMillimeter,\n max: 3 * Constant.diameterOfEarth,\n };\n }\n\n public override isDrawingView(): this is DrawingViewState { return true; }\n\n /** See [[ViewState.getOrigin]]. */\n public override getOrigin() {\n const origin = super.getOrigin();\n if (this._attachment)\n origin.z = -this._attachment.zDepth;\n\n return origin;\n }\n\n /** See [[ViewState.getExtents]]. */\n public override getExtents() {\n const extents = super.getExtents();\n if (this._attachment)\n extents.z = this._attachment.zDepth + Frustum2d.minimumZDistance;\n\n return extents;\n }\n\n /** @internal */\n public override discloseTileTrees(trees: DisclosedTileTreeSet): void {\n super.discloseTileTrees(trees);\n if (this._attachment)\n trees.disclose(this._attachment.viewport);\n }\n\n /** @internal */\n public override createScene(context: SceneContext): void {\n if (!DrawingViewState.hideDrawingGraphics)\n super.createScene(context);\n\n if (this._attachment)\n this._attachment.addToScene(context);\n }\n\n public override get areAllTileTreesLoaded(): boolean {\n return super.areAllTileTreesLoaded && (!this._attachment || this._attachment.view.areAllTileTreesLoaded);\n }\n\n /** @internal */\n public override get secondaryViewports() {\n return this._attachment ? [this._attachment.viewport] : super.secondaryViewports;\n }\n\n /** @internal */\n public override getAttachmentViewport(args: GetAttachmentViewportArgs): Viewport | undefined {\n const attach = args.inSectionDrawingAttachment ? this._attachment : undefined;\n return attach?.viewport;\n }\n\n /** @beta */\n public override computeDisplayTransform(args: ComputeDisplayTransformArgs): Transform | undefined {\n // ###TODO we're currently ignoring model and element Id in args, assuming irrelevant for drawings.\n // Should probably call super or have super call us.\n const attach = args.inSectionDrawingAttachment ? this._attachment : undefined;\n return attach?.toDrawing.clone(args.output);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"DrawingViewState.js","sourceRoot":"","sources":["../../src/DrawingViewState.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Views\n */\n\nimport { assert, dispose, Id64, Id64String } from \"@itwin/core-bentley\";\nimport {\n AxisAlignedBox3d, Frustum, HydrateViewStateRequestProps, HydrateViewStateResponseProps, QueryRowFormat, SectionDrawingViewProps, ViewDefinition2dProps, ViewFlagOverrides, ViewStateProps,\n} from \"@itwin/core-common\";\nimport { Constant, Range3d, Transform, TransformProps, Vector3d } from \"@itwin/core-geometry\";\nimport { CategorySelectorState } from \"./CategorySelectorState\";\nimport { CoordSystem } from \"./CoordSystem\";\nimport { DisplayStyle2dState } from \"./DisplayStyleState\";\nimport { Frustum2d } from \"./Frustum2d\";\nimport { IModelApp } from \"./IModelApp\";\nimport { IModelConnection } from \"./IModelConnection\";\nimport { FeatureSymbology } from \"./render/FeatureSymbology\";\nimport { GraphicBranch, GraphicBranchOptions } from \"./render/GraphicBranch\";\nimport { MockRender } from \"./internal/render/MockRender\";\nimport { RenderGraphic } from \"./render/RenderGraphic\";\nimport { Scene } from \"./render/Scene\";\nimport { DisclosedTileTreeSet, TileGraphicType } from \"./tile/internal\";\nimport { SceneContext } from \"./ViewContext\";\nimport { OffScreenViewport, Viewport } from \"./Viewport\";\nimport { ViewRect } from \"./common/ViewRect\";\nimport { AttachToViewportArgs, ComputeDisplayTransformArgs, ExtentLimits, GetAttachmentViewportArgs, ViewState2d, ViewState3d } from \"./ViewState\";\n\n/** Strictly for testing.\n * @internal\n */\nexport interface SectionDrawingInfo {\n readonly spatialView: Id64String;\n readonly drawingToSpatialTransform: Transform;\n}\n\n/** The information required to instantiate a [[SectionAttachment]]. This information is supplied to DrawingViewState constructor via ViewStateProps.\n * The spatial view is obtained asynchronously in DrawingViewState.load(). The SectionAttachment is created in DrawingViewState.attachToViewport and\n * disposed of in DrawingViewState.detachFromViewport.\n */\nclass SectionAttachmentInfo {\n private _spatialView: Id64String | ViewState3d;\n private readonly _drawingToSpatialTransform: Transform;\n private readonly _displaySpatialView: boolean;\n\n public get spatialView(): Id64String | ViewState3d { return this._spatialView; }\n public get wantDisplayed(): boolean {\n return this._displaySpatialView || DrawingViewState.alwaysDisplaySpatialView;\n }\n\n private constructor(spatialView: Id64String | ViewState3d, drawingToSpatialTransform: Transform, displaySpatialView: boolean) {\n this._spatialView = spatialView;\n this._drawingToSpatialTransform = drawingToSpatialTransform;\n this._displaySpatialView = displaySpatialView;\n }\n\n public static fromJSON(props?: SectionDrawingViewProps): SectionAttachmentInfo {\n if (!props)\n return new SectionAttachmentInfo(Id64.invalid, Transform.createIdentity(), false);\n\n return new SectionAttachmentInfo(props.spatialView, Transform.fromJSON(props.drawingToSpatialTransform), true === props.displaySpatialView);\n }\n\n public toJSON(): SectionDrawingViewProps | undefined {\n if (\"string\" === typeof this._spatialView && !Id64.isValidId64(this._spatialView))\n return undefined;\n\n return {\n spatialView: (this._spatialView instanceof ViewState3d) ? this._spatialView.id : this._spatialView,\n drawingToSpatialTransform: this._drawingToSpatialTransform.isIdentity ? undefined : this._drawingToSpatialTransform.toJSON(),\n displaySpatialView: this._displaySpatialView,\n };\n }\n\n public clone(iModel: IModelConnection): SectionAttachmentInfo {\n let spatialView = this._spatialView;\n if (spatialView instanceof ViewState3d)\n spatialView = spatialView.clone(iModel);\n\n return new SectionAttachmentInfo(spatialView, this._drawingToSpatialTransform, this._displaySpatialView);\n }\n\n public preload(options: HydrateViewStateRequestProps): void {\n if (!this.wantDisplayed)\n return;\n\n if (this._spatialView instanceof ViewState3d)\n return;\n\n if (!Id64.isValidId64(this._spatialView))\n return;\n\n options.spatialViewId = this._spatialView;\n options.viewStateLoadProps = {\n displayStyle: {\n omitScheduleScriptElementIds: !IModelApp.tileAdmin.enableFrontendScheduleScripts,\n compressExcludedElementIds: true,\n },\n };\n }\n\n public async load(iModel: IModelConnection): Promise<void> {\n if (!this.wantDisplayed)\n return;\n\n if (this._spatialView instanceof ViewState3d)\n return;\n\n if (!Id64.isValidId64(this._spatialView))\n return;\n\n const spatialView = await iModel.views.load(this._spatialView);\n if (spatialView instanceof ViewState3d)\n this._spatialView = spatialView;\n }\n\n public async postload(options: HydrateViewStateResponseProps, iModel: IModelConnection): Promise<void> {\n let spatialView;\n if (options.spatialViewProps) {\n spatialView = await iModel.views.convertViewStatePropsToViewState(options.spatialViewProps);\n }\n\n if (spatialView instanceof ViewState3d)\n this._spatialView = spatialView;\n }\n\n public createAttachment(toSheet: Transform | undefined): SectionAttachment | undefined {\n if (!this.wantDisplayed || !(this._spatialView instanceof ViewState3d))\n return undefined;\n\n const spatialToDrawing = this._drawingToSpatialTransform.inverse();\n return spatialToDrawing ? new SectionAttachment(this._spatialView, spatialToDrawing, this._drawingToSpatialTransform, toSheet) : undefined;\n }\n\n public get sectionDrawingInfo(): SectionDrawingInfo {\n return {\n drawingToSpatialTransform: this._drawingToSpatialTransform,\n spatialView: this._spatialView instanceof ViewState3d ? this._spatialView.id : this._spatialView,\n };\n }\n}\n\n/** A mostly no-op [[RenderTarget]] for a [[SectionAttachment]]. It allocates no webgl resources. */\nclass SectionTarget extends MockRender.OffScreenTarget {\n private readonly _attachment: SectionAttachment;\n\n public constructor(attachment: SectionAttachment) {\n super(IModelApp.renderSystem, new ViewRect(0, 0, 1, 1));\n this._attachment = attachment;\n }\n\n public override changeScene(scene: Scene): void {\n this._attachment.scene = scene;\n }\n\n public override overrideFeatureSymbology(ovrs: FeatureSymbology.Overrides): void {\n this._attachment.symbologyOverrides = ovrs;\n }\n}\n\n/** Draws the contents of an orthographic [[ViewState3d]] directly into a [[DrawingViewState]], if the associated [SectionDrawing]($backend)\n * specifies it should be. We select tiles for the view in the context of a lightweight offscreen viewport with a no-op [[RenderTarget]], then\n * add the resultant graphics to the drawing view's scene. The attachment is created in DrawingViewState.attachToViewport and disposed of in\n * DrawingViewState.detachFromViewport.\n */\nclass SectionAttachment {\n private readonly _viewFlagOverrides: ViewFlagOverrides;\n public readonly toDrawing: Transform;\n private readonly _fromDrawing: Transform;\n private readonly _viewRect = new ViewRect(0, 0, 1, 1);\n private readonly _originalFrustum = new Frustum();\n private readonly _drawingExtents: Vector3d;\n public readonly viewport: OffScreenViewport;\n private readonly _branchOptions: GraphicBranchOptions;\n public scene?: Scene;\n public symbologyOverrides: FeatureSymbology.Overrides;\n\n public get view(): ViewState3d {\n assert(this.viewport.view instanceof ViewState3d);\n return this.viewport.view;\n }\n\n public get zDepth(): number {\n return this._drawingExtents.z;\n }\n\n public get drawingRange() {\n const frustum3d = this._originalFrustum.transformBy(this.toDrawing);\n return frustum3d.toRange();\n }\n\n public constructor(view: ViewState3d, toDrawing: Transform, fromDrawing: Transform, toSheet: Transform | undefined) {\n // Save the input for clone(). Attach a copy to the viewport.\n this.toDrawing = toDrawing;\n this._fromDrawing = fromDrawing;\n\n this.viewport = OffScreenViewport.createViewport(view, new SectionTarget(this), true);\n\n this.symbologyOverrides = new FeatureSymbology.Overrides(view);\n let clipVolume;\n let clip = this.view.getViewClip();\n if (clip) {\n clip = clip.clone();\n const clipTransform = toSheet ? toSheet.multiplyTransformTransform(this.toDrawing) : this.toDrawing;\n clip.transformInPlace(clipTransform);\n clipVolume = IModelApp.renderSystem.createClipVolume(clip);\n }\n\n this._branchOptions = {\n clipVolume,\n hline: view.getDisplayStyle3d().settings.hiddenLineSettings,\n inSectionDrawingAttachment: true,\n frustum: {\n is3d: true,\n scale: { x: 1, y: 1 },\n },\n contours: view.getDisplayStyle3d().settings.contours\n };\n\n this._viewFlagOverrides = { ...view.viewFlags, lighting: false, shadows: false };\n\n // Save off the original frustum (potentially adjusted by viewport).\n this.viewport.setupFromView();\n this.viewport.viewingSpace.getFrustum(CoordSystem.World, true, this._originalFrustum);\n\n const drawingFrustum = this._originalFrustum.transformBy(this.toDrawing);\n const drawingRange = drawingFrustum.toRange();\n this._drawingExtents = drawingRange.diagonal();\n this._drawingExtents.z = Math.abs(this._drawingExtents.z);\n }\n\n public [Symbol.dispose](): void {\n this.viewport[Symbol.dispose]();\n }\n\n public addToScene(context: SceneContext): void {\n if (context.viewport.freezeScene)\n return;\n\n const pixelSize = context.viewport.getPixelSizeAtPoint();\n if (0 === pixelSize)\n return;\n\n // Adjust offscreen viewport's frustum based on intersection with drawing view frustum.\n const frustum3d = this._originalFrustum.transformBy(this.toDrawing);\n const frustumRange3d = frustum3d.toRange();\n const frustum2d = context.viewport.getWorldFrustum();\n const frustumRange2d = frustum2d.toRange();\n const intersect = frustumRange3d.intersect(frustumRange2d);\n if (intersect.isNull)\n return;\n\n frustum3d.initFromRange(intersect);\n frustum3d.transformBy(this._fromDrawing, frustum3d);\n this.viewport.setupViewFromFrustum(frustum3d);\n\n // Adjust view rect based on size of attachment on screen so tiles of appropriate LOD are selected.\n const width = this._drawingExtents.x * intersect.xLength() / frustumRange3d.xLength();\n const height = this._drawingExtents.y * intersect.yLength() / frustumRange3d.yLength();\n this._viewRect.width = Math.max(1, Math.round(width / pixelSize));\n this._viewRect.height = Math.max(1, Math.round(height / pixelSize));\n this.viewport.setRect(this._viewRect);\n\n // Propagate settings from drawing viewport.\n this.viewport.debugBoundingBoxes = context.viewport.debugBoundingBoxes;\n this.viewport.setTileSizeModifier(context.viewport.tileSizeModifier);\n\n // Create the scene.\n this.viewport.renderFrame();\n const scene = this.scene;\n if (!scene)\n return;\n\n // Extract graphics and insert into drawing's scene context.\n const outputGraphics = (source: RenderGraphic[]) => {\n if (0 === source.length)\n return;\n\n const graphics = new GraphicBranch();\n graphics.setViewFlagOverrides(this._viewFlagOverrides);\n graphics.symbologyOverrides = this.symbologyOverrides;\n\n for (const graphic of source)\n graphics.entries.push(graphic);\n\n const branch = context.createGraphicBranch(graphics, this.toDrawing, this._branchOptions);\n context.outputGraphic(branch);\n };\n\n outputGraphics(scene.foreground);\n context.withGraphicType(TileGraphicType.BackgroundMap, () => outputGraphics(scene.background));\n context.withGraphicType(TileGraphicType.Overlay, () => outputGraphics(scene.overlay));\n\n // Report tile statistics to drawing viewport.\n const tileAdmin = IModelApp.tileAdmin;\n const selectedAndReady = tileAdmin.getTilesForUser(this.viewport);\n const requested = tileAdmin.getRequestsForUser(this.viewport);\n tileAdmin.addExternalTilesForUser(context.viewport, {\n requested: requested?.size ?? 0,\n selected: selectedAndReady?.selected.size ?? 0,\n ready: selectedAndReady?.ready.size ?? 0,\n });\n }\n}\n\n/** A view of a [DrawingModel]($backend)\n * @public\n * @extensions\n */\nexport class DrawingViewState extends ViewState2d {\n public static override get className() { return \"DrawingViewDefinition\"; }\n\n /** Exposed strictly for testing and debugging. Indicates that when loading the view, the spatial view should be displayed even\n * if `SectionDrawing.displaySpatialView` is not `true`.\n * @internal\n */\n public static alwaysDisplaySpatialView = false;\n\n /** Exposed strictly for testing and debugging. Indicates that the 2d graphics should not be displayed.\n * @internal\n */\n public static hideDrawingGraphics = false;\n\n private readonly _viewedExtents: AxisAlignedBox3d;\n private _attachmentInfo: SectionAttachmentInfo;\n private _attachment?: SectionAttachment;\n\n /** Strictly for testing. @internal */\n public get sectionDrawingProps(): SectionDrawingViewProps | undefined {\n return this._attachmentInfo.toJSON();\n }\n\n /** Strictly for testing. @internal */\n public get sectionDrawingInfo() {\n return this._attachmentInfo.sectionDrawingInfo;\n }\n\n /** Strictly for testing. @internal */\n public get attachment(): object | undefined {\n return this._attachment;\n }\n\n /** Strictly for testing. @internal */\n public get attachmentInfo(): { spatialView: Id64String | ViewState3d } {\n return this._attachmentInfo;\n }\n\n public constructor(props: ViewDefinition2dProps, iModel: IModelConnection, categories: CategorySelectorState, displayStyle: DisplayStyle2dState, extents: AxisAlignedBox3d, sectionDrawing?: SectionDrawingViewProps) {\n super(props, iModel, categories, displayStyle);\n if (categories instanceof DrawingViewState) {\n this._viewedExtents = categories._viewedExtents.clone();\n this._attachmentInfo = categories._attachmentInfo.clone(iModel);\n } else {\n this._viewedExtents = extents;\n this._attachmentInfo = SectionAttachmentInfo.fromJSON(sectionDrawing);\n }\n }\n\n /** See [[ViewState.attachToViewport]]. */\n public override attachToViewport(args: AttachToViewportArgs): void {\n super.attachToViewport(args);\n assert(undefined === this._attachment);\n this._attachment = this._attachmentInfo.createAttachment(args.drawingToSheetTransform);\n }\n\n /** See [[ViewState.detachFromViewport]]. */\n public override detachFromViewport(): void {\n super.detachFromViewport();\n this._attachment = dispose(this._attachment);\n }\n\n public override async changeViewedModel(modelId: Id64String): Promise<void> {\n await super.changeViewedModel(modelId);\n const props = await this.querySectionDrawingProps();\n this._attachmentInfo = SectionAttachmentInfo.fromJSON(props);\n\n // super.changeViewedModel() throws if attached to viewport, and attachment only allocated while attached to viewport\n assert(undefined === this._attachment);\n }\n\n private async querySectionDrawingProps(): Promise<SectionDrawingViewProps> {\n let spatialView = Id64.invalid;\n let drawingToSpatialTransform: TransformProps | undefined;\n let displaySpatialView = false;\n try {\n const ecsql = `\n SELECT spatialView.Id as spatialViewId,\n json_extract(jsonProperties, '$.drawingToSpatialTransform') as drawingToSpatialTransform,\n CAST(json_extract(jsonProperties, '$.displaySpatialView') as BOOLEAN) as displaySpatialView\n FROM bis.SectionDrawing\n WHERE ECInstanceId=${this.baseModelId}`;\n\n for await (const row of this.iModel.createQueryReader(ecsql, undefined, { rowFormat: QueryRowFormat.UseECSqlPropertyNames })) {\n spatialView = Id64.fromJSON(row.spatialViewId);\n displaySpatialView = !!row.displaySpatialView;\n try {\n drawingToSpatialTransform = JSON.parse(row.drawingToSpatialTransform);\n } catch {\n // We'll use identity transform.\n }\n\n break;\n }\n } catch {\n // The version of BisCore ECSchema in the iModel is probably too old to contain the SectionDrawing ECClass.\n }\n\n return { spatialView, displaySpatialView, drawingToSpatialTransform };\n }\n\n /** @internal */\n protected override preload(hydrateRequest: HydrateViewStateRequestProps): void {\n assert(!this.isAttachedToViewport);\n super.preload(hydrateRequest);\n this._attachmentInfo.preload(hydrateRequest);\n }\n\n /** @internal */\n protected override async postload(hydrateResponse: HydrateViewStateResponseProps): Promise<void> {\n const promises = [];\n promises.push(super.postload(hydrateResponse));\n promises.push(this._attachmentInfo.postload(hydrateResponse, this.iModel));\n await Promise.all(promises);\n }\n\n public static override createFromProps(props: ViewStateProps, iModel: IModelConnection): DrawingViewState {\n const cat = new CategorySelectorState(props.categorySelectorProps, iModel);\n const displayStyleState = new DisplayStyle2dState(props.displayStyleProps, iModel);\n const extents = props.modelExtents ? Range3d.fromJSON(props.modelExtents) : new Range3d();\n\n // use \"new this\" so subclasses are correct\n return new this(props.viewDefinitionProps as ViewDefinition2dProps, iModel, cat, displayStyleState, extents, props.sectionDrawing);\n }\n\n public override toProps(): ViewStateProps {\n const props = super.toProps();\n props.modelExtents = this._viewedExtents.toJSON();\n props.sectionDrawing = this._attachmentInfo.toJSON();\n return props;\n }\n\n public getViewedExtents(): AxisAlignedBox3d {\n const extents = this._viewedExtents.clone();\n if (this._attachment) {\n extents.extendRange(this._attachment.drawingRange);\n }\n\n return extents;\n }\n\n public get defaultExtentLimits(): ExtentLimits {\n return {\n min: Constant.oneMillimeter,\n max: 3 * Constant.diameterOfEarth,\n };\n }\n\n public override isDrawingView(): this is DrawingViewState { return true; }\n\n /** See [[ViewState.getOrigin]]. */\n public override getOrigin() {\n const origin = super.getOrigin();\n if (this._attachment)\n origin.z = -this._attachment.zDepth;\n\n return origin;\n }\n\n /** See [[ViewState.getExtents]]. */\n public override getExtents() {\n const extents = super.getExtents();\n if (this._attachment)\n extents.z = this._attachment.zDepth + Frustum2d.minimumZDistance;\n\n return extents;\n }\n\n /** @internal */\n public override discloseTileTrees(trees: DisclosedTileTreeSet): void {\n super.discloseTileTrees(trees);\n if (this._attachment)\n trees.disclose(this._attachment.viewport);\n }\n\n /** @internal */\n public override createScene(context: SceneContext): void {\n if (!DrawingViewState.hideDrawingGraphics)\n super.createScene(context);\n\n if (this._attachment)\n this._attachment.addToScene(context);\n }\n\n public override get areAllTileTreesLoaded(): boolean {\n return super.areAllTileTreesLoaded && (!this._attachment || this._attachment.view.areAllTileTreesLoaded);\n }\n\n /** @internal */\n public override get secondaryViewports() {\n return this._attachment ? [this._attachment.viewport] : super.secondaryViewports;\n }\n\n /** @internal */\n public override getAttachmentViewport(args: GetAttachmentViewportArgs): Viewport | undefined {\n const attach = args.inSectionDrawingAttachment ? this._attachment : undefined;\n return attach?.viewport;\n }\n\n /** @beta */\n public override computeDisplayTransform(args: ComputeDisplayTransformArgs): Transform | undefined {\n // ###TODO we're currently ignoring model and element Id in args, assuming irrelevant for drawings.\n // Should probably call super or have super call us.\n const attach = args.inSectionDrawingAttachment ? this._attachment : undefined;\n return attach?.toDrawing.clone(args.output);\n }\n}\n"]}
|
package/lib/cjs/EntityState.js
CHANGED
|
@@ -97,7 +97,7 @@ class ElementState extends EntityState {
|
|
|
97
97
|
toJSON() {
|
|
98
98
|
const val = super.toJSON();
|
|
99
99
|
if (core_bentley_1.Id64.isValid(this.code.spec))
|
|
100
|
-
val.code = this.code;
|
|
100
|
+
val.code = this.code.toJSON(); // Ensure _value with get accessor is serialized...
|
|
101
101
|
val.model = this.model;
|
|
102
102
|
val.parent = this.parent;
|
|
103
103
|
val.federationGuid = this.federationGuid;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityState.js","sourceRoot":"","sources":["../../src/EntityState.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"EntityState.js","sourceRoot":"","sources":["../../src/EntityState.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ElementState\n */\n\nimport { GuidString, Id64, Id64String } from \"@itwin/core-bentley\";\nimport { Code, ElementProps, EntityProps, RelatedElement } from \"@itwin/core-common\";\nimport { IModelConnection } from \"./IModelConnection\";\n\n/** The \"state\" of an Entity as represented in a web browser. Every subclass of EntityState handles one BIS class.\n * @public\n * @extensions\n */\nexport class EntityState implements EntityProps {\n /** The name of the BIS schema for this class.\n * @note Subclasses from other than the BisCore domain must override the static member \"schemaName\" with their schema name.\n */\n public static get schemaName() { return \"BisCore\"; }\n\n private get _ctor(): typeof EntityState { return this.constructor as typeof EntityState; }\n\n /** The name of the BIS class associated with this class.\n * @note Every subclass of EntityState **MUST** override this method to identify its BIS class.\n * Failure to do so will ordinarily result in an error when the class is registered, since there may only\n * be one JavaScript class for a given BIS class (usually the errant class will collide with its superclass.)\n */\n public static get className() { return \"Entity\"; }\n\n /** The name of the BIS class associated with this class. */\n public get className(): string { return this._ctor.className; }\n\n /** The Id of this Entity. May be invalid if the Entity has not yet been saved in the database. */\n public readonly id: Id64String;\n /** The iModel from which this Entity was loaded */\n public readonly iModel: IModelConnection;\n /** The full class name in the form \"schema:class\". */\n public readonly classFullName: string;\n /** Optional [json properties]($docs/bis/guide/fundamentals/element-fundamentals.md#jsonproperties) of this Entity. */\n public readonly jsonProperties: { [key: string]: any };\n\n /** Constructor for EntityState\n * @param props the properties of the Entity for this EntityState\n * @param iModel the iModel from which this EntityState is to be constructed\n * @param _state source EntityState for clone\n */\n constructor(props: EntityProps, iModel: IModelConnection, _state?: EntityState) {\n this.classFullName = props.classFullName ? props.classFullName : this._ctor.classFullName;\n this.iModel = iModel;\n this.id = Id64.fromJSON(props.id);\n this.jsonProperties = props.jsonProperties ? JSON.parse(JSON.stringify(props.jsonProperties)) : {}; // make sure we have our own copy\n }\n\n /** @internal */\n public toJSON(): EntityProps {\n const val: any = {};\n val.classFullName = this.classFullName;\n if (Id64.isValid(this.id))\n val.id = this.id;\n if (this.jsonProperties && Object.keys(this.jsonProperties).length > 0)\n val.jsonProperties = this.jsonProperties;\n return val;\n }\n\n /** Return true if this EntityState is equal to another one. */\n public equals(other: this): boolean { return JSON.stringify(this.toJSON()) === JSON.stringify(other.toJSON()); }\n\n /** Make an independent copy of this EntityState */\n public clone(iModel?: IModelConnection): this { return new this._ctor(this.toJSON(), iModel ? iModel : this.iModel, this) as this; }\n\n /** Get full BIS class name of this Entity in the form \"SchemaName:ClassName\". */\n public static get classFullName(): string { return `${this.schemaName}:${this.className}`; }\n}\n\n/** The \"state\" of an Element as represented in a web browser.\n * @public\n * @extensions\n */\nexport class ElementState extends EntityState implements ElementProps {\n public static override get className() { return \"Element\"; }\n\n /** The ModelId of the [Model]($docs/bis/guide/fundamentals/model-fundamentals.md) containing this element */\n public readonly model: Id64String;\n /** The [Code]($docs/bis/guide/fundamentals/codes.md) for this element */\n public readonly code: Code;\n /** The parent Element of this, or undefined if no parent. */\n public readonly parent?: RelatedElement;\n /** A [FederationGuid]($docs/bis/guide/fundamentals/element-fundamentals.md#federationguid) assigned to this element by some other federated database */\n public readonly federationGuid?: GuidString;\n /** A [user-assigned label]($docs/bis/guide/fundamentals/element-fundamentals.md#userlabel) for this element. */\n public readonly userLabel?: string;\n\n constructor(props: ElementProps, iModel: IModelConnection) {\n super(props, iModel);\n this.code = Code.fromJSON(props.code);\n this.model = RelatedElement.idFromJson(props.model);\n this.parent = RelatedElement.fromJSON(props.parent);\n if (undefined !== props.federationGuid)\n this.federationGuid = props.federationGuid;\n if (undefined !== props.userLabel)\n this.userLabel = props.userLabel;\n }\n\n /** Obtain this element's JSON representation. Subclasses of ElementState typically override this method with a more\n * specific return type.\n */\n public override toJSON(): ElementProps {\n const val = super.toJSON() as ElementProps;\n if (Id64.isValid(this.code.spec))\n val.code = this.code.toJSON(); // Ensure _value with get accessor is serialized...\n\n val.model = this.model;\n val.parent = this.parent;\n val.federationGuid = this.federationGuid;\n val.userLabel = this.userLabel;\n return val;\n }\n}\n"]}
|
|
@@ -15,7 +15,7 @@ import { SubCategoriesCache } from "./SubCategoriesCache";
|
|
|
15
15
|
import { Tiles } from "./Tiles";
|
|
16
16
|
import { ViewState } from "./ViewState";
|
|
17
17
|
import { _requestSnap } from "./common/internal/Symbols";
|
|
18
|
-
import { SchemaContext, SchemaView } from "@itwin/ecschema-metadata";
|
|
18
|
+
import { type GetSchemaViewArgs, SchemaContext, SchemaView } from "@itwin/ecschema-metadata";
|
|
19
19
|
/** The properties for creating a [Blank IModelConnection]($docs/learning/frontend/BlankConnection)
|
|
20
20
|
* @public
|
|
21
21
|
*/
|
|
@@ -118,7 +118,7 @@ export declare abstract class IModelConnection extends IModel {
|
|
|
118
118
|
*/
|
|
119
119
|
fontMap?: FontMap;
|
|
120
120
|
private _schemaContext?;
|
|
121
|
-
private
|
|
121
|
+
private _schemaViewManager?;
|
|
122
122
|
/** Load the FontMap for this IModelConnection.
|
|
123
123
|
* @returns Returns a Promise<FontMap> that is fulfilled when the FontMap member of this IModelConnection is valid.
|
|
124
124
|
* @deprecated in 5.0.0 - might be removed in next major version. If you need font Ids on the front-end for some reason, write an Ipc method that queries [IModelDb.fonts]($backend).
|
|
@@ -320,17 +320,21 @@ export declare abstract class IModelConnection extends IModel {
|
|
|
320
320
|
get schemaContext(): SchemaContext;
|
|
321
321
|
/** Get the schema view for this iModel. The view is built lazily on
|
|
322
322
|
* first call by fetching compact binary schema data via `PRAGMA schema_view` through
|
|
323
|
-
* the existing queryRows RPC (ConcurrentQuery).
|
|
324
|
-
* Multiple concurrent callers share a single in-flight fetch.
|
|
323
|
+
* the existing queryRows RPC (ConcurrentQuery).
|
|
325
324
|
*
|
|
326
325
|
* The returned `SchemaView` is a lightweight, read-only, synchronous API for
|
|
327
326
|
* navigating schema metadata - classes, properties, relationships, enumerations, etc.
|
|
328
327
|
* It is the recommended default for runtime read-only metadata access and is significantly
|
|
329
328
|
* faster and lower-memory than [[schemaContext]]. Use [[schemaContext]] for custom-attribute
|
|
330
329
|
* deserialization or anywhere you need the full ecschema-metadata object graph.
|
|
330
|
+
*
|
|
331
|
+
* Every call shares one accumulating view instance and concurrent calls are serialized, so a
|
|
332
|
+
* caller never observes a partially loaded view. The instance is discarded once the connection
|
|
333
|
+
* detects that schemas changed, for example after [[BriefcaseConnection.pullChanges]]; the next
|
|
334
|
+
* call builds a new one. See [GetSchemaViewArgs]($ecschema-metadata) for the arguments.
|
|
331
335
|
* @beta
|
|
332
336
|
*/
|
|
333
|
-
getSchemaView(): Promise<SchemaView>;
|
|
337
|
+
getSchemaView(args?: GetSchemaViewArgs): Promise<SchemaView>;
|
|
334
338
|
/**
|
|
335
339
|
* Checks whether the iModel's schemas have changed since the current cached [[SchemaView]] was
|
|
336
340
|
* built, and discards the cache only if they have.
|
|
@@ -341,7 +345,7 @@ export declare abstract class IModelConnection extends IModel {
|
|
|
341
345
|
* returns only the new changeset id, not the list of applied changesets with their types.
|
|
342
346
|
* Unconditionally discarding the cached [[SchemaView]] after every such operation would cause
|
|
343
347
|
* unnecessary reloads in the common case where schemas are unchanged. This method avoids that
|
|
344
|
-
* cost by fetching a lightweight schema
|
|
348
|
+
* cost by fetching a lightweight schema token via `PRAGMA checksum(schema_token)` and
|
|
345
349
|
* comparing it against the token stored in the cached view. Only when the token differs is the
|
|
346
350
|
* cache discarded.
|
|
347
351
|
*
|
|
@@ -350,7 +354,16 @@ export declare abstract class IModelConnection extends IModel {
|
|
|
350
354
|
* @internal
|
|
351
355
|
*/
|
|
352
356
|
protected invalidateSchemaViewIfChanged(): Promise<void>;
|
|
353
|
-
|
|
357
|
+
/** The [SchemaViewDataProvider]($ecschema-metadata) backing this iModel's [[getSchemaView]]: the
|
|
358
|
+
* transport-specific half of schema-view loading, issued through the queryRows RPC
|
|
359
|
+
* (ConcurrentQuery). The frontend *pins* the blob format version in both pragmas, because the
|
|
360
|
+
* backend it talks to can be older or newer; the pin makes it return a blob this code can parse,
|
|
361
|
+
* or fail cleanly.
|
|
362
|
+
*/
|
|
363
|
+
private _createSchemaViewDataProvider;
|
|
364
|
+
/** Fetch one schema-view blob (full or fragment). Both `PRAGMA schema_view` and
|
|
365
|
+
* `PRAGMA schema_view_fragment` return a single row with the same columns. */
|
|
366
|
+
private _fetchSchemaBlob;
|
|
354
367
|
}
|
|
355
368
|
/** A connection that exists without an iModel. Useful for connecting to Reality Data services.
|
|
356
369
|
* @note This class exists because our display system requires an IModelConnection type even if only reality data is drawn.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IModelConnection.d.ts","sourceRoot":"","sources":["../../src/IModelConnection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IModelConnection.d.ts","sourceRoot":"","sources":["../../src/IModelConnection.ts"],"names":[],"mappings":"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"}
|