javascript - 請(qǐng)問(wèn)有辦法透過(guò) API 產(chǎn)生剖切面嗎?
問(wèn)題描述
請(qǐng)問(wèn)要如何透過(guò) Viewer 的 API 來(lái)產(chǎn)生剖切面嗎?
像這截圖這樣:
問(wèn)題解答
回答1:可以的,你可以透過(guò) viewer.setCutPlanes() 這個(gè)函數(shù)來(lái)設(shè)置剖切面,它接受的是 THREE.Vector4 的數(shù)組 (array),也就是剖切面的數(shù)組。 每個(gè) THREE.Vector4 都代表一個(gè)高等數(shù)學(xué)的面方程 ax + by + cz + d = 0 ,這個(gè)面方程的法向?yàn)?(a,b,c) 且與距離坐標(biāo)原點(diǎn) d 單位。此外, Forge Viewer 還以 THREE.Vector4 的 (x, y, z) 來(lái)表示面的法向 (a, b, c),w 代表與原點(diǎn)的距離 d。調(diào)用示例如下:
var cutplanes = [ new THREE.Vector4( 0, 0, -1, -17 ), new THREE.Vector4( 0, 0, 1, 0 ),];veiwer.setCutPlanes( cutplanes );
結(jié)果截圖:
如果要取消剖切的話,只要再調(diào)用一次 viewer.setCutPlanes() 且不傳入任何參數(shù)即可,取消后房子就回復(fù)原狀了:
康工您好,我是小趙,在上海就同問(wèn)過(guò)您的名氣,現(xiàn)在想請(qǐng)教您,模型剖切后是否可以默認(rèn)選中顯示的部分(觸發(fā)that.viewer.getSelection()事件)。我對(duì)于forge只是入門,這個(gè)問(wèn)題也困擾我一段時(shí)間了。
相關(guān)文章:
1. 跨類調(diào)用后,找不到方法2. 編輯成功不顯示彈窗3. sql語(yǔ)句 - 如何在mysql中批量添加用戶?4. 在應(yīng)用配置文件 app.php 中找不到’route_check_cache’配置項(xiàng)5. mysql - 表名稱前綴到底有啥用?6. 為什么php修改數(shù)據(jù)無(wú)法同步到數(shù)據(jù)庫(kù),只是當(dāng)前頁(yè)面修改成功?7. 哭遼 求大佬解答 控制器的join方法怎么轉(zhuǎn)模型方法8. 怎么php怎么通過(guò)數(shù)組顯示sql查詢結(jié)果呢,查詢結(jié)果有多條,如圖。9. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語(yǔ)法實(shí)現(xiàn)存在即更新應(yīng)該使用哪個(gè)標(biāo)簽?10. wamp中的mySQL可以單獨(dú)使用嗎
