@itwin/core-common 3.4.0-dev.3 → 3.4.0-dev.33
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 +38 -1
- package/lib/cjs/Code.d.ts +10 -4
- package/lib/cjs/Code.d.ts.map +1 -1
- package/lib/cjs/Code.js +2 -1
- package/lib/cjs/Code.js.map +1 -1
- package/lib/cjs/ECSchemaProps.d.ts +40 -0
- package/lib/cjs/ECSchemaProps.d.ts.map +1 -0
- package/lib/cjs/ECSchemaProps.js +10 -0
- package/lib/cjs/ECSchemaProps.js.map +1 -0
- package/lib/cjs/ElementProps.d.ts +6 -0
- package/lib/cjs/ElementProps.d.ts.map +1 -1
- package/lib/cjs/ElementProps.js.map +1 -1
- package/lib/cjs/Gradient.d.ts +18 -2
- package/lib/cjs/Gradient.d.ts.map +1 -1
- package/lib/cjs/Gradient.js +29 -18
- package/lib/cjs/Gradient.js.map +1 -1
- package/lib/cjs/ThematicDisplay.d.ts +6 -10
- package/lib/cjs/ThematicDisplay.d.ts.map +1 -1
- package/lib/cjs/ThematicDisplay.js.map +1 -1
- package/lib/cjs/core-common.d.ts +1 -0
- package/lib/cjs/core-common.d.ts.map +1 -1
- package/lib/cjs/core-common.js +1 -0
- package/lib/cjs/core-common.js.map +1 -1
- package/lib/cjs/ipc/IpcWebSocket.d.ts +3 -0
- package/lib/cjs/ipc/IpcWebSocket.d.ts.map +1 -1
- package/lib/cjs/ipc/IpcWebSocket.js +28 -14
- package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
- package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
- package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +3 -0
- package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
- package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
- package/lib/cjs/rpc/web/WebAppRpcProtocol.js +13 -1
- package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
- package/lib/cjs/rpc/web/WebAppRpcRequest.js +1 -1
- package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
- package/lib/esm/Code.d.ts +10 -4
- package/lib/esm/Code.d.ts.map +1 -1
- package/lib/esm/Code.js +2 -1
- package/lib/esm/Code.js.map +1 -1
- package/lib/esm/ECSchemaProps.d.ts +40 -0
- package/lib/esm/ECSchemaProps.d.ts.map +1 -0
- package/lib/esm/ECSchemaProps.js +9 -0
- package/lib/esm/ECSchemaProps.js.map +1 -0
- package/lib/esm/ElementProps.d.ts +6 -0
- package/lib/esm/ElementProps.d.ts.map +1 -1
- package/lib/esm/ElementProps.js.map +1 -1
- package/lib/esm/Gradient.d.ts +18 -2
- package/lib/esm/Gradient.d.ts.map +1 -1
- package/lib/esm/Gradient.js +29 -18
- package/lib/esm/Gradient.js.map +1 -1
- package/lib/esm/ThematicDisplay.d.ts +6 -10
- package/lib/esm/ThematicDisplay.d.ts.map +1 -1
- package/lib/esm/ThematicDisplay.js.map +1 -1
- package/lib/esm/core-common.d.ts +1 -0
- package/lib/esm/core-common.d.ts.map +1 -1
- package/lib/esm/core-common.js +1 -0
- package/lib/esm/core-common.js.map +1 -1
- package/lib/esm/ipc/IpcWebSocket.d.ts +3 -0
- package/lib/esm/ipc/IpcWebSocket.d.ts.map +1 -1
- package/lib/esm/ipc/IpcWebSocket.js +28 -14
- package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
- package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
- package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +3 -0
- package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
- package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
- package/lib/esm/rpc/web/WebAppRpcProtocol.js +13 -1
- package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
- package/lib/esm/rpc/web/WebAppRpcRequest.js +1 -1
- package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,43 @@
|
|
|
1
1
|
# Change Log - @itwin/core-common
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Thu, 01 Sep 2022 14:37:22 GMT and should not be manually modified.
|
|
4
|
+
|
|
5
|
+
## 3.3.2
|
|
6
|
+
Thu, 01 Sep 2022 14:37:22 GMT
|
|
7
|
+
|
|
8
|
+
_Version update only_
|
|
9
|
+
|
|
10
|
+
## 3.3.1
|
|
11
|
+
Fri, 26 Aug 2022 15:40:02 GMT
|
|
12
|
+
|
|
13
|
+
_Version update only_
|
|
14
|
+
|
|
15
|
+
## 3.3.0
|
|
16
|
+
Thu, 18 Aug 2022 19:08:02 GMT
|
|
17
|
+
|
|
18
|
+
### Updates
|
|
19
|
+
|
|
20
|
+
- upgrade mocha to version 10.0.0
|
|
21
|
+
- Update links to BIS documentation.
|
|
22
|
+
- move reference of collectPredecessorIds from deprecated to new API getReferenceIds
|
|
23
|
+
- Transport RPC requests over IPC when available.
|
|
24
|
+
- Ensure IPC messages are processed sequentially on the backend
|
|
25
|
+
- Remove AuthStatus from IModelError.
|
|
26
|
+
- make getModelProps a GET request instead of a POST
|
|
27
|
+
- Add cache headers to some rpc operations
|
|
28
|
+
- Add option to quantize positions in GraphicsRequestProps.
|
|
29
|
+
- FeatureOverrides now merges element overrides with script overrides and allows callers to specify criteria under which script overrides should be ignored.
|
|
30
|
+
- DisplayStyleSettings.scheduleScriptProps is no longer deprecated. Add comparison methods for types in the RenderSchedule namespace.
|
|
31
|
+
|
|
32
|
+
## 3.2.9
|
|
33
|
+
Fri, 26 Aug 2022 14:21:40 GMT
|
|
34
|
+
|
|
35
|
+
_Version update only_
|
|
36
|
+
|
|
37
|
+
## 3.2.8
|
|
38
|
+
Tue, 09 Aug 2022 15:52:41 GMT
|
|
39
|
+
|
|
40
|
+
_Version update only_
|
|
4
41
|
|
|
5
42
|
## 3.2.7
|
|
6
43
|
Mon, 01 Aug 2022 13:36:56 GMT
|
package/lib/cjs/Code.d.ts
CHANGED
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { GuidString, Id64String } from "@itwin/core-bentley";
|
|
5
5
|
import { IModel } from "./IModel";
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* The identity of the element defining the scope for a Code value.
|
|
8
|
+
* For query input, may either be an ElementId or a FederationGuid. When returned from a query, it will be an ElementId.
|
|
7
9
|
* @public
|
|
8
10
|
* @extensions
|
|
9
11
|
*/
|
|
@@ -13,18 +15,22 @@ export declare type CodeScopeProps = Id64String | GuidString;
|
|
|
13
15
|
* @extensions
|
|
14
16
|
*/
|
|
15
17
|
export interface CodeProps {
|
|
16
|
-
|
|
18
|
+
/** Either the stringified 64-bit Id of the CodeSpec for this code, or the name of the CodeSpec. */
|
|
19
|
+
spec: Id64String | string;
|
|
20
|
+
/** Either the ElementId or the FederationGuid of the element that provides the scope for this code. */
|
|
17
21
|
scope: CodeScopeProps;
|
|
22
|
+
/** the value of this code. May be undefined. */
|
|
18
23
|
value?: string;
|
|
19
24
|
}
|
|
20
|
-
/**
|
|
25
|
+
/**
|
|
26
|
+
* A three-part structure containing information about the [Code]($docs/bis/guide/fundamentals/codes) of an Element
|
|
21
27
|
* @public
|
|
22
28
|
*/
|
|
23
29
|
export declare class Code implements CodeProps {
|
|
24
30
|
/** The id of the [CodeSpec]($docs/bis/guide/fundamentals/codes.md#codespec) of the Element */
|
|
25
31
|
spec: Id64String;
|
|
26
32
|
/** The [CodeScope]($docs/bis/guide/fundamentals/codes.md#codescope-property) of the Element */
|
|
27
|
-
scope:
|
|
33
|
+
scope: Id64String;
|
|
28
34
|
/** The [CodeValue]($docs/bis/guide/fundamentals/codes.md#codevalue-property) of the Element
|
|
29
35
|
* @note Leading and trailing whitespace is invalid so is automatically trimmed.
|
|
30
36
|
*/
|
package/lib/cjs/Code.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Code.d.ts","sourceRoot":"","sources":["../../src/Code.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAQ,UAAU,EAAa,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC
|
|
1
|
+
{"version":3,"file":"Code.d.ts","sourceRoot":"","sources":["../../src/Code.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/Code.js
CHANGED
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.CodeSpec = exports.CodeScopeSpec = exports.BisCodeSpec = exports.Code = void 0;
|
|
11
11
|
const core_bentley_1 = require("@itwin/core-bentley");
|
|
12
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* A three-part structure containing information about the [Code]($docs/bis/guide/fundamentals/codes) of an Element
|
|
13
14
|
* @public
|
|
14
15
|
*/
|
|
15
16
|
class Code {
|
package/lib/cjs/Code.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Code.js","sourceRoot":"","sources":["../../src/Code.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA8E;AAmB9E;;GAEG;AACH,MAAa,IAAI;IAYf,YAAY,SAAoB;QAC9B,IAAI,CAAC,IAAI,GAAG,mBAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,wBAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,wBAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAXD;;OAEG;IACH,IAAW,KAAK,aAAK,OAAO,MAAA,IAAI,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAC,CAAC;IAChD,IAAW,KAAK,CAAC,GAAW,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAS5D,gEAAgE;IACzD,MAAM,CAAC,WAAW,KAAW,MAAM,EAAE,GAAe,mBAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpI,MAAM,CAAC,QAAQ,CAAC,IAAU,IAAU,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACxF,MAAM,KAAgB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzF,MAAM,CAAC,KAAW,IAAa,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5E,gBAAgB;IACT,MAAM,CAAC,UAAU,CAAC,EAAa,EAAE,EAAa;QACnD,OAAO,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK,CAAC;IAC/E,CAAC;IACD,4CAA4C;IACrC,MAAM,CAAC,OAAO,CAAC,CAAY,IAAa,OAAO,mBAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjF,0GAA0G;IACnG,MAAM,CAAC,OAAO,CAAC,CAAY,IAAa,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;CACtH;AA/BD,oBA+BC;AAED;;;;;GAKG;AACH,IAAY,WA6HX;AA7HD,WAAY,WAAW;IACrB;;OAEG;IACH,gDAAiC,CAAA;IACjC,gBAAgB;IAChB,gEAAiD,CAAA;IACjD,gBAAgB;IAChB,kEAAmD,CAAA;IACnD,gBAAgB;IAChB,8DAA+C,CAAA;IAC/C;;OAEG;IACH,wDAAyC,CAAA;IACzC;;OAEG;IACH,wDAAyC,CAAA;IACzC;;OAEG;IACH,kEAAmD,CAAA;IACnD;;OAEG;IACH,wDAAyC,CAAA;IACzC,gBAAgB;IAChB,0CAA2B,CAAA;IAC3B;;OAEG;IACH,gDAAiC,CAAA;IACjC;;OAEG;IACH,sCAAuB,CAAA;IACvB;;OAEG;IACH,sDAAuC,CAAA;IACvC;;;OAGG;IACH,oDAAqC,CAAA;IACrC;;;OAGG;IACH,wEAAyD,CAAA;IACzD;;OAEG;IACH,gDAAiC,CAAA;IACjC;;OAEG;IACH,sDAAuC,CAAA;IACvC;;OAEG;IACH,0CAA2B,CAAA;IAC3B;;OAEG;IACH,8CAA+B,CAAA;IAC/B;;OAEG;IACH,kDAAmC,CAAA;IACnC;;OAEG;IACH,wDAAyC,CAAA;IACzC;;OAEG;IACH,gDAAiC,CAAA;IACjC;;OAEG;IACH,8EAA+D,CAAA;IAC/D;;OAEG;IACH,oDAAqC,CAAA;IACrC;;OAEG;IACH,kCAAmB,CAAA;IACnB;;OAEG;IACH,sDAAuC,CAAA;IACvC;;OAEG;IACH,8DAA+C,CAAA;IAC/C;;OAEG;IACH,8CAA+B,CAAA;IAC/B;;OAEG;IACH,sCAAuB,CAAA;IACvB;;OAEG;IACH,wDAAyC,CAAA;IACzC;;OAEG;IACH,wDAAyC,CAAA;IACzC,gBAAgB;IAChB,4DAA6C,CAAA;IAC7C;;OAEG;IACH,sCAAuB,CAAA;IACvB;;OAEG;IACH,oDAAqC,CAAA;AACvC,CAAC,EA7HW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QA6HtB;AAED;;GAEG;AACH,IAAiB,aAAa,CAwB7B;AAxBD,WAAiB,aAAa;IAC5B;;OAEG;IACH,IAAY,IASX;IATD,WAAY,IAAI;QACd,4EAA4E;QAC5E,2CAAc,CAAA;QACd,kEAAkE;QAClE,iCAAS,CAAA;QACT,oFAAoF;QACpF,iDAAiB,CAAA;QACjB,yFAAyF;QACzF,mDAAkB,CAAA;IACpB,CAAC,EATW,IAAI,GAAJ,kBAAI,KAAJ,kBAAI,QASf;IAED;;OAEG;IACH,IAAY,gBAKX;IALD,WAAY,gBAAgB;QAC1B,kEAAkE;QAClE,iEAAa,CAAA;QACb,uEAAuE;QACvE,2EAAkB,CAAA;IACpB,CAAC,EALW,gBAAgB,GAAhB,8BAAgB,KAAhB,8BAAgB,QAK3B;AACH,CAAC,EAxBgB,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAwB7B;AAED;;;;;;GAMG;AACH,MAAa,QAAQ;IAanB;OACG;IACH,YAAoB,MAAc,EAAE,EAAc,EAAE,IAAY,EAAE,SAA8B,EAAE,QAAyC,EAAE,UAAgB;QAC3J,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;gBAC9B,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,EAAE,CAAC;gBAC/B,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;aAChD;SACF;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;SAChD;QACD,IAAI,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QACxD,IAAI,SAAS,KAAK,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACvD,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,MAAM,CAAC,MAAc,EAAE,IAAY,EAAE,SAA6B,EAAE,QAAyC;QACzH,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,mBAAI,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAClF,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,cAAc,CAAC,MAAc,EAAE,EAAc,EAAE,IAAY,EAAE,UAAe;QACxF,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,8CAA8C;IACzH,CAAC;IAED,wDAAwD;IACxD,IAAW,OAAO,KAAc,OAAO,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE/D,uCAAuC;IACvC,IAAW,SAAS,KAAyB,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF,IAAW,SAAS,CAAC,SAA6B,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC;IAEnG,0MAA0M;IAC1M,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC;IAC5I,CAAC;IACD,IAAW,QAAQ,CAAC,GAAmC;QACrD,IAAI,aAAa,CAAC,gBAAgB,CAAC,cAAc,KAAK,GAAG;YACvD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC;;YAE/C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,GAAG,SAAS,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,IAAW,mBAAmB;QAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,KAAK,SAAS,EAAE;YACjF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC;SAChD;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAW,mBAAmB,CAAC,KAAc;QAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI;YAAE,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,EAAE,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClD,CAAC;CACF;AA/ED,4BA+EC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Codes\r\n */\r\n\r\nimport { GuidString, Id64, Id64String, JsonUtils } from \"@itwin/core-bentley\";\r\nimport { IModel } from \"./IModel\";\r\n\r\n/** The props that hold the identity of the object defining the uniqueness scope for a set of Code values.\r\n * @public\r\n * @extensions\r\n */\r\nexport type CodeScopeProps = Id64String | GuidString;\r\n\r\n/** The wire format for a Code\r\n * @public\r\n * @extensions\r\n */\r\nexport interface CodeProps {\r\n spec: Id64String;\r\n scope: CodeScopeProps;\r\n value?: string;\r\n}\r\n\r\n/** A three-part structure containing information about the [Code]($docs/bis/guide/fundamentals/codes) of an Element\r\n * @public\r\n */\r\nexport class Code implements CodeProps {\r\n /** The id of the [CodeSpec]($docs/bis/guide/fundamentals/codes.md#codespec) of the Element */\r\n public spec: Id64String;\r\n /** The [CodeScope]($docs/bis/guide/fundamentals/codes.md#codescope-property) of the Element */\r\n public scope: string;\r\n /** The [CodeValue]($docs/bis/guide/fundamentals/codes.md#codevalue-property) of the Element\r\n * @note Leading and trailing whitespace is invalid so is automatically trimmed.\r\n */\r\n public get value() { return this._value ?? \"\"; }\r\n public set value(val: string) { this._value = val?.trim(); }\r\n private _value?: string;\r\n\r\n constructor(codeProps: CodeProps) {\r\n this.spec = Id64.fromJSON(codeProps.spec);\r\n this.scope = JsonUtils.asString(codeProps.scope);\r\n this.value = JsonUtils.asString(codeProps.value);\r\n }\r\n\r\n /** Create an empty, non-unique code with no special meaning. */\r\n public static createEmpty(): Code { const id: Id64String = Id64.fromLocalAndBriefcaseIds(1, 0); return new Code({ spec: id, scope: id }); }\r\n public static fromJSON(json?: any): Code { return json ? new Code(json) : Code.createEmpty(); }\r\n public toJSON(): CodeProps { return { spec: this.spec, scope: this.scope, value: this.value }; }\r\n public equals(other: Code): boolean { return Code.equalCodes(this, other); }\r\n /** @internal */\r\n public static equalCodes(c1: CodeProps, c2: CodeProps): boolean {\r\n return c1.spec === c2.spec && c1.scope === c2.scope && c1.value === c2.value;\r\n }\r\n /** Determine whether this Code is valid. */\r\n public static isValid(c: CodeProps): boolean { return Id64.isValidId64(c.spec); }\r\n /** Determine if this code is valid but not otherwise meaningful (and therefore not necessarily unique) */\r\n public static isEmpty(c: CodeProps): boolean { return this.isValid(c) && (c.value === undefined || c.value === \"\"); }\r\n}\r\n\r\n/** Names of the internal BIS CodeSpecs. These names match those specified by the native library.\r\n * For other domains, the best practice is to include the domain name or alias as part of the CodeSpec name to ensure global uniqueness.\r\n * @public\r\n* @extensions\r\n* @see [CodeSpec]($docs/bis/guide/fundamentals/codes.md#codespec)\r\n */\r\nexport enum BisCodeSpec {\r\n /** The name of the standard [[CodeSpec]] used when creating *empty* codes.\r\n * @see [[Code.createEmpty]]\r\n */\r\n nullCodeSpec = \"bis:NullCodeSpec\",\r\n /** @internal */\r\n annotationFrameStyle = \"bis:AnnotationFrameStyle\",\r\n /** @internal */\r\n annotationLeaderStyle = \"bis:AnnotationLeaderStyle\",\r\n /** @internal */\r\n annotationTextStyle = \"bis:AnnotationTextStyle\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [AuxCoordSystem2d]($backend) elements.\r\n * @see [AuxCoordSystem2d.createCode]($backend)\r\n */\r\n auxCoordSystem2d = \"bis:AuxCoordSystem2d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [AuxCoordSystem3d]($backend) elements.\r\n * @see [AuxCoordSystem3d.createCode]($backend)\r\n */\r\n auxCoordSystem3d = \"bis:AuxCoordSystem3d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [AuxCoordSystemSpatial]($backend) elements.\r\n * @see [AuxCoordSystemSpatial.createCode]($backend)\r\n */\r\n auxCoordSystemSpatial = \"bis:AuxCoordSystemSpatial\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [CategorySelector]($backend) elements.\r\n * @see [CategorySelector.createCode]($backend)\r\n */\r\n categorySelector = \"bis:CategorySelector\",\r\n /** @internal */\r\n colorBook = \"bis:ColorBook\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [DisplayStyle]($backend) elements.\r\n * @see [DisplayStyle.createCode]($backend)\r\n */\r\n displayStyle = \"bis:DisplayStyle\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Drawing]($backend) elements.\r\n * @see [Drawing.createCode]($backend)\r\n */\r\n drawing = \"bis:Drawing\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [DrawingCategory]($backend) elements.\r\n * @see [DrawingCategory.createCode]($backend)\r\n */\r\n drawingCategory = \"bis:DrawingCategory\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ExternalSource]($backend) elements.\r\n * @note This CodeSpec is not automatically created, so use [ExternalSource.ensureCodeSpec]($backend) to make sure that it exists.\r\n * @see [ExternalSource.createCode]($backend)\r\n */\r\n externalSource = \"bis:ExternalSource\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ExternalSourceAttachment]($backend) elements.\r\n * @note This CodeSpec is not automatically created, so use [ExternalSourceAttachment.ensureCodeSpec]($backend) to make sure that it exists.\r\n * @see [ExternalSource.createCode]($backend)\r\n */\r\n externalSourceAttachment = \"bis:ExternalSourceAttachment\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [GeometryPart]($backend) elements.\r\n * @see [GeometryPart.createCode]($backend)\r\n */\r\n geometryPart = \"bis:GeometryPart\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [GraphicalType2d]($backend) elements.\r\n * @see [GraphicalType2d.createCode]($backend)\r\n */\r\n graphicalType2d = \"bis:GraphicalType2d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [LineStyle]($backend) elements.\r\n * @see [LineStyle.createCode]($backend)\r\n */\r\n lineStyle = \"bis:LineStyle\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [LinkElement]($backend) elements.\r\n * @see [LinkElement.createCode]($backend)\r\n */\r\n linkElement = \"bis:LinkElement\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ModelSelector]($backend) elements.\r\n * @see [ModelSelector.createCode]($backend)\r\n */\r\n modelSelector = \"bis:ModelSelector\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [PhysicalMaterial]($backend) elements.\r\n * @see [PhysicalMaterial.createCode]($backend)\r\n */\r\n physicalMaterial = \"bis:PhysicalMaterial\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [PhysicalType]($backend) elements.\r\n * @see [PhysicalType.createCode]($backend)\r\n */\r\n physicalType = \"bis:PhysicalType\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [InformationPartitionElement]($backend) elements.\r\n * @see [InformationPartitionElement.createCode]($backend)\r\n */\r\n informationPartitionElement = \"bis:InformationPartitionElement\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [RenderMaterialElement]($backend) elements.\r\n * @see [RenderMaterialElement.createCode]($backend)\r\n */\r\n renderMaterial = \"bis:RenderMaterial\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Sheet]($backend) elements.\r\n * @see [Sheet.createCode]($backend)\r\n */\r\n sheet = \"bis:Sheet\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SpatialCategory]($backend) elements.\r\n * @see [SpatialCategory.createCode]($backend)\r\n */\r\n spatialCategory = \"bis:SpatialCategory\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SpatialLocationType]($backend) elements.\r\n * @see [SpatialLocationType.createCode]($backend)\r\n */\r\n spatialLocationType = \"bis:SpatialLocationType\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SubCategory]($backend) elements.\r\n * @see [SubCategory.createCode]($backend)\r\n */\r\n subCategory = \"bis:SubCategory\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Subject]($backend) elements.\r\n * @see [Subject.createCode]($backend)\r\n */\r\n subject = \"bis:Subject\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [TemplateRecipe2d]($backend) elements.\r\n * @see [TemplateRecipe2d.createCode]($backend)\r\n */\r\n templateRecipe2d = \"bis:TemplateRecipe2d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [TemplateRecipe3d]($backend) elements.\r\n * @see [TemplateRecipe3d.createCode]($backend)\r\n */\r\n templateRecipe3d = \"bis:TemplateRecipe3d\",\r\n /** @internal */\r\n textAnnotationSeed = \"bis:TextAnnotationSeed\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Texture]($backend) elements.\r\n * @see [Texture.createCode]($backend)\r\n */\r\n texture = \"bis:Texture\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ViewDefinition]($backend) elements.\r\n * @see [ViewDefinition.createCode]($backend)\r\n */\r\n viewDefinition = \"bis:ViewDefinition\",\r\n}\r\n\r\n/** The scope of the Code.\r\n * @public\r\n */\r\nexport namespace CodeScopeSpec {\r\n /** The standard ways the CodeScope can be specified.\r\n * @public\r\n */\r\n export enum Type {\r\n /** The Code value must be unique within (at least) the iModel repository */\r\n Repository = 1,\r\n /** The Code value must be unique within the scope of the Model */\r\n Model = 2,\r\n /** The Code value must be unique among other children of the same parent element */\r\n ParentElement = 3,\r\n /** The Code value must be unique among other elements also scoped by the same element */\r\n RelatedElement = 4,\r\n }\r\n\r\n /** Requirements for how the CodeScope Element is identified.\r\n * @public\r\n */\r\n export enum ScopeRequirement {\r\n /** The Code is required to have a valid ElementId as its scope */\r\n ElementId = 1,\r\n /** The Code is required to have a valid FederationGuid as its scope */\r\n FederationGuid = 2,\r\n }\r\n}\r\n\r\n/** A [Code Specification]($docs/bis/guide/references/glossary#codespec) captures the rules for encoding and decoding significant business information into\r\n * and from a Code (string). This specification is used to generate and validate Codes.\r\n *\r\n * A CodeSpec defines the format of a Code for a certain type of Element in an IModel.\r\n * A CodeSpec can identify an external system that maintains and/or assigns Codes.\r\n * @public\r\n */\r\nexport class CodeSpec {\r\n /** The iModel holding this CodeSpec. */\r\n public iModel: IModel;\r\n /** The id of this CodeSpec. */\r\n public id: Id64String;\r\n /** The name of this CodeSpec. */\r\n public name: string;\r\n /** The JSON properties for this CodeSpec.\r\n * > Note: Use the getters and setters instead of accessing this directly.\r\n * @internal\r\n */\r\n public properties: any;\r\n\r\n /** Internal-only constructor. Proper use is to supply `properties` only or `scopeType` and `scopeReq` but not `properties`.\r\n */\r\n private constructor(iModel: IModel, id: Id64String, name: string, scopeType?: CodeScopeSpec.Type, scopeReq?: CodeScopeSpec.ScopeRequirement, properties?: any) {\r\n this.iModel = iModel;\r\n this.id = id;\r\n this.name = name;\r\n if (properties) {\r\n this.properties = properties;\r\n if (!this.properties.scopeSpec) {\r\n this.properties.scopeSpec = {};\r\n this.scopeType = CodeScopeSpec.Type.Repository;\r\n }\r\n } else {\r\n this.properties = { scopeSpec: {} };\r\n this.scopeType = CodeScopeSpec.Type.Repository;\r\n }\r\n if (undefined !== scopeType) this.scopeType = scopeType;\r\n if (undefined !== scopeReq) this.scopeReq = scopeReq;\r\n }\r\n\r\n /** Create a new CodeSpec from the specified parameters\r\n * > Note: CodeSpec.id will not be valid until inserted\r\n * @see [CodeSpecs.insert]($backend)\r\n */\r\n public static create(iModel: IModel, name: string, scopeType: CodeScopeSpec.Type, scopeReq?: CodeScopeSpec.ScopeRequirement): CodeSpec {\r\n return new CodeSpec(iModel, Id64.invalid, name, scopeType, scopeReq, undefined);\r\n }\r\n\r\n /** Create a new CodeSpec directly from JSON. Used internally by the CodeSpecs.load function.\r\n * @internal\r\n */\r\n public static createFromJson(iModel: IModel, id: Id64String, name: string, properties: any): CodeSpec {\r\n return new CodeSpec(iModel, id, name, undefined, undefined, properties); // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n /** Will be true if the id of this CodeSpec is valid. */\r\n public get isValid(): boolean { return Id64.isValid(this.id); }\r\n\r\n /** The scope type of this CodeSpec. */\r\n public get scopeType(): CodeScopeSpec.Type { return this.properties.scopeSpec.type; }\r\n public set scopeType(scopeType: CodeScopeSpec.Type) { this.properties.scopeSpec.type = scopeType; }\r\n\r\n /** Will be `CodeScopeSpec.ScopeRequirement.FederationGuid` if the scoping element is required to have a FederationGuid or `CodeScopeSpec.ScopeRequirement.ElementId` otherwise (which is the default). */\r\n public get scopeReq(): CodeScopeSpec.ScopeRequirement {\r\n return this.properties.scopeSpec.fGuidRequired ? CodeScopeSpec.ScopeRequirement.FederationGuid : CodeScopeSpec.ScopeRequirement.ElementId;\r\n }\r\n public set scopeReq(req: CodeScopeSpec.ScopeRequirement) {\r\n if (CodeScopeSpec.ScopeRequirement.FederationGuid === req)\r\n this.properties.scopeSpec.fGuidRequired = true;\r\n else\r\n this.properties.scopeSpec.fGuidRequired = undefined;\r\n }\r\n\r\n /** Will be true if the codes associated with this CodeSpec are managed along with the iModel and false if the codes are managed by an external service.\r\n * @beta\r\n */\r\n public get isManagedWithIModel(): boolean {\r\n if (this.properties.spec && this.properties.spec.isManagedWithDgnDb !== undefined) {\r\n return this.properties.spec.isManagedWithDgnDb;\r\n }\r\n return true;\r\n }\r\n public set isManagedWithIModel(value: boolean) {\r\n if (!this.properties.spec) this.properties.spec = {};\r\n this.properties.spec.isManagedWithDgnDb = value;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"Code.js","sourceRoot":"","sources":["../../src/Code.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Codes\r\n */\r\n\r\nimport { GuidString, Id64, Id64String, JsonUtils } from \"@itwin/core-bentley\";\r\nimport { IModel } from \"./IModel\";\r\n\r\n/**\r\n * The identity of the element defining the scope for a Code value.\r\n * For query input, may either be an ElementId or a FederationGuid. When returned from a query, it will be an ElementId.\r\n * @public\r\n * @extensions\r\n */\r\nexport type CodeScopeProps = Id64String | GuidString;\r\n\r\n/** The wire format for a Code\r\n * @public\r\n * @extensions\r\n */\r\nexport interface CodeProps {\r\n /** Either the stringified 64-bit Id of the CodeSpec for this code, or the name of the CodeSpec. */\r\n spec: Id64String | string;\r\n /** Either the ElementId or the FederationGuid of the element that provides the scope for this code. */\r\n scope: CodeScopeProps;\r\n /** the value of this code. May be undefined. */\r\n value?: string;\r\n}\r\n\r\n/**\r\n * A three-part structure containing information about the [Code]($docs/bis/guide/fundamentals/codes) of an Element\r\n * @public\r\n */\r\nexport class Code implements CodeProps {\r\n /** The id of the [CodeSpec]($docs/bis/guide/fundamentals/codes.md#codespec) of the Element */\r\n public spec: Id64String;\r\n /** The [CodeScope]($docs/bis/guide/fundamentals/codes.md#codescope-property) of the Element */\r\n public scope: Id64String;\r\n /** The [CodeValue]($docs/bis/guide/fundamentals/codes.md#codevalue-property) of the Element\r\n * @note Leading and trailing whitespace is invalid so is automatically trimmed.\r\n */\r\n public get value() { return this._value ?? \"\"; }\r\n public set value(val: string) { this._value = val?.trim(); }\r\n private _value?: string;\r\n\r\n constructor(codeProps: CodeProps) {\r\n this.spec = Id64.fromJSON(codeProps.spec);\r\n this.scope = JsonUtils.asString(codeProps.scope);\r\n this.value = JsonUtils.asString(codeProps.value);\r\n }\r\n\r\n /** Create an empty, non-unique code with no special meaning. */\r\n public static createEmpty(): Code { const id = Id64.fromLocalAndBriefcaseIds(1, 0); return new Code({ spec: id, scope: id }); }\r\n public static fromJSON(json?: any): Code { return json ? new Code(json) : Code.createEmpty(); }\r\n public toJSON(): CodeProps { return { spec: this.spec, scope: this.scope, value: this.value }; }\r\n public equals(other: Code): boolean { return Code.equalCodes(this, other); }\r\n /** @internal */\r\n public static equalCodes(c1: CodeProps, c2: CodeProps): boolean {\r\n return c1.spec === c2.spec && c1.scope === c2.scope && c1.value === c2.value;\r\n }\r\n /** Determine whether this Code is valid. */\r\n public static isValid(c: CodeProps): boolean { return Id64.isValidId64(c.spec); }\r\n /** Determine if this code is valid but not otherwise meaningful (and therefore not necessarily unique) */\r\n public static isEmpty(c: CodeProps): boolean { return this.isValid(c) && (c.value === undefined || c.value === \"\"); }\r\n}\r\n\r\n/** Names of the internal BIS CodeSpecs. These names match those specified by the native library.\r\n * For other domains, the best practice is to include the domain name or alias as part of the CodeSpec name to ensure global uniqueness.\r\n * @public\r\n* @extensions\r\n* @see [CodeSpec]($docs/bis/guide/fundamentals/codes.md#codespec)\r\n */\r\nexport enum BisCodeSpec {\r\n /** The name of the standard [[CodeSpec]] used when creating *empty* codes.\r\n * @see [[Code.createEmpty]]\r\n */\r\n nullCodeSpec = \"bis:NullCodeSpec\",\r\n /** @internal */\r\n annotationFrameStyle = \"bis:AnnotationFrameStyle\",\r\n /** @internal */\r\n annotationLeaderStyle = \"bis:AnnotationLeaderStyle\",\r\n /** @internal */\r\n annotationTextStyle = \"bis:AnnotationTextStyle\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [AuxCoordSystem2d]($backend) elements.\r\n * @see [AuxCoordSystem2d.createCode]($backend)\r\n */\r\n auxCoordSystem2d = \"bis:AuxCoordSystem2d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [AuxCoordSystem3d]($backend) elements.\r\n * @see [AuxCoordSystem3d.createCode]($backend)\r\n */\r\n auxCoordSystem3d = \"bis:AuxCoordSystem3d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [AuxCoordSystemSpatial]($backend) elements.\r\n * @see [AuxCoordSystemSpatial.createCode]($backend)\r\n */\r\n auxCoordSystemSpatial = \"bis:AuxCoordSystemSpatial\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [CategorySelector]($backend) elements.\r\n * @see [CategorySelector.createCode]($backend)\r\n */\r\n categorySelector = \"bis:CategorySelector\",\r\n /** @internal */\r\n colorBook = \"bis:ColorBook\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [DisplayStyle]($backend) elements.\r\n * @see [DisplayStyle.createCode]($backend)\r\n */\r\n displayStyle = \"bis:DisplayStyle\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Drawing]($backend) elements.\r\n * @see [Drawing.createCode]($backend)\r\n */\r\n drawing = \"bis:Drawing\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [DrawingCategory]($backend) elements.\r\n * @see [DrawingCategory.createCode]($backend)\r\n */\r\n drawingCategory = \"bis:DrawingCategory\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ExternalSource]($backend) elements.\r\n * @note This CodeSpec is not automatically created, so use [ExternalSource.ensureCodeSpec]($backend) to make sure that it exists.\r\n * @see [ExternalSource.createCode]($backend)\r\n */\r\n externalSource = \"bis:ExternalSource\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ExternalSourceAttachment]($backend) elements.\r\n * @note This CodeSpec is not automatically created, so use [ExternalSourceAttachment.ensureCodeSpec]($backend) to make sure that it exists.\r\n * @see [ExternalSource.createCode]($backend)\r\n */\r\n externalSourceAttachment = \"bis:ExternalSourceAttachment\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [GeometryPart]($backend) elements.\r\n * @see [GeometryPart.createCode]($backend)\r\n */\r\n geometryPart = \"bis:GeometryPart\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [GraphicalType2d]($backend) elements.\r\n * @see [GraphicalType2d.createCode]($backend)\r\n */\r\n graphicalType2d = \"bis:GraphicalType2d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [LineStyle]($backend) elements.\r\n * @see [LineStyle.createCode]($backend)\r\n */\r\n lineStyle = \"bis:LineStyle\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [LinkElement]($backend) elements.\r\n * @see [LinkElement.createCode]($backend)\r\n */\r\n linkElement = \"bis:LinkElement\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ModelSelector]($backend) elements.\r\n * @see [ModelSelector.createCode]($backend)\r\n */\r\n modelSelector = \"bis:ModelSelector\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [PhysicalMaterial]($backend) elements.\r\n * @see [PhysicalMaterial.createCode]($backend)\r\n */\r\n physicalMaterial = \"bis:PhysicalMaterial\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [PhysicalType]($backend) elements.\r\n * @see [PhysicalType.createCode]($backend)\r\n */\r\n physicalType = \"bis:PhysicalType\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [InformationPartitionElement]($backend) elements.\r\n * @see [InformationPartitionElement.createCode]($backend)\r\n */\r\n informationPartitionElement = \"bis:InformationPartitionElement\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [RenderMaterialElement]($backend) elements.\r\n * @see [RenderMaterialElement.createCode]($backend)\r\n */\r\n renderMaterial = \"bis:RenderMaterial\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Sheet]($backend) elements.\r\n * @see [Sheet.createCode]($backend)\r\n */\r\n sheet = \"bis:Sheet\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SpatialCategory]($backend) elements.\r\n * @see [SpatialCategory.createCode]($backend)\r\n */\r\n spatialCategory = \"bis:SpatialCategory\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SpatialLocationType]($backend) elements.\r\n * @see [SpatialLocationType.createCode]($backend)\r\n */\r\n spatialLocationType = \"bis:SpatialLocationType\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [SubCategory]($backend) elements.\r\n * @see [SubCategory.createCode]($backend)\r\n */\r\n subCategory = \"bis:SubCategory\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Subject]($backend) elements.\r\n * @see [Subject.createCode]($backend)\r\n */\r\n subject = \"bis:Subject\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [TemplateRecipe2d]($backend) elements.\r\n * @see [TemplateRecipe2d.createCode]($backend)\r\n */\r\n templateRecipe2d = \"bis:TemplateRecipe2d\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [TemplateRecipe3d]($backend) elements.\r\n * @see [TemplateRecipe3d.createCode]($backend)\r\n */\r\n templateRecipe3d = \"bis:TemplateRecipe3d\",\r\n /** @internal */\r\n textAnnotationSeed = \"bis:TextAnnotationSeed\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [Texture]($backend) elements.\r\n * @see [Texture.createCode]($backend)\r\n */\r\n texture = \"bis:Texture\",\r\n /** The name of the standard [[CodeSpec]] used when creating codes for [ViewDefinition]($backend) elements.\r\n * @see [ViewDefinition.createCode]($backend)\r\n */\r\n viewDefinition = \"bis:ViewDefinition\",\r\n}\r\n\r\n/** The scope of the Code.\r\n * @public\r\n */\r\nexport namespace CodeScopeSpec {\r\n /** The standard ways the CodeScope can be specified.\r\n * @public\r\n */\r\n export enum Type {\r\n /** The Code value must be unique within (at least) the iModel repository */\r\n Repository = 1,\r\n /** The Code value must be unique within the scope of the Model */\r\n Model = 2,\r\n /** The Code value must be unique among other children of the same parent element */\r\n ParentElement = 3,\r\n /** The Code value must be unique among other elements also scoped by the same element */\r\n RelatedElement = 4,\r\n }\r\n\r\n /** Requirements for how the CodeScope Element is identified.\r\n * @public\r\n */\r\n export enum ScopeRequirement {\r\n /** The Code is required to have a valid ElementId as its scope */\r\n ElementId = 1,\r\n /** The Code is required to have a valid FederationGuid as its scope */\r\n FederationGuid = 2,\r\n }\r\n}\r\n\r\n/** A [Code Specification]($docs/bis/guide/references/glossary#codespec) captures the rules for encoding and decoding significant business information into\r\n * and from a Code (string). This specification is used to generate and validate Codes.\r\n *\r\n * A CodeSpec defines the format of a Code for a certain type of Element in an IModel.\r\n * A CodeSpec can identify an external system that maintains and/or assigns Codes.\r\n * @public\r\n */\r\nexport class CodeSpec {\r\n /** The iModel holding this CodeSpec. */\r\n public iModel: IModel;\r\n /** The id of this CodeSpec. */\r\n public id: Id64String;\r\n /** The name of this CodeSpec. */\r\n public name: string;\r\n /** The JSON properties for this CodeSpec.\r\n * > Note: Use the getters and setters instead of accessing this directly.\r\n * @internal\r\n */\r\n public properties: any;\r\n\r\n /** Internal-only constructor. Proper use is to supply `properties` only or `scopeType` and `scopeReq` but not `properties`.\r\n */\r\n private constructor(iModel: IModel, id: Id64String, name: string, scopeType?: CodeScopeSpec.Type, scopeReq?: CodeScopeSpec.ScopeRequirement, properties?: any) {\r\n this.iModel = iModel;\r\n this.id = id;\r\n this.name = name;\r\n if (properties) {\r\n this.properties = properties;\r\n if (!this.properties.scopeSpec) {\r\n this.properties.scopeSpec = {};\r\n this.scopeType = CodeScopeSpec.Type.Repository;\r\n }\r\n } else {\r\n this.properties = { scopeSpec: {} };\r\n this.scopeType = CodeScopeSpec.Type.Repository;\r\n }\r\n if (undefined !== scopeType) this.scopeType = scopeType;\r\n if (undefined !== scopeReq) this.scopeReq = scopeReq;\r\n }\r\n\r\n /** Create a new CodeSpec from the specified parameters\r\n * > Note: CodeSpec.id will not be valid until inserted\r\n * @see [CodeSpecs.insert]($backend)\r\n */\r\n public static create(iModel: IModel, name: string, scopeType: CodeScopeSpec.Type, scopeReq?: CodeScopeSpec.ScopeRequirement): CodeSpec {\r\n return new CodeSpec(iModel, Id64.invalid, name, scopeType, scopeReq, undefined);\r\n }\r\n\r\n /** Create a new CodeSpec directly from JSON. Used internally by the CodeSpecs.load function.\r\n * @internal\r\n */\r\n public static createFromJson(iModel: IModel, id: Id64String, name: string, properties: any): CodeSpec {\r\n return new CodeSpec(iModel, id, name, undefined, undefined, properties); // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n /** Will be true if the id of this CodeSpec is valid. */\r\n public get isValid(): boolean { return Id64.isValid(this.id); }\r\n\r\n /** The scope type of this CodeSpec. */\r\n public get scopeType(): CodeScopeSpec.Type { return this.properties.scopeSpec.type; }\r\n public set scopeType(scopeType: CodeScopeSpec.Type) { this.properties.scopeSpec.type = scopeType; }\r\n\r\n /** Will be `CodeScopeSpec.ScopeRequirement.FederationGuid` if the scoping element is required to have a FederationGuid or `CodeScopeSpec.ScopeRequirement.ElementId` otherwise (which is the default). */\r\n public get scopeReq(): CodeScopeSpec.ScopeRequirement {\r\n return this.properties.scopeSpec.fGuidRequired ? CodeScopeSpec.ScopeRequirement.FederationGuid : CodeScopeSpec.ScopeRequirement.ElementId;\r\n }\r\n public set scopeReq(req: CodeScopeSpec.ScopeRequirement) {\r\n if (CodeScopeSpec.ScopeRequirement.FederationGuid === req)\r\n this.properties.scopeSpec.fGuidRequired = true;\r\n else\r\n this.properties.scopeSpec.fGuidRequired = undefined;\r\n }\r\n\r\n /** Will be true if the codes associated with this CodeSpec are managed along with the iModel and false if the codes are managed by an external service.\r\n * @beta\r\n */\r\n public get isManagedWithIModel(): boolean {\r\n if (this.properties.spec && this.properties.spec.isManagedWithDgnDb !== undefined) {\r\n return this.properties.spec.isManagedWithDgnDb;\r\n }\r\n return true;\r\n }\r\n public set isManagedWithIModel(value: boolean) {\r\n if (!this.properties.spec) this.properties.spec = {};\r\n this.properties.spec.isManagedWithDgnDb = value;\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module ECSQL
|
|
3
|
+
*/
|
|
4
|
+
/** @public */
|
|
5
|
+
export interface ECSchemaReferenceProps {
|
|
6
|
+
readonly name: string;
|
|
7
|
+
readonly version: string;
|
|
8
|
+
}
|
|
9
|
+
/** @public */
|
|
10
|
+
export interface ECSchemaItemProps {
|
|
11
|
+
readonly $schema?: string;
|
|
12
|
+
readonly schema?: string;
|
|
13
|
+
readonly schemaVersion?: string;
|
|
14
|
+
readonly name?: string;
|
|
15
|
+
readonly schemaItemType?: string;
|
|
16
|
+
readonly label?: string;
|
|
17
|
+
readonly description?: string;
|
|
18
|
+
readonly customAttributes?: Array<{
|
|
19
|
+
[value: string]: any;
|
|
20
|
+
}>;
|
|
21
|
+
}
|
|
22
|
+
/** Properties of an ECSchema
|
|
23
|
+
* @public
|
|
24
|
+
*/
|
|
25
|
+
export interface ECSchemaProps {
|
|
26
|
+
readonly $schema: string;
|
|
27
|
+
readonly name: string;
|
|
28
|
+
readonly version: string;
|
|
29
|
+
readonly alias: string;
|
|
30
|
+
readonly label?: string;
|
|
31
|
+
readonly description?: string;
|
|
32
|
+
readonly references?: ECSchemaReferenceProps[];
|
|
33
|
+
readonly items?: {
|
|
34
|
+
[name: string]: ECSchemaItemProps;
|
|
35
|
+
};
|
|
36
|
+
readonly customAttributes?: Array<{
|
|
37
|
+
[value: string]: any;
|
|
38
|
+
}>;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=ECSchemaProps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ECSchemaProps.d.ts","sourceRoot":"","sources":["../../src/ECSchemaProps.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,cAAc;AACd,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,cAAc;AACd,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAC;CAC7D;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAA;KAAE,CAAC;IACvD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAC;CAC7D"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
/** @packageDocumentation
|
|
7
|
+
* @module ECSQL
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
//# sourceMappingURL=ECSchemaProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ECSchemaProps.js","sourceRoot":"","sources":["../../src/ECSchemaProps.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module ECSQL\r\n */\r\n\r\n/** @public */\r\nexport interface ECSchemaReferenceProps {\r\n readonly name: string;\r\n readonly version: string;\r\n}\r\n\r\n/** @public */\r\nexport interface ECSchemaItemProps {\r\n readonly $schema?: string;\r\n readonly schema?: string;\r\n readonly schemaVersion?: string;\r\n readonly name?: string;\r\n readonly schemaItemType?: string;\r\n readonly label?: string;\r\n readonly description?: string;\r\n readonly customAttributes?: Array<{ [value: string]: any }>;\r\n}\r\n\r\n/** Properties of an ECSchema\r\n * @public\r\n */\r\nexport interface ECSchemaProps {\r\n readonly $schema: string;\r\n readonly name: string;\r\n readonly version: string;\r\n readonly alias: string;\r\n readonly label?: string;\r\n readonly description?: string;\r\n readonly references?: ECSchemaReferenceProps[];\r\n readonly items?: { [name: string]: ECSchemaItemProps };\r\n readonly customAttributes?: Array<{ [value: string]: any }>;\r\n}\r\n"]}
|
|
@@ -299,6 +299,8 @@ export interface RenderTimelineLoadProps {
|
|
|
299
299
|
* @extensions
|
|
300
300
|
*/
|
|
301
301
|
export interface ElementLoadOptions {
|
|
302
|
+
/** if true, only load the members of [[ElementProps]], and no members from subclasses */
|
|
303
|
+
onlyBaseProperties?: boolean;
|
|
302
304
|
/** If true, include the [[GeometryStreamProps]] for [[GeometricElementProps]] and [[GeometryPartProps]].
|
|
303
305
|
* Geometry streams can consist of many megabytes worth of JSON, so they are omitted by default.
|
|
304
306
|
*/
|
|
@@ -319,6 +321,10 @@ export interface ElementLoadOptions {
|
|
|
319
321
|
*/
|
|
320
322
|
export interface ElementLoadProps extends ElementLoadOptions {
|
|
321
323
|
id?: Id64String;
|
|
324
|
+
/** The properties of the Code of the element to load.
|
|
325
|
+
* @note the Value member is required even though it is not declared so here. If no value is supplied, no element will ever be loaded.
|
|
326
|
+
* TODO: change to Required<CodeProps> in Version 4.0
|
|
327
|
+
*/
|
|
322
328
|
code?: CodeProps;
|
|
323
329
|
federationGuid?: GuidString;
|
|
324
330
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElementProps.d.ts","sourceRoot":"","sources":["../../src/ElementProps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ElementProps.d.ts","sourceRoot":"","sources":["../../src/ElementProps.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElementProps.js","sourceRoot":"","sources":["../../src/ElementProps.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAAmE;AAQnE,+CAA0D;AAoC1D;;GAEG;AACH,MAAa,cAAc;IAOzB,YAAY,KAA0B;QACpC,IAAI,CAAC,EAAE,GAAG,mBAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IACzC,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,IAA0B;QAC/C,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IAKD,mJAAmJ;IAC5I,MAAM,CAAC,UAAU,CAAC,IAAS;QAChC,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;YAChD,MAAM,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK,SAAS;gBACjB,MAAM,IAAI,yBAAW,CAAC,0BAAY,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;YAC/E,OAAO,CAAC,CAAC,EAAE,CAAC;SACb;QACD,OAAO,mBAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEM,MAAM;QACX,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;IACJ,CAAC;;AAnCH,wCAoCC;AApBC,8DAA8D;AACvC,mBAAI,GAAG,IAAI,cAAc,CAAC,EAAE,EAAE,EAAE,mBAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAqBzE;;GAEG;AACH,MAAa,cAAe,SAAQ,cAAc;CACjD;AADD,wCACC;AA6CD;;GAEG;AACH,SAAgB,kBAAkB,CAAC,KAAqB;IACtD,OAAQ,KAA0B,CAAC,KAAK,KAAK,SAAS,CAAC;AACzD,CAAC;AAFD,gDAEC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,KAAqB;IACtD,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAFD,gDAEC;AAmBD;;;GAGG;AACH,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,mDAAW,CAAA;IACX,iDAAU,CAAA;IACV,uDAAa,CAAA;IACb,6CAAQ,CAAA;AACV,CAAC,EALW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAKtB;AA0PD;;GAEG;AACH,IAAY,4BAKX;AALD,WAAY,4BAA4B;IACtC,gEAAgE;IAChE,mGAAkB,CAAA;IAClB,0EAA0E;IAC1E,6FAAe,CAAA;AACjB,CAAC,EALW,4BAA4B,GAA5B,oCAA4B,KAA5B,oCAA4B,QAKvC;AAyCD;;;GAGG;AACH,IAAY,IASX;AATD,WAAY,IAAI;IACd,gDAAgD;IAChD,mCAAU,CAAA;IACV,4GAA4G;IAC5G,mCAAU,CAAA;IACV,6HAA6H;IAC7H,6CAAe,CAAA;IACf,mIAAmI;IACnI,+BAAQ,CAAA;AACV,CAAC,EATW,IAAI,GAAJ,YAAI,KAAJ,YAAI,QASf","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Entities\r\n */\r\n\r\nimport { GuidString, Id64, Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n AngleProps, ClipVectorProps, LowAndHighXY, LowAndHighXYZ, TransformProps, XYProps, XYZProps, YawPitchRollProps,\r\n} from \"@itwin/core-geometry\";\r\nimport { CodeProps } from \"./Code\";\r\nimport { EntityProps } from \"./EntityProps\";\r\nimport { ElementGeometryBuilderParams, ElementGeometryBuilderParamsForPart } from \"./geometry/ElementGeometry\";\r\nimport { GeometryStreamProps } from \"./geometry/GeometryStream\";\r\nimport { IModelError, IModelStatus } from \"./IModelError\";\r\nimport { SubCategoryAppearance } from \"./SubCategoryAppearance\";\r\n\r\n/** Properties of a NavigationProperty.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface RelatedElementProps {\r\n /** The Id of the element to which this element is related. */\r\n id: Id64String;\r\n /** The full className of the relationship class. */\r\n relClassName?: string;\r\n}\r\n\r\n/** Properties of an [Element]($docs/bis/guide/fundamentals/element-fundamentals)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ElementProps extends EntityProps {\r\n /** The Id of the [Model]($docs/bis/guide/fundamentals/model-fundamentals.md) containing this element */\r\n model: Id64String;\r\n /** The [Code]($docs/bis/guide/fundamentals/codes.md) for this element */\r\n code: CodeProps;\r\n /** The Parent of this element, if defined. */\r\n parent?: RelatedElementProps;\r\n /** A [FederationGuid]($docs/bis/guide/fundamentals/element-fundamentals.md#federationguid) assigned to this element.\r\n * @note On insert, if this is a valid Guid, the value is preserved. If it is `undefined`, a new Guid is created. If it is an invalid Guid (e.g. Guid.empty), the\r\n * resultant element will have a `null` federationGuid. For update, `undefined` means \"don't change.\"\r\n */\r\n federationGuid?: GuidString;\r\n /** A [user-assigned label]($docs/bis/guide/fundamentals/element-fundamentals.md#userlabel) for this element. */\r\n userLabel?: string;\r\n /** Optional [json properties]($docs/bis/guide/fundamentals/element-fundamentals.md#jsonproperties) of this element. */\r\n jsonProperties?: any;\r\n}\r\n\r\n/** The Id and relationship class of an Element that is somehow related to another Element\r\n * @public\r\n */\r\nexport class RelatedElement implements RelatedElementProps {\r\n /** The Id of the element to which this element is related. */\r\n public readonly id: Id64String;\r\n\r\n /** The full className of the relationship class. */\r\n public readonly relClassName?: string;\r\n\r\n constructor(props: RelatedElementProps) {\r\n this.id = Id64.fromJSON(props.id);\r\n this.relClassName = props.relClassName;\r\n }\r\n\r\n public static fromJSON(json?: RelatedElementProps): RelatedElement | undefined {\r\n return json ? new RelatedElement(json) : undefined;\r\n }\r\n\r\n /** Used to *null out* an existing navigation relationship. */\r\n public static readonly none = new RelatedElement({ id: Id64.invalid });\r\n\r\n /** Accept the value of a navigation property that might be in the shortened format of just an id or might be in the full RelatedElement format. */\r\n public static idFromJson(json: any): Id64String {\r\n if ((typeof json === \"object\") && (\"id\" in json)) {\r\n const r = RelatedElement.fromJSON(json);\r\n if (r === undefined)\r\n throw new IModelError(IModelStatus.BadArg, \"Problem parsing Id64 from json\");\r\n return r.id;\r\n }\r\n return Id64.fromJSON(json);\r\n }\r\n\r\n public toJSON(): RelatedElementProps {\r\n return {\r\n id: this.id,\r\n relClassName: this.relClassName,\r\n };\r\n }\r\n}\r\n\r\n/** A [RelatedElement]($common) relationship that describes the [TypeDefinitionElement]($backend) of an element.\r\n * @public\r\n */\r\nexport class TypeDefinition extends RelatedElement {\r\n}\r\n\r\n/** Properties of a [GeometricElement]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GeometricElementProps extends ElementProps {\r\n /** The id of the category for this geometric element. */\r\n category: Id64String;\r\n /** The geometry stream properties */\r\n geom?: GeometryStreamProps;\r\n /** How to build the element's GeometryStream. This is used for insert and update only. It is not a persistent property. It will be undefined in the properties returned by functions that read a persistent element. It may be specified as an alternative to `geom` when inserting or updating an element.\r\n * @alpha\r\n */\r\n elementGeometryBuilderParams?: ElementGeometryBuilderParams;\r\n /** The placement properties */\r\n placement?: PlacementProps;\r\n}\r\n\r\n/** Properties of a [[Placement3d]]\r\n * @public\r\n * @extensions\r\n */\r\nexport interface Placement3dProps {\r\n origin: XYZProps;\r\n angles: YawPitchRollProps;\r\n bbox?: LowAndHighXYZ;\r\n}\r\n\r\n/** Properties of a [[Placement2d]]\r\n * @public\r\n * @extensions\r\n */\r\nexport interface Placement2dProps {\r\n origin: XYProps;\r\n angle: AngleProps;\r\n bbox?: LowAndHighXY;\r\n}\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport type PlacementProps = Placement2dProps | Placement3dProps;\r\n\r\n/** determine if this is Placement2dProps\r\n * @public\r\n */\r\nexport function isPlacement2dProps(props: PlacementProps): props is Placement2dProps {\r\n return (props as Placement2dProps).angle !== undefined;\r\n}\r\n\r\n/** determine if this is Placement3dProps\r\n * @public\r\n */\r\nexport function isPlacement3dProps(props: PlacementProps): props is Placement3dProps {\r\n return !isPlacement2dProps(props);\r\n}\r\n\r\n/** Properties that define a [GeometricElement3d]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GeometricElement3dProps extends GeometricElementProps {\r\n placement?: Placement3dProps;\r\n typeDefinition?: RelatedElementProps;\r\n}\r\n\r\n/** Properties that define a [PhysicalElement]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface PhysicalElementProps extends GeometricElement3dProps {\r\n physicalMaterial?: RelatedElementProps;\r\n}\r\n\r\n/** An enumeration of the different types of [SectionDrawing]($backend)s.\r\n * @public\r\n * @extensions\r\n */\r\nexport enum SectionType {\r\n Section = 3,\r\n Detail = 4,\r\n Elevation = 5,\r\n Plan = 6,\r\n}\r\n\r\n/** Properties that define a [SectionDrawing]($backend).\r\n * @public\r\n * @extensions\r\n */\r\nexport interface SectionDrawingProps extends ElementProps {\r\n /** The type of section used to generate the drawing. Default: Section. */\r\n sectionType?: SectionType;\r\n /** The spatial view from which the section was generated. */\r\n spatialView?: RelatedElementProps;\r\n jsonProperties?: {\r\n /** A transform from the section drawing model's coordinates to spatial coordinates. */\r\n drawingToSpatialTransform?: TransformProps;\r\n /** If the section drawing is placed onto a [Sheet]($backend) via a [ViewAttachment]($backend), a transform from the sheet's coordinates to spatial coordinates. */\r\n sheetToSpatialTransform?: TransformProps;\r\n /** If the section drawing is placed onto a [Sheet]($backend) via a [ViewAttachment]($backend), JSON representation of a [ClipVector]($geometry) to apply to\r\n * the sheet graphics when drawn in the context of the spatial view.\r\n * The ClipVector is in spatial coordinates.\r\n */\r\n drawingBoundaryClip?: ClipVectorProps;\r\n /** If true, when displaying the section drawing as a [DrawingViewState]($frontend), the [[spatialView]] will also be displayed. */\r\n displaySpatialView?: true;\r\n };\r\n}\r\n\r\n/** Properties that define a [SectionDrawingLocation]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface SectionDrawingLocationProps extends GeometricElement3dProps {\r\n /** The [ViewDefinition]($backend) to which this location refers. */\r\n sectionView?: RelatedElementProps;\r\n}\r\n\r\n/** Properties that define a [GeometricElement2d]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GeometricElement2dProps extends GeometricElementProps {\r\n placement?: Placement2dProps;\r\n typeDefinition?: RelatedElementProps;\r\n}\r\n\r\n/** Properties of a [GeometryPart]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GeometryPartProps extends ElementProps {\r\n geom?: GeometryStreamProps;\r\n /** How to build the part's GeometryStream. This is used for insert and update only. It is not a persistent property. It will be undefined in the properties returned by functions that read a persistent element. It may be specified as an alternative to `geom` when inserting or updating an element.\r\n * @alpha\r\n */\r\n elementGeometryBuilderParams?: ElementGeometryBuilderParamsForPart;\r\n bbox?: LowAndHighXYZ;\r\n}\r\n\r\n/** Properties for a [ViewAttachment]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ViewAttachmentProps extends GeometricElement2dProps {\r\n view: RelatedElementProps;\r\n jsonProperties?: {\r\n /** Integer priority in [-500,500]. Where two attachments overlap, the one with the higher priority draws in front of the other. Default: 0. */\r\n displayPriority?: number;\r\n /** JSON representation of a [ClipVector]($core-geometry] in sheet coordinate space, used to clip the attachment's graphics on the sheet. */\r\n clip?: ClipVectorProps;\r\n /** Options for customizing how the view attachment is displayed on the sheet. */\r\n displayOptions?: {\r\n /** If true, the view attachment is always drawn as a raster image. By default, only 3d perspective views are drawn this way (they always *must* be). Default: false. */\r\n drawAsRaster?: boolean;\r\n /** If true, and the view attachment is drawn as a raster image, the background color of the view will be preserved. By default the background color of the\r\n * sheet is used and any background pixels become transparent, allowing the contents of the sheet to show through. Default: false.\r\n */\r\n preserveBackground?: boolean;\r\n };\r\n };\r\n}\r\n\r\n/** Properties of a [Subject]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface SubjectProps extends ElementProps {\r\n description?: string;\r\n}\r\n\r\n/** Properties of a [SheetBorderTemplate]($backend)\r\n * @beta\r\n */\r\nexport interface SheetBorderTemplateProps extends ElementProps {\r\n height?: number;\r\n width?: number;\r\n}\r\n\r\n/** Properties of a [SheetTemplate]($backend)\r\n * @beta\r\n */\r\nexport interface SheetTemplateProps extends ElementProps {\r\n height?: number;\r\n width?: number;\r\n border?: Id64String;\r\n}\r\n\r\n/** Properties of a [Sheet]($backend).\r\n * @public\r\n * @extensions\r\n */\r\nexport interface SheetProps extends ElementProps {\r\n width?: number;\r\n height?: number;\r\n scale?: number;\r\n sheetTemplate?: Id64String;\r\n attachments?: Id64String[];\r\n}\r\n\r\n/** Properties of a [DefinitionElement]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface DefinitionElementProps extends ElementProps {\r\n isPrivate?: boolean;\r\n}\r\n\r\n/** Properties of a [TypeDefinitionElement]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface TypeDefinitionElementProps extends DefinitionElementProps {\r\n recipe?: RelatedElementProps;\r\n}\r\n\r\n/** Properties of a [PhysicalType]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface PhysicalTypeProps extends TypeDefinitionElementProps {\r\n /** The [PhysicalMaterial]($backend) that makes up this physical type. */\r\n physicalMaterial?: RelatedElementProps;\r\n}\r\n\r\n/** Properties of a [InformationPartitionElement]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface InformationPartitionElementProps extends ElementProps {\r\n description?: string;\r\n}\r\n\r\n/** Options controlling which properties are included or excluded when querying [[DisplayStyleProps]].\r\n * @see [[ViewStateLoadProps]] and [[ElementLoadOptions]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface DisplayStyleLoadProps {\r\n /** If true, the lists of element Ids in the display style's schedule script will be empty.\r\n * The element Ids are not required on the frontend for display and can be quite large.\r\n */\r\n omitScheduleScriptElementIds?: boolean;\r\n /** If true, [[DisplayStyleSettingsProps.excludedElements]] will be compressed into a single compact string; otherwise they will be expanded into an array of strings.\r\n * The number of Ids may be quite large, so the compressed format is preferred, especially when communicating between the backend and frontend.\r\n */\r\n compressExcludedElementIds?: boolean;\r\n}\r\n\r\n/** Options controlling which properties are included or excluded when querying [[RenderTimelineProps]].\r\n * @see [[ElementLoadOptions.renderTimeline]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface RenderTimelineLoadProps {\r\n /** If true, the lists of element Ids in the schedule script will be empty.\r\n * The element Ids can be extremely numerous and are not required on the frontend for display, so they are omitted by default by [DisplayStyleState.load]($frontend).\r\n */\r\n omitScriptElementIds?: boolean;\r\n}\r\n\r\n/** Options used to specify properties to include or exclude when querying [[ElementProps]] with functions like\r\n * [IModelDb.Elements.getElementProps]($backend) and [IModelConnection.Elements.loadProps]($frontend).\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ElementLoadOptions {\r\n /** If true, include the [[GeometryStreamProps]] for [[GeometricElementProps]] and [[GeometryPartProps]].\r\n * Geometry streams can consist of many megabytes worth of JSON, so they are omitted by default.\r\n */\r\n wantGeometry?: boolean;\r\n /** When including a geometry stream containing brep entries, whether to return the raw brep data or proxy geometry, false when undefined */\r\n /** If true, include [[BRepEntity.DataProps.data]] in the [[GeometryStreamProps]] for [[GeometricElementProps]] and [[GeometryPartProps]].\r\n * The data is a potentially large base-64-encoded opaque binary blob that cannot be directly inspected or manipulated on the frontend, so it is omitted by default.\r\n */\r\n wantBRepData?: boolean;\r\n /** Options controlling which properties of [[DisplayStyleProps]] to include or exclude. */\r\n displayStyle?: DisplayStyleLoadProps;\r\n /** Options controlling which properties of [[RenderTimelineProps]] to include or exclude. */\r\n renderTimeline?: RenderTimelineLoadProps;\r\n}\r\n\r\n/** Parameters to specify what element to load for functions like [IModelDb.Elements.getElementProps]($backend).\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ElementLoadProps extends ElementLoadOptions {\r\n id?: Id64String;\r\n code?: CodeProps;\r\n federationGuid?: GuidString;\r\n}\r\n\r\n/** Properties of an [ElementAspect]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ElementAspectProps extends EntityProps {\r\n element: RelatedElementProps;\r\n}\r\n\r\n/** Properties of an [ExternalSourceAspect]($backend) that stores synchronization information for an element originating from an external source.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ExternalSourceAspectProps extends ElementAspectProps {\r\n /** An element that scopes the combination of `kind` and `identifier` to uniquely identify the object from the external source. */\r\n scope: RelatedElementProps;\r\n /** The identifier of the object in the source repository. */\r\n identifier: string;\r\n /** The kind of object within the source repository. */\r\n kind: string;\r\n /** An optional value that is typically a version number or a pseudo version number like last modified time.\r\n * It will be used by the synchronization process to detect that a source object is unchanged so that computing a cryptographic hash can be avoided.\r\n * If present, this value must be guaranteed to change when any of the source object's content changes.\r\n */\r\n version?: string;\r\n /** The optional cryptographic hash (any algorithm) of the source object's content. If defined, it must be guaranteed to change when the source object's content changes. */\r\n checksum?: string;\r\n /** A place where additional JSON properties can be stored. For example, provenance information or properties relating to the synchronization process. */\r\n jsonProperties?: any;\r\n /** The source of the imported/synchronized object. Should point to an instance of [ExternalSource]($backend). */\r\n source?: RelatedElementProps;\r\n}\r\n\r\n/** Properties of an [ExternalSource]($backend)\r\n * @beta\r\n */\r\nexport interface ExternalSourceProps extends ElementProps {\r\n repository?: RelatedElementProps;\r\n connectorName?: string;\r\n connectorVersion?: string;\r\n}\r\n\r\n/** The role that an attached [ExternalSource]($backend) plays.\r\n * @beta\r\n */\r\nexport enum ExternalSourceAttachmentRole {\r\n /** The attached [ExternalSource]($backend) provides context. */\r\n SpecifyContext = 0,\r\n /** The attached [ExternalSource]($backend) models a part of the whole. */\r\n SpecifyPart = 1,\r\n}\r\n\r\n/** Properties of an [ExternalSourceAttachment]($backend)\r\n * @beta\r\n */\r\nexport interface ExternalSourceAttachmentProps extends ElementProps {\r\n attaches?: RelatedElementProps;\r\n role?: ExternalSourceAttachmentRole;\r\n translation?: XYZProps;\r\n yaw?: number;\r\n pitch?: number;\r\n roll?: number;\r\n scale?: XYZProps;\r\n}\r\n\r\n/** Properties of an [ChannelRootAspect]($backend) that identifies an Element as the root of a *channel* which is a subset of the overall iModel hierarchy that is independently maintained.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ChannelRootAspectProps extends ElementAspectProps {\r\n /** The owner of the channel */\r\n owner: string;\r\n}\r\n\r\n/** Properties of a [LineStyle]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface LineStyleProps extends DefinitionElementProps {\r\n description?: string;\r\n /** The JSON string line style definition element data [LineStyleDefinition.StyleProps]($backend) */\r\n data: string;\r\n}\r\n\r\n/** Properties of a [LightLocation]($backend)\r\n * @internal\r\n */\r\nexport interface LightLocationProps extends GeometricElement3dProps {\r\n enabled?: boolean;\r\n}\r\n\r\n/** The *rank* for a Category\r\n * @public\r\n * @extensions\r\n */\r\nexport enum Rank {\r\n /** This category is predefined by the system */\r\n System = 0,\r\n /** This category is defined by a schema. Elements in this category are not recognized by system classes. */\r\n Domain = 1,\r\n /** This category is defined by an application. Elements in this category are not recognized by system and schema classes. */\r\n Application = 2,\r\n /** This category is defined by a user. Elements in this category are not recognized by system, schema, and application classes. */\r\n User = 3,\r\n}\r\n\r\n/** Parameters of a [Category]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface CategoryProps extends DefinitionElementProps {\r\n rank?: Rank;\r\n description?: string;\r\n}\r\n\r\n/** Parameters of a [SubCategory]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface SubCategoryProps extends DefinitionElementProps {\r\n appearance?: SubCategoryAppearance.Props;\r\n description?: string;\r\n}\r\n\r\n/** Parameters of a [UrlLink]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface UrlLinkProps extends ElementProps {\r\n description?: string;\r\n url?: string;\r\n}\r\n\r\n/** Parameters of a [RepositoryLink]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface RepositoryLinkProps extends UrlLinkProps {\r\n repositoryGuid?: GuidString;\r\n format?: string;\r\n}\r\n\r\n/** The properties of a [SynchronizationConfigLink]($backend)\r\n * @beta\r\n */\r\nexport interface SynchronizationConfigLinkProps extends UrlLinkProps {\r\n lastSuccessfulRun?: string;\r\n}\r\n\r\n/** Wire format describing a [RenderTimeline]($backend).\r\n * @public\r\n * @extensions\r\n */\r\nexport interface RenderTimelineProps extends ElementProps {\r\n /** An optional human-readable description of the timeline. */\r\n description?: string;\r\n /** The stringified JSON representation of the instructions for visualizing change over time.\r\n * @see [[RenderSchedule.ScriptProps]] for the JSON interface.\r\n */\r\n script: string;\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ElementProps.js","sourceRoot":"","sources":["../../src/ElementProps.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAAmE;AAQnE,+CAA0D;AAoC1D;;GAEG;AACH,MAAa,cAAc;IAOzB,YAAY,KAA0B;QACpC,IAAI,CAAC,EAAE,GAAG,mBAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IACzC,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,IAA0B;QAC/C,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IAKD,mJAAmJ;IAC5I,MAAM,CAAC,UAAU,CAAC,IAAS;QAChC,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;YAChD,MAAM,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK,SAAS;gBACjB,MAAM,IAAI,yBAAW,CAAC,0BAAY,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;YAC/E,OAAO,CAAC,CAAC,EAAE,CAAC;SACb;QACD,OAAO,mBAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEM,MAAM;QACX,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;IACJ,CAAC;;AAnCH,wCAoCC;AApBC,8DAA8D;AACvC,mBAAI,GAAG,IAAI,cAAc,CAAC,EAAE,EAAE,EAAE,mBAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAqBzE;;GAEG;AACH,MAAa,cAAe,SAAQ,cAAc;CACjD;AADD,wCACC;AA6CD;;GAEG;AACH,SAAgB,kBAAkB,CAAC,KAAqB;IACtD,OAAQ,KAA0B,CAAC,KAAK,KAAK,SAAS,CAAC;AACzD,CAAC;AAFD,gDAEC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,KAAqB;IACtD,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAFD,gDAEC;AAmBD;;;GAGG;AACH,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,mDAAW,CAAA;IACX,iDAAU,CAAA;IACV,uDAAa,CAAA;IACb,6CAAQ,CAAA;AACV,CAAC,EALW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAKtB;AAgQD;;GAEG;AACH,IAAY,4BAKX;AALD,WAAY,4BAA4B;IACtC,gEAAgE;IAChE,mGAAkB,CAAA;IAClB,0EAA0E;IAC1E,6FAAe,CAAA;AACjB,CAAC,EALW,4BAA4B,GAA5B,oCAA4B,KAA5B,oCAA4B,QAKvC;AAyCD;;;GAGG;AACH,IAAY,IASX;AATD,WAAY,IAAI;IACd,gDAAgD;IAChD,mCAAU,CAAA;IACV,4GAA4G;IAC5G,mCAAU,CAAA;IACV,6HAA6H;IAC7H,6CAAe,CAAA;IACf,mIAAmI;IACnI,+BAAQ,CAAA;AACV,CAAC,EATW,IAAI,GAAJ,YAAI,KAAJ,YAAI,QASf","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Entities\r\n */\r\n\r\nimport { GuidString, Id64, Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n AngleProps, ClipVectorProps, LowAndHighXY, LowAndHighXYZ, TransformProps, XYProps, XYZProps, YawPitchRollProps,\r\n} from \"@itwin/core-geometry\";\r\nimport { CodeProps } from \"./Code\";\r\nimport { EntityProps } from \"./EntityProps\";\r\nimport { ElementGeometryBuilderParams, ElementGeometryBuilderParamsForPart } from \"./geometry/ElementGeometry\";\r\nimport { GeometryStreamProps } from \"./geometry/GeometryStream\";\r\nimport { IModelError, IModelStatus } from \"./IModelError\";\r\nimport { SubCategoryAppearance } from \"./SubCategoryAppearance\";\r\n\r\n/** Properties of a NavigationProperty.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface RelatedElementProps {\r\n /** The Id of the element to which this element is related. */\r\n id: Id64String;\r\n /** The full className of the relationship class. */\r\n relClassName?: string;\r\n}\r\n\r\n/** Properties of an [Element]($docs/bis/guide/fundamentals/element-fundamentals)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ElementProps extends EntityProps {\r\n /** The Id of the [Model]($docs/bis/guide/fundamentals/model-fundamentals.md) containing this element */\r\n model: Id64String;\r\n /** The [Code]($docs/bis/guide/fundamentals/codes.md) for this element */\r\n code: CodeProps;\r\n /** The Parent of this element, if defined. */\r\n parent?: RelatedElementProps;\r\n /** A [FederationGuid]($docs/bis/guide/fundamentals/element-fundamentals.md#federationguid) assigned to this element.\r\n * @note On insert, if this is a valid Guid, the value is preserved. If it is `undefined`, a new Guid is created. If it is an invalid Guid (e.g. Guid.empty), the\r\n * resultant element will have a `null` federationGuid. For update, `undefined` means \"don't change.\"\r\n */\r\n federationGuid?: GuidString;\r\n /** A [user-assigned label]($docs/bis/guide/fundamentals/element-fundamentals.md#userlabel) for this element. */\r\n userLabel?: string;\r\n /** Optional [json properties]($docs/bis/guide/fundamentals/element-fundamentals.md#jsonproperties) of this element. */\r\n jsonProperties?: any;\r\n}\r\n\r\n/** The Id and relationship class of an Element that is somehow related to another Element\r\n * @public\r\n */\r\nexport class RelatedElement implements RelatedElementProps {\r\n /** The Id of the element to which this element is related. */\r\n public readonly id: Id64String;\r\n\r\n /** The full className of the relationship class. */\r\n public readonly relClassName?: string;\r\n\r\n constructor(props: RelatedElementProps) {\r\n this.id = Id64.fromJSON(props.id);\r\n this.relClassName = props.relClassName;\r\n }\r\n\r\n public static fromJSON(json?: RelatedElementProps): RelatedElement | undefined {\r\n return json ? new RelatedElement(json) : undefined;\r\n }\r\n\r\n /** Used to *null out* an existing navigation relationship. */\r\n public static readonly none = new RelatedElement({ id: Id64.invalid });\r\n\r\n /** Accept the value of a navigation property that might be in the shortened format of just an id or might be in the full RelatedElement format. */\r\n public static idFromJson(json: any): Id64String {\r\n if ((typeof json === \"object\") && (\"id\" in json)) {\r\n const r = RelatedElement.fromJSON(json);\r\n if (r === undefined)\r\n throw new IModelError(IModelStatus.BadArg, \"Problem parsing Id64 from json\");\r\n return r.id;\r\n }\r\n return Id64.fromJSON(json);\r\n }\r\n\r\n public toJSON(): RelatedElementProps {\r\n return {\r\n id: this.id,\r\n relClassName: this.relClassName,\r\n };\r\n }\r\n}\r\n\r\n/** A [RelatedElement]($common) relationship that describes the [TypeDefinitionElement]($backend) of an element.\r\n * @public\r\n */\r\nexport class TypeDefinition extends RelatedElement {\r\n}\r\n\r\n/** Properties of a [GeometricElement]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GeometricElementProps extends ElementProps {\r\n /** The id of the category for this geometric element. */\r\n category: Id64String;\r\n /** The geometry stream properties */\r\n geom?: GeometryStreamProps;\r\n /** How to build the element's GeometryStream. This is used for insert and update only. It is not a persistent property. It will be undefined in the properties returned by functions that read a persistent element. It may be specified as an alternative to `geom` when inserting or updating an element.\r\n * @alpha\r\n */\r\n elementGeometryBuilderParams?: ElementGeometryBuilderParams;\r\n /** The placement properties */\r\n placement?: PlacementProps;\r\n}\r\n\r\n/** Properties of a [[Placement3d]]\r\n * @public\r\n * @extensions\r\n */\r\nexport interface Placement3dProps {\r\n origin: XYZProps;\r\n angles: YawPitchRollProps;\r\n bbox?: LowAndHighXYZ;\r\n}\r\n\r\n/** Properties of a [[Placement2d]]\r\n * @public\r\n * @extensions\r\n */\r\nexport interface Placement2dProps {\r\n origin: XYProps;\r\n angle: AngleProps;\r\n bbox?: LowAndHighXY;\r\n}\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport type PlacementProps = Placement2dProps | Placement3dProps;\r\n\r\n/** determine if this is Placement2dProps\r\n * @public\r\n */\r\nexport function isPlacement2dProps(props: PlacementProps): props is Placement2dProps {\r\n return (props as Placement2dProps).angle !== undefined;\r\n}\r\n\r\n/** determine if this is Placement3dProps\r\n * @public\r\n */\r\nexport function isPlacement3dProps(props: PlacementProps): props is Placement3dProps {\r\n return !isPlacement2dProps(props);\r\n}\r\n\r\n/** Properties that define a [GeometricElement3d]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GeometricElement3dProps extends GeometricElementProps {\r\n placement?: Placement3dProps;\r\n typeDefinition?: RelatedElementProps;\r\n}\r\n\r\n/** Properties that define a [PhysicalElement]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface PhysicalElementProps extends GeometricElement3dProps {\r\n physicalMaterial?: RelatedElementProps;\r\n}\r\n\r\n/** An enumeration of the different types of [SectionDrawing]($backend)s.\r\n * @public\r\n * @extensions\r\n */\r\nexport enum SectionType {\r\n Section = 3,\r\n Detail = 4,\r\n Elevation = 5,\r\n Plan = 6,\r\n}\r\n\r\n/** Properties that define a [SectionDrawing]($backend).\r\n * @public\r\n * @extensions\r\n */\r\nexport interface SectionDrawingProps extends ElementProps {\r\n /** The type of section used to generate the drawing. Default: Section. */\r\n sectionType?: SectionType;\r\n /** The spatial view from which the section was generated. */\r\n spatialView?: RelatedElementProps;\r\n jsonProperties?: {\r\n /** A transform from the section drawing model's coordinates to spatial coordinates. */\r\n drawingToSpatialTransform?: TransformProps;\r\n /** If the section drawing is placed onto a [Sheet]($backend) via a [ViewAttachment]($backend), a transform from the sheet's coordinates to spatial coordinates. */\r\n sheetToSpatialTransform?: TransformProps;\r\n /** If the section drawing is placed onto a [Sheet]($backend) via a [ViewAttachment]($backend), JSON representation of a [ClipVector]($geometry) to apply to\r\n * the sheet graphics when drawn in the context of the spatial view.\r\n * The ClipVector is in spatial coordinates.\r\n */\r\n drawingBoundaryClip?: ClipVectorProps;\r\n /** If true, when displaying the section drawing as a [DrawingViewState]($frontend), the [[spatialView]] will also be displayed. */\r\n displaySpatialView?: true;\r\n };\r\n}\r\n\r\n/** Properties that define a [SectionDrawingLocation]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface SectionDrawingLocationProps extends GeometricElement3dProps {\r\n /** The [ViewDefinition]($backend) to which this location refers. */\r\n sectionView?: RelatedElementProps;\r\n}\r\n\r\n/** Properties that define a [GeometricElement2d]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GeometricElement2dProps extends GeometricElementProps {\r\n placement?: Placement2dProps;\r\n typeDefinition?: RelatedElementProps;\r\n}\r\n\r\n/** Properties of a [GeometryPart]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GeometryPartProps extends ElementProps {\r\n geom?: GeometryStreamProps;\r\n /** How to build the part's GeometryStream. This is used for insert and update only. It is not a persistent property. It will be undefined in the properties returned by functions that read a persistent element. It may be specified as an alternative to `geom` when inserting or updating an element.\r\n * @alpha\r\n */\r\n elementGeometryBuilderParams?: ElementGeometryBuilderParamsForPart;\r\n bbox?: LowAndHighXYZ;\r\n}\r\n\r\n/** Properties for a [ViewAttachment]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ViewAttachmentProps extends GeometricElement2dProps {\r\n view: RelatedElementProps;\r\n jsonProperties?: {\r\n /** Integer priority in [-500,500]. Where two attachments overlap, the one with the higher priority draws in front of the other. Default: 0. */\r\n displayPriority?: number;\r\n /** JSON representation of a [ClipVector]($core-geometry] in sheet coordinate space, used to clip the attachment's graphics on the sheet. */\r\n clip?: ClipVectorProps;\r\n /** Options for customizing how the view attachment is displayed on the sheet. */\r\n displayOptions?: {\r\n /** If true, the view attachment is always drawn as a raster image. By default, only 3d perspective views are drawn this way (they always *must* be). Default: false. */\r\n drawAsRaster?: boolean;\r\n /** If true, and the view attachment is drawn as a raster image, the background color of the view will be preserved. By default the background color of the\r\n * sheet is used and any background pixels become transparent, allowing the contents of the sheet to show through. Default: false.\r\n */\r\n preserveBackground?: boolean;\r\n };\r\n };\r\n}\r\n\r\n/** Properties of a [Subject]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface SubjectProps extends ElementProps {\r\n description?: string;\r\n}\r\n\r\n/** Properties of a [SheetBorderTemplate]($backend)\r\n * @beta\r\n */\r\nexport interface SheetBorderTemplateProps extends ElementProps {\r\n height?: number;\r\n width?: number;\r\n}\r\n\r\n/** Properties of a [SheetTemplate]($backend)\r\n * @beta\r\n */\r\nexport interface SheetTemplateProps extends ElementProps {\r\n height?: number;\r\n width?: number;\r\n border?: Id64String;\r\n}\r\n\r\n/** Properties of a [Sheet]($backend).\r\n * @public\r\n * @extensions\r\n */\r\nexport interface SheetProps extends ElementProps {\r\n width?: number;\r\n height?: number;\r\n scale?: number;\r\n sheetTemplate?: Id64String;\r\n attachments?: Id64String[];\r\n}\r\n\r\n/** Properties of a [DefinitionElement]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface DefinitionElementProps extends ElementProps {\r\n isPrivate?: boolean;\r\n}\r\n\r\n/** Properties of a [TypeDefinitionElement]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface TypeDefinitionElementProps extends DefinitionElementProps {\r\n recipe?: RelatedElementProps;\r\n}\r\n\r\n/** Properties of a [PhysicalType]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface PhysicalTypeProps extends TypeDefinitionElementProps {\r\n /** The [PhysicalMaterial]($backend) that makes up this physical type. */\r\n physicalMaterial?: RelatedElementProps;\r\n}\r\n\r\n/** Properties of a [InformationPartitionElement]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface InformationPartitionElementProps extends ElementProps {\r\n description?: string;\r\n}\r\n\r\n/** Options controlling which properties are included or excluded when querying [[DisplayStyleProps]].\r\n * @see [[ViewStateLoadProps]] and [[ElementLoadOptions]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface DisplayStyleLoadProps {\r\n /** If true, the lists of element Ids in the display style's schedule script will be empty.\r\n * The element Ids are not required on the frontend for display and can be quite large.\r\n */\r\n omitScheduleScriptElementIds?: boolean;\r\n /** If true, [[DisplayStyleSettingsProps.excludedElements]] will be compressed into a single compact string; otherwise they will be expanded into an array of strings.\r\n * The number of Ids may be quite large, so the compressed format is preferred, especially when communicating between the backend and frontend.\r\n */\r\n compressExcludedElementIds?: boolean;\r\n}\r\n\r\n/** Options controlling which properties are included or excluded when querying [[RenderTimelineProps]].\r\n * @see [[ElementLoadOptions.renderTimeline]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface RenderTimelineLoadProps {\r\n /** If true, the lists of element Ids in the schedule script will be empty.\r\n * The element Ids can be extremely numerous and are not required on the frontend for display, so they are omitted by default by [DisplayStyleState.load]($frontend).\r\n */\r\n omitScriptElementIds?: boolean;\r\n}\r\n\r\n/** Options used to specify properties to include or exclude when querying [[ElementProps]] with functions like\r\n * [IModelDb.Elements.getElementProps]($backend) and [IModelConnection.Elements.loadProps]($frontend).\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ElementLoadOptions {\r\n /** if true, only load the members of [[ElementProps]], and no members from subclasses */\r\n onlyBaseProperties?: boolean;\r\n /** If true, include the [[GeometryStreamProps]] for [[GeometricElementProps]] and [[GeometryPartProps]].\r\n * Geometry streams can consist of many megabytes worth of JSON, so they are omitted by default.\r\n */\r\n wantGeometry?: boolean;\r\n /** When including a geometry stream containing brep entries, whether to return the raw brep data or proxy geometry, false when undefined */\r\n /** If true, include [[BRepEntity.DataProps.data]] in the [[GeometryStreamProps]] for [[GeometricElementProps]] and [[GeometryPartProps]].\r\n * The data is a potentially large base-64-encoded opaque binary blob that cannot be directly inspected or manipulated on the frontend, so it is omitted by default.\r\n */\r\n wantBRepData?: boolean;\r\n /** Options controlling which properties of [[DisplayStyleProps]] to include or exclude. */\r\n displayStyle?: DisplayStyleLoadProps;\r\n /** Options controlling which properties of [[RenderTimelineProps]] to include or exclude. */\r\n renderTimeline?: RenderTimelineLoadProps;\r\n}\r\n\r\n/** Parameters to specify what element to load for functions like [IModelDb.Elements.getElementProps]($backend).\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ElementLoadProps extends ElementLoadOptions {\r\n id?: Id64String;\r\n /** The properties of the Code of the element to load.\r\n * @note the Value member is required even though it is not declared so here. If no value is supplied, no element will ever be loaded.\r\n * TODO: change to Required<CodeProps> in Version 4.0\r\n */\r\n code?: CodeProps;\r\n federationGuid?: GuidString;\r\n}\r\n\r\n/** Properties of an [ElementAspect]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ElementAspectProps extends EntityProps {\r\n element: RelatedElementProps;\r\n}\r\n\r\n/** Properties of an [ExternalSourceAspect]($backend) that stores synchronization information for an element originating from an external source.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ExternalSourceAspectProps extends ElementAspectProps {\r\n /** An element that scopes the combination of `kind` and `identifier` to uniquely identify the object from the external source. */\r\n scope: RelatedElementProps;\r\n /** The identifier of the object in the source repository. */\r\n identifier: string;\r\n /** The kind of object within the source repository. */\r\n kind: string;\r\n /** An optional value that is typically a version number or a pseudo version number like last modified time.\r\n * It will be used by the synchronization process to detect that a source object is unchanged so that computing a cryptographic hash can be avoided.\r\n * If present, this value must be guaranteed to change when any of the source object's content changes.\r\n */\r\n version?: string;\r\n /** The optional cryptographic hash (any algorithm) of the source object's content. If defined, it must be guaranteed to change when the source object's content changes. */\r\n checksum?: string;\r\n /** A place where additional JSON properties can be stored. For example, provenance information or properties relating to the synchronization process. */\r\n jsonProperties?: any;\r\n /** The source of the imported/synchronized object. Should point to an instance of [ExternalSource]($backend). */\r\n source?: RelatedElementProps;\r\n}\r\n\r\n/** Properties of an [ExternalSource]($backend)\r\n * @beta\r\n */\r\nexport interface ExternalSourceProps extends ElementProps {\r\n repository?: RelatedElementProps;\r\n connectorName?: string;\r\n connectorVersion?: string;\r\n}\r\n\r\n/** The role that an attached [ExternalSource]($backend) plays.\r\n * @beta\r\n */\r\nexport enum ExternalSourceAttachmentRole {\r\n /** The attached [ExternalSource]($backend) provides context. */\r\n SpecifyContext = 0,\r\n /** The attached [ExternalSource]($backend) models a part of the whole. */\r\n SpecifyPart = 1,\r\n}\r\n\r\n/** Properties of an [ExternalSourceAttachment]($backend)\r\n * @beta\r\n */\r\nexport interface ExternalSourceAttachmentProps extends ElementProps {\r\n attaches?: RelatedElementProps;\r\n role?: ExternalSourceAttachmentRole;\r\n translation?: XYZProps;\r\n yaw?: number;\r\n pitch?: number;\r\n roll?: number;\r\n scale?: XYZProps;\r\n}\r\n\r\n/** Properties of an [ChannelRootAspect]($backend) that identifies an Element as the root of a *channel* which is a subset of the overall iModel hierarchy that is independently maintained.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ChannelRootAspectProps extends ElementAspectProps {\r\n /** The owner of the channel */\r\n owner: string;\r\n}\r\n\r\n/** Properties of a [LineStyle]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface LineStyleProps extends DefinitionElementProps {\r\n description?: string;\r\n /** The JSON string line style definition element data [LineStyleDefinition.StyleProps]($backend) */\r\n data: string;\r\n}\r\n\r\n/** Properties of a [LightLocation]($backend)\r\n * @internal\r\n */\r\nexport interface LightLocationProps extends GeometricElement3dProps {\r\n enabled?: boolean;\r\n}\r\n\r\n/** The *rank* for a Category\r\n * @public\r\n * @extensions\r\n */\r\nexport enum Rank {\r\n /** This category is predefined by the system */\r\n System = 0,\r\n /** This category is defined by a schema. Elements in this category are not recognized by system classes. */\r\n Domain = 1,\r\n /** This category is defined by an application. Elements in this category are not recognized by system and schema classes. */\r\n Application = 2,\r\n /** This category is defined by a user. Elements in this category are not recognized by system, schema, and application classes. */\r\n User = 3,\r\n}\r\n\r\n/** Parameters of a [Category]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface CategoryProps extends DefinitionElementProps {\r\n rank?: Rank;\r\n description?: string;\r\n}\r\n\r\n/** Parameters of a [SubCategory]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface SubCategoryProps extends DefinitionElementProps {\r\n appearance?: SubCategoryAppearance.Props;\r\n description?: string;\r\n}\r\n\r\n/** Parameters of a [UrlLink]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface UrlLinkProps extends ElementProps {\r\n description?: string;\r\n url?: string;\r\n}\r\n\r\n/** Parameters of a [RepositoryLink]($backend)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface RepositoryLinkProps extends UrlLinkProps {\r\n repositoryGuid?: GuidString;\r\n format?: string;\r\n}\r\n\r\n/** The properties of a [SynchronizationConfigLink]($backend)\r\n * @beta\r\n */\r\nexport interface SynchronizationConfigLinkProps extends UrlLinkProps {\r\n lastSuccessfulRun?: string;\r\n}\r\n\r\n/** Wire format describing a [RenderTimeline]($backend).\r\n * @public\r\n * @extensions\r\n */\r\nexport interface RenderTimelineProps extends ElementProps {\r\n /** An optional human-readable description of the timeline. */\r\n description?: string;\r\n /** The stringified JSON representation of the instructions for visualizing change over time.\r\n * @see [[RenderSchedule.ScriptProps]] for the JSON interface.\r\n */\r\n script: string;\r\n}\r\n"]}
|
package/lib/cjs/Gradient.d.ts
CHANGED
|
@@ -65,6 +65,19 @@ export declare namespace Gradient {
|
|
|
65
65
|
/** Settings applicable to [[ThematicDisplay]]. */
|
|
66
66
|
thematicSettings?: ThematicGradientSettingsProps;
|
|
67
67
|
}
|
|
68
|
+
/** Arguments supplied to [[Gradient.Symb.produceImage]].
|
|
69
|
+
* @public
|
|
70
|
+
*/
|
|
71
|
+
interface ProduceImageArgs {
|
|
72
|
+
/** The desired width of the image in pixels. Must be an integer greater than zero. */
|
|
73
|
+
width: number;
|
|
74
|
+
/** The desired height of the image in pixels. Must be an integer greater than zero. */
|
|
75
|
+
height: number;
|
|
76
|
+
/** If true and the gradient uses [[Gradient.Mode.Thematic]], the margin color specified by [[ThematicGradientSettings.marginColor]] will be included
|
|
77
|
+
* in the top and bottom rows of the image; otherwise only the gradient colors will be included in the image.
|
|
78
|
+
*/
|
|
79
|
+
includeThematicMargin?: boolean;
|
|
80
|
+
}
|
|
68
81
|
/** Multi-color area fill defined by a range of colors that vary by position.
|
|
69
82
|
* Gradient fill can be applied to planar regions.
|
|
70
83
|
* @see [[Gradient.SymbProps]]
|
|
@@ -113,12 +126,15 @@ export declare namespace Gradient {
|
|
|
113
126
|
* @internal
|
|
114
127
|
*/
|
|
115
128
|
getThematicImageForRenderer(maxDimension: number): ImageBuffer;
|
|
116
|
-
/**
|
|
129
|
+
/** Produces a bitmap image from this gradient.
|
|
117
130
|
* @param width Width of the image
|
|
118
131
|
* @param height Height of the image
|
|
119
|
-
* @
|
|
132
|
+
* @note If this gradient uses [[Gradient.Mode.Thematic]], then the width of the image will be 1 and the margin color will be included in the top and bottom rows.
|
|
133
|
+
* @see [[produceImage]] for more customization.
|
|
120
134
|
*/
|
|
121
135
|
getImage(width: number, height: number): ImageBuffer;
|
|
136
|
+
/** Produces a bitmap image from this gradient. */
|
|
137
|
+
produceImage(args: ProduceImageArgs): ImageBuffer;
|
|
122
138
|
}
|
|
123
139
|
}
|
|
124
140
|
//# sourceMappingURL=Gradient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Gradient.d.ts","sourceRoot":"","sources":["../../src/Gradient.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Gradient.d.ts","sourceRoot":"","sources":["../../src/Gradient.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/Gradient.js
CHANGED
|
@@ -283,12 +283,21 @@ var Gradient;
|
|
|
283
283
|
(0, core_bentley_1.assert)(undefined !== imageBuffer);
|
|
284
284
|
return imageBuffer;
|
|
285
285
|
}
|
|
286
|
-
/**
|
|
286
|
+
/** Produces a bitmap image from this gradient.
|
|
287
287
|
* @param width Width of the image
|
|
288
288
|
* @param height Height of the image
|
|
289
|
-
* @
|
|
289
|
+
* @note If this gradient uses [[Gradient.Mode.Thematic]], then the width of the image will be 1 and the margin color will be included in the top and bottom rows.
|
|
290
|
+
* @see [[produceImage]] for more customization.
|
|
290
291
|
*/
|
|
291
292
|
getImage(width, height) {
|
|
293
|
+
if (this.mode === Mode.Thematic)
|
|
294
|
+
width = 1;
|
|
295
|
+
return this.produceImage({ width, height, includeThematicMargin: true });
|
|
296
|
+
}
|
|
297
|
+
/** Produces a bitmap image from this gradient. */
|
|
298
|
+
produceImage(args) {
|
|
299
|
+
var _a;
|
|
300
|
+
const { width, height, includeThematicMargin } = { ...args };
|
|
292
301
|
const thisAngle = (this.angle === undefined) ? 0 : this.angle.radians;
|
|
293
302
|
const cosA = Math.cos(thisAngle);
|
|
294
303
|
const sinA = Math.sin(thisAngle);
|
|
@@ -394,27 +403,29 @@ var Gradient;
|
|
|
394
403
|
break;
|
|
395
404
|
}
|
|
396
405
|
case Mode.Thematic: {
|
|
397
|
-
|
|
398
|
-
if (settings === undefined) {
|
|
399
|
-
settings = ThematicDisplay_1.ThematicGradientSettings.defaults;
|
|
400
|
-
}
|
|
406
|
+
const settings = (_a = this.thematicSettings) !== null && _a !== void 0 ? _a : ThematicDisplay_1.ThematicGradientSettings.defaults;
|
|
401
407
|
for (let j = 0; j < height; j++) {
|
|
402
408
|
let f = 1 - j / height;
|
|
403
409
|
let color;
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
410
|
+
if (includeThematicMargin && (f < ThematicDisplay_1.ThematicGradientSettings.margin || f > ThematicDisplay_1.ThematicGradientSettings.contentMax)) {
|
|
411
|
+
color = settings.marginColor;
|
|
412
|
+
}
|
|
413
|
+
else {
|
|
414
|
+
f = (f - ThematicDisplay_1.ThematicGradientSettings.margin) / (ThematicDisplay_1.ThematicGradientSettings.contentRange);
|
|
415
|
+
switch (settings.mode) {
|
|
416
|
+
case ThematicDisplay_1.ThematicGradientMode.SteppedWithDelimiter:
|
|
417
|
+
case ThematicDisplay_1.ThematicGradientMode.IsoLines:
|
|
418
|
+
case ThematicDisplay_1.ThematicGradientMode.Stepped: {
|
|
419
|
+
if (settings.stepCount > 1) {
|
|
420
|
+
const fStep = Math.floor(f * settings.stepCount - 0.00001) / (settings.stepCount - 1);
|
|
421
|
+
color = this.mapColor(fStep);
|
|
422
|
+
}
|
|
423
|
+
break;
|
|
412
424
|
}
|
|
413
|
-
|
|
425
|
+
case ThematicDisplay_1.ThematicGradientMode.Smooth:
|
|
426
|
+
color = this.mapColor(f);
|
|
427
|
+
break;
|
|
414
428
|
}
|
|
415
|
-
case ThematicDisplay_1.ThematicGradientMode.Smooth:
|
|
416
|
-
color = this.mapColor(f);
|
|
417
|
-
break;
|
|
418
429
|
}
|
|
419
430
|
for (let i = 0; i < width; i++) {
|
|
420
431
|
image[currentIdx--] = color.getAlpha();
|