SuperMap iClient3D for WebGL教程(Entity)-PolygonGraphics

PolygonGraphics類是隸屬于實(shí)體對(duì)象的一個(gè)類型,主要用于創(chuàng)建幾何面對(duì)象和對(duì)面對(duì)象拉伸為盒子模型,數(shù)據(jù)的來(lái)源為點(diǎn)串?dāng)?shù)據(jù)。添加拉伸后的面實(shí)體效果如下圖:


PolygonGraphics

實(shí)現(xiàn)代碼如下:

viewer.entities.add({
                    id: "test",
                    polygon: {
                        hierarchy: new Cesium.PolygonHierarchy(Cesium.Cartesian3.fromDegreesArray([112, 40, 112.01, 40, 112.01, 40.01, 112, 40.01])),
                        height:300,
                        extrudedHeight:2000,
                        material:Cesium.Color.RED.withAlpha(0.5),
                        outline:true,
                        outlineColor:Cesium.Color.WHITE,
                        outlineWidth:2.0
                    }
                });
                viewer.flyTo(viewer.entities.getById("test"));

一、主要參數(shù)介紹

1、hierarchy:多邊形的點(diǎn)集合串,是一個(gè)PolygonHierarchy 類型的對(duì)象,里面可以創(chuàng)建普通面和導(dǎo)洞對(duì)象。


導(dǎo)洞的效果

2、height:多邊形相當(dāng)?shù)孛娴母叨取?br> 3、extrudedHeight:多邊形的寄出高度,一般多邊形的拉升高度=extrudedHeight-height。
4、show:多邊形是否可見(jiàn)
5、fill:是否使用材質(zhì)填充,不填充則是透明,如果有邊線則只顯示邊線效果


無(wú)填充模式

6、material:對(duì)象的填充材質(zhì),就是對(duì)象的外觀,可以是顏色,也可以是貼圖等等,后續(xù)的文章會(huì)講解
7、outline:對(duì)象是否顯示邊線

8、outlineColor:邊線的顏色
9、outlineWidth:邊線的寬度
10、stRotation:材質(zhì)的旋轉(zhuǎn)角度
11、perPositionHeight:是否單獨(dú)使用對(duì)象的高度,也就是每個(gè)節(jié)點(diǎn)的高度可顯示,這樣可以做一個(gè)傾斜的平面
12、closeTop:拉伸的時(shí)候頂部是否封口
13、closeBottom:拉伸的時(shí)候底部是否封口
14、shadows:陰影投射方式
15、distanceDisplayCondition:即是控制模型在什么相機(jī)位置下顯示出來(lái)。例如設(shè)置distanceDisplayCondition:new Cesium.DistanceDisplayCondition(1500,5000),即是在相機(jī)距離1500-5000的位置范圍內(nèi)顯示,其他范圍模型都不顯示。

二、綜合使用

詳細(xì)大家看到這里,怎么添加entity都已經(jīng)會(huì)了,這里不再做多的講解,我們添加一個(gè)帶有洞的多邊形,拉伸他并給他貼一個(gè)圖片材質(zhì)

viewer.entities.add({
                    id: "test",
                    polygon: {
                        hierarchy: {
                            positions: Cesium.Cartesian3.fromDegreesArray([112, 40, 112.01, 40, 112.01, 40.01, 112, 40.01]),
                            holes:[new Cesium.PolygonHierarchy(Cesium.Cartesian3.fromDegreesArray([112.001, 40.001, 112.009, 40.001, 112.009, 40.006, 112.001, 40.006]))]
                        },
                        height: 300,
                        extrudedHeight: 2000,
                        material: new Cesium.ImageMaterialProperty ({
                            image:"data/building2.png"
                        }),
                        outline: true,
                        outlineColor: Cesium.Color.WHITE,
                        outlineWidth: 2.0,
                        
                    }
                });
                viewer.flyTo(viewer.entities.getById("test"));

效果如下圖:


綜合使用
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容