Уточнение сетки в VCG

Кто-нибудь делал уточнение тримеша в библиотеке VCG? Я бы добавил это как тег, но у меня пока недостаточно высокая репутация. Каждый раз, когда я включаю любую из уточненных библиотек, я получаю следующие ошибки:

../../../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;

определение, которое содержит это (извините за гигантский с / р) выглядит так:

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 в другом месте моего кода, я думаю, что есть что-то в куче шаблонов, что мне не хватает. Это все работает нормально (то есть компилируется и делает то, что должно), пока я не попытаюсь включить файл fine.h. Любые указатели от любого с опытом работы с VCG будут очень благодарны.

2 ответа

Решение

После разговора с создателями выясняется, что это проблема в том, как GCC компилирует эту конкретную часть библиотеки. Я не понимаю деталей, но LLVM в порядке, GCC нет. Он отлично работает на Linux, но, поскольку я работал с ним в XCode, у меня были проблемы. Это то, что они не собираются обновлять в ближайшее время, поэтому похоже, что в данный момент VCG-сетка не работает на GCC 4.2.

Я получил пример работы Refine (наконец-то!) Под MingW GCC-3.4.5 http://pastebin.com/uYnCepEY

Другие вопросы по тегам