几何网络的协调规则
在编辑部分中概述的标准几何网络编辑规则适用于协调和解决冲突,并且得到协调和解决冲突的支持。主要规则包括:
-
边必须始终至少具有两个交汇点,每个端点有一个交汇点。
-
简单边不支持中跨连通性;但复杂边支持中跨连通性。
-
孤立交汇点无法相互归入。
协调过程不会创建新要素,包括孤立交汇点要素。
如果在父/目标版本和子/编辑版本中同时修改相同要素,则将导致冲突。更新目标可以是连通性和/或几何/属性。以下情景详述了几何网络、协调和冲突的常见情况。根据对象定义的冲突,优先使用目标版本执行每个协调示例。在以下每个示例中,版本 1 为父/目标版本,而版本 2 为子/编辑版本。
情景 1 是在父版本和子版本中针对相同要素进行几何编辑的示例。如果在每个版本中均编辑复杂边要素 (CEF1),则会导致在协调后将此复杂边要素视为冲突。
如果尚未直接编辑复杂边,则无论是在版本 1 的中跨处创建交汇点还是在版本 2 的中跨处创建边和交汇点,均会导致为此边插入新折点。由于在两个版本中同时更新了边几何,所以在协调后会处于冲突状态。
情景 2 是在父版本和子版本中对相同要素(此示例中为交汇点要素)执行连通性更新的示例。在版本 1 中,已从已连接的交汇点删除边,在版本 2 中,已创建连接到同一交汇点的新边。即使两个版本中的交汇点连通性已经改变,但在协调后并不存在冲突。
如果更新的只是两个版本中要素的连通性,则在协调后该要素不会处于冲突状态。只有在每个版本中更改要素连通性时,协调过程才可检测到这样的要素并像过滤冲突一样过滤要素。

情景 3 是在父版本中的要素删除和在子版本中连通性更新的示例。在版本 1 中,已删除有 3 条连接边的交汇点,而在版本 2 中,已创建新边并已将其连接到在版本 1 中删除的交汇点。协调后,此交汇点与新创建的边将处于冲突状态。
这是一个涉及了新要素的冲突传递示例。如果在父版本中删除了子版本中创建的边的端点交汇点,则新创建的边将传递变为冲突。如果新插入的边未传递到冲突中,则在解决冲突过程中将会遇到无法恢复新插入的边的情况。情景 3 说明了此行为,由于优先使用目标版本执行,所以这两个处于冲突状态的要素在协调后不会存在。如果新插入的边尚未传递到冲突中;则在协调后将无法恢复此边;此边将会丢失。

情景 3a 与情景 3 的情况相反。在版本 1 中,已创建新边并已将其连接到交汇点。同一交汇点已在版本 2 中删除。协调后,只有在版本 2 中删除的交汇点会处于冲突状态。在父版本中创建的边不会处于冲突状态。

情景 4 是在父版本中的属性更新和在子版本中连通性更新的示例。已在版本 1 中更新边 CEF1 的属性,删除已连接交汇点时,将同时更新版本 2 中边的连通性。请注意,在版本 2 中边的更新可能会更新其连通性或几何。协调后,在版本 1 中所更新属性的边和在版本 2 中删除的交汇点都会处于冲突状态。
这是一个涉及了现有要素的冲突传递示例。在版本 1 中针对 CEF1 更新的属性将传递到其已连接的交汇点。在版本 2 中修改了其中某个交汇点后,会导致交汇点传递到冲突中。

不考虑或维护已断开状态要素的情况。协调过程前断开的要素可在协调之后再次连接。如果在协调选项 对话框中,您在冲突得到优先解决的版本中对要素本身或与之重合的要素进行过编辑,便会发生这种情况。