欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-12 08:42:24
OpenMesh的功能和目标底层数据结构的主要特征:不仅限于三角形网格,也可以处理多边形网格;顶点,半边,边及面的显示表示;有效访问顶点的单环领域;能够处理非流形几何(例如,两个面仅通过一个顶点相连);使用C++的目的/特性:柔顺性:为标量及坐标选择合适的类型(例如,满足二维、三维或n维的float、......

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

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