Ignore:
Timestamp:
05/21/08 01:18:40 (16 years ago)
Author:
mattausch
Message:

fixed several errors

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/Preprocessing/src/KdTree.cpp

    r2690 r2691  
    10771077      KdInterior *interior = (KdInterior *)node; 
    10781078           
    1079       if ( box.Max()[interior->mAxis] > interior->mPosition ) 
     1079      if ( box.Max()[interior->mAxis] >= interior->mPosition ) 
    10801080        nodeStack.push(interior->mFront); 
    10811081       
    1082       if (box.Min()[interior->mAxis] < interior->mPosition) 
     1082      if (box.Min()[interior->mAxis] <= interior->mPosition) 
    10831083        nodeStack.push(interior->mBack); 
    10841084    } 
     
    11551155 
    11561156 
    1157 void KdTree::CollectObjectsWithDublicates(KdNode *n, ObjectContainer &objects) 
     1157void KdTree::CollectObjectsWithDublicates(KdNode *n, ObjectContainer &objects) const 
    11581158{ 
    11591159        stack<KdNode *> nodeStack; 
     
    17781778} 
    17791779 
     1780 
     1781KdNode * 
     1782KdTree::GetPvsNodeCheck(const Vector3 &point, Intersectable *obj) const 
     1783{ 
     1784  KdNode *node = mRoot; 
     1785   
     1786  while (node->mPvsTermination == 0 ) { 
     1787    KdInterior *inter = (KdInterior *)node; 
     1788    if (point[inter->mAxis] < inter->mPosition) 
     1789      node = inter->mBack; 
     1790    else 
     1791      node = inter->mFront; 
     1792  } 
     1793   
     1794  ObjectContainer objects; 
     1795  CollectObjectsWithDublicates(node, objects); 
     1796 
     1797  ObjectContainer::const_iterator oit, oit_end = objects.end(); 
     1798 
     1799  bool found = false; 
     1800  for (oit = objects.begin(); oit != oit_end; ++ oit) 
     1801  { 
     1802          if ((*oit)->GetId() == obj->GetId()) 
     1803                  found = true; 
     1804  } 
     1805 
     1806  if (!found) return NULL; 
     1807 
     1808  return node; 
     1809} 
     1810 
    17801811KdNode * 
    17811812KdTree::GetNode(const Vector3 &point, 
Note: See TracChangeset for help on using the changeset viewer.