A
alessio211734
Hello,
I have the following problem. I have this method:
void holeFilling::updateNearFaces( tri::Allocator<CMeshO>:ointerUpdater<CMeshO::FacePointer> pu, std::set<CMeshO::FacePointer> & faces )
{
std::set<CMeshO::FacePointer>::iterator it;
for (it=faces.begin();it!=faces.end();++it)
{
//CMeshO::FacePointer fp=(*it);
if (pu.NeedUpdate()) pu.Update((*it));
}
}
where the function Update is defined as:
template<class SimplexPointerType>
class PointerUpdater
{
void Update(SimplexPointerType &vp)
{
//if(vp>=newBase && vp<newEnd) return;
if(vp<oldBase || vp>oldEnd) return;
assert(vp>=oldBase);
assert(vp<oldEnd);
vp=newBase+(vp-oldBase);
if(!remap.empty())
vp = newBase + remap[vp-newBase];
}
with the microsoft compiler with no problem while with mingw I get an error.
....holeFilling.cpp:1471: error: no matching function for call to 'vcg::tri::Allocator<CMeshO>:ointerUpdater<CFaceO*>::Update(CFaceO* const&)'
if (pu.NeedUpdate()) pu.Update((*it));
^
if I replace the code so:
CMeshO::FacePointer fp=(*it);
if (pu.NeedUpdate()) pu.Update(fp);
compile on mingw but its different because I need to change the pointer (*it).
Thanks in advance.
Ale.
I have the following problem. I have this method:
void holeFilling::updateNearFaces( tri::Allocator<CMeshO>:ointerUpdater<CMeshO::FacePointer> pu, std::set<CMeshO::FacePointer> & faces )
{
std::set<CMeshO::FacePointer>::iterator it;
for (it=faces.begin();it!=faces.end();++it)
{
//CMeshO::FacePointer fp=(*it);
if (pu.NeedUpdate()) pu.Update((*it));
}
}
where the function Update is defined as:
template<class SimplexPointerType>
class PointerUpdater
{
void Update(SimplexPointerType &vp)
{
//if(vp>=newBase && vp<newEnd) return;
if(vp<oldBase || vp>oldEnd) return;
assert(vp>=oldBase);
assert(vp<oldEnd);
vp=newBase+(vp-oldBase);
if(!remap.empty())
vp = newBase + remap[vp-newBase];
}
with the microsoft compiler with no problem while with mingw I get an error.
....holeFilling.cpp:1471: error: no matching function for call to 'vcg::tri::Allocator<CMeshO>:ointerUpdater<CFaceO*>::Update(CFaceO* const&)'
if (pu.NeedUpdate()) pu.Update((*it));
^
if I replace the code so:
CMeshO::FacePointer fp=(*it);
if (pu.NeedUpdate()) pu.Update(fp);
compile on mingw but its different because I need to change the pointer (*it).
Thanks in advance.
Ale.