MCPcopy
hub / github.com/CesiumGS/cesium / morphFrom2DTo3D

Function morphFrom2DTo3D

packages/engine/Source/Scene/SceneTransitioner.js:470–548  ·  view source on GitHub ↗
(transitioner, duration, ellipsoid)

Source from the content-addressed store, hash-verified

468const scratch3DToCVEndUp = new Cartesian3();
469
470function morphFrom2DTo3D(transitioner, duration, ellipsoid) {
471 duration /= 3.0;
472
473 const scene = transitioner._scene;
474 const camera = scene.camera;
475
476 let camera3D;
477 if (duration > 0.0) {
478 camera3D = scratchCVTo3DCamera;
479 Cartesian3.fromDegrees(
480 0.0,
481 0.0,
482 5.0 * ellipsoid.maximumRadius,
483 ellipsoid,
484 camera3D.position,
485 );
486 Cartesian3.negate(camera3D.position, camera3D.direction);
487 Cartesian3.normalize(camera3D.direction, camera3D.direction);
488 Cartesian3.clone(Cartesian3.UNIT_Z, camera3D.up);
489 } else {
490 camera.position.z = camera.frustum.right - camera.frustum.left;
491
492 camera3D = getColumbusViewTo3DCamera(transitioner, ellipsoid);
493 }
494
495 let frustum;
496 if (transitioner._morphToOrthographic) {
497 frustum = scratch2DTo3DFrustumOrtho;
498 frustum.aspectRatio = scene.drawingBufferWidth / scene.drawingBufferHeight;
499 frustum.width = camera.frustum.right - camera.frustum.left;
500 } else {
501 frustum = scratch2DTo3DFrustumPersp;
502 frustum.aspectRatio = scene.drawingBufferWidth / scene.drawingBufferHeight;
503 frustum.fov = CesiumMath.toRadians(60.0);
504 }
505
506 camera3D.frustum = frustum;
507
508 const complete = complete3DCallback(camera3D);
509 createMorphHandler(transitioner, complete);
510
511 let morph;
512 if (transitioner._morphToOrthographic) {
513 morph = function () {
514 morphFromColumbusViewTo3D(transitioner, duration, camera3D, complete);
515 };
516 } else {
517 morph = function () {
518 morphOrthographicToPerspective(
519 transitioner,
520 duration,
521 camera3D,
522 function () {
523 morphFromColumbusViewTo3D(transitioner, duration, camera3D, complete);
524 },
525 );
526 };
527 }

Callers 1

Calls 10

complete3DCallbackFunction · 0.85
createMorphHandlerFunction · 0.85
morphFunction · 0.85
fromDegreesMethod · 0.45
negateMethod · 0.45
normalizeMethod · 0.45
cloneMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…