By Daniel Du
With View and Data API, you can hide some elements in viewer by calling “viewer.hide(dbIds)”, when the elements are hided, it actually make it transparent with a shallow mark to it, or make it ghosted. It is a nice feature as user probably need to know the existence of these elements even they are hided. But you may want to hide elements completely instead of ghosting some times. Here are a code snippet you can use if you want to hide some elements totally.
Autodesk.Viewing.Viewer3D.prototype.turnOff = function(dbIds){ var node ; if (Array.isArray(dbIds)) { for (var i = 0; i < dbIds.length; i++) { var id = dbIds[i]; node = viewer.model.getData(). instanceTree.dbIdToNode[id]; //hide the node completedly viewer.impl.visibilityManager.setNodeOff(node, true); } } else { node = viewer.model.getData(). instanceTree.dbIdToNode[dbIds]; //hide the node completedly viewer.impl.visibilityManager.setNodeOff(node, true); } }; Autodesk.Viewing.Viewer3D.prototype.turnOn = function(dbIds) { var node ; if (Array.isArray(dbIds)) { for (var i = 0; i < dbIds.length; i++) { var id = dbIds[i]; node = viewer.model.getData(). instanceTree.dbIdToNode[id]; //show the node viewer.impl.visibilityManager.setNodeOff(node, false); } } else { node = viewer.model.getData(). instanceTree.dbIdToNode[dbIds]; //show the node viewer.impl.visibilityManager.setNodeOff(node, false); } };
The usage is very simple, just call “viewer.turnOff(arrayOfDbIds)” or “viewer.turnOf(arrayOfDbIds)”. Hope it helps.
本文转自峻祁连. Moving to Cloud/Mobile博客园博客,原文链接:http://www.cnblogs.com/junqilian/p/5149807.html
,如需转载请自行联系原作者