我有他们之间的组件和关系图。用户使用根组件开始导航。他单击组件上的展开按钮以显示与当前组件相关的新组件。图导航问题
问题在于用户决定折叠节点时。我必须选择一个子树来隐藏,同时使图形保持一致的状态,以便没有展开的节点与图中另一个节点的关系不存在。
现在如果组件之间出现循环/循环,我很难选择子树。为了简单起见,我选择他们扩展的顺序。因此,如果A展开到B和C展开,A将隐藏它创建的节点和边缘。现在考虑下面的情况。
[ - ]表示展开状态,[+]表示尚未展开。 A被展开以显示B和C.然后B被展开以显示D. C被展开,其在C和退出节点D之间创建链接并且还创建节点E.现在用户决定折叠B.由于通过展开顺序D是B的孩子它会崩溃和隐藏D.这种离开图的状态不一致,因为C对D具有边缘,但D不再存在,如果我删除CD边缘,它仍然不一致。如果我折叠C.而E又是一个循环链接,例如A会产生同样的问题。
/-----B[-]-----\
A[-] D[+]
\-----C[-]-----/
\
E[+]
所以,大家任何想法我怎么能解决这个问题。用户需要浏览图形,应该能够崩溃,但我坚持循环节点的问题,在这种情况下任何节点在循环中如果崩溃都会使图形处于不一致的状态。
@Matthieu M.对不起,我有糟糕的一天,我的反应是不够的,虽然我真的有一个理解问题的问题。 – 2010-04-29 22:10:31
@affan请接受我的道歉,我不想粗鲁。 – 2010-04-29 22:11:23
gabriel没问题 – affan 2010-05-03 11:53:08