bruce-cesium 3.8.0 → 3.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bruce-cesium.es5.js +211 -52
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +210 -51
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +1 -1
- package/dist/lib/rendering/cesium-animated-property.js +92 -9
- package/dist/lib/rendering/cesium-animated-property.js.map +1 -1
- package/dist/lib/rendering/entity-render-engine.js +88 -31
- package/dist/lib/rendering/entity-render-engine.js.map +1 -1
- package/dist/lib/rendering/getters/entity-filter-getter.js +22 -6
- package/dist/lib/rendering/getters/entity-filter-getter.js.map +1 -1
- package/dist/lib/utils/cesium-entity-styler.js +4 -4
- package/dist/lib/utils/cesium-entity-styler.js.map +1 -1
- package/dist/lib/utils/entity-utils.js +3 -0
- package/dist/lib/utils/entity-utils.js.map +1 -1
- package/dist/types/bruce-cesium.d.ts +1 -1
- package/dist/types/rendering/cesium-animated-property.d.ts +34 -5
- package/dist/types/rendering/entity-render-engine.d.ts +1 -0
- package/dist/types/utils/entity-utils.d.ts +1 -1
- package/package.json +1 -1
package/dist/lib/bruce-cesium.js
CHANGED
|
@@ -47,5 +47,5 @@ __exportStar(require("./utils/entity-utils"), exports);
|
|
|
47
47
|
__exportStar(require("./utils/cesium-entity-styler"), exports);
|
|
48
48
|
__exportStar(require("./widgets/common/draw-3d-polygon"), exports);
|
|
49
49
|
__exportStar(require("./widgets/common/draw-3d-polyline"), exports);
|
|
50
|
-
exports.VERSION = "3.8.
|
|
50
|
+
exports.VERSION = "3.8.2";
|
|
51
51
|
//# sourceMappingURL=bruce-cesium.js.map
|
|
@@ -33,6 +33,20 @@ function getNumber(viewer, obj) {
|
|
|
33
33
|
}
|
|
34
34
|
return value;
|
|
35
35
|
}
|
|
36
|
+
function getPosition(viewer, obj) {
|
|
37
|
+
var value = null;
|
|
38
|
+
if (obj === null || obj === void 0 ? void 0 : obj.getValue) {
|
|
39
|
+
var date = viewer.scene.lastRenderTime;
|
|
40
|
+
if (!date) {
|
|
41
|
+
date = viewer.clock.currentTime;
|
|
42
|
+
}
|
|
43
|
+
value = obj.getValue(date);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
value = obj;
|
|
47
|
+
}
|
|
48
|
+
return value;
|
|
49
|
+
}
|
|
36
50
|
/**
|
|
37
51
|
* Returns if a given visual is alive and in the scene.
|
|
38
52
|
* @param viewer
|
|
@@ -87,7 +101,7 @@ var CesiumAnimatedProperty;
|
|
|
87
101
|
function AnimateColor(params) {
|
|
88
102
|
var _a;
|
|
89
103
|
this.viewer = params.viewer;
|
|
90
|
-
this.
|
|
104
|
+
this.targetColor = params.targetColor;
|
|
91
105
|
this.durationMs = params.durationMs;
|
|
92
106
|
this.startColor = getColor(this.viewer, params.startColor);
|
|
93
107
|
if ((_a = this.startColor) === null || _a === void 0 ? void 0 : _a.clone) {
|
|
@@ -108,18 +122,18 @@ var CesiumAnimatedProperty;
|
|
|
108
122
|
var elapsedMs = now.getTime() - this.startTime.getTime();
|
|
109
123
|
// Animation over.
|
|
110
124
|
if (elapsedMs >= this.durationMs) {
|
|
111
|
-
return this.
|
|
125
|
+
return this.targetColor;
|
|
112
126
|
}
|
|
113
127
|
try {
|
|
114
128
|
var progress = elapsedMs / this.durationMs;
|
|
115
|
-
return Cesium.Color.lerp(this.startColor, this.
|
|
129
|
+
return Cesium.Color.lerp(this.startColor, this.targetColor, progress, new Cesium.Color());
|
|
116
130
|
}
|
|
117
131
|
catch (e) {
|
|
118
132
|
console.error(e);
|
|
119
133
|
}
|
|
120
134
|
// Failed to calculate color.
|
|
121
135
|
// We'll just return the target color.
|
|
122
|
-
return this.
|
|
136
|
+
return this.targetColor;
|
|
123
137
|
};
|
|
124
138
|
/**
|
|
125
139
|
* Returns the calculated color as a material property.
|
|
@@ -137,7 +151,7 @@ var CesiumAnimatedProperty;
|
|
|
137
151
|
this.paused = false;
|
|
138
152
|
this.paused = Boolean(params.startPaused);
|
|
139
153
|
this.viewer = params.viewer;
|
|
140
|
-
this.
|
|
154
|
+
this.targetValue = params.targetValue;
|
|
141
155
|
this.durationMs = params.durationMs;
|
|
142
156
|
this.startValue = getNumber(this.viewer, params.startValue);
|
|
143
157
|
if (!this.startValue) {
|
|
@@ -161,18 +175,18 @@ var CesiumAnimatedProperty;
|
|
|
161
175
|
var elapsedMs = now.getTime() - this.startTime.getTime();
|
|
162
176
|
// Animation over.
|
|
163
177
|
if (elapsedMs >= this.durationMs) {
|
|
164
|
-
return this.
|
|
178
|
+
return this.targetValue;
|
|
165
179
|
}
|
|
166
180
|
try {
|
|
167
181
|
var progress = elapsedMs / this.durationMs;
|
|
168
|
-
return Cesium.Math.lerp(this.startValue, this.
|
|
182
|
+
return Cesium.Math.lerp(this.startValue, this.targetValue, progress);
|
|
169
183
|
}
|
|
170
184
|
catch (e) {
|
|
171
185
|
console.error(e);
|
|
172
186
|
}
|
|
173
187
|
// Failed to calculate value.
|
|
174
188
|
// We'll just return the target value.
|
|
175
|
-
return this.
|
|
189
|
+
return this.targetValue;
|
|
176
190
|
};
|
|
177
191
|
return AnimateNumber;
|
|
178
192
|
}());
|
|
@@ -195,7 +209,7 @@ var CesiumAnimatedProperty;
|
|
|
195
209
|
* @returns
|
|
196
210
|
*/
|
|
197
211
|
function AnimateTFeatureColor(params) {
|
|
198
|
-
var viewer = params.viewer, feature = params.feature, color = params.
|
|
212
|
+
var viewer = params.viewer, feature = params.feature, color = params.targetColor, startColor = params.startColor, durationMs = params.durationMs;
|
|
199
213
|
ClearTFeatureColorAnimation(feature);
|
|
200
214
|
if (!startColor) {
|
|
201
215
|
if (feature.color) {
|
|
@@ -276,5 +290,74 @@ var CesiumAnimatedProperty;
|
|
|
276
290
|
}
|
|
277
291
|
}
|
|
278
292
|
CesiumAnimatedProperty.ClearTFeatureColorAnimation = ClearTFeatureColorAnimation;
|
|
293
|
+
var AnimatePosition = /** @class */ (function () {
|
|
294
|
+
function AnimatePosition(params) {
|
|
295
|
+
this.viewer = params.viewer;
|
|
296
|
+
this.targetPos3d = params.targetPos3d;
|
|
297
|
+
this.durationMs = params.durationMs;
|
|
298
|
+
this.startPos3d = getPosition(this.viewer, params.startPos3d);
|
|
299
|
+
if (!this.startPos3d) {
|
|
300
|
+
this.startPos3d = Cesium.Cartesian3.clone(this.targetPos3d);
|
|
301
|
+
}
|
|
302
|
+
this.startTime = new Date();
|
|
303
|
+
}
|
|
304
|
+
AnimatePosition.prototype.GetValue = function () {
|
|
305
|
+
var now = new Date();
|
|
306
|
+
var elapsedMs = now.getTime() - this.startTime.getTime();
|
|
307
|
+
// Animation over.
|
|
308
|
+
if (elapsedMs >= this.durationMs) {
|
|
309
|
+
return this.targetPos3d;
|
|
310
|
+
}
|
|
311
|
+
try {
|
|
312
|
+
var progress = elapsedMs / this.durationMs;
|
|
313
|
+
return Cesium.Cartesian3.lerp(this.startPos3d, this.targetPos3d, progress, new Cesium.Cartesian3());
|
|
314
|
+
}
|
|
315
|
+
catch (e) {
|
|
316
|
+
console.error(e);
|
|
317
|
+
}
|
|
318
|
+
// Failed to calculate value.
|
|
319
|
+
// We'll just return the target value.
|
|
320
|
+
return this.targetPos3d;
|
|
321
|
+
};
|
|
322
|
+
return AnimatePosition;
|
|
323
|
+
}());
|
|
324
|
+
CesiumAnimatedProperty.AnimatePosition = AnimatePosition;
|
|
325
|
+
var AnimateHeading = /** @class */ (function () {
|
|
326
|
+
function AnimateHeading(params) {
|
|
327
|
+
this.viewer = params.viewer;
|
|
328
|
+
this.targetHeadingDeg = params.targetHeading;
|
|
329
|
+
this.durationMs = params.durationMs;
|
|
330
|
+
this.startHeadingDeg = getNumber(this.viewer, params.startHeading);
|
|
331
|
+
if (!this.startHeadingDeg) {
|
|
332
|
+
this.startHeadingDeg = 0;
|
|
333
|
+
}
|
|
334
|
+
this.startTime = new Date();
|
|
335
|
+
}
|
|
336
|
+
AnimateHeading.prototype.IsDone = function () {
|
|
337
|
+
var now = new Date();
|
|
338
|
+
var elapsedMs = now.getTime() - this.startTime.getTime();
|
|
339
|
+
return elapsedMs >= this.durationMs;
|
|
340
|
+
};
|
|
341
|
+
AnimateHeading.prototype.GetValue = function () {
|
|
342
|
+
var now = new Date();
|
|
343
|
+
var elapsedMs = now.getTime() - this.startTime.getTime();
|
|
344
|
+
// Animation over.
|
|
345
|
+
if (elapsedMs >= this.durationMs) {
|
|
346
|
+
return this.targetHeadingDeg;
|
|
347
|
+
}
|
|
348
|
+
try {
|
|
349
|
+
var progress = elapsedMs / this.durationMs;
|
|
350
|
+
return Cesium.Math.lerp(this.startHeadingDeg, this.targetHeadingDeg, progress);
|
|
351
|
+
}
|
|
352
|
+
catch (e) {
|
|
353
|
+
console.error(e);
|
|
354
|
+
}
|
|
355
|
+
// Failed to calculate value.
|
|
356
|
+
// We'll just return the target value.
|
|
357
|
+
return this.targetHeadingDeg;
|
|
358
|
+
};
|
|
359
|
+
return AnimateHeading;
|
|
360
|
+
}());
|
|
361
|
+
CesiumAnimatedProperty.AnimateHeading = AnimateHeading;
|
|
279
362
|
})(CesiumAnimatedProperty = exports.CesiumAnimatedProperty || (exports.CesiumAnimatedProperty = {}));
|
|
280
363
|
//# sourceMappingURL=cesium-animated-property.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cesium-animated-property.js","sourceRoot":"","sources":["../../../src/rendering/cesium-animated-property.ts"],"names":[],"mappings":";;;AAAA,+BAAiC;AAEjC,SAAS,QAAQ,CAAC,MAAqB,EAAE,GAA0B;IAC/D,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAK,GAAW,aAAX,GAAG,uBAAH,GAAG,CAAU,QAAQ,EAAE;QACxB,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC;QACvC,IAAI,CAAC,IAAI,EAAE;YACP,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;SACnC;QACD,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC9B;SACI;QACD,KAAK,GAAG,GAAG,CAAC;KACf;IACD,IAAI,KAAK,IAAI,KAAK,YAAY,MAAM,CAAC,qBAAqB,EAAE;QACxD,KAAK,GAAI,KAAsC,CAAC,KAAK,CAAC;KACzD;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,SAAS,CAAC,MAAqB,EAAE,GAA0B;IAChE,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAK,GAAW,aAAX,GAAG,uBAAH,GAAG,CAAU,QAAQ,EAAE;QACxB,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC;QACvC,IAAI,CAAC,IAAI,EAAE;YACP,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;SACnC;QACD,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC9B;SACI;QACD,KAAK,GAAG,GAAG,CAAC;KACf;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,MAAqB,EAAE,OAAmC;IAC9E,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAA,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;QACxC,OAAO,KAAK,CAAC;KAChB;IACD,IAAM,QAAQ,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC;IAClC,IAAI,CAAC,QAAQ,EAAE;QACX,OAAO,KAAK,CAAC;KAChB;IACD,IAAI,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QACvE,OAAO,KAAK,CAAC;KAChB;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,IAAI,SAAS,GAAG,CAAC,CAAC;AAClB,IAAM,YAAY,GAAG;IACjB,SAAS,IAAI,CAAC,CAAC;IACf,OAAO,SAAS,CAAC;AACrB,CAAC,CAAA;AAED,SAAS,OAAO,CAAC,KAAmB,EAAE,IAAY;IAC9C,KAAK,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC;AAC5C,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,KAAmB;IACtD,OAAO,KAAK,CAAC,yBAAyB,CAAC,IAAI,IAAI,CAAC;AACpD,CAAC;AAED,IAAiB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"cesium-animated-property.js","sourceRoot":"","sources":["../../../src/rendering/cesium-animated-property.ts"],"names":[],"mappings":"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"}
|
|
@@ -909,7 +909,7 @@ var EntityRenderEngine;
|
|
|
909
909
|
function Render(params) {
|
|
910
910
|
var _a, _b, _c, _d;
|
|
911
911
|
return __awaiter(this, void 0, void 0, function () {
|
|
912
|
-
var entity, style, type, cEntity, siblings, prepareExistingGraphic, iconUrlRows, icon, iconUrl, metadata, api, image, e_5, iconScale, disableDepthTest, bColor, cColor_1,
|
|
912
|
+
var entity, style, type, cEntity, siblings, prepareExistingGraphic, iconUrlRows, icon, iconUrl, metadata, api, image, e_5, iconScale, disableDepthTest, bColor, cColor_1, heightRef_1, currentImgKey, pos3d, prevPos3d, animatePosition_1, radius, bFill, cFill, outline, cOutline, outlineWidth, bOutline, heightRef, pos3d, extrusion, hasOutline, outlineExtrusion, outlineEntity, bColor, cColor, size, heightRef_2, circleBillboard, disableDepthTest, imgKey, currentImgKey, pos3d, prevPos3d, animatePosition_2;
|
|
913
913
|
return __generator(this, function (_e) {
|
|
914
914
|
switch (_e.label) {
|
|
915
915
|
case 0:
|
|
@@ -1010,7 +1010,7 @@ var EntityRenderEngine;
|
|
|
1010
1010
|
if (iconScale > 0) {
|
|
1011
1011
|
bColor = style.iconTintColor ? bruce_models_1.Calculator.GetColor(style.iconTintColor, entity, params.tags) : null;
|
|
1012
1012
|
cColor_1 = bColor ? colorToCColor(bColor) : undefined;
|
|
1013
|
-
|
|
1013
|
+
heightRef_1 = getHeightRef(style);
|
|
1014
1014
|
if (!params.rendered || !params.rendered.billboard) {
|
|
1015
1015
|
cEntity = new Cesium.Entity({
|
|
1016
1016
|
id: bruce_models_1.ObjectUtils.UId(10),
|
|
@@ -1026,12 +1026,12 @@ var EntityRenderEngine;
|
|
|
1026
1026
|
// Would be great once we have a setting for this.
|
|
1027
1027
|
// translucencyByDistance: getTranslucencyByDistance(params.minDistance, params.maxDistance),
|
|
1028
1028
|
},
|
|
1029
|
-
position: entity_utils_1.EntityUtils.GetPos({
|
|
1029
|
+
position: new Cesium.CallbackProperty(function () { return entity_utils_1.EntityUtils.GetPos({
|
|
1030
1030
|
viewer: params.viewer,
|
|
1031
1031
|
entity: entity,
|
|
1032
|
-
recordHeightRef:
|
|
1033
|
-
returnHeightRef:
|
|
1034
|
-
}),
|
|
1032
|
+
recordHeightRef: heightRef_1,
|
|
1033
|
+
returnHeightRef: heightRef_1
|
|
1034
|
+
}); }, true),
|
|
1035
1035
|
show: true
|
|
1036
1036
|
});
|
|
1037
1037
|
}
|
|
@@ -1046,12 +1046,22 @@ var EntityRenderEngine;
|
|
|
1046
1046
|
cEntity.billboard.heightReference = new Cesium.ConstantProperty(getHeightRef(style));
|
|
1047
1047
|
cEntity.billboard.disableDepthTestDistance = new Cesium.ConstantProperty(disableDepthTest ? Number.POSITIVE_INFINITY : undefined);
|
|
1048
1048
|
cEntity.billboard.distanceDisplayCondition = new Cesium.ConstantProperty(getDisplayCondition(params.minDistance, params.maxDistance));
|
|
1049
|
-
|
|
1049
|
+
pos3d = entity_utils_1.EntityUtils.GetPos({
|
|
1050
1050
|
viewer: params.viewer,
|
|
1051
1051
|
entity: entity,
|
|
1052
|
-
recordHeightRef:
|
|
1053
|
-
returnHeightRef:
|
|
1054
|
-
})
|
|
1052
|
+
recordHeightRef: heightRef_1,
|
|
1053
|
+
returnHeightRef: heightRef_1
|
|
1054
|
+
});
|
|
1055
|
+
prevPos3d = getValue(params.viewer, cEntity.position);
|
|
1056
|
+
if (!prevPos3d || !Cesium.Cartesian3.equals(prevPos3d, pos3d)) {
|
|
1057
|
+
animatePosition_1 = new cesium_animated_property_1.CesiumAnimatedProperty.AnimatePosition({
|
|
1058
|
+
durationMs: 200,
|
|
1059
|
+
targetPos3d: pos3d,
|
|
1060
|
+
viewer: params.viewer,
|
|
1061
|
+
startPos3d: prevPos3d
|
|
1062
|
+
});
|
|
1063
|
+
cEntity.position = new Cesium.CallbackProperty(function () { return animatePosition_1.GetValue(); }, false);
|
|
1064
|
+
}
|
|
1055
1065
|
// We'll use "SetDefaultColor" to updating the internal reference and to allow for an animation.
|
|
1056
1066
|
cesium_entity_styler_1.CesiumEntityStyler.SetDefaultColor({
|
|
1057
1067
|
color: cColor_1 ? cColor_1 : new Cesium.Color(),
|
|
@@ -1195,7 +1205,7 @@ var EntityRenderEngine;
|
|
|
1195
1205
|
if (size <= 0) {
|
|
1196
1206
|
return [2 /*return*/, null];
|
|
1197
1207
|
}
|
|
1198
|
-
|
|
1208
|
+
heightRef_2 = getHeightRef(style);
|
|
1199
1209
|
circleBillboard = createCircleBillboard(size, cColor.toCssColorString());
|
|
1200
1210
|
disableDepthTest = Boolean(style.renderOnTop);
|
|
1201
1211
|
if (!params.rendered || !params.rendered.billboard) {
|
|
@@ -1215,16 +1225,16 @@ var EntityRenderEngine;
|
|
|
1215
1225
|
width: circleBillboard.width,
|
|
1216
1226
|
image: circleBillboard.canvasDataUri,
|
|
1217
1227
|
color: new Cesium.CallbackProperty(function () { return undefined; }, true),
|
|
1218
|
-
heightReference:
|
|
1228
|
+
heightReference: heightRef_2,
|
|
1219
1229
|
distanceDisplayCondition: getDisplayCondition(params.minDistance, params.maxDistance),
|
|
1220
1230
|
disableDepthTestDistance: disableDepthTest ? Number.POSITIVE_INFINITY : undefined
|
|
1221
1231
|
},
|
|
1222
|
-
position: entity_utils_1.EntityUtils.GetPos({
|
|
1232
|
+
position: new Cesium.CallbackProperty(function () { return entity_utils_1.EntityUtils.GetPos({
|
|
1223
1233
|
viewer: params.viewer,
|
|
1224
1234
|
entity: entity,
|
|
1225
|
-
recordHeightRef:
|
|
1226
|
-
returnHeightRef:
|
|
1227
|
-
}),
|
|
1235
|
+
recordHeightRef: heightRef_2,
|
|
1236
|
+
returnHeightRef: heightRef_2
|
|
1237
|
+
}); }, true),
|
|
1228
1238
|
show: true
|
|
1229
1239
|
});
|
|
1230
1240
|
}
|
|
@@ -1238,15 +1248,25 @@ var EntityRenderEngine;
|
|
|
1238
1248
|
}
|
|
1239
1249
|
cEntity.billboard.height = new Cesium.ConstantProperty(circleBillboard.height);
|
|
1240
1250
|
cEntity.billboard.width = new Cesium.ConstantProperty(circleBillboard.width);
|
|
1241
|
-
cEntity.billboard.heightReference = new Cesium.ConstantProperty(
|
|
1251
|
+
cEntity.billboard.heightReference = new Cesium.ConstantProperty(heightRef_2);
|
|
1242
1252
|
cEntity.billboard.distanceDisplayCondition = new Cesium.ConstantProperty(getDisplayCondition(params.minDistance, params.maxDistance));
|
|
1243
1253
|
cEntity.billboard.disableDepthTestDistance = new Cesium.ConstantProperty(disableDepthTest ? Number.POSITIVE_INFINITY : undefined);
|
|
1244
|
-
|
|
1254
|
+
pos3d = entity_utils_1.EntityUtils.GetPos({
|
|
1245
1255
|
viewer: params.viewer,
|
|
1246
1256
|
entity: entity,
|
|
1247
|
-
recordHeightRef:
|
|
1248
|
-
returnHeightRef:
|
|
1249
|
-
})
|
|
1257
|
+
recordHeightRef: heightRef_2,
|
|
1258
|
+
returnHeightRef: heightRef_2
|
|
1259
|
+
});
|
|
1260
|
+
prevPos3d = getValue(params.viewer, cEntity.position);
|
|
1261
|
+
if (!prevPos3d || !Cesium.Cartesian3.equals(prevPos3d, pos3d)) {
|
|
1262
|
+
animatePosition_2 = new cesium_animated_property_1.CesiumAnimatedProperty.AnimatePosition({
|
|
1263
|
+
durationMs: 200,
|
|
1264
|
+
targetPos3d: pos3d,
|
|
1265
|
+
viewer: params.viewer,
|
|
1266
|
+
startPos3d: prevPos3d
|
|
1267
|
+
});
|
|
1268
|
+
cEntity.position = new Cesium.CallbackProperty(function () { return animatePosition_2.GetValue(); }, false);
|
|
1269
|
+
}
|
|
1250
1270
|
// We'll use "SetDefaultColor" to updating the internal reference and to allow for an animation.
|
|
1251
1271
|
cesium_entity_styler_1.CesiumEntityStyler.SetDefaultColor({
|
|
1252
1272
|
color: cColor,
|
|
@@ -1914,20 +1934,18 @@ var EntityRenderEngine;
|
|
|
1914
1934
|
if (styleScale <= 0) {
|
|
1915
1935
|
styleScale = 1;
|
|
1916
1936
|
}
|
|
1917
|
-
var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(heading), Cesium.Math.toRadians(pitch), Cesium.Math.toRadians(roll));
|
|
1918
1937
|
var heightRef = getHeightRef(style, Cesium.HeightReference.RELATIVE_TO_GROUND);
|
|
1919
|
-
var
|
|
1938
|
+
var pos3d = entity_utils_1.EntityUtils.GetPos({
|
|
1920
1939
|
viewer: params.viewer,
|
|
1921
1940
|
entity: entity,
|
|
1922
1941
|
recordHeightRef: heightRef,
|
|
1923
1942
|
returnHeightRef: heightRef
|
|
1924
1943
|
});
|
|
1925
1944
|
if (heightRef == Cesium.HeightReference.CLAMP_TO_GROUND) {
|
|
1926
|
-
var carto = Cesium.Cartographic.fromCartesian(
|
|
1927
|
-
|
|
1945
|
+
var carto = Cesium.Cartographic.fromCartesian(pos3d);
|
|
1946
|
+
pos3d = Cesium.Cartesian3.fromRadians((0, js_utils_1.EnsureNumber)(carto.longitude), (0, js_utils_1.EnsureNumber)(carto.latitude), 0);
|
|
1928
1947
|
heightRef = Cesium.HeightReference.RELATIVE_TO_GROUND;
|
|
1929
1948
|
}
|
|
1930
|
-
var orientation = Cesium.Transforms.headingPitchRollQuaternion(pos, hpr);
|
|
1931
1949
|
var blendMode = null;
|
|
1932
1950
|
var blendAmount = null;
|
|
1933
1951
|
var color = null;
|
|
@@ -1968,6 +1986,8 @@ var EntityRenderEngine;
|
|
|
1968
1986
|
var animateScale = null;
|
|
1969
1987
|
var cEntity = params.rendered;
|
|
1970
1988
|
if (!cEntity || !cEntity.model) {
|
|
1989
|
+
var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(heading), Cesium.Math.toRadians(pitch), Cesium.Math.toRadians(roll));
|
|
1990
|
+
var orientation_1 = Cesium.Transforms.headingPitchRollQuaternion(pos3d, hpr);
|
|
1971
1991
|
cEntity = new Cesium.Entity({
|
|
1972
1992
|
id: bruce_models_1.ObjectUtils.UId(10),
|
|
1973
1993
|
model: {
|
|
@@ -1980,8 +2000,8 @@ var EntityRenderEngine;
|
|
|
1980
2000
|
color: new Cesium.CallbackProperty(function () { return color; }, true),
|
|
1981
2001
|
distanceDisplayCondition: getDisplayCondition(params.minDistance, params.maxDistance)
|
|
1982
2002
|
},
|
|
1983
|
-
orientation: new Cesium.
|
|
1984
|
-
position:
|
|
2003
|
+
orientation: new Cesium.CallbackProperty(function () { return orientation_1; }, true),
|
|
2004
|
+
position: new Cesium.CallbackProperty(function () { return pos3d; }, true),
|
|
1985
2005
|
show: true
|
|
1986
2006
|
});
|
|
1987
2007
|
cesium_entity_styler_1.CesiumEntityStyler.BakeDefaultColor({
|
|
@@ -2017,14 +2037,50 @@ var EntityRenderEngine;
|
|
|
2017
2037
|
cEntity.model.colorBlendAmount = new Cesium.ConstantProperty(blendAmount);
|
|
2018
2038
|
cEntity.model.colorBlendMode = new Cesium.ConstantProperty(blendMode);
|
|
2019
2039
|
cEntity.model.distanceDisplayCondition = new Cesium.ConstantProperty(getDisplayCondition(params.minDistance, params.maxDistance));
|
|
2020
|
-
|
|
2021
|
-
|
|
2040
|
+
var prevPos3d = getValue(params.viewer, cEntity.position);
|
|
2041
|
+
var posChanged = !prevPos3d || !Cesium.Cartesian3.equals(prevPos3d, pos3d);
|
|
2042
|
+
var animatePosition_3 = null;
|
|
2043
|
+
if (posChanged) {
|
|
2044
|
+
animatePosition_3 = new cesium_animated_property_1.CesiumAnimatedProperty.AnimatePosition({
|
|
2045
|
+
durationMs: 200,
|
|
2046
|
+
targetPos3d: pos3d,
|
|
2047
|
+
viewer: params.viewer,
|
|
2048
|
+
startPos3d: prevPos3d
|
|
2049
|
+
});
|
|
2050
|
+
cEntity.position = new Cesium.CallbackProperty(function () { return animatePosition_3.GetValue(); }, false);
|
|
2051
|
+
}
|
|
2052
|
+
// cEntity.orientation = new Cesium.ConstantProperty(orientation);
|
|
2053
|
+
var prevHeading = cEntity.model._heading;
|
|
2054
|
+
if (prevHeading == null || prevHeading == heading || isNaN(prevHeading)) {
|
|
2055
|
+
var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(heading), Cesium.Math.toRadians(pitch), Cesium.Math.toRadians(roll));
|
|
2056
|
+
var orient_1 = Cesium.Transforms.headingPitchRollQuaternion(pos3d, hpr);
|
|
2057
|
+
cEntity.orientation = new Cesium.CallbackProperty(function () { return orient_1; }, true);
|
|
2058
|
+
}
|
|
2059
|
+
// Animate orientation. We'll calculate the heading based on movement.
|
|
2060
|
+
else {
|
|
2061
|
+
var animateHeading_1 = new cesium_animated_property_1.CesiumAnimatedProperty.AnimateHeading({
|
|
2062
|
+
durationMs: 200,
|
|
2063
|
+
targetHeading: heading,
|
|
2064
|
+
viewer: params.viewer,
|
|
2065
|
+
startHeading: prevHeading
|
|
2066
|
+
});
|
|
2067
|
+
cEntity.orientation = new Cesium.CallbackProperty(function () {
|
|
2068
|
+
var calcHeading = animateHeading_1.GetValue();
|
|
2069
|
+
var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(calcHeading), Cesium.Math.toRadians(pitch), Cesium.Math.toRadians(roll));
|
|
2070
|
+
var orient = Cesium.Transforms.headingPitchRollQuaternion(pos3d, hpr);
|
|
2071
|
+
// We'll stop the costly animation if it's done.
|
|
2072
|
+
if (animateHeading_1.IsDone()) {
|
|
2073
|
+
cEntity.orientation = new Cesium.ConstantProperty(orient);
|
|
2074
|
+
}
|
|
2075
|
+
return orient;
|
|
2076
|
+
}, false);
|
|
2077
|
+
}
|
|
2022
2078
|
// Same file but different scale. We'll animate the scale.
|
|
2023
2079
|
var prevClientFileId = cEntity.model._clientFileId;
|
|
2024
2080
|
if (prevClientFileId == params.lodClientFileId) {
|
|
2025
2081
|
animateScale = new cesium_animated_property_1.CesiumAnimatedProperty.AnimateNumber({
|
|
2026
2082
|
durationMs: 200,
|
|
2027
|
-
|
|
2083
|
+
targetValue: scale * styleScale,
|
|
2028
2084
|
viewer: params.viewer,
|
|
2029
2085
|
startValue: cEntity.model.scale,
|
|
2030
2086
|
startPaused: true
|
|
@@ -2135,6 +2191,7 @@ var EntityRenderEngine;
|
|
|
2135
2191
|
record: scale,
|
|
2136
2192
|
style: styleScale
|
|
2137
2193
|
};
|
|
2194
|
+
model._heading = heading;
|
|
2138
2195
|
return cEntity;
|
|
2139
2196
|
}
|
|
2140
2197
|
Model3d.Render = Render;
|