-
Notifications
You must be signed in to change notification settings - Fork 208
/
ModelProps.ts
78 lines (71 loc) · 2.74 KB
/
ModelProps.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
/** @packageDocumentation
* @module Entities
*/
import { GuidString, Id64String } from "@itwin/core-bentley";
import { XYProps } from "@itwin/core-geometry";
import { CodeProps } from "./Code";
import { RelatedElementProps } from "./ElementProps";
import { EntityProps, EntityQueryParams } from "./EntityProps";
/** Properties that define a [Model]($docs/bis/guide/fundamentals/model-fundamentals)
* @public
* @extensions
*/
export interface ModelProps extends EntityProps {
modeledElement: RelatedElementProps;
name?: string;
/** @note must always match the model of the [[ModelProps.modeledElement]] */
parentModel?: Id64String;
isPrivate?: boolean;
isTemplate?: boolean;
jsonProperties?: any;
}
/** Properties that specify what model should be loaded.
* @public
* @extensions
*/
export interface ModelLoadProps {
id?: Id64String;
code?: CodeProps;
}
/** Parameters for performing a query on [Model]($backend) classes.
* @public
* @extensions
*/
export interface ModelQueryParams extends EntityQueryParams {
wantTemplate?: boolean;
wantPrivate?: boolean;
}
/** Properties that describe a [GeometricModel]($backend)
* @public
* @extensions
*/
export interface GeometricModelProps extends ModelProps {
/** A unique identifier that is updated each time a change affecting the appearance of a geometric element within this model
* is committed to the iModel. In other words, between versions of the iModel, if this value is the same you can
* assume the appearance of all of the geometry in the model is the same (Note: other properties of elements may have changed.)
* If undefined, the state of the geometry is unknown.
*/
geometryGuid?: GuidString;
}
/** Properties that define a [GeometricModel2d]($backend)
* @public
* @extensions
*/
export interface GeometricModel2dProps extends GeometricModelProps {
/** The actual coordinates of (0,0) in modeling coordinates. An offset applied to all modeling coordinates. */
globalOrigin?: XYProps;
}
/** Properties that define a [GeometricModel3d]($backend)
* @public
* @extensions
*/
export interface GeometricModel3dProps extends GeometricModelProps {
/** If true, then the elements in this GeometricModel3d are not in real-world coordinates and will not be in the spatial index. */
isNotSpatiallyLocated?: boolean;
/** If true, then the elements in this GeometricModel3d are expected to be in an XY plane. */
isPlanProjection?: boolean;
}