gpt4 book ai didi

c++ - C++ 中顶点/边的 VTK 自定义 ID

转载 作者:太空宇宙 更新时间:2023-11-04 14:05:34 26 4
gpt4 key购买 nike

请原谅我,因为我在 VTK C++ 方面还是个新手,但我开始掌握它,但我想我只是不确定从这里到哪里去。

我正在制作图表,当您选择顶点和边时,它会显示选择了哪些(我使用 this 教程作为起点)。它做得很好,只是没有使用我给每个顶点的标签,它只使用创建它的顺序(或者说默认值)。我做了一些研究,发现您可以对顶点使用谱系 ID 数组(我不知道边,但我一次迈出一步),这将充当自定义 ID,但我想不通了解如何实现这一点。

所以我想我的主要问题是:
- 我可以为我以后可以引用的每个顶点制作自定义 ID 吗?
- 我也可以用边缘来做这个吗?
- 我该怎么做?

预先感谢您的帮助!

最佳答案

  1. 查看 vtk 文档,vtkGraph类有 2 个方法 GetVertexData ()GetEdgeData ()返回 vtkDataSetAttributes 的一个实例.这个类允许设置一个 vtkAbstractArray (vtkIdType 数组、字符串数组...等等)作为 PedigreeIds。您可以填充从您的图表中获取的这个数组,并将您的谱系 ID 设置在所需顶点的相同位置以“标记”该顶点(或边)。

  2. 其他解决方案是创建一个关联数组,如 std::map<vtkIdType, vtkIdType>以您的 ID 作为键,并将顶点 ID 关联为值。它将允许您从您选择的 ID 中获取图表中的“真实”ID。

  3. 您可以更改一个顶点的 ID,但您必须使用它检查其他边,更改引用并设置您选择的新 ID,查找和修改链接的每个顶点/边可能会很昂贵使用修改后的 ID。

  4. 您可以使用 vtkGraphLayoutView 为表示设置一些标签与顶点关联的类,但它不是 Graph 实例的内部,而是用于渲染。它不应用于“重新标记”ID。

我还没有测试过这些解决方案中的任何一个。希望对您有所帮助。

关于c++ - C++ 中顶点/边的 VTK 自定义 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17154237/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com