通視

var viewer = new Cesium.Viewer("cesiumContainer");

var scene = viewer.scene;

scene.globe.depthTestAgainstTerrain = true;

if (!scene.pickPositionSupported) {

? window.alert(

? ? "This browser does not support pickPosition or getting position from pickFromRay."

? );

}

var i;

var drillPick = false;

Sandcastle.addToggleButton("Drill pick", false, function (checked) {

? drillPick = checked;

});

var tileset = viewer.scene.primitives.add(

? new Cesium.Cesium3DTileset({

? ? url: "../../SampleData/Cesium3DTiles/Tilesets/Tileset/tileset.json",

? })

);

tileset.style = new Cesium.Cesium3DTileStyle({

? defines: {

? ? alpha: "${id} % 2 === 0 ? 0.5 : 1.0",

? },

? color: "rgba(255, 255, 255, ${alpha})",

});

viewer.zoomTo(tileset);

var blueCartographic = new Cesium.Cartographic(

? -1.3196863177294136,

? 0.6988508714746624,

? 0.5

);

var redCartographic = new Cesium.Cartographic(

? -1.319671841889412,

? 0.6989153500784591,

? 0.0

);

var arrowPositions = [

? Cesium.Cartographic.toCartesian(blueCartographic),

? Cesium.Cartographic.toCartesian(redCartographic),

];

var arrow = viewer.entities.add({

? polyline: {

? ? positions: arrowPositions,

? ? width: 10,

? ? arcType: Cesium.ArcType.NONE,

? ? material: new Cesium.PolylineArrowMaterialProperty(

? ? ? Cesium.Color.YELLOW

? ? ),

? },

});

var intersectionMarkers = [];

var pickedFeatures = [];

var objectsToExclude = [];

function reset() {

? objectsToExclude = [arrow];

? for (i = 0; i < pickedFeatures.length; ++i) {

? ? pickedFeatures[i].color = Cesium.Color.fromAlpha(

? ? ? Cesium.Color.WHITE,

? ? ? pickedFeatures[i].color.alpha

? ? );

? }

? for (i = 0; i < intersectionMarkers.length; ++i) {

? ? viewer.entities.remove(intersectionMarkers[i]);

? ? objectsToExclude.push(intersectionMarkers[i]);

? }

? pickedFeatures.length = 0;

? intersectionMarkers.length = 0;

}

function showIntersections(results) {

? for (i = 0; i < results.length; ++i) {

? ? var object = results[i].object;

? ? if (object instanceof Cesium.Cesium3DTileFeature) {

? ? ? pickedFeatures.push(object);

? ? ? object.color = Cesium.Color.fromAlpha(

? ? ? ? Cesium.Color.RED,

? ? ? ? object.color.alpha

? ? ? );

? ? }

? ? intersectionMarkers.push(

? ? ? viewer.entities.add({

? ? ? ? position: results[i].position,

? ? ? ? ellipsoid: {

? ? ? ? ? radii: new Cesium.Cartesian3(3.0, 3.0, 3.0),

? ? ? ? ? material: Cesium.Color.RED,

? ? ? ? },

? ? ? })

? ? );

? }

}

function pickFromRay() {

? reset();

? var start = Cesium.Cartographic.toCartesian(blueCartographic);

? var end = Cesium.Cartographic.toCartesian(redCartographic);


? console.log(start);

? var direction = Cesium.Cartesian3.normalize(

? ? Cesium.Cartesian3.subtract(end, start, new Cesium.Cartesian3()),

? ? new Cesium.Cartesian3()

? );

? var ray = new Cesium.Ray(start, direction);

? var results = [];

? if (drillPick) {

? console.log("1");

? } else {

? ? var result = scene.pickFromRay(ray, objectsToExclude);

? ? if (Cesium.defined(result)) {



? ? ? console.log(result.exclude);

? ? ? results = [result];

? ? }

? }

? arrow.polyline.positions = [

? ? Cesium.Cartographic.toCartesian(blueCartographic),

? ? Cesium.Cartographic.toCartesian(redCartographic),

? ];

? showIntersections(results);

}

var handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas);

handler.setInputAction(function (movement) {

? var redCartesian = scene.pickPosition(movement.position);

? redCartographic = Cesium.Cartographic.fromCartesian(redCartesian);

? pickFromRay();

}, Cesium.ScreenSpaceEventType.LEFT_CLICK);

window.setTimeout(function () {

? pickFromRay();

}, 2000.0);

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末织阅,一起剝皮案震驚了整個濱河市柱蟀,隨后出現(xiàn)的幾起案子诽嘉,更是在濱河造成了極大的恐慌白胀,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)疹味,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來帜篇,“玉大人糙捺,你說我怎么就攤上這事◇舷叮” “怎么了洪灯?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長竟痰。 經(jīng)常有香客問我签钩,道長,這世上最難降的妖魔是什么坏快? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任铅檩,我火速辦了婚禮,結(jié)果婚禮上莽鸿,老公的妹妹穿的比我還像新娘昧旨。我一直安慰自己,他們只是感情好祥得,可當(dāng)我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布兔沃。 她就那樣靜靜地躺著,像睡著了一般级及。 火紅的嫁衣襯著肌膚如雪乒疏。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天饮焦,我揣著相機(jī)與錄音缰雇,去河邊找鬼入偷。 笑死追驴,一個胖子當(dāng)著我的面吹牛械哟,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播殿雪,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼暇咆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了丙曙?” 一聲冷哼從身側(cè)響起爸业,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎亏镰,沒想到半個月后扯旷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡索抓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年钧忽,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逼肯。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡耸黑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出篮幢,到底是詐尸還是另有隱情大刊,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布三椿,位于F島的核電站缺菌,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏搜锰。R本人自食惡果不足惜伴郁,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望纽乱。 院中可真熱鬧蛾绎,春花似錦、人聲如沸鸦列。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽薯嗤。三九已至顽爹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間骆姐,已是汗流浹背镜粤。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工捏题, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人肉渴。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓公荧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親同规。 傳聞我的和親對象是個殘疾皇子循狰,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容