уточнение сетки в VCG - PullRequest
0 голосов
/ 06 мая 2011

Кто-нибудь делал уточнение тримеша в библиотеке 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 ]

1 голос
/ 18 мая 2011

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

1 голос
/ 15 мая 2011

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

...