Ignore:
Timestamp:
02/09/06 12:14:11 (19 years ago)
Author:
mattausch
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/VUT/GtpVisibilityPreprocessor/src/ViewCell.cpp

    r608 r610  
    12861286 
    12871287                // compress root node 
    1288                 PropagateUpVisibility(interior); 
     1288                PullUpVisibility(interior); 
    12891289        } 
    12901290} 
     
    13281328         
    13291329 
    1330 void ViewCellsTree::PropagateUpVisibility(ViewCellInterior *interior) 
     1330void ViewCellsTree::PullUpVisibility(ViewCellInterior *interior) 
    13311331{ 
    13321332        Intersectable::NewMail((int)interior->mChildren.size()); 
     
    15361536} 
    15371537 
     1538 
     1539void ViewCellsTree::PropagateUpPvs(ViewCell *vc) 
     1540{ 
     1541        while (vc->GetParent()) 
     1542        { 
     1543                vc->GetParent()->GetPvs().Merge(vc->GetPvs()); 
     1544                vc = vc->GetParent(); 
     1545        } 
     1546} 
    15381547 
    15391548 
     
    16241633 
    16251634 
     1635bool ViewCellsTree::Export(ofstream &stream) 
     1636{ 
     1637        ExportViewCell(mRoot, stream); 
     1638 
     1639        return true; 
     1640} 
     1641 
     1642 
     1643void ViewCellsTree::ExportViewCell(ViewCell *viewCell, ofstream &stream) 
     1644{ 
     1645        ObjectPvsMap::iterator it, it_end = viewCell->GetPvs().mEntries.end(); 
     1646 
     1647        if (0) // test with empty pvs 
     1648        for (it = viewCell->GetPvs().mEntries.begin(); it != it_end; ++ it) 
     1649        { 
     1650                stream << (*it).first->GetId() << " "; 
     1651        } 
     1652 
     1653        stream << "\" />" << endl; 
     1654 
     1655        if (viewCell->IsLeaf()) 
     1656        { 
     1657                stream << "<Leaf "; 
     1658                stream << "id=\"" << viewCell->GetId() << "\" "; 
     1659                stream << "active=\"" << viewCell->mIsActive << "\" "; 
     1660                stream << "mergecost=\"" << viewCell->GetMergeCost() << "\" "; 
     1661                stream << "pvs=\""; 
     1662                stream << "</Leaf>" << endl; 
     1663        } 
     1664        else 
     1665        { 
     1666                ViewCellInterior *interior = dynamic_cast<ViewCellInterior *>(viewCell); 
     1667         
     1668                stream << "<Interior "; 
     1669                stream << "id=\"" << viewCell->GetId() << "\" "; 
     1670                stream << "active=\"" << viewCell->mIsActive << "\" "; 
     1671                stream << "mergecost=\"" << viewCell->GetMergeCost() << "\" "; 
     1672                stream << "pvs=\""; 
     1673 
     1674                ViewCellContainer::const_iterator it, it_end = interior->mChildren.end(); 
     1675 
     1676                for (it = interior->mChildren.begin(); it != it_end; ++ it) 
     1677                { 
     1678                        ExportViewCell(*it, stream); 
     1679                } 
     1680 
     1681                stream << "</Interior>" << endl; 
     1682        } 
     1683} 
     1684 
     1685 
    16261686 
    16271687/**************************************************************************/ 
     
    17041764 
    17051765 
     1766 
     1767 
     1768 
    17061769/************************************************************************/ 
    17071770/*                    MergeStatistics implementation                    */ 
Note: See TracChangeset for help on using the changeset viewer.