Update after refactoring of the KdTree class.

This commit is contained in:
Gianpaolo Palma 2014-07-11 12:28:52 +00:00
parent 86cab645cf
commit 28e1d4e21a
1 changed files with 6 additions and 5 deletions

View File

@ -68,14 +68,15 @@ int main( int argc, char **argv )
VertexConstDataWrapper<MyMesh> ww(m); VertexConstDataWrapper<MyMesh> ww(m);
KdTree<float> tree(ww); KdTree<float> tree(ww);
tree.setMaxNofNeighbors(3); KdTree<float>::PriorityQueue queue;
for (int j = 0; j < m.VN(); j++) { for (int j = 0; j < m.VN(); j++) {
tree.doQueryK(m.vert[j].cP()); tree.doQueryK(m.vert[j].cP(), 3, queue);
int neighbours = tree.getNofFoundNeighbors(); int neighbours = queue.getNofElements();
float avgDist=0; float avgDist=0;
for (int i = 0; i < neighbours; i++) { for (int i = 0; i < neighbours; i++) {
int neightId = tree.getNeighborId(i); int neightId = queue.getIndex(i);
avgDist+=Distance(m.vert[j].cP(),m.vert[neightId].cP()); avgDist += Distance(m.vert[j].cP(),m.vert[neightId].cP());
} }
m.vert[j].Q() = avgDist/=neighbours; m.vert[j].Q() = avgDist/=neighbours;
} }