Ignore:
Timestamp:
08/20/06 22:48:01 (18 years ago)
Author:
mattausch
Message:
 
File:
1 edited

Legend:

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

    r1004 r1233  
    1919{ 
    2020  mRoot = new MeshKdLeaf; 
    21   mSplitCandidates = NULL; 
     21  mSubdivisionCandidates = NULL; 
    2222} 
    2323 
     
    177177 
    178178void 
    179 MeshKdTree::SortSplitCandidates( 
     179MeshKdTree::SortSubdivisionCandidates( 
    180180                            MeshKdLeaf *node, 
    181181                            const int axis 
    182182                            ) 
    183183{ 
    184   mSplitCandidates->clear(); 
     184  mSubdivisionCandidates->clear(); 
    185185   
    186186  int requestedSize = 2*(int)node->mFaces.size(); 
    187187  // creates a sorted split candidates array 
    188   if (mSplitCandidates->capacity() > 500000 && 
    189       requestedSize < (int)(mSplitCandidates->capacity()/10) ) { 
    190     delete mSplitCandidates; 
    191     mSplitCandidates = new vector<SortableEntry>; 
    192   } 
    193    
    194   mSplitCandidates->reserve(requestedSize); 
     188  if (mSubdivisionCandidates->capacity() > 500000 && 
     189      requestedSize < (int)(mSubdivisionCandidates->capacity()/10) ) { 
     190    delete mSubdivisionCandidates; 
     191    mSubdivisionCandidates = new vector<SortableEntry>; 
     192  } 
     193   
     194  mSubdivisionCandidates->reserve(requestedSize); 
    195195   
    196196  vector<int>::const_iterator fi; 
     
    202202    AxisAlignedBox3 box = mMesh->GetFaceBox(*fi); 
    203203     
    204     mSplitCandidates->push_back(SortableEntry(SortableEntry::FACE_MIN, 
     204    mSubdivisionCandidates->push_back(SortableEntry(SortableEntry::FACE_MIN, 
    205205                                             box.Min(axis), 
    206206                                             *fi) 
     
    208208     
    209209     
    210     mSplitCandidates->push_back(SortableEntry(SortableEntry::FACE_MAX, 
     210    mSubdivisionCandidates->push_back(SortableEntry(SortableEntry::FACE_MAX, 
    211211                                             box.Max(axis), 
    212212                                             *fi) 
     
    214214  } 
    215215   
    216   stable_sort(mSplitCandidates->begin(), mSplitCandidates->end()); 
     216  stable_sort(mSubdivisionCandidates->begin(), mSubdivisionCandidates->end()); 
    217217} 
    218218 
     
    229229{ 
    230230 
    231   SortSplitCandidates(node, axis); 
     231  SortSubdivisionCandidates(node, axis); 
    232232   
    233233  // go through the lists, count the number of objects left and right 
     
    247247  vector<SortableEntry>::const_iterator ci; 
    248248 
    249   for(ci = mSplitCandidates->begin(); 
    250       ci != mSplitCandidates->end(); 
     249  for(ci = mSubdivisionCandidates->begin(); 
     250      ci != mSubdivisionCandidates->end(); 
    251251      ci++) { 
    252252    switch ((*ci).type) { 
     
    409409MeshKdTree::Construct() 
    410410{ 
    411   if (!mSplitCandidates) 
    412     mSplitCandidates = new vector<SortableEntry>; 
     411  if (!mSubdivisionCandidates) 
     412    mSubdivisionCandidates = new vector<SortableEntry>; 
    413413   
    414414  // first construct a leaf that will get subdivide 
     
    418418   
    419419  // remove the allocated array 
    420   delete mSplitCandidates; 
    421   mSplitCandidates = NULL; 
     420  delete mSubdivisionCandidates; 
     421  mSubdivisionCandidates = NULL; 
    422422   
    423423  return true; 
Note: See TracChangeset for help on using the changeset viewer.