我和我的同事开发了一个实现“3D 地质模型”类的 c++ 库。该库的目标是提供一种用于计算代码(例如有限元代码等)的数据结构
该模型类包含“实体”(即角、线、曲面、体积)。每个实体都有一个网格,它包含 3D 空间中的顶点和连接信息。
我们还想处理“二维地质模型”,它具有相同的结构(即它包含一组角、线、面)。但是这一次,这些实体拥有一个 Mesh,其中包含 2D 空间中的顶点。
一个目标是让用户能够使用相同的 API 运行他们的计算代码,即使它是在 3D 或 2D“地质模型”上。
这里有人遇到过同样的问题吗?一种解决方案是按空间维度对所有类进行模板化,但这似乎有点繁重。
干杯,