Ignore:
Timestamp:
07/06/07 03:18:02 (17 years ago)
Author:
mattausch
Message:
 
Location:
GTP/trunk/Lib/Vis/Preprocessing/src
Files:
15 edited

Legend:

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

    r2206 r2530  
    267267 
    268268template <typename T, typename S> 
    269 bool BitVectorPvs<T, S>::AddSampleDirtyCheck(T sample,  
    270                                                                                 const float pdf) 
     269bool BitVectorPvs<T, S>::AddSampleDirtyCheck(T sample, const float pdf) 
    271270{ 
    272271        if (Find(sample)) 
  • GTP/trunk/Lib/Vis/Preprocessing/src/BvHierarchy.cpp

    r2350 r2530  
    761761                 
    762762                if (mHierarchyManager->mConsiderMemory) 
    763                 { 
    764763                        priority /= ((float)splitCandidate.GetPvsEntriesIncr() + mMemoryConst); 
    765                 } 
    766764        } 
    767765 
  • GTP/trunk/Lib/Vis/Preprocessing/src/Environment.cpp

    r2524 r2530  
    11321132                                 "kd_split_method=", 
    11331133                                 "spatialMedian"); 
    1134  
    11351134   
    11361135  RegisterOption("KdTree.pvsArea", 
  • GTP/trunk/Lib/Vis/Preprocessing/src/GlRenderer.cpp

    r2116 r2530  
    6363                                           KdTree *tree): 
    6464  Renderer(sceneGraph, viewCellsManager), 
    65   mKdTree(tree) 
     65  mKdTree(tree), 
     66  mUseFalseColors(false) 
    6667{ 
    6768  mSceneGraph->CollectObjects(&mObjects); 
     
    231232 
    232233 
    233 void 
    234 GlRenderer::RenderMeshInstance(MeshInstance *mi) 
    235 { 
    236   RenderMesh(mi->GetMesh()); 
     234void GlRenderer::RenderMeshInstance(MeshInstance *mi) 
     235{ 
     236        RenderMesh(mi->GetMesh()); 
    237237} 
    238238 
  • GTP/trunk/Lib/Vis/Preprocessing/src/HashPvs.h

    r2206 r2530  
    9393public: 
    9494 
    95         HashPvs()//: mEntries(1009) 
     95        HashPvs() 
    9696        { 
    9797                 mEntries.set_deleted_key(-1); 
    9898                 mEntries.set_empty_key(-2); 
    9999        }; 
    100         //virtual ~HashPvs() {}; 
    101100 
    102101        int GetSize() const; 
     
    107106        */ 
    108107        float AddSample(T sample, const float pdf); 
    109  
    110108        /** Adds sample to PVS without checking for presence of the sample 
    111109                warning: pvs remains unsorted! 
    112110        */ 
    113111        void AddSampleDirty(T sample, const float pdf); 
    114  
    115112        /** Adds sample dirty (on the end of the vector) but 
    116113                first checks if sample is already in clean part of the pvs. 
    117114        */ 
    118115        bool AddSampleDirtyCheck(T sample, const float pdf); 
    119  
    120116        /** Sort pvs entries - this should always be called after a 
    121117                sequence of AddSampleDirty calls  
    122118        */ 
    123119        void Sort(); 
    124  
    125120        /** Clears the pvs. 
    126121        */ 
     
    130125 
    131126        inline bool RequiresResort() const; 
    132  
    133127        /** Finds sample in PVS. 
    134128                @param checkDirty if dirty part of the pvs should be checked for entry  
     
    140134 
    141135        typename HashPvsIterator<T, S> GetIterator() const; 
    142  
    143136        /** Compute continuous PVS difference  
    144137        */ 
     
    156149                                                           float &contribution); 
    157150 
    158         int GetSamples() const 
    159         { 
    160                 return mSamples; 
     151        inline int GetSamples() const   { return mSamples; } 
    161152        } 
    162153 
     
    166157        } 
    167158 
    168         bool RequiresResortLog() const 
    169         { 
    170                 return false; 
    171         } 
    172  
    173         void Reserve(const int n)  
    174         {  
    175                 // not necessary 
    176         } 
     159        inline bool RequiresResortLog() const { return false; } 
     160 
     161        void Reserve(const int n) { // not necessary } 
    177162 
    178163        /** Sort pvs entries assume that the pvs contains unique entries 
    179164        */ 
    180         void SimpleSort() 
    181         { 
    182                 // not necessary 
    183         } 
     165        void SimpleSort() {     // not necessary } 
    184166 
    185167        int SubtractPvs(const HashPvs<T, S> &pvs) 
     
    188170                return 0; 
    189171        } 
    190  
    191172        /** Compute continuous PVS difference  
    192173        */ 
     
    197178                cerr << "not yet implemented" << endl; 
    198179        } 
     180 
     181 
    199182protected: 
    200183 
  • GTP/trunk/Lib/Vis/Preprocessing/src/HierarchyManager.h

    r2353 r2530  
    197197        */ 
    198198        HierarchyManager(const int objectSpaceHierarchyType); 
    199          
    200199        /** Hack: OspTree will copy the content from this kd tree. 
    201200                Only view space hierarchy will be constructed. 
    202201        */ 
    203202        HierarchyManager(KdTree *kdTree); 
    204  
    205203        /** Deletes space partition and view space partition. 
    206204        */ 
    207205        ~HierarchyManager(); 
    208  
    209206        /** Constructs the view space and object space subdivision from a given set of rays 
    210207                and a set of objects. 
     
    233230        */ 
    234231        int GetObjectSpaceSubdivisionType() const;       
    235          
    236232        /** The type of view space space subdivison 
    237233        */ 
    238234        int GetViewSpaceSubdivisionType() const; 
    239          
    240235        /** Sets a pointer to the view cells manager. 
    241236        */               
    242237        void SetViewCellsManager(ViewCellsManager *vcm); 
    243          
    244238        /** Sets a pointer to the view cells tree. 
    245239        */ 
    246240        void SetViewCellsTree(ViewCellsTree *vcTree); 
    247  
    248241        /** Exports the object hierarchy to disc. 
    249242        */ 
    250243        void ExportObjectSpaceHierarchy(OUT_STREAM &stream); 
    251          
    252244        /** Print out statistics. 
    253245        */ 
    254246        void PrintHierarchyStatistics(std::ostream &stream) const; 
    255  
    256247        /** Returns the view space partition tree. 
    257248        */ 
    258249        VspTree *GetVspTree(); 
    259  
    260250        /** Returns object space bounding box. 
    261251        */ 
    262252        AxisAlignedBox3 GetObjectSpaceBox() const; 
    263  
    264253        /** Exports object space hierarchy for visualization. 
    265254        */ 
     
    275264   
    276265        Intersectable *GetIntersectable(Intersectable *obj, const Vector3 &point) const; 
    277  
    278266        /** Export object space partition bounding boxes. 
    279267        */ 
     
    306294                                                   const float totalPvs, 
    307295                                                   const float raysPerObjects) const; 
    308  
    309  
    310296        /** Casts line segment into the view cells tree. 
    311297                @param origin the origin of the line segment 
     
    346332 
    347333 
    348         ////////////////////////////// 
    349         // the main loop 
     334        ////////////// 
     335        // these functions implement the main loop 
    350336 
    351337        /** This is for interleaved construction / sequential construction. 
     
    355341                                                 const ObjectContainer &objects, 
    356342                                                 AxisAlignedBox3 *forcedViewSpace); 
    357          
    358343        /** This is for interleaved construction using some objects  
    359344                and some view space splits. 
     
    365350                                                const int minSteps, 
    366351                                                const int maxSteps); 
    367  
    368352        /** Default subdivision method. 
    369353        */ 
     
    371355         
    372356         
    373         //////////////////////////////////////////////// 
     357        ////////////////////////// 
    374358 
    375359        /** Evaluates the subdivision candidate and executes the split. 
     
    380364                                                                   std::vector<SubdivisionCandidate *> &dirtyList 
    381365                                                                   ); 
    382  
    383366        /** Tests if hierarchy construction is finished. 
    384367        */ 
    385368        bool FinishedConstruction() const; 
    386  
    387369        /** Returns next subdivision candidate from the split queue. 
    388370        */ 
    389371        SubdivisionCandidate *NextSubdivisionCandidate(SplitQueue &splitQueue); 
    390  
    391372        /** Repairs the dirty entries of the subdivision candidate queue. The 
    392373                list of entries is given in the dirty list. 
     
    397378                                        SplitQueue &splitQueue, 
    398379                                        const bool recomputeSplitPlaneOnRepair); 
    399  
    400380        /** Collect subdivision candidates which were affected by the splits from the 
    401381                chosenCandidates list. 
     
    403383        void CollectDirtyCandidates(const SubdivisionCandidateContainer &chosenCandidates,  
    404384                                                                SubdivisionCandidateContainer &dirtyList); 
    405  
    406385        /** Print subdivision stats for log. 
    407386        */ 
     
    420399        void CollectViewSpaceDirtyList(SubdivisionCandidate *sc, 
    421400                                                                   SubdivisionCandidateContainer &dirtyList); 
    422  
    423401        /** Collect affected object space candidates. 
    424402        */ 
    425403        void CollectObjectSpaceDirtyList(SubdivisionCandidate *sc, 
    426404                                                                         SubdivisionCandidateContainer &dirtyList); 
    427                  
    428405        /** Export object space partition tree. 
    429406        */ 
    430407        void ExportOspTree(Exporter *exporter,  
    431408                                           const ObjectContainer &objects) const; 
    432  
    433409        /** Parse the environment variables. 
    434410        */ 
     
    463439        */ 
    464440        bool ObjectSpaceSubdivisionConstructed() const; 
    465          
    466441        /** Was view space subdivision already constructed? 
    467442        */ 
    468443        bool ViewSpaceSubdivisionConstructed() const; 
    469  
    470444        /** Reset the split queue, i.e., reevaluate the split candidates. 
    471445        */ 
    472446    void ResetQueue(SplitQueue &splitQueue, const bool recomputeSplitPlane); 
    473  
    474447        /** After the suddivision has ended, do some final tasks. 
    475448        */ 
    476449        void FinishObjectSpaceSubdivision(const ObjectContainer &objects,  
    477450                                                                          const bool removeRayRefs = true) const; 
    478  
    479451        /** Returns depth of object space subdivision. 
    480452        */ 
    481453        int GetObjectSpaceSubdivisionDepth() const; 
    482  
    483454        /** Returns number of leaves in object space subdivision. 
    484455        */ 
    485456        int GetObjectSpaceSubdivisionLeaves() const; 
    486457        int GetObjectSpaceSubdivisionNodes() const; 
    487  
    488458        /** Construct object space partition interleaved with view space partition. 
    489459                Each time the best object or view space candidate is selected 
     
    493463                                                          const ObjectContainer &objects, 
    494464                                                          AxisAlignedBox3 *forcedViewSpace); 
    495  
    496465        /** Construct object space partition interleaved with view space partition. 
    497466                The method chooses a number candidates of each type for subdivision. 
     
    505474                                                                                  const ObjectContainer &objects, 
    506475                                                                                  AxisAlignedBox3 *forcedViewSpace); 
    507  
    508476        /** Use iteration to construct the object space hierarchy. 
    509477        */ 
     
    511479                                                         const ObjectContainer &objects, 
    512480                                                         AxisAlignedBox3 *forcedViewSpace); 
    513  
    514481        /** Based on a given subdivision, we try to optimize using an 
    515482                multiple iteration over view and object space. 
     
    518485                                                        const ObjectContainer &objects, 
    519486                                                        AxisAlignedBox3 *forcedViewSpace); 
    520  
    521487        /** Reset the object space subdivision.  
    522488                E.g., deletes hierarchy and resets stats. 
     
    533499 
    534500        void CreateTraversalTree(); 
     501 
    535502 
    536503        /////////////////////////// 
     
    570537protected: 
    571538 
     539        friend VspTree; 
     540        friend OspTree; 
     541        friend BvHierarchy; 
     542        friend ViewCellsParseHandlers; 
     543 
     544 
    572545        /** construction types 
    573546                sequential: construct first view space, then object space 
     
    580553        /// type of hierarchy construction 
    581554        int mConstructionType; 
    582  
    583555        /// Type of object space partition 
    584556        int mObjectSpaceSubdivisionType; 
     
    586558    int mViewSpaceSubdivisionType; 
    587559 
    588         /// the traversal queue 
     560        /// the queue maintains the split candidates during traversal 
    589561        SplitQueue mTQueue; 
    590          
    591         //////////// 
    592         //-- helper variables 
    593          
    594         // the original osp type 
    595         int mSavedObjectSpaceSubdivisionType; 
    596         // the original vsp type 
    597         int mSavedViewSpaceSubdivisionType; 
    598562         
    599563 
     
    601565        // Hierarchies 
    602566 
     567        /// the bounding volume hierarchy 
     568        BvHierarchy *mBvHierarchy; 
    603569        /// view space hierarchy 
    604570        VspTree *mVspTree; 
     
    608574        float mInitialRenderCost; 
    609575         
    610         //float mMaxAvgRayContri; 
    611         //float mMinAvgRayContri; 
    612  
    613576        float mMaxAvgRaysPerObject; 
    614577        float mMinAvgRaysPerObject; 
    615578 
    616         // quick hack: 
    617 public: 
    618         /// bounding volume hierarchy 
    619         BvHierarchy *mBvHierarchy; 
    620          
     579 
     580        /// an internal tree optimized for view cell traversal 
    621581        bool mUseTraversalTree; 
    622  
    623         float mMinRenderCost; 
    624  
    625 protected: 
    626582 
    627583 
     
    638594        float mTermMaxMemory; 
    639595 
     596        float mMinRenderCost; 
     597 
    640598 
    641599        //////////////////// 
     
    651609        int mMinDepthForViewSpaceSubdivion; 
    652610         
    653         //int mMinRenderCostDecrease; 
    654  
    655         std::ofstream mSubdivisionStats; 
    656  
    657611        /// if the queue should be repaired after a subdivision steps 
    658612        bool mRepairQueue; 
    659613 
    660614        bool mStartWithObjectSpace; 
    661         /** if multi level construction method should be used 
    662                 where we iterate over both hierarchies until we 
    663                 converge to the optimum. 
     615        /** multi level construction method  means that 
     616                we iterate over both hierarchies until we 
     617                converge to the optimum.  
    664618        */ 
    665619        bool mUseMultiLevelConstruction; 
    666  
    667620        /// number of iteration steps for multilevel approach    
    668621        int mNumMultiLevels; 
    669  
    670622        /** if split plane should be recomputed for the repair. 
    671623                Otherwise only the priority is recomputed, the 
    672                 split plane itself stays the same 
     624                split plane itself stays the same.  
    673625        */ 
    674626        bool mRecomputeSplitPlaneOnRepair; 
    675627 
    676628        /** If memory should be considered during choosing 
    677                 of the next split type during gradient method. 
     629                of the next split type during gradient method.  
    678630        */ 
    679631        bool mConsiderMemory; 
     
    684636 
    685637        int mTimeStamp; 
    686         friend VspTree; 
    687         friend OspTree; 
    688         friend BvHierarchy; 
    689638 
    690639        float mPriority; 
    691640 
    692         friend ViewCellsParseHandlers; 
    693  
     641 
     642        //////////// 
     643        //-- helper variables 
     644         
     645        // the original osp type 
     646        int mSavedObjectSpaceSubdivisionType; 
     647        // the original vsp type 
     648        int mSavedViewSpaceSubdivisionType; 
     649         
     650 
     651        /// this is just a cache used during evaluation 
    694652        ViewCellContainer mOldViewCells; 
     653 
     654        std::ofstream mSubdivisionStats; 
    695655}; 
    696656 
  • GTP/trunk/Lib/Vis/Preprocessing/src/Preprocessor.vcproj

    r2353 r2530  
    126126                                OptimizeForWindowsApplication="TRUE" 
    127127                                AdditionalIncludeDirectories="..\src;..\..\..\..\..\..\NonGTP\Devil\include;..\..\..\..\..\..\NonGTP\Zlib\include;..\..\..\..\..\..\NonGTP\Xerces;..\..\..\..\..\..\NonGTP\Boost;..\MultiLevelRayTracing;&quot;$(QTDIR)\include\QtCore&quot;;&quot;$(QTDIR)\include\QtGui&quot;;&quot;$(QTDIR)\include&quot;;&quot;$(QTDIR)\include\QtOpenGl&quot;;&quot;$(CG_INC_PATH)&quot;;Timer;..\src\sparsehash\src\google\sparsehash;..\src\sparsehash\src\windows;..\src\sparsehash\src\google;..\src\sparsehash\src;..\src\ootl\;..\src\ootl\src\;..\src\ootl\src\cpp;..\src\ootl\src\cpp\include\;..\src\ootl\src\include\ootl;..\src\ootl\src\include\ootl\sandbox;..\src\ootl\src\cpp\include\ootl\mswin" 
    128                                 PreprocessorDefinitions="WIN32;NDEBUG;_LIB;GTP_INTERNAL;USE_QT;USE_HASH_PV" 
     128                                PreprocessorDefinitions="WIN32;NDEBUG;_LIB;GTP_INTERNAL;USE_QT;USE_VERBOSE_PV" 
    129129                                StringPooling="TRUE" 
    130130                                MinimalRebuild="TRUE" 
     
    10411041                        </File> 
    10421042                        <File 
     1043                                RelativePath=".\sparsehash\src\google\sparsehash\hash_fun.h"> 
     1044                        </File> 
     1045                        <File 
    10431046                                RelativePath=".\sparsehash\src\windows\hash_fun.h"> 
    1044                         </File> 
    1045                         <File 
    1046                                 RelativePath=".\sparsehash\src\google\sparsehash\hash_fun.h"> 
    10471047                        </File> 
    10481048                        <File 
  • GTP/trunk/Lib/Vis/Preprocessing/src/Pvs.h

    r2529 r2530  
    88 
    99 
    10 // 
    1110 
    1211namespace GtpVisibilityPreprocessor { 
    1312 
    1413 
     14/** Iterator over the pvs. 
     15*/ 
    1516template<typename T, typename S> 
    1617class PvsIterator 
     
    2425        } 
    2526 
    26         bool HasMoreEntries() const  
    27         { 
    28                 return (mItCurrent != mItEnd); 
    29         } 
    30  
    31         T Next(S &pdf) 
    32         { 
     27        inline bool HasMoreEntries() const { return (mItCurrent != mItEnd);     } 
     28 
     29        inline T Next(S &pdf) { 
    3330                pdf = (*mItCurrent).mData; 
    3431                return (*(mItCurrent ++)).mObject; 
    3532        } 
    3633 
    37         T Next() 
    38         { 
    39                 return (*(mItCurrent ++)).mObject; 
    40         } 
     34        inline T Next() { return (*(mItCurrent ++)).mObject; } 
     35 
    4136 
    4237private: 
     38         
    4339        typename vector<PvsEntry<T, S> >::const_iterator mItCurrent; 
    4440        typename vector<PvsEntry<T, S> >::const_iterator mItEnd; 
     
    5652public: 
    5753 
    58         VerbosePvs(): mSamples(0), mEntries(), mLastSorted(0), mQueriesSinceSort(0) {} 
     54        VerbosePvs(): mSamples(0), mEntries(), mLastSorted(0), mQueriesSinceSort(0)  
     55        {} 
    5956 
    6057        /** creates pvs and initializes it with the given entries.  
     
    619616 
    620617template <typename T, typename S>  
    621 bool VerbosePvs<T, S>::AddSampleDirtyCheck(T sample, 
    622                                                                         const float pdf) 
    623                                                                         //,float &contribution) 
     618bool VerbosePvs<T, S>::AddSampleDirtyCheck(T sample, const float pdf) 
    624619{ 
    625620        ++ mSamples; 
     
    633628           
    634629                data.mSumPdf += pdf; 
    635                 //contribution = pdf / data.mSumPdf; 
    636  
    637630        return false; 
    638631        } 
     
    640633        { 
    641634                AddSampleDirty(sample, pdf); 
    642                 //contribution = 1.0f; 
    643                  
    644635                return true; 
    645636        } 
  • GTP/trunk/Lib/Vis/Preprocessing/src/PvsBase.h

    r2529 r2530  
    55#include "Containers.h" 
    66 
    7 // 
     7 
    88 
    99namespace GtpVisibilityPreprocessor { 
    1010 
    11 //class Intersectable; 
    1211 
    1312/** Information stored with a PVS entry. Consists of the number 
  • GTP/trunk/Lib/Vis/Preprocessing/src/PvsDefinitions.h

    r2176 r2530  
    3131                } 
    3232 
    33         #else 
    34  
    35                 //#ifdef USE_VERBOSE_PVS 
     33        #else // USE_VERBOSE_PVS 
    3634                #include "Pvs.h" 
    3735 
  • GTP/trunk/Lib/Vis/Preprocessing/src/QtInterface/QtGlRenderer.cpp

    r2529 r2530  
    134134  Intersectable::NewMail(); 
    135135  for (; it.HasMoreEntries(); ) { 
    136         ObjectPvsEntry entry = it.Next(); 
    137         Intersectable *object = entry.mObject; 
    138         RenderIntersectable(object); 
     136        RenderIntersectable(it.Next()); 
    139137  } 
    140138 
     
    208206        ObjectPvsIterator it = pvs.GetIterator(); 
    209207        for (; it.HasMoreEntries(); ) { 
    210           ObjectPvsEntry entry = it.Next(); 
    211           Intersectable *object = entry.mObject; 
    212           RenderIntersectable(object); 
     208          RenderIntersectable(it.Next()); 
    213209        } 
    214210         
     
    402398        Intersectable::NewMail(); 
    403399 
     400        PvsData pvsData; 
     401 
    404402        // Render PVS 
    405403        if (mUseSpatialFilter && mRenderBoxes) { 
     
    411409          mPvsSize = mPvsCache.mPvs.GetSize(); 
    412410          for (; it.HasMoreEntries(); ) { 
    413                 ObjectPvsEntry entry = it.Next(); 
    414                 Intersectable *object = entry.mObject; 
     411                Intersectable *object = it.Next(pvsData); 
    415412                 
    416413                if (mRenderVisibilityEstimates) { 
    417414                  //float visibility = mTransferFunction*log10(entry.mData.mSumPdf + 1); // /5.0f 
    418415                  //              glColor3f(visibility, 0.0f, 0.0f); 
    419                         cerr << "sumpdf: " << entry.mData.mSumPdf << endl; 
    420                   RgbColor color = RainbowColorMapping(mTransferFunction*log10(entry.mData.mSumPdf + 1)); 
     416                        //cerr << "sumpdf: " << pvsData.mSumPdf << endl; 
     417                  RgbColor color = RainbowColorMapping(mTransferFunction*log10(pvsData.mSumPdf + 1)); 
    421418                  glColor3f(color.r, color.g, color.b); 
    422419                   
  • GTP/trunk/Lib/Vis/Preprocessing/src/QtInterface/QtInterface.vcproj

    r2017 r2530  
    166166                                Name="VCCLCompilerTool" 
    167167                                AdditionalIncludeDirectories="..\..\src;&quot;$(QTDIR)\include\QtCore&quot;;&quot;$(QTDIR)\include\QtGui&quot;;&quot;$(QTDIR)\include&quot;;&quot;$(QTDIR)\include\QtOpenGl&quot;;..\..\..\..\..\..\..\NonGTP\Zlib\include;&quot;$(CG_INC_PATH)&quot;" 
    168                                 PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;QTGLRENDERER_EXPORTS" 
     168                                PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;QTGLRENDERER_EXPORTS;USE_VERBOSE_PVS" 
    169169                                RuntimeLibrary="2" 
    170170                                UsePrecompiledHeader="0" 
  • GTP/trunk/Lib/Vis/Preprocessing/src/TestPreprocessor.vcproj

    r2381 r2530  
    145145                                OptimizeForWindowsApplication="TRUE" 
    146146                                AdditionalIncludeDirectories="..\include;..\..\..\..\..\..\NonGTP\Boost;..\src;..\..\..\..\..\..\NonGTP\Devil\include;..\..\..\..\..\..\NonGTP\Zlib\include;..\..\..\..\..\..\NonGTP\Xerces;&quot;$(QTDIR)\include\QtOpenGl&quot;;&quot;$(QTDIR)\include\Qt&quot;;&quot;$(QTDIR)\include\QtCore&quot;;&quot;$(QTDIR)\include&quot;;QtInterface;..\src\sparsehash\src\;..\src\ootl\src\include\ootl;..\src\ootl\src\include\ootl\sandbox;$(NOINHERIT)" 
    147                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;GTP_INTERNAL;USE_QT;USE_CG;USE_HASH_PV" 
     147                                PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;GTP_INTERNAL;USE_QT;USE_CG;USE_VERBOSE_PV" 
    148148                                StringPooling="TRUE" 
    149149                                MinimalRebuild="TRUE" 
  • GTP/trunk/Lib/Vis/Preprocessing/src/ViewCellsManager.cpp

    r2529 r2530  
    67466746 
    67476747 
    6748 static void PrintCompressionStats(HierarchyManager *hm, const int pvsEntries) 
    6749 { 
    6750         float mem = (float)pvsEntries * ObjectPvs::GetEntrySize(); 
     6748void VspOspViewCellsManager::PrintCompressionStats(HierarchyManager *hm, const int pvsEntries) 
     6749{ 
     6750        const float mem = (float)pvsEntries * ObjectPvs::GetEntrySize(); 
    67516751                 
    67526752        float fullmem = mem +  
  • GTP/trunk/Lib/Vis/Preprocessing/src/ViewCellsManager.h

    r2394 r2530  
    13261326 
    13271327        virtual void CompressViewCells(); 
    1328  
    13291328        /** Prepare view cells for use after loading them from disc. 
    13301329        */ 
    13311330        void PrepareLoadedViewCells(); 
    1332  
    13331331        /** Constructs merge hierarchy which corresponds to the spatial hierarchy. 
    13341332        */ 
    13351333        ViewCell *ConstructSpatialMergeTree(VspNode *root); 
    1336  
    13371334        /** Exports visualization of the PVS. 
    13381335        */ 
    13391336        void ExportPvs(const ObjectContainer &objects, const VssRayContainer &rays); 
    1340  
    13411337        /** Returns a hierarchy manager of the given name. 
    13421338        */ 
    13431339        static HierarchyManager *CreateHierarchyManager(const string &name); 
    1344  
    13451340        /** collect objects intersecting a given spatial box  
    13461341        */ 
    13471342        virtual void CollectObjects(const AxisAlignedBox3 &box, ObjectContainer &objects); 
    13481343 
    1349  
    1350         ///////////////////////////////////////// 
     1344        static void PrintCompressionStats(HierarchyManager *hm, const int pvsEntries); 
     1345 
     1346 
     1347        //////////////////// 
    13511348 
    13521349        bool mCompressObjects; 
Note: See TracChangeset for help on using the changeset viewer.