@configura/web-core 2.1.0-alpha.2 → 2.1.0-alpha.3
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/.eslintrc.json +5 -5
- package/LICENSE +201 -201
- package/README.md +1 -1
- package/dist/cm/basic/Color.d.ts +16 -16
- package/dist/cm/basic/Color.js +18 -18
- package/dist/cm/basic/ColorF.d.ts +9 -9
- package/dist/cm/basic/ColorF.js +10 -10
- package/dist/cm/basic/boolean.d.ts +2 -2
- package/dist/cm/basic/boolean.js +11 -11
- package/dist/cm/basic/number.d.ts +3 -3
- package/dist/cm/basic/number.js +18 -18
- package/dist/cm/basic/string.d.ts +2 -2
- package/dist/cm/basic/string.js +11 -11
- package/dist/cm/core3D/ATriMeshF.d.ts +96 -96
- package/dist/cm/core3D/ATriMeshF.js +197 -197
- package/dist/cm/core3D/GMaterial3D.d.ts +62 -62
- package/dist/cm/core3D/GMaterial3D.js +112 -112
- package/dist/cm/core3D/GMaterialClassic.d.ts +55 -55
- package/dist/cm/core3D/GMaterialClassic.js +171 -171
- package/dist/cm/core3D/GMaterialPBR.d.ts +73 -73
- package/dist/cm/core3D/GMaterialPBR.js +314 -314
- package/dist/cm/core3D/MultiGMaterial3D.d.ts +8 -8
- package/dist/cm/core3D/MultiGMaterial3D.js +17 -17
- package/dist/cm/core3D/uvmapper/UVMapEnv.d.ts +19 -19
- package/dist/cm/core3D/uvmapper/UVMapEnv.js +47 -47
- package/dist/cm/core3D/uvmapper/UVMapper.d.ts +41 -41
- package/dist/cm/core3D/uvmapper/UVMapper.js +94 -94
- package/dist/cm/core3D/uvmapper/UVMapperBox.d.ts +4 -4
- package/dist/cm/core3D/uvmapper/UVMapperBox.js +181 -181
- package/dist/cm/core3D/uvmapper/UVMapperCylinder.d.ts +9 -9
- package/dist/cm/core3D/uvmapper/UVMapperCylinder.js +96 -96
- package/dist/cm/core3D/uvmapper/UVMapperPlane.d.ts +3 -3
- package/dist/cm/core3D/uvmapper/UVMapperPlane.js +84 -84
- package/dist/cm/core3D/uvmapper/UVTransformer.d.ts +5 -5
- package/dist/cm/core3D/uvmapper/UVTransformer.js +5 -5
- package/dist/cm/core3D/uvmapper/instantiateUVMapper.d.ts +3 -3
- package/dist/cm/core3D/uvmapper/instantiateUVMapper.js +4 -4
- package/dist/cm/format/cmsym/InvalidationEnv.d.ts +9 -9
- package/dist/cm/format/cmsym/InvalidationEnv.js +13 -13
- package/dist/cm/format/cmsym/SymImportEnv.d.ts +9 -9
- package/dist/cm/format/cmsym/SymImportEnv.js +9 -9
- package/dist/cm/format/cmsym/SymInv.d.ts +8 -8
- package/dist/cm/format/cmsym/SymInv.js +17 -17
- package/dist/cm/format/cmsym/SymNode.d.ts +94 -94
- package/dist/cm/format/cmsym/SymNode.js +652 -652
- package/dist/cm/format/cmsym/components/SymBox.d.ts +15 -15
- package/dist/cm/format/cmsym/components/SymBox.js +39 -39
- package/dist/cm/format/cmsym/components/SymComponent.d.ts +29 -29
- package/dist/cm/format/cmsym/components/SymComponent.js +56 -56
- package/dist/cm/format/cmsym/components/SymConnector.d.ts +5 -5
- package/dist/cm/format/cmsym/components/SymConnector.js +10 -10
- package/dist/cm/format/cmsym/components/SymDexObj.d.ts +11 -11
- package/dist/cm/format/cmsym/components/SymDexObj.js +10 -10
- package/dist/cm/format/cmsym/components/SymGFX.d.ts +11 -11
- package/dist/cm/format/cmsym/components/SymGFX.js +20 -20
- package/dist/cm/format/cmsym/components/SymGMaterial.d.ts +19 -19
- package/dist/cm/format/cmsym/components/SymGMaterial.js +88 -88
- package/dist/cm/format/cmsym/components/SymGMaterialSelector.d.ts +17 -17
- package/dist/cm/format/cmsym/components/SymGMaterialSelector.js +22 -22
- package/dist/cm/format/cmsym/components/SymGetMeshEnv.d.ts +9 -9
- package/dist/cm/format/cmsym/components/SymGetMeshEnv.js +9 -9
- package/dist/cm/format/cmsym/components/SymLODGroup.d.ts +9 -9
- package/dist/cm/format/cmsym/components/SymLODGroup.js +13 -13
- package/dist/cm/format/cmsym/components/SymLight.d.ts +8 -8
- package/dist/cm/format/cmsym/components/SymLight.js +10 -10
- package/dist/cm/format/cmsym/components/SymLines2D.d.ts +5 -5
- package/dist/cm/format/cmsym/components/SymLines2D.js +7 -7
- package/dist/cm/format/cmsym/components/SymMeasure.d.ts +33 -33
- package/dist/cm/format/cmsym/components/SymMeasure.js +149 -149
- package/dist/cm/format/cmsym/components/SymMesh.d.ts +29 -29
- package/dist/cm/format/cmsym/components/SymMesh.js +130 -130
- package/dist/cm/format/cmsym/components/SymMeshLight.d.ts +8 -8
- package/dist/cm/format/cmsym/components/SymMeshLight.js +10 -10
- package/dist/cm/format/cmsym/components/SymMultiSelector.d.ts +13 -13
- package/dist/cm/format/cmsym/components/SymMultiSelector.js +48 -48
- package/dist/cm/format/cmsym/components/SymParams.d.ts +16 -16
- package/dist/cm/format/cmsym/components/SymParams.js +58 -58
- package/dist/cm/format/cmsym/components/SymPlane.d.ts +15 -15
- package/dist/cm/format/cmsym/components/SymPlane.js +30 -30
- package/dist/cm/format/cmsym/components/SymPlaneDivider.d.ts +4 -4
- package/dist/cm/format/cmsym/components/SymPlaneDivider.js +7 -7
- package/dist/cm/format/cmsym/components/SymPrimitive2D.d.ts +3 -3
- package/dist/cm/format/cmsym/components/SymPrimitive2D.js +3 -3
- package/dist/cm/format/cmsym/components/SymProgs.d.ts +32 -32
- package/dist/cm/format/cmsym/components/SymProgs.js +120 -120
- package/dist/cm/format/cmsym/components/SymProps.d.ts +54 -54
- package/dist/cm/format/cmsym/components/SymProps.js +171 -171
- package/dist/cm/format/cmsym/components/SymRep.d.ts +13 -13
- package/dist/cm/format/cmsym/components/SymRep.js +28 -28
- package/dist/cm/format/cmsym/components/SymReps.d.ts +36 -36
- package/dist/cm/format/cmsym/components/SymReps.js +230 -230
- package/dist/cm/format/cmsym/components/SymShape.d.ts +10 -10
- package/dist/cm/format/cmsym/components/SymShape.js +17 -17
- package/dist/cm/format/cmsym/components/SymSphere.d.ts +18 -18
- package/dist/cm/format/cmsym/components/SymSphere.js +33 -33
- package/dist/cm/format/cmsym/components/SymSpotlight.d.ts +8 -8
- package/dist/cm/format/cmsym/components/SymSpotlight.js +10 -10
- package/dist/cm/format/cmsym/components/SymTags.d.ts +11 -11
- package/dist/cm/format/cmsym/components/SymTags.js +20 -20
- package/dist/cm/format/cmsym/components/SymText2D.d.ts +5 -5
- package/dist/cm/format/cmsym/components/SymText2D.js +8 -8
- package/dist/cm/format/cmsym/components/SymText3D.d.ts +5 -5
- package/dist/cm/format/cmsym/components/SymText3D.js +8 -8
- package/dist/cm/format/cmsym/components/SymTransform.d.ts +23 -23
- package/dist/cm/format/cmsym/components/SymTransform.js +101 -101
- package/dist/cm/format/cmsym/components/SymUVMapper.d.ts +13 -13
- package/dist/cm/format/cmsym/components/SymUVMapper.js +50 -50
- package/dist/cm/format/cmsym/components/instantiate.d.ts +2 -2
- package/dist/cm/format/cmsym/components/instantiate.js +121 -121
- package/dist/cm/format/cmsym/components/legacy.d.ts +7 -7
- package/dist/cm/format/cmsym/components/legacy.js +27 -27
- package/dist/cm/format/cmsym/components/mesh.d.ts +8 -8
- package/dist/cm/format/cmsym/components/mesh.js +28 -28
- package/dist/cm/format/cmsym/invalidation.d.ts +4 -4
- package/dist/cm/format/cmsym/invalidation.js +72 -72
- package/dist/cm/format/dex/DexIRef.d.ts +9 -9
- package/dist/cm/format/dex/DexIRef.js +18 -18
- package/dist/cm/format/dex/DexInt.d.ts +11 -11
- package/dist/cm/format/dex/DexInt.js +18 -18
- package/dist/cm/format/dex/DexInternalizedXRef.d.ts +19 -19
- package/dist/cm/format/dex/DexInternalizedXRef.js +65 -65
- package/dist/cm/format/dex/DexLoader.d.ts +8 -8
- package/dist/cm/format/dex/DexLoader.js +12 -12
- package/dist/cm/format/dex/DexManager.d.ts +20 -20
- package/dist/cm/format/dex/DexManager.js +78 -78
- package/dist/cm/format/dex/DexObj.d.ts +15 -15
- package/dist/cm/format/dex/DexObj.js +86 -86
- package/dist/cm/format/dex/DexReader.d.ts +90 -90
- package/dist/cm/format/dex/DexReader.js +532 -532
- package/dist/cm/format/dex/DexRef.d.ts +6 -6
- package/dist/cm/format/dex/DexRef.js +8 -8
- package/dist/cm/format/dex/DexReplacedXRefs.d.ts +9 -9
- package/dist/cm/format/dex/DexReplacedXRefs.js +22 -22
- package/dist/cm/format/dex/DexURL.d.ts +4 -4
- package/dist/cm/format/dex/DexURL.js +5 -5
- package/dist/cm/format/dex/DexVersion.d.ts +15 -15
- package/dist/cm/format/dex/DexVersion.js +53 -53
- package/dist/cm/format/dex/DexXRef.d.ts +18 -18
- package/dist/cm/format/dex/DexXRef.js +51 -51
- package/dist/cm/format/dex/DexXRefTargetFilter.d.ts +4 -4
- package/dist/cm/format/dex/DexXRefTargetFilter.js +5 -5
- package/dist/cm/geometry/Angle.d.ts +9 -9
- package/dist/cm/geometry/Angle.js +18 -18
- package/dist/cm/geometry/AngleF.d.ts +5 -5
- package/dist/cm/geometry/AngleF.js +8 -8
- package/dist/cm/geometry/Box.d.ts +7 -7
- package/dist/cm/geometry/Box.js +9 -9
- package/dist/cm/geometry/DetailMask.d.ts +37 -37
- package/dist/cm/geometry/DetailMask.js +114 -114
- package/dist/cm/geometry/LayerExpr.d.ts +2 -2
- package/dist/cm/geometry/LayerExpr.js +2 -2
- package/dist/cm/geometry/Matrix22.d.ts +7 -7
- package/dist/cm/geometry/Matrix22.js +9 -9
- package/dist/cm/geometry/Matrix33.d.ts +42 -42
- package/dist/cm/geometry/Matrix33.js +124 -124
- package/dist/cm/geometry/Orientation.d.ts +7 -7
- package/dist/cm/geometry/Orientation.js +7 -7
- package/dist/cm/geometry/Plane.d.ts +8 -8
- package/dist/cm/geometry/Plane.js +14 -14
- package/dist/cm/geometry/Point.d.ts +21 -21
- package/dist/cm/geometry/Point.js +65 -65
- package/dist/cm/geometry/Point2D.d.ts +9 -9
- package/dist/cm/geometry/Point2D.js +23 -23
- package/dist/cm/geometry/PointF.d.ts +11 -11
- package/dist/cm/geometry/PointF.js +27 -27
- package/dist/cm/geometry/Transform.d.ts +11 -11
- package/dist/cm/geometry/Transform.js +61 -61
- package/dist/cm/geometry/Transform2D.d.ts +7 -7
- package/dist/cm/geometry/Transform2D.js +6 -6
- package/dist/cm/io/Semver.d.ts +18 -18
- package/dist/cm/io/Semver.js +61 -61
- package/dist/index.js +1 -1
- package/package.json +4 -4
|
@@ -1,171 +1,171 @@
|
|
|
1
|
-
import { DexObj } from "../../dex/DexObj.js";
|
|
2
|
-
import { SymInv } from "../SymInv.js";
|
|
3
|
-
import { SymComponent } from "./SymComponent.js";
|
|
4
|
-
/**
|
|
5
|
-
* Cache keys.
|
|
6
|
-
*/
|
|
7
|
-
export const SYM_GEOMETRY_KEY = "hasGeometry"; // Probably deprecated in CmSym 4.0.0
|
|
8
|
-
export const SYM_STRUCTURAL_KEY = "structuralKey";
|
|
9
|
-
export const SYM_NODE_KEY = "nodeKey";
|
|
10
|
-
export const SYM_LOCAL_BOUND_KEY = "localBound";
|
|
11
|
-
export const SYM_USER_BOUND_KEY = "userBound";
|
|
12
|
-
export const SYM_USER_LOCAL_BOUND_KEY = "userLocalBound";
|
|
13
|
-
export const SYM_CACHED_MESHES_KEY = "meshes";
|
|
14
|
-
/**
|
|
15
|
-
* Tmp keys.
|
|
16
|
-
*/
|
|
17
|
-
export const SYM_REDUCTION_SOURCE_KEY = "_reductionSource";
|
|
18
|
-
export const SYM_REDUCER_KEY = "_reducer";
|
|
19
|
-
export const SYM_FEATURES_KEY = "_features";
|
|
20
|
-
export const SYM_GRAPH_EDIT_STATE_KEY = "_editState";
|
|
21
|
-
export const SYM_ALWAYS_EDIT_KEY = "_alwaysEdit";
|
|
22
|
-
export const SYM_DISABLED_STRUCTURAL_KEY = "_disabledStructuralKey";
|
|
23
|
-
const propagatedKeys = [SYM_LOCAL_BOUND_KEY, SYM_GEOMETRY_KEY];
|
|
24
|
-
export class SymProps extends SymComponent {
|
|
25
|
-
constructor(props, src) {
|
|
26
|
-
super(src);
|
|
27
|
-
this.props = props;
|
|
28
|
-
this.id = "symProps";
|
|
29
|
-
}
|
|
30
|
-
load(logger, obj, env, force = false) {
|
|
31
|
-
obj.loadAll();
|
|
32
|
-
for (const [key, value] of obj.props) {
|
|
33
|
-
const loaded = this.loadValue(logger, key, value, env);
|
|
34
|
-
this.set(key, loaded);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
loadValue(logger, key, obj, env) {
|
|
38
|
-
if (obj instanceof DexObj) {
|
|
39
|
-
this.loadDexObj(logger, key, obj, env);
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
return obj;
|
|
43
|
-
}
|
|
44
|
-
loadDexObj(logger, key, obj, env) {
|
|
45
|
-
if (obj.type === "SymProp") {
|
|
46
|
-
return this.loadSymProp(logger, key, obj, env);
|
|
47
|
-
}
|
|
48
|
-
throw logger.errorAsObject("not yet implemented!");
|
|
49
|
-
}
|
|
50
|
-
loadSymProp(logger, key, obj, env) {
|
|
51
|
-
const v = obj.get("v");
|
|
52
|
-
this.loadValue(logger, key, v, env);
|
|
53
|
-
throw logger.errorAsObject("not yet implemented!");
|
|
54
|
-
}
|
|
55
|
-
// copy(target?: SymProps) {
|
|
56
|
-
// if (target === undefined) {
|
|
57
|
-
// target = new SymProps(undefined, this.src);
|
|
58
|
-
// }
|
|
59
|
-
// if (this.props !== undefined) {
|
|
60
|
-
// const copyResult = deepCopyMap(this.props);
|
|
61
|
-
// if ((copyResult instanceof Error)) {
|
|
62
|
-
// return copyResult;
|
|
63
|
-
// }
|
|
64
|
-
// target.props = copyResult;
|
|
65
|
-
// }
|
|
66
|
-
// return target;
|
|
67
|
-
// }
|
|
68
|
-
set(key, value) {
|
|
69
|
-
// if (this.redirectToFilteredNode(key)) {
|
|
70
|
-
// let filtered = this.filteredNodeProps();
|
|
71
|
-
// if (filtered === undefined) {
|
|
72
|
-
// filtered = (this.node as SymFilterNode).node.getComponent(
|
|
73
|
-
// this.id,
|
|
74
|
-
// true
|
|
75
|
-
// ) as SymProps;
|
|
76
|
-
// }
|
|
77
|
-
// filtered.put(key, value);
|
|
78
|
-
// return;
|
|
79
|
-
// }
|
|
80
|
-
if (this.props === undefined) {
|
|
81
|
-
this.props = new Map();
|
|
82
|
-
}
|
|
83
|
-
this.props.set(key, value);
|
|
84
|
-
}
|
|
85
|
-
get(key) {
|
|
86
|
-
// if (this.redirectToFilteredNode(key)) {
|
|
87
|
-
// const props = this.filteredNodeProps();
|
|
88
|
-
// if (props !== undefined) {
|
|
89
|
-
// return props.get(key);
|
|
90
|
-
// }
|
|
91
|
-
// return;
|
|
92
|
-
// }
|
|
93
|
-
if (this.props !== undefined) {
|
|
94
|
-
return this.props.get(key);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
has(key) {
|
|
98
|
-
if (this.props === undefined) {
|
|
99
|
-
return false;
|
|
100
|
-
}
|
|
101
|
-
return this.props.has(key);
|
|
102
|
-
}
|
|
103
|
-
delete(key) {
|
|
104
|
-
if (this.props === undefined) {
|
|
105
|
-
return false;
|
|
106
|
-
}
|
|
107
|
-
return this.props.delete(key);
|
|
108
|
-
}
|
|
109
|
-
empty() {
|
|
110
|
-
if (this.props === undefined) {
|
|
111
|
-
return true;
|
|
112
|
-
}
|
|
113
|
-
return this.props.size === 0;
|
|
114
|
-
}
|
|
115
|
-
hasAttribute(key, attribute) {
|
|
116
|
-
console.warn(`[SymProps.hasAttribute] ${key} ${String(attribute)}`);
|
|
117
|
-
return false;
|
|
118
|
-
}
|
|
119
|
-
invalidation() {
|
|
120
|
-
const res = [];
|
|
121
|
-
for (const key of propagatedKeys) {
|
|
122
|
-
const toSkip = this.node !== undefined ? [this.node] : undefined;
|
|
123
|
-
res.push(new SymPropsInv(key, toSkip));
|
|
124
|
-
}
|
|
125
|
-
return res;
|
|
126
|
-
}
|
|
127
|
-
toString() {
|
|
128
|
-
let str = this.id;
|
|
129
|
-
if (this.props === undefined) {
|
|
130
|
-
return str;
|
|
131
|
-
}
|
|
132
|
-
for (const key of this.props.keys()) {
|
|
133
|
-
str += " " + key;
|
|
134
|
-
}
|
|
135
|
-
return str;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
// tslint:disable-next-line:max-classes-per-file
|
|
139
|
-
export class SymPropsInv extends SymInv {
|
|
140
|
-
constructor(key, toSkip, _propagate = true) {
|
|
141
|
-
super();
|
|
142
|
-
this.key = key;
|
|
143
|
-
this.toSkip = toSkip;
|
|
144
|
-
this._propagate = _propagate;
|
|
145
|
-
}
|
|
146
|
-
needToInvalidate(node) {
|
|
147
|
-
const props = node.symProps();
|
|
148
|
-
if (props === undefined || !props.has(this.key)) {
|
|
149
|
-
return false;
|
|
150
|
-
}
|
|
151
|
-
return props.hasAttribute(this.key, Symbol("ignore_invalidate"));
|
|
152
|
-
}
|
|
153
|
-
skip(node) {
|
|
154
|
-
return this.toSkip !== undefined && this.toSkip.indexOf(node) > -1;
|
|
155
|
-
}
|
|
156
|
-
invalidate(node) {
|
|
157
|
-
const props = node.symProps();
|
|
158
|
-
if (props !== undefined) {
|
|
159
|
-
props.delete(this.key);
|
|
160
|
-
if (props.empty()) {
|
|
161
|
-
node.removeComponent(props.id);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
propagate() {
|
|
166
|
-
return this._propagate;
|
|
167
|
-
}
|
|
168
|
-
toString() {
|
|
169
|
-
return `SymPropsInv(${this.key})`;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
1
|
+
import { DexObj } from "../../dex/DexObj.js";
|
|
2
|
+
import { SymInv } from "../SymInv.js";
|
|
3
|
+
import { SymComponent } from "./SymComponent.js";
|
|
4
|
+
/**
|
|
5
|
+
* Cache keys.
|
|
6
|
+
*/
|
|
7
|
+
export const SYM_GEOMETRY_KEY = "hasGeometry"; // Probably deprecated in CmSym 4.0.0
|
|
8
|
+
export const SYM_STRUCTURAL_KEY = "structuralKey";
|
|
9
|
+
export const SYM_NODE_KEY = "nodeKey";
|
|
10
|
+
export const SYM_LOCAL_BOUND_KEY = "localBound";
|
|
11
|
+
export const SYM_USER_BOUND_KEY = "userBound";
|
|
12
|
+
export const SYM_USER_LOCAL_BOUND_KEY = "userLocalBound";
|
|
13
|
+
export const SYM_CACHED_MESHES_KEY = "meshes";
|
|
14
|
+
/**
|
|
15
|
+
* Tmp keys.
|
|
16
|
+
*/
|
|
17
|
+
export const SYM_REDUCTION_SOURCE_KEY = "_reductionSource";
|
|
18
|
+
export const SYM_REDUCER_KEY = "_reducer";
|
|
19
|
+
export const SYM_FEATURES_KEY = "_features";
|
|
20
|
+
export const SYM_GRAPH_EDIT_STATE_KEY = "_editState";
|
|
21
|
+
export const SYM_ALWAYS_EDIT_KEY = "_alwaysEdit";
|
|
22
|
+
export const SYM_DISABLED_STRUCTURAL_KEY = "_disabledStructuralKey";
|
|
23
|
+
const propagatedKeys = [SYM_LOCAL_BOUND_KEY, SYM_GEOMETRY_KEY];
|
|
24
|
+
export class SymProps extends SymComponent {
|
|
25
|
+
constructor(props, src) {
|
|
26
|
+
super(src);
|
|
27
|
+
this.props = props;
|
|
28
|
+
this.id = "symProps";
|
|
29
|
+
}
|
|
30
|
+
load(logger, obj, env, force = false) {
|
|
31
|
+
obj.loadAll();
|
|
32
|
+
for (const [key, value] of obj.props) {
|
|
33
|
+
const loaded = this.loadValue(logger, key, value, env);
|
|
34
|
+
this.set(key, loaded);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
loadValue(logger, key, obj, env) {
|
|
38
|
+
if (obj instanceof DexObj) {
|
|
39
|
+
this.loadDexObj(logger, key, obj, env);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
return obj;
|
|
43
|
+
}
|
|
44
|
+
loadDexObj(logger, key, obj, env) {
|
|
45
|
+
if (obj.type === "SymProp") {
|
|
46
|
+
return this.loadSymProp(logger, key, obj, env);
|
|
47
|
+
}
|
|
48
|
+
throw logger.errorAsObject("not yet implemented!");
|
|
49
|
+
}
|
|
50
|
+
loadSymProp(logger, key, obj, env) {
|
|
51
|
+
const v = obj.get("v");
|
|
52
|
+
this.loadValue(logger, key, v, env);
|
|
53
|
+
throw logger.errorAsObject("not yet implemented!");
|
|
54
|
+
}
|
|
55
|
+
// copy(target?: SymProps) {
|
|
56
|
+
// if (target === undefined) {
|
|
57
|
+
// target = new SymProps(undefined, this.src);
|
|
58
|
+
// }
|
|
59
|
+
// if (this.props !== undefined) {
|
|
60
|
+
// const copyResult = deepCopyMap(this.props);
|
|
61
|
+
// if ((copyResult instanceof Error)) {
|
|
62
|
+
// return copyResult;
|
|
63
|
+
// }
|
|
64
|
+
// target.props = copyResult;
|
|
65
|
+
// }
|
|
66
|
+
// return target;
|
|
67
|
+
// }
|
|
68
|
+
set(key, value) {
|
|
69
|
+
// if (this.redirectToFilteredNode(key)) {
|
|
70
|
+
// let filtered = this.filteredNodeProps();
|
|
71
|
+
// if (filtered === undefined) {
|
|
72
|
+
// filtered = (this.node as SymFilterNode).node.getComponent(
|
|
73
|
+
// this.id,
|
|
74
|
+
// true
|
|
75
|
+
// ) as SymProps;
|
|
76
|
+
// }
|
|
77
|
+
// filtered.put(key, value);
|
|
78
|
+
// return;
|
|
79
|
+
// }
|
|
80
|
+
if (this.props === undefined) {
|
|
81
|
+
this.props = new Map();
|
|
82
|
+
}
|
|
83
|
+
this.props.set(key, value);
|
|
84
|
+
}
|
|
85
|
+
get(key) {
|
|
86
|
+
// if (this.redirectToFilteredNode(key)) {
|
|
87
|
+
// const props = this.filteredNodeProps();
|
|
88
|
+
// if (props !== undefined) {
|
|
89
|
+
// return props.get(key);
|
|
90
|
+
// }
|
|
91
|
+
// return;
|
|
92
|
+
// }
|
|
93
|
+
if (this.props !== undefined) {
|
|
94
|
+
return this.props.get(key);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
has(key) {
|
|
98
|
+
if (this.props === undefined) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
return this.props.has(key);
|
|
102
|
+
}
|
|
103
|
+
delete(key) {
|
|
104
|
+
if (this.props === undefined) {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
return this.props.delete(key);
|
|
108
|
+
}
|
|
109
|
+
empty() {
|
|
110
|
+
if (this.props === undefined) {
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
113
|
+
return this.props.size === 0;
|
|
114
|
+
}
|
|
115
|
+
hasAttribute(key, attribute) {
|
|
116
|
+
console.warn(`[SymProps.hasAttribute] ${key} ${String(attribute)}`);
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
invalidation() {
|
|
120
|
+
const res = [];
|
|
121
|
+
for (const key of propagatedKeys) {
|
|
122
|
+
const toSkip = this.node !== undefined ? [this.node] : undefined;
|
|
123
|
+
res.push(new SymPropsInv(key, toSkip));
|
|
124
|
+
}
|
|
125
|
+
return res;
|
|
126
|
+
}
|
|
127
|
+
toString() {
|
|
128
|
+
let str = this.id;
|
|
129
|
+
if (this.props === undefined) {
|
|
130
|
+
return str;
|
|
131
|
+
}
|
|
132
|
+
for (const key of this.props.keys()) {
|
|
133
|
+
str += " " + key;
|
|
134
|
+
}
|
|
135
|
+
return str;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
// tslint:disable-next-line:max-classes-per-file
|
|
139
|
+
export class SymPropsInv extends SymInv {
|
|
140
|
+
constructor(key, toSkip, _propagate = true) {
|
|
141
|
+
super();
|
|
142
|
+
this.key = key;
|
|
143
|
+
this.toSkip = toSkip;
|
|
144
|
+
this._propagate = _propagate;
|
|
145
|
+
}
|
|
146
|
+
needToInvalidate(node) {
|
|
147
|
+
const props = node.symProps();
|
|
148
|
+
if (props === undefined || !props.has(this.key)) {
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
151
|
+
return props.hasAttribute(this.key, Symbol("ignore_invalidate"));
|
|
152
|
+
}
|
|
153
|
+
skip(node) {
|
|
154
|
+
return this.toSkip !== undefined && this.toSkip.indexOf(node) > -1;
|
|
155
|
+
}
|
|
156
|
+
invalidate(node) {
|
|
157
|
+
const props = node.symProps();
|
|
158
|
+
if (props !== undefined) {
|
|
159
|
+
props.delete(this.key);
|
|
160
|
+
if (props.empty()) {
|
|
161
|
+
node.removeComponent(props.id);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
propagate() {
|
|
166
|
+
return this._propagate;
|
|
167
|
+
}
|
|
168
|
+
toString() {
|
|
169
|
+
return `SymPropsInv(${this.key})`;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { DetailLevel } from "../../../geometry/DetailMask.js";
|
|
2
|
-
import { DexObj } from "../../dex/DexObj.js";
|
|
3
|
-
import { SymGfxMode } from "./SymComponent.js";
|
|
4
|
-
export declare class SymRep {
|
|
5
|
-
private _mode;
|
|
6
|
-
private _detail;
|
|
7
|
-
static load(obj: DexObj): SymRep | undefined;
|
|
8
|
-
constructor(_mode: SymGfxMode, _detail: DetailLevel);
|
|
9
|
-
get mode(): SymGfxMode;
|
|
10
|
-
get detail(): DetailLevel;
|
|
11
|
-
get is3D(): boolean;
|
|
12
|
-
get is2D(): boolean;
|
|
13
|
-
}
|
|
1
|
+
import { DetailLevel } from "../../../geometry/DetailMask.js";
|
|
2
|
+
import { DexObj } from "../../dex/DexObj.js";
|
|
3
|
+
import { SymGfxMode } from "./SymComponent.js";
|
|
4
|
+
export declare class SymRep {
|
|
5
|
+
private _mode;
|
|
6
|
+
private _detail;
|
|
7
|
+
static load(obj: DexObj): SymRep | undefined;
|
|
8
|
+
constructor(_mode: SymGfxMode, _detail: DetailLevel);
|
|
9
|
+
get mode(): SymGfxMode;
|
|
10
|
+
get detail(): DetailLevel;
|
|
11
|
+
get is3D(): boolean;
|
|
12
|
+
get is2D(): boolean;
|
|
13
|
+
}
|
|
14
14
|
//# sourceMappingURL=SymRep.d.ts.map
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import { detailLevelFromString } from "../../../geometry/DetailMask.js";
|
|
2
|
-
import { SymGfxMode, symGfxModeFromString } from "./SymComponent.js";
|
|
3
|
-
export class SymRep {
|
|
4
|
-
constructor(_mode, _detail) {
|
|
5
|
-
this._mode = _mode;
|
|
6
|
-
this._detail = _detail;
|
|
7
|
-
}
|
|
8
|
-
static load(obj) {
|
|
9
|
-
const detail = obj.get("detail");
|
|
10
|
-
const mode = obj.get("mode");
|
|
11
|
-
if (typeof detail === "string" && typeof mode === "string") {
|
|
12
|
-
return new this(symGfxModeFromString(mode), detailLevelFromString(detail));
|
|
13
|
-
}
|
|
14
|
-
return undefined;
|
|
15
|
-
}
|
|
16
|
-
get mode() {
|
|
17
|
-
return this._mode;
|
|
18
|
-
}
|
|
19
|
-
get detail() {
|
|
20
|
-
return this._detail;
|
|
21
|
-
}
|
|
22
|
-
get is3D() {
|
|
23
|
-
return this._mode === SymGfxMode.x3D;
|
|
24
|
-
}
|
|
25
|
-
get is2D() {
|
|
26
|
-
return this._mode === SymGfxMode.x2D;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
1
|
+
import { detailLevelFromString } from "../../../geometry/DetailMask.js";
|
|
2
|
+
import { SymGfxMode, symGfxModeFromString } from "./SymComponent.js";
|
|
3
|
+
export class SymRep {
|
|
4
|
+
constructor(_mode, _detail) {
|
|
5
|
+
this._mode = _mode;
|
|
6
|
+
this._detail = _detail;
|
|
7
|
+
}
|
|
8
|
+
static load(obj) {
|
|
9
|
+
const detail = obj.get("detail");
|
|
10
|
+
const mode = obj.get("mode");
|
|
11
|
+
if (typeof detail === "string" && typeof mode === "string") {
|
|
12
|
+
return new this(symGfxModeFromString(mode), detailLevelFromString(detail));
|
|
13
|
+
}
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
get mode() {
|
|
17
|
+
return this._mode;
|
|
18
|
+
}
|
|
19
|
+
get detail() {
|
|
20
|
+
return this._detail;
|
|
21
|
+
}
|
|
22
|
+
get is3D() {
|
|
23
|
+
return this._mode === SymGfxMode.x3D;
|
|
24
|
+
}
|
|
25
|
+
get is2D() {
|
|
26
|
+
return this._mode === SymGfxMode.x2D;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import { Logger } from "@configura/web-utilities";
|
|
2
|
-
import { DetailLevel, DetailMask } from "../../../geometry/DetailMask.js";
|
|
3
|
-
import { DexObj } from "../../dex/DexObj.js";
|
|
4
|
-
import { SymImportEnv } from "../SymImportEnv.js";
|
|
5
|
-
import { SymInv } from "../SymInv.js";
|
|
6
|
-
import { SymNode } from "../SymNode.js";
|
|
7
|
-
import { SymComponent, SymComponentKey, SymGfxMode } from "./SymComponent.js";
|
|
8
|
-
export declare class SymReps extends SymComponent {
|
|
9
|
-
_details?: Map<SymGfxMode, DetailMask> | undefined;
|
|
10
|
-
static reps3D(detail?: DetailLevel, src?: string): SymReps;
|
|
11
|
-
static withDetailMask(mode: SymGfxMode, mask: DetailMask, src?: string): SymReps;
|
|
12
|
-
id: SymComponentKey;
|
|
13
|
-
_propagatedDetails?: Map<SymGfxMode, DetailMask>;
|
|
14
|
-
invalid: boolean;
|
|
15
|
-
constructor(_details?: Map<SymGfxMode, DetailMask> | undefined, src?: string);
|
|
16
|
-
load(logger: Logger, dexObj: DexObj, _env: SymImportEnv, _force?: boolean): void;
|
|
17
|
-
include(mode: SymGfxMode, mask: DetailMask, invalidate?: boolean): void;
|
|
18
|
-
includePropagated(mode: SymGfxMode, mask: DetailMask): void;
|
|
19
|
-
detailLevels(mode: SymGfxMode): Set<DetailLevel>;
|
|
20
|
-
detailMask(mode: SymGfxMode): DetailMask;
|
|
21
|
-
detailsMap(): Map<SymGfxMode, DetailMask>;
|
|
22
|
-
intersects(other: SymReps): boolean;
|
|
23
|
-
empty(): boolean;
|
|
24
|
-
removeAllExcept(other: SymReps): void;
|
|
25
|
-
invalidation(removed: boolean): SymRepsInv[];
|
|
26
|
-
invalidate(): void;
|
|
27
|
-
toString(): string;
|
|
28
|
-
}
|
|
29
|
-
export declare class SymRepsInv extends SymInv {
|
|
30
|
-
reps: SymReps;
|
|
31
|
-
constructor(reps: SymReps);
|
|
32
|
-
needToInvalidate(node: SymNode): boolean;
|
|
33
|
-
skip(node: SymNode): boolean;
|
|
34
|
-
invalidate(node: SymNode): void;
|
|
35
|
-
}
|
|
36
|
-
export declare function invalidSymReps(): SymReps;
|
|
1
|
+
import { Logger } from "@configura/web-utilities";
|
|
2
|
+
import { DetailLevel, DetailMask } from "../../../geometry/DetailMask.js";
|
|
3
|
+
import { DexObj } from "../../dex/DexObj.js";
|
|
4
|
+
import { SymImportEnv } from "../SymImportEnv.js";
|
|
5
|
+
import { SymInv } from "../SymInv.js";
|
|
6
|
+
import { SymNode } from "../SymNode.js";
|
|
7
|
+
import { SymComponent, SymComponentKey, SymGfxMode } from "./SymComponent.js";
|
|
8
|
+
export declare class SymReps extends SymComponent {
|
|
9
|
+
_details?: Map<SymGfxMode, DetailMask> | undefined;
|
|
10
|
+
static reps3D(detail?: DetailLevel, src?: string): SymReps;
|
|
11
|
+
static withDetailMask(mode: SymGfxMode, mask: DetailMask, src?: string): SymReps;
|
|
12
|
+
id: SymComponentKey;
|
|
13
|
+
_propagatedDetails?: Map<SymGfxMode, DetailMask>;
|
|
14
|
+
invalid: boolean;
|
|
15
|
+
constructor(_details?: Map<SymGfxMode, DetailMask> | undefined, src?: string);
|
|
16
|
+
load(logger: Logger, dexObj: DexObj, _env: SymImportEnv, _force?: boolean): void;
|
|
17
|
+
include(mode: SymGfxMode, mask: DetailMask, invalidate?: boolean): void;
|
|
18
|
+
includePropagated(mode: SymGfxMode, mask: DetailMask): void;
|
|
19
|
+
detailLevels(mode: SymGfxMode): Set<DetailLevel>;
|
|
20
|
+
detailMask(mode: SymGfxMode): DetailMask;
|
|
21
|
+
detailsMap(): Map<SymGfxMode, DetailMask>;
|
|
22
|
+
intersects(other: SymReps): boolean;
|
|
23
|
+
empty(): boolean;
|
|
24
|
+
removeAllExcept(other: SymReps): void;
|
|
25
|
+
invalidation(removed: boolean): SymRepsInv[];
|
|
26
|
+
invalidate(): void;
|
|
27
|
+
toString(): string;
|
|
28
|
+
}
|
|
29
|
+
export declare class SymRepsInv extends SymInv {
|
|
30
|
+
reps: SymReps;
|
|
31
|
+
constructor(reps: SymReps);
|
|
32
|
+
needToInvalidate(node: SymNode): boolean;
|
|
33
|
+
skip(node: SymNode): boolean;
|
|
34
|
+
invalidate(node: SymNode): void;
|
|
35
|
+
}
|
|
36
|
+
export declare function invalidSymReps(): SymReps;
|
|
37
37
|
//# sourceMappingURL=SymReps.d.ts.map
|