Ignore:
Timestamp:
08/09/06 10:49:20 (18 years ago)
Author:
mattausch
Message:

changed osp partition to something taking mult references into account

File:
1 edited

Legend:

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

    r1186 r1189  
    15871587        int FilterRays(KdLeaf *leaf, const RayInfoContainer &rays, RayInfoContainer &filteredRays); 
    15881588 
    1589         int SplitViewCells( 
    1590                 const AxisAlignedPlane &candidatePlane, 
    1591                 const RayInfoContainer &rays, 
    1592                 KdLeaf *leaf, 
    1593                 ViewCellContainer &frontViewCells, 
    1594                 ViewCellContainer &backViewCells, 
    1595                 ViewCellContainer &frontAndBackViewCells) const; 
    1596  
    15971589        /** Adds the object to the pvs of the front and back leaf with a given classification. 
    15981590 
     
    16411633        /** Evaluate the contributions of view cell volume of the left and the right view cell. 
    16421634        */ 
    1643         void EvalVolumeContribution(const VssRay &ray,  
    1644                                                                         float &volLeft,  
    1645                                                                         float &volRight); 
    1646  
     1635        void EvalRayContribution(KdLeaf *leaf, 
     1636                                                                         const VssRay &ray,  
     1637                                                                         float &renderCost); 
     1638void EvalViewCellContribution(KdLeaf *leaf,  
     1639                                                                           ViewCell *viewCell, 
     1640                                                                           float &renderCost); 
    16471641        /** Evaluates the influence on the pvs of the event. 
    16481642                @param ve the visibility event 
     
    16521646        void EvalHeuristicsContribution(KdLeaf *leaf, 
    16531647                const SortableEntry &ci, 
    1654                 float &volLeft, 
    1655                 float &volRight, 
    1656                 int &pvsLeft, 
    1657                 int &pvsRight); 
     1648                float &renderCost, 
     1649                ViewCellContainer &touchedViewCells); 
    16581650 
    16591651        /** Prepares objects for the cost heuristics. 
    16601652                @returns pvs size of the node 
    16611653        */ 
    1662         float PrepareHeuristics(const OspTraversalData &tData, int &numViewCells); 
     1654        float PrepareHeuristics(const OspTraversalData &tData, ViewCellContainer &touchedViewCells); 
    16631655 
    16641656        /** Prepares heuristics for a particular ray. 
    16651657        */ 
    1666         float PrepareHeuristics(const VssRay &ray, int &numViewCells); 
     1658        void PrepareHeuristics(const VssRay &ray, ViewCellContainer &touchedViewCells); 
    16671659 
    16681660        /** Prepares construction for vsp and osp trees. 
     
    17261718 
    17271719        int UpdateViewCellsPvs(KdLeaf *leaf, const RayInfoContainer &rays) const; 
    1728 int OspTree::CheckViewCellsPvs(KdLeaf *leaf,  
     1720int CheckViewCellsPvs(KdLeaf *leaf,  
    17291721                                                           const RayInfoContainer &rays) const; 
    17301722        bool AddViewCellToObjectPvs( 
     
    17411733                RayInfoContainer &backRays) const; 
    17421734 
     1735        void CollectTouchedViewCells( 
     1736                const RayInfoContainer &rays,  
     1737                ViewCellContainer &touchedViewCells) const; 
     1738 
     1739        void AddObjectContribution(KdLeaf *leaf, 
     1740                                                  Intersectable * obj, 
     1741                                                  ViewCellContainer &touchedViewCells, 
     1742                                                  float &renderCost); 
     1743        void SubtractObjectContribution(KdLeaf *leaf, 
     1744                                                  Intersectable * obj, 
     1745                                                  ViewCellContainer &touchedViewCells, 
     1746                                                  float &renderCost); 
    17431747protected: 
    17441748 
Note: See TracChangeset for help on using the changeset viewer.