PilotGaea 3D O'view
    正在準備搜尋索引...

    類別 ModelSetLayer

    模型集圖層

    層級 (查看層級一覽)

    索引

    方法

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

      參數

      • invisibleDraw: boolean

        是否隱藏圖素。

      回傳 boolean

      是否成功。

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

      參數

      • param: { id: number; doCmd?: null | boolean; callback: (attrs: null | object) => void }

        參數。

        • id: number

          指定圖素的ID。

        • 可選doCmd?: null | boolean

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

        • callback: (attrs: null | object) => void

          取得屬性後的回呼。

      回傳 void

    • 設置剔除模式。

      參數

      回傳 void

    • 設置遮罩剔除模式。

      參數

      回傳 void

    • 設定遮罩顏色。

      參數

      回傳 void

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

      參數

      • sql: string

        SQL查詢條件。

      • callback: (ret: null | DoCmdEntity[]) => void

        查詢的回呼。

      回傳 void

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

      參數

      • epsg: number

        幾何的EPSG。

      • geo: GeoBoundary

        指定幾何。

      • sql: string

        SQL篩選條件。

      • callback: (ret: null | DoCmdEntity[]) => void

        查詢的回呼。

      回傳 void

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

      參數

      • epsg: number

        幾何的EPSG。

      • geo: GeoPolygon

        指定幾何。

      • distance: number

        指定距離,單位公尺。

      • sql: string

        SQL篩選條件。

      • callback: (ret: null | DoCmdEntity[]) => void

        查詢的回呼。

      回傳 void

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

      參數

      • epsg: number

        幾何的EPSG。

      • geo: GeoPolygon

        指定幾何。

      • sql: string

        SQL篩選條件。

      • callback: (ret: null | DoCmdEntity[]) => void

        查詢的回呼。

      回傳 void

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

      參數

      • param: {
            id: number;
            doCmd?: null | boolean;
            callback: (attrs: null | DoCmd3DColAndAttrs) => void;
        }

        參數。

        • id: number

          指定建物的ID。

        • 可選doCmd?: null | boolean

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

        • callback: (attrs: null | DoCmd3DColAndAttrs) => void

          取得屬性後的回呼。

      回傳 void

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

      參數

      回傳 void

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

      參數

      • scale: number

        作畫時外牆的單位比例。

      回傳 void

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

      參數

      • layerName: null | string | string[]

        疊加的Overlay圖層名稱。

      回傳 boolean

      是否設定成功。

    • 設定圖素隱藏模式。

      參數

      • entityId: number

        圖素ID。

      • mode: HIDE

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

      回傳 boolean

      是否設定成功。

    • 重設所有圖素隱藏狀態。

      回傳 boolean

      是否重設成功。

    • 設定圖素不透明度。

      參數

      • entityId: number

        圖素ID。

      • opacity: number

        不透明度。

      回傳 boolean

      是否設定成功。

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

      回傳 boolean

      是否重設成功。

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

      參數

      • entityField: string[]

        依據的屬性欄位。

      • colorFunction: window.ov.ModelSetLayer.ColorFunction

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

      回傳 boolean

      是否設置成功。

      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;
      }
      });
    • 清除setEntityColorFunction設定的顏色函數。

      回傳 boolean

      是否清除成功。

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

      參數

      回傳 boolean

      是否設置成功。

      modelSetLayer.setEntityHideFunction(["Type"], function(attrs) {
      if (attrs[0] === "工業") {
      return ov.HIDE.DISABLE_DRAW_SELECT;
      } else {
      return ov.HIDE.NONE;
      }
      });
    • 清除setEntityHideFunction設定的隱藏函數。

      回傳 boolean

      是否清除成功。

    • 設定指定圖素顏色。

      參數

      • entityId: number

        指定圖素Id。

      • 可選color: null | window.ov.Color

        指定的顏色。

      • 可選mix: number

        指定的混色比例。

      回傳 void

      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);//清除整張圖層的顏色設定
    • 批次設定指定圖素顏色。

      參數

      • entityIds: number[]

        批次指定圖素Id。

      • 可選colors: null | window.ov.Color | window.ov.Color[]

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

      • 可選mix: number

        指定的混色比例。

      回傳 void

      modelSetLayer.setEntityColors([1,2,3,4], new ov.Color("#FFFFFF"), 1.0);//白色
      modelSetLayer.setEntityColors([1,2,3,4], [new ov.Color("#FFFF00"), new ov.Color("#00FFFF"), new ("#FF00FF"), new ov.Color("#FFFF00")], 1.0);
      modelSetLayer.setEntityColors([1,2,3,4], null);//清除顏色設定
      modelSetLayer.setEntityColors(-1);//清除整張圖層的顏色設定
    • 開關Alpha測試,判斷若圖點的透明度達到一定程度便直接不輸出該點。

      參數

      • enable: boolean

        是否使用Alpha Test

      回傳 void

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

      參數

      • func: ENUM_COMPARE_FUN

        比較的方法

      • ref: number

        比較的值,0.0 ~ 1.0

      回傳 void

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

      參數

      • buildingID: number

        建築物ID。

      • buildingFloor: number

        建築物樓層。

      • 可選color: window.ov.Color

        顏色。預設 new ov.Color("#FF0000")

      • 可選mix: number

        混色權重。預設 1.0

      回傳 void

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

      參數

      • buildingID: number

        建築物ID。

      回傳 void

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

      參數

      • enable: boolean

        是否繪製建物邊緣線。

      回傳 void

    • 設定邊緣線顏色。

      參數

      回傳 void

    • 設定邊緣線ZScale。

      參數

      • scale: number

        ZScale的值。

      回傳 void

    • 設定虛線間隔。

      參數

      • dashScale: number

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

      回傳 void

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

      參數

      回傳 boolean

      是否加入成功。

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

      參數

      • 可選index: number

        索引,不填則全刪。

      回傳 boolean

      是否刪除成功。

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

      回傳 null | Pick<ClipPolygonInfo, "mode" | "polygon">

      裁切多邊形資訊。

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

      參數

      • attributeField: string[]

        依據的屬性欄位。

      • overlayFunction: (id: number, attr: unknown[]) => boolean

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

      回傳 false | void

      是否設置成功。

    • 清除setEntityOverlayFunction設定的套疊函數。

      回傳 boolean

      是否清除成功。

    • 自動校正法線,通常用於產權模型。

      參數

      • enable: boolean

        是否啟用

      回傳 boolean

      是否啟用成功

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

      參數

      • callback: (id: number, pos: GeoPoint) => void

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

      回傳 void

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

      參數

      • isDraw: boolean

        是否顯示。

      回傳 void

    • 設定選取圖層圖素的Outline線寬。

      參數

      • width: number

        線寬。

      回傳 void

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

      參數

      • allow: boolean

        是否能Hover。

      回傳 void

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

      參數

      • allow: boolean

        是否能被點選。

      回傳 void

    • 設定圖素選取狀態。

      未選取則變成選取狀態。

      選取則變成未選取狀態。

      -1清除所有選取狀態。

      參數

      • entityID: number

        圖素ID。

      回傳 void

    • 取得圖層標頭物件。

      參數

      • callback: (header: null | object) => void

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

      回傳 void

    • 設定是否使用光線。

      參數

      • useLight: boolean

        是否使用光線。

      回傳 void

    • 設定顏色曝光度。

      參數

      • exposure: number

        曝光度。

      回傳 void

    • 設定顏色伽碼值。

      參數

      • gamma: number

        伽碼值。

      回傳 void

    • 設置圖層不透明度。

      參數

      • opacity: number

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

      回傳 void

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

      回傳 number

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

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

      參數

      • x: number

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

      • y: number

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

      • z: number

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

      回傳 boolean

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

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

      參數

      • degree: number

        旋轉角度。

      回傳 boolean

      變換是否成功,某些圖層不支持此操作時返回 false

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

      參數

      • scale: number

        縮放比例。

      回傳 boolean

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

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

      參數

      • resolutionScale: number

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

      回傳 void

      是否設定成功。

    • 設定圖層的 ZScale。

      ZScale越小圖層越不會被遮擋。

      參數

      • zScale: number

        值。

      回傳 boolean

      是否設定成功。

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

      參數

      • useFade: boolean

        淡出開關。

      回傳 void

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

      參數

      • near: number

        開始淡出的距離。

      • far: number

        完全消失的距離。

      回傳 boolean

      設定是否成功,當 near > far 時,會失敗。

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

      參數

      • enable: boolean

        啟用 OIT 透明。

      回傳 void

    • 飛到圖層的位置。

      參數

      • 可選callback: () => void

        移動完成後執行的回呼。

      回傳 void

    • 設定圖層隱藏模式。

      參數

      • mode: HIDE

        隱藏模式。

      回傳 void

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

      參數

      • depthFunc: DEPTH_FUNC

        深度測試的方式。

      回傳 void

    • 設定圖層是否暫停分裂。

      參數

      • freezeAdjust: boolean

        是否暫停分裂。

      回傳 void

    • 設定圖層是否暫停收斂。

      參數

      • freezeCollapse: boolean

        是否暫停收斂。

      回傳 void

    • 此設定影響圖資與地形的作畫順序

      參數

      • isUnderground: boolean

        是否在地底

      回傳 void

    訪問器屬性

    • get enableShadow(): boolean

      取得是否顯示陰影

      回傳 boolean

    • set enableShadow(value: boolean): void

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

      參數

      • value: boolean

      回傳 void

    • get debugMask(): boolean

      取得是否顯示除錯遮罩。

      回傳 boolean

    • set debugMask(value: boolean): void

      設定是否顯示除錯遮罩。

      參數

      • value: boolean

      回傳 void

    • get name(): string

      取得圖層名稱 。

      回傳 string

    • get show(): boolean

      取得是否顯示圖層。

      回傳 boolean

    • set show(value: boolean): void

      設定是否顯示圖層。

      參數

      • value: boolean

      回傳 void

    • get boundary(): GeoBoundary

      取得圖層邊界。

      回傳 GeoBoundary

    • get debugBoundingVolume(): boolean

      取得是否顯示除錯包圍體。

      回傳 boolean

    • set debugBoundingVolume(value: boolean): void

      設定是否顯示除錯包圍體。

      參數

      • value: boolean

      回傳 void

    • get debugNodeId(): boolean

      取得是否顯示除錯節點Id。

      回傳 boolean

    • set debugNodeId(value: boolean): void

      設定是否顯示除錯節點Id。

      參數

      • value: boolean

      回傳 void