All the functions handling TriMesh::imark have been moved outside the definition
of TriMesh to workaround an internal compiler error of vc compiler, and the usages have been consequently updated
This commit is contained in:
parent
f90bd789a3
commit
30f799220d
|
@ -264,7 +264,7 @@ public:
|
|||
for (int j=0;j<3;j++)
|
||||
{
|
||||
EdgeType p=EdgeType::OrderedEdge((*fi).V(j),(*fi).V((j+1)%3));
|
||||
h_ret.push_back(HeapElem(new MYTYPE(p,m.IMark())));
|
||||
h_ret.push_back(HeapElem(new MYTYPE(p, IMark(m))));
|
||||
//printf("Inserting in heap coll %3i ->%3i %f\n",p.V()-&m.vert[0],p.VFlip()-&m.vert[0],h_ret.back().locModPtr->Priority());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -326,14 +326,14 @@ public:
|
|||
if(!(*vi).IsD() && (*vi).IsRW())
|
||||
{
|
||||
vcg::face::VFIterator<FaceType> x;
|
||||
m.UnMarkAll();
|
||||
UnMarkAll(m);
|
||||
for( x.F() = (*vi).VFp(), x.I() = (*vi).VFi(); x.F()!=0; ++ x)
|
||||
{
|
||||
assert(x.F()->V(x.I())==&(*vi));
|
||||
if(x.V()->IsRW() && x.V1()->IsRW() && !m.IsMarked(x.F()->V1(x.I()))){
|
||||
if(x.V()->IsRW() && x.V1()->IsRW() && !IsMarked(m,x.F()->V1(x.I()))){
|
||||
h_ret.push_back( HeapElem( new MYTYPE( EdgeType (x.V(),x.V1()),TriEdgeCollapse< TriMeshType,MYTYPE>::GlobalMark())));
|
||||
}
|
||||
if(x.V()->IsRW() && x.V2()->IsRW() && !m.IsMarked(x.F()->V2(x.I()))){
|
||||
if(x.V()->IsRW() && x.V2()->IsRW() && !IsMarked(m,x.F()->V2(x.I()))){
|
||||
h_ret.push_back( HeapElem( new MYTYPE( EdgeType (x.V(),x.V2()),TriEdgeCollapse< TriMeshType,MYTYPE>::GlobalMark())));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -292,7 +292,7 @@ public:
|
|||
if( !(*fi).IsB(i) && !((*fi).FFp(i)->IsD()) && (*fi).FFp(i)->IsW() ) {
|
||||
if((*fi).V1(i) - (*fi).V0(i) > 0) {
|
||||
PosType p(&*fi, i);
|
||||
Insert(heap, p, mesh.IMark());
|
||||
Insert(heap, p, IMark(mesh));
|
||||
}
|
||||
//heap.push_back( HeapElem( new MYTYPE(PosType(&*fi, i), mesh.IMark() )) );
|
||||
} //endif
|
||||
|
|
Loading…
Reference in New Issue