Ignore:
Timestamp:
10/06/06 21:37:00 (18 years ago)
Author:
mattausch
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/Preprocessing/src/HierarchyManager.h

    r1576 r1580  
    245245        void RunConstruction(const bool repairQueue); 
    246246                 
    247         bool ApplySubdivisionCandidate(SubdivisionCandidate *sc); 
     247        /** Evaluates the subdivision candidate and executes the split. 
     248        */ 
     249        bool ApplySubdivisionCandidate(SubdivisionCandidate *sc, const bool repairQueue); 
    248250 
    249251        bool FinishedConstruction() const; 
     
    251253        SubdivisionCandidate *NextSubdivisionCandidate(); 
    252254 
     255        /** Repairs the dirty entries of the candidate queue. 
     256        */ 
    253257        void RepairQueue(); 
    254258 
     259        /** Collect the list of dirty candidates after the current subdivision candidate 
     260                split. 
     261        */ 
    255262        void CollectDirtyCandidates(vector<SubdivisionCandidate *> &dirtyList); 
    256263 
    257         void EvalSubdivisionStats(const SubdivisionCandidate &tData); 
     264        /** Evaluate subdivision stats for log. 
     265        */ 
     266        void EvalSubdivisionStats(const float renderCostDecr); 
    258267 
    259268        void AddSubdivisionStats( 
     
    328337 
    329338        enum {SEQUENTIAL, INTERLEAVED}; 
    330          
     339        /// type of hierarchy construction 
     340        int mConstructionType; 
     341 
     342        /// Type of object space partition 
    331343        int mObjectSpaceSubdivisionType; 
     344        /// Type of view space partition 
    332345    int mViewSpaceSubdivisionType; 
    333346 
    334         /// the original osp type 
     347        //////////// 
     348        //-- helper variables 
     349         
     350        // the original osp type 
    335351        int mSavedObjectSpaceSubdivisionType; 
     352        // the original vsp type 
    336353        int mSavedViewSpaceSubdivisionType; 
    337  
    338         int mConstructionType; 
    339  
     354        /// the current subdivision candidate 
     355        SubdivisionCandidate *mCurrentCandidate; 
     356 
     357        /////////////////// 
     358 
     359 
     360        /////////////////// 
     361        // Hierarchies 
     362 
     363        /// view space hierarchy 
    340364        VspTree *mVspTree; 
     365        /// object space partition kd tree 
    341366        OspTree *mOspTree; 
     367        /// bounding volume hierarchy 
    342368        BvHierarchy *mBvHierarchy; 
    343369 
    344         AxisAlignedBox3 mBoundingBox; 
    345  
     370        ////////////////////// 
     371         
     372 
     373        /// the traversal queue 
    346374        SplitQueue mTQueue; 
    347  
    348         SubdivisionCandidate *mCurrentCandidate; 
    349  
    350         //////// 
     375         
     376 
     377        ////////// 
    351378        //-- global termination criteria 
    352379 
     380        /// the mininal acceptable cost ratio for a split 
    353381        float mTermMinGlobalCostRatio; 
     382        /// the threshold for global cost miss tolerance 
    354383        int mTermGlobalCostMissTolerance; 
    355          
     384        /// maximum number of leaves 
     385        int mTermMaxLeaves; 
     386 
    356387        //////////////////// 
    357388 
    358389        /// keeps track of cost during subdivision 
    359390        float mTotalCost; 
    360  
    361         int mTotalPvsEntries; 
     391        /// statistics about the hierarchy 
    362392        HierarchyStatistics mHierarchyStats; 
    363393 
    364394        int mMinDepthForObjectSpaceSubdivion; 
    365395        int mMinDepthForViewSpaceSubdivion; 
    366  
    367         int mTermMaxLeaves; 
     396         
    368397        ofstream mSubdivisionStats; 
    369398 
     399        /// if the queue should be repaired after a subdivision steps 
    370400        bool mRepairQueue; 
    371401 
    372402        bool mStartWithObjectSpace; 
    373  
     403        /** if multi level construction method should be used 
     404                where we iterate over both hierarchies until we 
     405                converge to the optimum. 
     406        */ 
    374407        bool mUseMultiLevelConstruction; 
     408        /// number of iteration steps for multilevel approach    
     409        int mNumMultiLevels; 
    375410}; 
    376411 
Note: See TracChangeset for help on using the changeset viewer.