checkMenuDbid(递归获取根节点)

2022-2-18
// 获取当前加载模型的所有 dbId?
// https://segmentfault.com/q/1010000012668436
// function getAllDbIds(viewer) {
//  let instanceTree = viewer.model.getData().instanceTree;

//  let allDbIds = Object.keys(instanceTree.nodeAccess.dbIdToIndex);

//  return allDbIds;
// }

/**
 * 递归获取根节点
 * @param {Number} dbid
 * @param {Object} it
 * @return {Array}
 */
function checkMenuDbid(dbid, it) {
  let dbidResult = [];
  if (it.getChildCount(dbid) > 0) {
    it.enumNodeChildren(
      dbid,
      function (childId) {
        let num = it.nodeAccess.getNumChildren(childId);
        if (num <= 0) {
          dbidResult.push(childId);
        }
      },
      true
    );
  } else {
    dbidResult.push(dbid);
  }

  return dbidResult;
}

export default checkMenuDbid;