added temporary mark for closest iteartor
This commit is contained in:
parent
e469fef8bd
commit
69b2d6596c
|
@ -384,6 +384,8 @@ public:
|
||||||
Elems.clear();
|
Elems.clear();
|
||||||
end=false;
|
end=false;
|
||||||
|
|
||||||
|
tm.UnMarkAll();
|
||||||
|
|
||||||
_FindSphereRadius();
|
_FindSphereRadius();
|
||||||
Refresh();
|
Refresh();
|
||||||
///until don't find an element
|
///until don't find an element
|
||||||
|
@ -424,16 +426,15 @@ public:
|
||||||
for(l=first;l!=last;++l)
|
for(l=first;l!=last;++l)
|
||||||
{
|
{
|
||||||
ObjType *elem=&(**l);
|
ObjType *elem=&(**l);
|
||||||
|
if (!tm.IsMarked(elem))
|
||||||
|
{
|
||||||
|
|
||||||
///to change with functor
|
|
||||||
CoordType nearest;
|
CoordType nearest;
|
||||||
ScalarType dist;
|
ScalarType dist;
|
||||||
dist_funct((**l),p,dist,nearest);
|
dist_funct((**l),p,dist,nearest);
|
||||||
//ScalarType dist=(elem->P()-p).Norm();
|
|
||||||
//if (dist>radius_min){
|
|
||||||
//CoordType intersect=elem->P();
|
|
||||||
Elems.push_back(Entry_Type(elem,fabs(dist),nearest));
|
Elems.push_back(Entry_Type(elem,fabs(dist),nearest));
|
||||||
//}
|
tm.Mark(elem);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if( ( ( y == explored.min.Y()) || ( y == explored.max.Y())) ||
|
if( ( ( y == explored.min.Y()) || ( y == explored.max.Y())) ||
|
||||||
|
@ -445,7 +446,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
std::sort(Elems.begin(),Elems.end());
|
std::sort(Elems.begin(),Elems.end());
|
||||||
std::unique(Elems.begin(),Elems.end());
|
//std::unique(Elems.begin(),Elems.end());
|
||||||
|
|
||||||
CurrentElem=Elems.end();
|
CurrentElem=Elems.end();
|
||||||
CurrentElem--;
|
CurrentElem--;
|
||||||
|
|
Loading…
Reference in New Issue