Class: ModelSetLayer

ov. ModelSetLayer

new ov.ModelSetLayer()

webgl/ov-ModelSetLayer.js, line 6

模型集圖層

Extends

Members

boundary

Boundary

Properties:
Name Type Description
Boundary GeoBoundary

圖層邊界。

enableShadow

陰影顯示

Properties:
Name Type Description
enableShadow Boolean

是否顯示陰影,若ov.TerrainView關閉陰影則不會顯示

readonlyname

圖層名稱

Properties:
Name Type Description
name String

名稱。

show

圖層顯示

Properties:
Name Type Description
show Boolean

是否顯示圖層。

tooltipSetting

Tooltip設定。

Properties:
Name Type Description
positionMode ov.TOOLTIP_POSITION_MODE

定位模式。

show Boolean

是否顯示。

offset GeoPoint

偏移。

style Object

Tooltip style,可自行擴充。

preProcessing ov.Layer~tooltipPreProcessingCallback

內容前處理方法。

positionPreProcessing ov.Layer~tooltipPositionPreProcessingCallback

座標前處理方法。

Methods

addBuildingFloorColor(buildingID, buildingFloor, color, mix)

webgl/ov-ModelSetLayer.js, line 387

設定指定建築物ID樓層顏色。

Name Type Default Description
buildingID Number

建築物ID。

buildingFloor Number

建築物樓層。

color ov.Color new ov.Color("#FF0000") optional

顏色。

mix Number 1.0 optional

混色權重。

addClipPolygon(polygon, mode){Boolean}

webgl/ov-ModelSetLayer.js, line 446

在圖層上加入要裁切的區域。

Name Type Description
polygon GeoPolygon

多邊形區域。

mode ov.CLIP_MODE

裁切模式。

Returns:
Type Description
Boolean 是否加入成功。

enableAlphaTest(enable)

webgl/ov-ModelSetLayer.js, line 367

開關Alpha測試,判斷若圖點的透明度達到一定程度便直接不輸出該點。

Name Type Description
enable Boolean

是否使用Alpha Test

inherited enableOrderIndependentTransparency(enable)

webgl/ov-Layer.js, line 308

透明度是否使用OIT演算法,正確性較高但效能會降低。

Name Type Description
enable Boolean

啟用OIT透明。

getAllClipPolygon(){Object|null}

webgl/ov-ModelSetLayer.js, line 475

取得所有在圖層上的裁切區域。

Returns:
Name Type Description
clipPolygon Object | null 裁切多邊形資訊。
Name Type Description
polygon Array.<GeoPolygon> 多邊形。
mode Array.<ov.CLIP_MODE> 模式。

getAttrs(param)

webgl/ov-ModelSetLayer.js, line 44

取得指定圖素的所有屬性值。

Name Type Description
param Object

參數。

Name Type Default Description
id Number

指定圖素的ID。

doCmd Boolean true optional

true會直接發doCmd查詢屬性;false會先檢查身上有沒有帶屬性,沒有則發doCmd查詢屬性。

callback ov.ModelSetLayer~getAttrsCallback

取得屬性後的回呼。

getColAndAttrs(param)

webgl/ov-ModelSetLayer.js, line 131

取得指定圖素的所有屬性欄位名稱和屬性值。

Name Type Description
param Object

參數。

Name Type Default Description
id Number

指定建物的ID。

doCmd Boolean true optional

true會直接發doCmd查詢屬性;false會先檢查身上有沒有帶屬性,沒有則發doCmd查詢屬性。

callback ov.ModelSetLayer~getColAndAttrsCallback

取得屬性後的回呼。

inherited getHeader(callback)

webgl/ov-Layer.js, line 96

取得圖層標頭物件。

Name Type Description
callback ov.Layer~setOnGetHeaderCallback

請求標頭物件的回呼,不給則同步回傳(不保證回傳速度)。

inherited getOpacity(){Number}

webgl/ov-Layer.js, line 171

取得當前圖層不透明程度。

Returns:
Type Description
Number opacity 圖層不透明程度(0~1)。

inherited goto(callback)

webgl/ov-Layer.js, line 316

飛到圖層的位置。

Name Type Description
callback ov.Layer~gotoCallback

移動完成後執行的回呼。

removeBuildingFloorColor(buildingID)

webgl/ov-ModelSetLayer.js, line 400

移除指定建築物ID樓層顏色。

Name Type Description
buildingID Number

建築物ID。

removeClipPolygon(index){Boolean}

webgl/ov-ModelSetLayer.js, line 460

移除先前在圖層上的裁切區域。

Name Type Description
index Number

索引,不填則全刪。

Returns:
Type Description
Boolean 是否刪除成功。

removeEntityColorFunction(){Boolean}

webgl/ov-ModelSetLayer.js, line 266

清除ov.ModelSetLayer#setEntityColorFunction設定的顏色函數。

Returns:
Type Description
Boolean 是否清除成功。

removeEntityHideFunction(){Boolean}

webgl/ov-ModelSetLayer.js, line 308

清除ov.ModelSetLayer#setEntityHideFunction設定的隱藏函數。

Returns:
Type Description
Boolean 是否清除成功。

removeEntityOverlayFunction(){Boolean}

webgl/ov-ModelSetLayer.js, line 510

清除ov.ModelSetLayer#setEntityOverlayFunction設定的套疊函數。

Returns:
Type Description
Boolean 是否清除成功。

resetAllHideEntityID(){Boolean}

webgl/ov-ModelSetLayer.js, line 190

重設所有圖素隱藏狀態。

Returns:
Type Description
Boolean 是否重設成功。

resetAllOpacityEntityID(){Boolean}

webgl/ov-ModelSetLayer.js, line 218

重設所有建築物不透明度。

Returns:
Type Description
Boolean 是否重設成功。

searchByDistance(epsg, geo, distance, sql, callback)

webgl/ov-ModelSetLayer.js, line 99

查詢在指定幾何範圍以內的圖素,並以SQL篩選。

Name Type Description
epsg Number

幾何的EPSG。

geo GeoPolygon

指定幾何。

distance Number

指定距離,單位公尺。

sql String

SQL篩選條件。

callback ov.ModelSetLayer~searchByDistanceCallback

查詢的回呼。

searchByInclude(epsg, geo, sql, callback)

webgl/ov-ModelSetLayer.js, line 82

查詢被指定幾何包圍的圖素,並以SQL篩選。

Name Type Description
epsg Number

幾何的EPSG。

geo GeoPolygon

指定幾何。

sql String

SQL篩選條件。

callback ov.ModelSetLayer~searchByIncludeCallback

查詢的回呼。

searchByIntersect(epsg, geo, sql, callback)

webgl/ov-ModelSetLayer.js, line 115

查詢在指定幾何相交的圖素,並以SQL篩選。

Name Type Description
epsg Number

幾何的EPSG。

geo GeoPolygon

指定幾何。

sql String

SQL篩選條件。

callback ov.ModelSetLayer~searchByIntersectCallback

查詢的回呼。

searchBySQL(sql, callback)

webgl/ov-ModelSetLayer.js, line 66

以SQL條件查詢圖層中的圖素。

Name Type Description
sql String

SQL查詢條件。

callback ov.ModelSetLayer~searchBySQLCallback

查詢的回呼。

inherited setAllowHoverEntity(allow)

webgl/ov-Layer.js, line 227

設定圖層的圖素是否能Hover。

Name Type Description
allow Boolean

是否能Hover。

inherited setAllowSelectEntity(allow)

webgl/ov-Layer.js, line 235

設定圖層的圖素是否能被選取。

Name Type Description
allow Boolean

是否能被點選。

setAlphaFunc(func, ref)

webgl/ov-ModelSetLayer.js, line 376

若有使用Alpha測試,則可設定Alpha參考值的值與比較方法

Name Type Description
func ov.ALPHA_TEST_FUNC

比較的方法

ref Number

比較的值,0.0 ~ 1.0

setCullType(type)

webgl/ov-ModelSetLayer.js, line 57

設置剔除模式。

Name Type Description
type ov.ENUM_MESH_CULLTYPE

剔除模式。

inherited setDepthFunc(depthFunc)

webgl/ov-Layer.js, line 341

設置圖層深度測試的方式。

Name Type Description
depthFunc ov.DEPTH_FUNC

深度測試的方式。

setDrawEdge(enable)

webgl/ov-ModelSetLayer.js, line 408

設定是否繪製建物邊緣線。

Name Type Description
enable Boolean

是否繪製建物邊緣線。

setDrawMode(meshType, drawMode)

webgl/ov-ModelSetLayer.js, line 145

對指定模型類型設定作畫模式,不同類型可以有各自的作畫模式。

Name Type Description
meshType ov.MODEL_TYPE

要設定的建物類型。

drawMode ov.MODEL_DRAWMODE

作畫模式。

inherited setDrawSelectedEntityOutline(isDraw)

webgl/ov-Layer.js, line 179

設定圖層的圖素是否顯示outline。

Name Type Description
isDraw Boolean

是否顯示。

setEdgeColor(color, opacity)

webgl/ov-ModelSetLayer.js, line 417

設定邊緣線顏色。

Name Type Description
color ov.Color

顏色。

opacity Number

不透明度。

setEdgeDashScale(dashScale)

webgl/ov-ModelSetLayer.js, line 436

設定虛線間隔。

Name Type Description
dashScale Number

虛線間隔(公尺),大於0才有虛線,否則為實線。

setEdgeZScale(scale)

webgl/ov-ModelSetLayer.js, line 428

設定邊緣線ZScale。

Name Type Description
scale Number

ZScale的值。

setEntityColor(entityId, color, mix)

webgl/ov-ModelSetLayer.js, line 328

設定指定圖素顏色。

Name Type Description
entityId Number

指定圖素Id。

color ov.Color optional

指定的顏色。

mix Number optional

指定的混色比例。

Example

modelSetLayer.setEntityColor(1234, new ov.Color("#FFFFFF"), 1.0); //白色
modelSetLayer.setEntityColor(1234, new ov.Color("#FFFFFF"), 0.5); //原本的顏色與白色各半混色,比如這樣,會看起來有些像高亮
modelSetLayer.setEntityColor(1234, null); //清除顏色設定
modelSetLayer.setEntityColor(-1); //清除整張圖層的顏色設定

setEntityColorFunction(entityField, colorFunction){Boolean}

webgl/ov-ModelSetLayer.js, line 246

以圖素屬性來設置各圖素的顏色,要注意提供的colorFunction性能。

Name Type Description
entityField Array.<String>

依據的屬性欄位。

colorFunction ov.ModelSetLayer~setEntityColorFunctionCallback

依據屬性輸出顏色的函數,傳入圖素ID、屬性、設定用的顏色。

Returns:
Type Description
Boolean 是否設置成功。
Example

modelSetLayer.setEntityColorFunction(["Type"], function(id, attrs, color) {
if (attrs[0] === "工業") {
color[0] = 255;
color[1] = 0;
color[2] = 0;
} else {
color[0] = 0;
color[1] = 0;
color[2] = 0;
}
});

setEntityColors(entityIds, colors, mix)

webgl/ov-ModelSetLayer.js, line 345

批次設定指定圖素顏色。

Name Type Description
entityIds Array.<Number>

批次指定圖素Id。

colors Array.<ov.Color> optional

批次指定的顏色,若只給一個ov.Color則全部使用這個顏色。

mix Number optional

指定的混色比例。

Example

modelSetLayer.setEntityColors([1,2,3,4], new ov.Color("#FFFFFF"), 1.0); //白色
modelSetLayer.setEntityColor([1,2,3,4], [new ov.Color("#FFFF00"), new ov.Color("#00FFFF"), new ("#FF00FF"), new ov.Color("#FFFF00")], 1.0);
modelSetLayer.setEntityColor([1,2,3,4], null); //清除顏色設定

setEntityHideFunction(attributeField, hideFunction){Boolean}

webgl/ov-ModelSetLayer.js, line 289

以圖素屬性來設置各圖素的隱藏模式,要注意提供的hideFunction性能。

Name Type Description
attributeField Array.<String>

依據的屬性欄位。

hideFunction ov.ModelSetLayer~setEntityHideFunctionCallback

根據屬性輸出隱藏的函數,傳入圖素屬性。

Returns:
Type Description
Boolean 是否設置成功。
Example

modelSetLayer.setEntityHideFunction(["Type"], function(attrs) {
if (attrs[0] === "工業") {
return ov.HIDE.DISABLE_DRAW_SELECT;
} else {
return ov.HIDE.NONE;
}
});

setEntityOverlayFunction(attributeField, overlayFunction){Boolean}

webgl/ov-ModelSetLayer.js, line 490

以圖素屬性來設置各圖素是否要套疊,要注意提供的overlayFunction性能。

Name Type Description
attributeField Array.<String>

依據的屬性欄位。

overlayFunction ov.ModelSetLayer~setEntityOverlayFunctionCallback

依據屬性輸出是否要套疊的函數,傳入圖素ID、屬性。

Returns:
Type Description
Boolean 是否設置成功。

inherited setEntitySelected(entityID)

webgl/ov-Layer.js, line 352

設定圖素選取狀態。
未選取則變成選取狀態。
選取則變成未選取狀態。
-1清除所有選取狀態。

Name Type Description
entityID Number

圖素ID。

inherited setExposure(exposure)

webgl/ov-Layer.js, line 147

設定顏色曝光度。

Name Type Description
exposure Number

曝光度。

inherited setFadeNearFar(near, far){Boolean}

webgl/ov-Layer.js, line 300

設定圖層開始淡出與完全消失的距離。

Name Type Description
near Number

開始淡出的距離。

far Number

完全消失的距離。

Returns:
Type Description
Boolean 設定是否成功,當near > far時,會失敗。

setFloorModeScale(scale)

webgl/ov-ModelSetLayer.js, line 153

設定作畫時外牆的單位比例。

Name Type Description
scale Number

作畫時外牆的單位比例。

inherited setFreezeAdjust(freezeAdjust)

webgl/ov-Layer.js, line 360

設定圖層是否暫停分裂。

Name Type Description
freezeAdjust Boolean

是否暫停分裂。

inherited setGamma(gamma)

webgl/ov-Layer.js, line 155

設定顏色伽碼值。

Name Type Description
gamma Number

伽碼值。

inherited setHide(mode)

webgl/ov-Layer.js, line 333

設定圖層隱藏模式。

Name Type Description
mode ov.HIDE

隱藏模式。

setHideByEntityID(entityId, mode){Boolean}

webgl/ov-ModelSetLayer.js, line 177

設定圖素隱藏模式。

Name Type Description
entityId Number

圖素ID。

mode ov.HIDE

隱藏模式,0:無, 1:隱藏繪圖, 2:隱藏選取, 3:隱藏繪圖及選取。

Returns:
Type Description
Boolean 是否設定成功。

inherited setHoverEntityHighlightColor(color, opacity)

webgl/ov-Layer.js, line 216

設定圖層圖素的Hover高亮顏色。

Name Type Description
color ov.Color

Hover高亮的顏色。

opacity Number

不透明度。

setInvisibleDraw(invisibleDraw){Boolean}

webgl/ov-ModelSetLayer.js, line 33

設定是否將圖素隱藏,與Show不同,仍可以被點選。

Name Type Description
invisibleDraw Boolean

是否隱藏圖素。

Returns:
Type Description
Boolean 是否成功。

inherited setLightAmbientColor(lightAmbientColor)

webgl/ov-Layer.js, line 139

設定環境光顏色。

Name Type Description
lightAmbientColor ov.Color

環境光顏色。

inherited setLightColor(lightColor)

webgl/ov-Layer.js, line 131

設定光線顏色。

Name Type Description
lightColor ov.Color

光線顏色。

inherited setOffset(x, y, z){Boolean}

webgl/ov-Layer.js, line 246

設定圖層的公尺平移量(目前僅支援PhotogrammetryModel、PointCloud、Model、ModelSet、Pipeline)。

Name Type Description
x Number

向東西方向偏移,單位為公尺。

y Number

向南北方向偏移,單位為公尺。

z Number

向垂直於地表方向偏移,單位為公尺。

Returns:
Type Description
Boolean 變換是否成功,某些圖層不支持此操作時返回false。

inherited setOnClickEntity(callback)

webgl/ov-Layer.js, line 109

設定此圖層圖素被點擊時的回呼。

Name Type Description
callback ov.Layer~setOnClickEntityCallback

圖素被點擊時的回呼,若輸入非function將被忽略,輸入null則清除設定。

inherited setOpacity(opacity)

webgl/ov-Layer.js, line 163

設置圖層不透明程度。

Name Type Description
opacity Number

圖層不透明程度(0~1)。

setOpacityByEntityID(entityId, opacity){Boolean}

webgl/ov-ModelSetLayer.js, line 205

設定圖素不透明度。

Name Type Description
entityId Number

圖素ID。

opacity Number

不透明度。

Returns:
Type Description
Boolean 是否設定成功。

inherited setOutlineColor(visibleColor, hiddenColor)

webgl/ov-Layer.js, line 188

設定選取圖層圖素的Outline顏色。

Name Type Description
visibleColor ov.Color

outline可視的顏色。

hiddenColor ov.Color

outline不可視的顏色。

setOverlayName(layerName){Boolean}

webgl/ov-ModelSetLayer.js, line 162

設定要疊加在ModelSetLayer上的Overlay圖層名稱,需先自行加Overlay。

Name Type Description
layerName Array.<String>

疊加的Overlay圖層名稱。

Returns:
Type Description
Boolean 是否設定成功。

inherited setResolutionScale(resolutionScale){Boolean}

webgl/ov-Layer.js, line 273

設定圖層解析度條件的Scale比例。

Name Type Description
resolutionScale Number

解析度條件的Scale比例(初始值1,越大越容易分裂,模型越細緻)。

Returns:
Type Description
Boolean 是否設定成功。

inherited setRotate(degree){Boolean}

webgl/ov-Layer.js, line 255

設定圖層的旋轉量(目前僅支援PhotogrammetryModel、PointCloud、Model、ModelSet、Pipeline)。

Name Type Description
degree Number

旋轉角度。

Returns:
Type Description
Boolean 變換是否成功,某些圖層不支持此操作時返回false。

inherited setScale(scale){Boolean}

webgl/ov-Layer.js, line 264

設定圖層的縮放量(目前僅支援PhotogrammetryModel、PointCloud、Model、ModelSet、Pipeline)。

Name Type Description
scale Number

縮放比例。

Returns:
Type Description
Boolean 變換是否成功,某些圖層不支持此操作時返回false。

inherited setSelectedEntityHighlightColor(color, opacity)

webgl/ov-Layer.js, line 204

設定圖層圖素的選取高亮顏色。

Name Type Description
color ov.Color

選取高亮的顏色。

opacity Number

不透明度。

inherited setUseFade(useFade)

webgl/ov-Layer.js, line 290

設定圖層是否開啟淡出功能。

Name Type Description
useFade Boolean

淡出開關。

inherited setUseLight(useLight)

webgl/ov-Layer.js, line 123

設定是否使用光線。

Name Type Description
useLight Boolean

是否使用光線。

inherited setZScale(zScale){Boolean}

webgl/ov-Layer.js, line 282

設定圖層的ZScale(ZScale:越小圖層越不會被遮擋)。

Name Type Description
zScale Number

ZScale的值。

Returns:
Type Description
Boolean 是否設定成功。

Type Definitions

getAttrsCallback(attrs)

webgl/ov-ModelSetLayer.js, line 47
Name Type Description
attrs Object | null

屬性物件。

See:

getColAndAttrsCallback(attrs)

webgl/ov-ModelSetLayer.js, line 134
Name Type Description
attrs Object

屬性物件。

See:

searchByDistanceCallback(entities)

webgl/ov-ModelSetLayer.js, line 102
Name Type Description
entities Object

圖素物件。

See:

searchByIncludeCallback(entities)

webgl/ov-ModelSetLayer.js, line 85
Name Type Description
entities Object

圖素物件。

See:

searchByIntersectCallback(entities)

webgl/ov-ModelSetLayer.js, line 118
Name Type Description
entities Object

圖素物件。

See:

searchBySQLCallback(entities)

webgl/ov-ModelSetLayer.js, line 69
Name Type Description
entities Object

圖素物件。

See:

setEntityColorFunctionCallback(id, attr, color)

webgl/ov-ModelSetLayer.js, line 254
Name Type Description
id Number

圖素id。

attr Array

屬性。

color Uint8Array

顏色。

See:

setEntityHideFunctionCallback(attr){ov.HIDE}

webgl/ov-ModelSetLayer.js, line 297
Name Type Description
attr Array

屬性。

See:
Returns:
Type Description
ov.HIDE 隱藏模式。

setEntityOverlayFunctionCallback(id, attr){Boolean}

webgl/ov-ModelSetLayer.js, line 498
Name Type Description
id Number

圖素id。

attr Array

屬性。

See:
Returns:
Type Description
Boolean 是否要套疊。