整体框图

大多数继承关系都是通过模板参数化实现的! 这张照片显示了整体概念。

概念类层次结构

构建内核

  • BaseKernel定义了添加/删除/访问等属性的基本操作。
  • AttribKernelT添加所有相关方法的标准属性。
  • ArrayKernelT提供了添加/删除/访问网格项顶点,(半)边和面的方法。 基类作为模板参数传递,因为根据底层存储类型,AttribKernel可能会更改。

构建网格

  • PolyMeshT继承自内核,并提供了处理多边形网格所需的所有方法。
  • 从PolyMeshT派生出TriMeshT,使其具有三角网格的特化。
  • 概念类层次结构
  • 要生成实际网格类型,请使用辅助模板类TriMesh_ArrayKernel_GeneratorT。 它接受模板参数中的特征并将其传递给FinalMeshItemsT以获取网格项的最终类型(MeshItems)。 MeshItems定义Point,Normal,Color,TexCoord,Vertex和所有网格项的类型。 在MeshItems的帮助下,创建AttribKernel的类型,它定义了项目的适当标准属性。 最后使用AttribKernel和MeshItems创建网格内核类型MeshKernel。 这是获得内核的一种方式。 只要创建的内核遵循内核概念(Mesh Kernels),我们就可以轻松地创建网格。 这里我们现在使用TriMeshT来创建最终的网格类型Mesh。

相关文章: