* @private * @param {Picking} picking * @param {Scene} scene * @param {Ray} ray * @param {object[] | undefined} objectsToExclude * @param {number | undefined} width * @param {Function} callback * @returns {Promise }
( picking, scene, ray, objectsToExclude, width, callback, )
| 1064 | * @returns {Promise<Cartesian3 | undefined>} |
| 1065 | */ |
| 1066 | function launchMostDetailedRayPick( |
| 1067 | picking, |
| 1068 | scene, |
| 1069 | ray, |
| 1070 | objectsToExclude, |
| 1071 | width, |
| 1072 | callback, |
| 1073 | ) { |
| 1074 | const tilesets = []; |
| 1075 | getTilesets(scene.primitives, objectsToExclude, tilesets); |
| 1076 | if (tilesets.length === 0) { |
| 1077 | return Promise.resolve(callback()); |
| 1078 | } |
| 1079 | |
| 1080 | const rayPick = new MostDetailedRayPick(ray, width, tilesets); |
| 1081 | picking._mostDetailedRayPicks.push(rayPick); |
| 1082 | return rayPick.promise.then(function () { |
| 1083 | return callback(); |
| 1084 | }); |
| 1085 | } |
| 1086 | |
| 1087 | function isExcluded(object, objectsToExclude) { |
| 1088 | if ( |
no test coverage detected
searching dependent graphs…