有没有人在VCG library中做过三角网格细化?我会将其添加为一个标签,但我还没有足够高的声誉。每次我包含任何精化库时,我都会得到以下错误:
../../../addons/ofxVCGLib/vcglib/vcg/complex/trimesh/refine.h:880:0
../../../addons/ofxVCGLib/vcglib/vcg/complex/trimesh/refine.h:880: error: expected
unqualified-id before numeric constant它在这一行上:
typename TRIMESH_TYPE::FacePointer FF0;包含它的定义(请原谅巨大的c/p)如下所示:
template<class TRIMESH_TYPE, class CenterPoint>
void TriSplit(typename TRIMESH_TYPE::FacePointer f,
typename TRIMESH_TYPE::FacePointer f1,typename TRIMESH_TYPE::FacePointer f2,
typename TRIMESH_TYPE::VertexPointer vB, CenterPoint Center)
{我的顶点、面和网格声明如下:
class innerMeshFace:public Face<myTypes, face::FFAdj, face::Mark, face::VertexRef, face::BitFlags, face::Normal3f, face::InfoOcf> {
};
class myVertex:
public Vertex<myTypes, vertex::Coord3f, vertex::BitFlags, vertex::TexCoord2f, vertex::Normal3f, vertex::Mark, vertex::Color4b, vertex::VFAdj, vertex::InfoOcf>
{}
class myMesh:public tri::TriMesh< vector<myVertex>, vector<innerMeshFace> > { }所以我不确定里面有没有我误解的东西。我在代码中的其他地方使用了myMesh::FacePointer,我认为我在模板堆中遗漏了一些东西。这一切都运行得很好(即编译并执行它应该做的事情),直到我尝试包含refine.h。任何有VCG经验的人都会非常感激。
发布于 2011-05-15 19:09:08
在与创建者交谈后,发现这是一个问题,即GCC如何编译该库的特定部分。我不了解细节,但LLVM可以接受,而GCC不行。它在Linux上运行得很好,但当我在XCode中使用它时,我遇到了一些问题。这是他们不会很快更新的东西,所以看起来目前VCG网格细化在GCC 4.2上不起作用。
发布于 2011-05-18 10:39:20
我得到了一个改进工作的例子(终于!)在MingW下,GCC-3.4.5 http://pastebin.com/uYnCepEY
https://stackoverflow.com/questions/5906552
复制相似问题