我有许多代表多边形的对象。 我有一组指针,每个指针都有自己的多边形。
迭代每对指针我合并多边形,如果它们重叠成一个新的多边形。我现在让两个指针指向合并的多边形,以便能够再次合并它并在两个指针中进行更改。
现在我的问题很快出现了三个对象:
我的问题是现在B *不知道AB再次合并仍然指向AB,这不是我想要的。
我想要的是行为而非指针,所以我可以自由提出任何建议。 唯一的限制是遗憾的是我不允许使用C ++ 11或更新版本。
答案 0 :(得分:0)
当Mergin A和C合并时,合并属于同一多边形A(和C)的所有多边形。
这意味着,当合并A * - > AB时,您还应合并B * - > AB。
答案 1 :(得分:0)
我只是通过“向前合并”来宣传这一点。
A *指向A和B *指向B.好,这不会改变。合并A和B时,使两者都指向AB 。 :
A* -> A -> AB <- B <- B*
现在使用C * / C:
A* -> A -> AB <- B <- B*
|
V
C* -> C -> ABC