动态更新图形上的有限可见性窗口

时间:2018-12-18 22:23:42

标签: c++ graph cartography

我(至少对我而言)面临着这个艰巨的挑战,即要构建一个与数据集配合使用的API,该数据集是一种需要动态更新的图(顶点数量的变化以及它们之间的连接以及它们之间的连接)

数据集包含地理空间数据。顶点之间的连接通过对象ID及其关系进行处理。因此,它是用C ++解释的PostGIS数据库。

一个可接受的限制是,我们仅允许对距当前观察位置“远”的数据进行更新。假设API将图形的可见性限制在特定区域内。这个有限的可见性窗口沿已知轨迹移动。

现在,问题是,API和内部实现应该是什么样子,以便提供对数据(顶点,其属性和连接)的访问,而我们不必保留一旦初始化(和程序运行期间通过API公开)数据。基本上,用户应该能够使用通过当前有限的可见性窗口公开的数据,并且不应访问通过旧窗口可访问的数据,但不能在当前窗口中访问。

可能失败的API的简单示例:公开直接访问图形中的数据。用户可以保存指向数据的原始指针。窗口一旦移动,该指针可能会失效,但用户永远不会知道。一些用户指针将仍然指向现有数据(可通过当前窗口访问),而其他用户指针将指向非托管内存(因为旧数据已被释放)。

共享指针之类的东西不适用,因为图形具有圆形连接。

0 个答案:

没有答案