当前位置: 移动技术网 > IT编程>开发语言>C/C++ > <2x1>OpenMesh译稿:使用并理解OpenMesh-OpenMesh的功能和目标

<2x1>OpenMesh译稿:使用并理解OpenMesh-OpenMesh的功能和目标

2020年07月15日  | 移动技术网IT编程  | 我要评论
OpenMesh的功能和目标底层数据结构的主要特征:不仅限于三角形网格,也可以处理多边形网格;顶点,半边,边及面的显示表示;有效访问顶点的单环领域;能够处理非流形几何(例如,两个面仅通过一个顶点相连);使用C++的目的/特性:柔顺性:为标量及坐标选择合适的类型(例如,满足二维、三维或n维的float、...

                                 

OpenMesh的功能和目标

底层数据结构的主要特征:

  1. 不仅限于三角形网格,也可以处理多边形网格;
  2. 顶点,半边,边及面的显示表示;
  3. 有效访问顶点的单环领域;
  4. 能够处理非流形几何(例如,两个面仅通过一个顶点相连);

使用C++的目的/特性:

  1. 柔顺性:
  1. 为标量及坐标选择合适的类型(例如,满足二维、三维或n维的float、double类型运算);
  2. 根据您自己的需求属性/性质强化项目类型。例如,加入一个向量或者FaceHandle类到Vertex类型中;
  1. 效率高:
  1. 避免虚拟继承和虚函数调用开销;
  2. 在编译时解析尽可能多的类型/属性依赖性,而不是在运行时测试属性(例如,面的法向量)。
  1. 句柄类型安全

不存在类型转换,顶点、半边、面能够识别其对应的句柄

         自从版本0.10.0开始,支持Microsoft Visual C ++编译器。 由于编译器无法正确处理模板功能,因此类型安全在一定程度上进行了扩展。 虽然在此条件下使用了void类型指针,但后续中对此进行了类型转换,并且用户可以像以前一样使用句柄。只要编译器遵循C ++标准,便能够保证类型安全。

译者说明:因科研需要,避免重复造轮子,近来借用OpenMesh,因其结构封装严谨,灵活可靠,且十分方便,故抽出时间对官网的说明做

本文地址:https://blog.csdn.net/feengg/article/details/85983100

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网