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/ViewCellsManager.h

    r609 r610  
    66#include "Containers.h" 
    77#include "ViewCell.h" 
     8#include "ViewCellBsp.h" 
    89 
    910class ViewCell; 
     
    349350                                                                                vector<MergeCandidate> &candidates) = 0; 
    350351 
    351          
    352    
    353   void CollectViewCells(const int n) { 
    354         mNumActiveViewCells = n; 
    355         mViewCells.clear(); 
    356         CollectViewCells(); 
    357   } 
    358  
    359  
    360   virtual bool EqualToSpatialNode(ViewCell *viewCell) const { return false;} 
     352        void CollectViewCells(const int n); 
     353 
     354 
     355        virtual void CreateMergeHierarchy() {}; 
     356         
     357        virtual bool EqualToSpatialNode(ViewCell *viewCell) const { return false;} 
     358 
     359 
    361360protected: 
    362361 
     
    411410        void CreateViewCellMeshes(); 
    412411 
    413         /** 
    414                 Exports single view cell. 
    415                 NOTE: should be in exporter!! 
    416         */ 
    417         void ExportViewCell(ViewCell *viewCell, ofstream &stream); 
    418  
    419  
    420         /**  
    421                 Takes different measures to prepares the view cells after loading them from disc. 
     412 
     413        /** Takes different measures to prepares the view cells after loading them from disc. 
    422414        */ 
    423415        virtual void PrepareLoadedViewCells() {}; 
     
    537529        bool ExportViewCells(const string filename); 
    538530 
     531        void CreateMergeHierarchy(); 
     532 
     533 
    539534protected: 
     535 
     536        struct TraversalData 
     537        {   
     538                ViewCellInterior *mParentViewCell; 
     539                BspNode *mNode; 
     540                 
     541 
     542                TraversalData() {} 
     543                TraversalData(BspNode *node, ViewCellInterior *vc): 
     544                         mNode(node), mParentViewCell(vc) 
     545                {} 
     546    
     547                bool operator<(const TraversalData &b) const  
     548                { 
     549                        return mNode->mTimeStamp < b.mNode->mTimeStamp; 
     550                } 
     551        }; 
     552 
     553        typedef priority_queue<TraversalData> TraversalQueue; 
    540554 
    541555        /** HACK 
     
    754768protected: 
    755769 
     770        struct TraversalData 
     771        {   
     772                ViewCellInterior *mParentViewCell; 
     773                BspNode *mNode; 
     774                 
     775 
     776                TraversalData() {} 
     777                TraversalData(BspNode *node, ViewCellInterior *vc): 
     778                         mNode(node), mParentViewCell(vc) 
     779                {} 
     780    
     781                bool operator<(const TraversalData &b) const  
     782                { 
     783                        return mNode->mTimeStamp < b.mNode->mTimeStamp; 
     784                } 
     785        }; 
     786 
     787        typedef priority_queue<TraversalData> TraversalQueue; 
     788 
     789        /** Returns node of the spatial hierarchy corresponding to the view cell 
     790                if such a node exists. 
     791        */ 
    756792        BspNode *GetSpatialNode(ViewCell *viewCell) const; 
     793 
    757794        /** HACK 
    758795        */ 
     
    778815        void PrepareLoadedViewCells(); 
    779816 
    780          
     817        void CreateMergeHierarchy(); 
    781818        /// the view space partition BSP tree. 
    782819        VspBspTree *mVspBspTree; 
Note: See TracChangeset for help on using the changeset viewer.