// obj的所有父节点中是否允许射线选中obj // bindParentList是当前激活的已绑定的仅父节点区域穿透的列表 // passedParentList是bindParentList中射线已经穿透的父节点 protected bool isParentPassed(IMouseEventCollect obj, List <IMouseEventCollect> bindParentList, List <IMouseEventCollect> passedParentList) { int parentCount = bindParentList.Count; for (int i = 0; i < parentCount; ++i) { // 有父节点,并且父节点未成功穿透时,则认为当前窗口未相交 if (obj.isChildOf(bindParentList[i]) && !passedParentList.Contains(bindParentList[i])) { return(false); } } return(true); }