如何給建築模型空間新增標籤?

2021-09-27 01:56:33 字數 2451 閱讀 1344

第一步 獲取並建立樹結構

通過呼叫獲取模型空間樹的介面,獲取對應模型樹結構並在三維介面左側展示出來,具體介面在頁面下方相關介面中展示。

// 新增左側樹

const

inittree

=(tree)

=>

,(threeballmarker)

=>);

vizbim.

resetscene

(false

,false

,false

,true

,true

,false);

vizbim.

adaptivesize

(hightarray)

; vizbim.

reversetransparentobjs

(hightarray,

0.4,

true);

},onnodeunselected:

(event, data)

=>})

;$('#tree').

treeview

('collapseall',)

;}// 空間樹資料初始化

const

getlocationtreenodes

=(arr)

=>

; node.id = arr[i]

.key;

var name ="";

switch

(arr[i]

.type)

node.text=arr[i]

.name||name;

if(arr[i]

.childrenresultlist&&arr[i]

.childrenresultlist.length >

0&&arr[i]

.childrenresultlist[0]

.childrenresultlist)

else

if(arr[i]

.childrenresultlist&&arr[i]

.childrenresultlist.length ===0)

);continue;}

tree.

push

(node);}

return tree;};

// 獲取模型空間樹結構

const

getspacetreecomponents

=(filekey)

=>

models/

$/trees/location?devcode=$`

).then

(response => response.

json()

)}// 初始化空間樹資料

const

initspacetreedata

=(treedata)

=>

第二步 獲取空間包圍區域

獲取所選區域的包圍盒,在包圍盒幾何中心點上方,新增標籤。

// 傳入所選區域的構件陣列,返回包圍盒

const

getboundingboxbycomponents

=(components)

=>);

return box;

}// 計算 4*4矩陣與4*1 向量的數乘,目的是將構件的包圍盒的區域性座標更新為世界座標,用於新增標籤

const

compute4matrixand1matrix

=(matrix44,matrix41)

=>

return

[x,y,z,d]

;}

第三步 為空間新增標籤

利用已經獲取的空間包圍區域,為選中區域新增三維標籤。

// 為選中區域新增三維標籤

vizbim.

addthreewordmarker(,

(threeballmarker)

=>);

vizbim.

resetscene

(false

,false

,false

,true

,true

,false);

vizbim.

adaptivesize

(hightarray)

; vizbim.

reversetransparentobjs

(hightarray,

0.4,

true);

},onnodeunselected:

(event, data)

=>})

;

如何給filter新增介面

給乙個filter新增介面,步驟如下 1 建立乙個宣告介面的標頭檔案 inte ce.h 內容包括指定介面的guid 使用guidgen.exe 以及介面函式的宣告。記得加 initguid.h 的include,不然使用時會出現 無法解析的外部符號 iid 錯誤 2 在cfilter類的標頭檔案f...

如何給UITextView 新增連線

要想給uitextview 新增連線 我們要使用到 nsmutableattributedstring 給 uitextview的 attributedtext 新增個連線 這是 長按會進入到uitextview的 delegate中去 我們只需要在delegate中實現連線就好了 在這裡 如果長按...

如何給刀新增紋理

1.首先製作一張使用顏色標註不同部分材質的圖 2.將該圖作為資源匯入sp,在texture set setting中選擇select id map,將其作為 id map 3.之後每種材質都做乙個填充層,然後再新增蒙板,選擇最後一種蒙板,然後再pick color中選擇對應的顏色 4.對於凹凸的地方...