问题标签 [openmesh]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
92 浏览

c++ - 读取 OpenMesh 文件时断言 block_size == b 失败

通过读取 OpenMesh 文件时

我得到错误

我在源代码中查找了它,但并没有真正得到断言在那里检查的内容。该问题可能与网格的不同属性如何存储/加载有关,但错误消息对于查看问题所在并没有真正的帮助。

请注意,断言中的文件路径来自 openmesh 二进制文件,而不是我的项目路径。断言在此源 source中定义。

该文件是使用编写的

在我的测试用例中,我编写了网格并再次重新读取它,但它失败了,因此字节顺序、默认选项或库版本应该没有差异。

相关堆栈跟踪:

所以这看起来真的像自定义属性中的一些错误的大小计算。我复制了添加自定义属性的代码,并在读取网格之前从写入网格中请求现有属性(如面部状态和顶点颜色),以确保具有相同的网格属性并且它仍然崩溃。

比较配置的网格的属性,它们似乎是相同的:

0 投票
2 回答
991 浏览

python - How to save custom vertex properties with openmesh in Python?

I am working with openmesh installed in Python 3.6 via pip. I need to add custom properties to vertices of a mesh in order to store some data at each vertex. My code goes as follows :

print returns [0, 1, 2, 3]. So far, so good. But when I read again the mesh, the custom property has disappeared :

returns [None, None, None, None]

I have two guesses :
1 - The property was not saved in the first place
2 - The reader does not know there is a custom property when it reads the file mesh.om

Does anybody know how to save and read properly a mesh with custom vertex properties with openmesh in Python? Or is it even possible (has anybody done it before?)?
Is it that there is something wrong with my code?

Thanks for your help,

Charles.

0 投票
1 回答
308 浏览

geometry - 在 OpenMesh 中查找邻居/内部查询

我计划使用网格库(可能是 OpenMesh)来模拟凸拓扑表面的表面力学。一个关键点是进行良好的邻居搜索,即知道哪个面/顶点最接近空间中的某个点。或者,可以使用有效的内部/外部查询。

这是在 OpenMesh 中实现的吗?你能想到另一个图书馆这样做吗?它必须是 C/C++,而且速度很快。

0 投票
1 回答
150 浏览

data-structures - 如何使用 CGAL 对在球体上移动的一组点进行建模?

我正在尝试学习使用 CGAL。我对使用哪种数据结构和三角测量方案来解决我的问题有疑问。

问题描述:

我有少量(<1000)粒子在球体上移动。我需要用这个点云制作一个三角形的Delaunay网格。在每个时间步骤,我需要:

  1. 仅在需要时重新网格化点云,以使 Delaunay 准则仍然成立。独立于点坐标存储网格连通性。
  2. 保持拓扑固定,使用迭代求解器进行一些优化以计算新的粒子位置。具有相同连通性的求解器迭代次数可以是 100 次或更多。在每次迭代中,计算需要每个三角形的面积和一些由边连接的顶点的计算(即每个顶点与最近邻的第一环相互作用)。

问题:

  1. 如何在不使三角剖分的迭代器或循环器失效的情况下更改与网格(三角剖分数据结构、曲面网格、多面体等)顶点关联的点的坐标?
  2. 如何检查何时需要重新划分网格?
  3. 哪种数据结构可以在整个网格上一次通过最快的速度访问所有边和面?每条边都在两个三角形之间共享。边缘的计算是最昂贵的。因此,我只想为每个边计算一次。对所有面进行一次迭代并分别对所有边进行迭代可能效率较低。

如果需要更多信息,请告诉我。

0 投票
0 回答
320 浏览

python - 是否可以使用带有 python 或 C++ 的 openmesh 将网格保存在 .vtk 文件中?

我正在使用 Python(使用 pip 安装)和 C++(openmesh 7.0 版)中的 openmesh。我必须在 .vtk 扩展名下保存一个网格。Openmesh文档说这是可能的,但据我尝试,它不起作用。这是我的一段python代码:

它不会写TEST_MESH.vtk在我的文件夹或其他任何地方。当我尝试使用 '.ply' 或 '.om' 或根据 openmesh 文档支持的任何其他扩展时,它工作得很好。所以,我不明白为什么它不起作用,有人知道吗?毕竟 openmesh 作家不支持“.vtk”扩展名吗?

编辑 :

进一步探索 openmesh GitLab 我发现 vtk 编写器于 2014 年在 C++ 分支中提交,但在 python-binding 分支的最近提交中,一些(已删除)信息暗示不支持 vtk 编写器。我有点困惑,他们是否放弃了 vtk 作家,没有更新日志通知?(在这种情况下,应该更新他们的文档

感谢您的帮助,

查尔斯。

0 投票
1 回答
168 浏览

qt - .obj 文件中的 Qt 错误:未解析的外部

所以我改变了以下几行:

至:

然后我遇到这些错误:

0 投票
0 回答
290 浏览

duplicates - 基于OpenMesh在OpenFlipper中进行孔洞填充时如何去除重复的顶点及其顶点句柄

最近在使用OpenFlipper的“填洞”插件,已经完全编译好OpenFlipper。但是,当我尝试将填充补丁添加到原始网格时,新网格有大量重复顶点。我使用以下代码执行添加操作:

所以,我不确定在 OpenMesh 中是否存在可用于解决此问题的现有功能。

有人给我一些建议吗?

非常感谢。

0 投票
1 回答
112 浏览

c++ - mesh.delete_face() 导致 abort()

我尝试运行下面的代码,但在使用 mesh.delete_face(*it, false); 时出现错误;

我在 openmesh 中使用 delete_face() 来删除网格中的一个面。但是,调试总是显示 abort() 和错误面板,就像:

断点由_CrtDbgBreak()触发:

可能错误是由悬空的引用/指针或无效的迭代器引起的。我该如何解决?

0 投票
1 回答
461 浏览

c++ - OpenMesh:获取边界半边的句柄

我对 C++ 库OpenMesh有一个非常简单的问题。令人惊讶的是,我在任何地方都没有找到答案。

对于给定的网格,我想沿着网格边界迭代。从我知道的文档中:

您可以使用 next_halfedge_handle() 沿边界进行迭代。如果您在边界上,则保证下一个半边也是边界半边。

到目前为止,很清楚。但是我如何获得一个初始边界半边,以便我可以next_halfedge_handle()从那时起使用?我真的必须遍历所有半边才能找到边界上的一个吗?

非常感谢你的帮助。

0 投票
0 回答
48 浏览

mesh - OpenMesh 的 JacobiLaplaceSmoother 是否适用于 C2 连续性?

我已经测试了 JacobiLaplaceSmoother 类的 C1 连续性,我认为它工作正常但是对于 C2 连续性,结果很奇怪。

我想知道这门课是否也完成了 C2 连续性。