有没有人在VCG 库中进行 trimesh 精炼?我会将其添加为标签,但我还没有足够高的声誉。每次我包含任何精炼库时,都会出现以下错误:
../../../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 经验的人提供的任何建议。