Changeset 551

Show
Ignore:
Timestamp:
02/20/07 14:38:05 (2 years ago)
Author:
dirk
Message:

Merged changes from RenderTrav? branch (Thanks to Dan Shipton for the hint!)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Source/System/Statistics/Base/OSGStatCollector.cpp

    r467 r551  
    123123 
    124124    if(eN != dN) 
     125    { 
    125126        _elemVec.resize(dN, 0); 
     127    } 
    126128} 
    127129 
     
    250252/*! Reset all elements to the start value. 
    251253 */ 
    252 void StatCollector::reset(void
     254void StatCollector::reset(StatElemDescBase::ResetMode mode
    253255{ 
    254256    StatElemStoreIt      it    = _elemVec.begin(); 
     
    257259    for(; it != endIt; ++it) 
    258260    { 
    259         if(*it != NULL
     261        if(*it != NULL && (*it)->getDesc()->getResetMode() >= mode
    260262        { 
    261263            (*it)->reset(); 
  • trunk/Source/System/Statistics/Base/OSGStatCollector.h

    r414 r551  
    7878    void   clearElems   (void        ); 
    7979    bool   isValidID    (Int32 elemId) const; 
    80     void   reset        (void        ); 
     80    void   reset        (StatElemDescBase::ResetMode mode = 
     81                                StatElemDescBase::RESET_DRAW); 
    8182 
    8283    /*! \}                                                                 */ 
  • trunk/Source/System/Statistics/Base/OSGStatElemDesc.cpp

    r467 r551  
    127127 */ 
    128128StatElemDescBase::StatElemDescBase(const Char8 *name,  
    129                                    const Char8 *description) : 
     129                                   const Char8 *description, 
     130                                   ResetMode    reset) : 
    130131    _id         (         -1), 
    131132    _name       (       name), 
    132     _description(description) 
     133    _description(description), 
     134    _resetMode  (reset) 
    133135{ 
    134136    StatElemDescBase *desc = 0; 
  • trunk/Source/System/Statistics/Base/OSGStatElemDesc.h

    r414 r551  
    8888    const IDString &getDescription(void); 
    8989 
     90    typedef enum {  
     91              RESET_NEVER = 0, //!< Never reset by the system 
     92              RESET_DRAW,      //!< Reset when drawing 
     93              RESET_ALWAYS     //!< Reset when StatCollector::reset is called 
     94            } ResetMode;  
     95              
     96    ResetMode getResetMode(void          ) const; 
     97 
    9098    /*! \}                                                                 */ 
    9199    /*---------------------------------------------------------------------*/ 
     
    94102 
    95103    StatElemDescBase(const Char8 *name,  
    96                      const Char8 *description); 
     104                     const Char8 *description, 
     105                     ResetMode reset = RESET_DRAW); 
    97106 
    98107    /*! \}                                                                 */ 
     
    118127  private: 
    119128    friend class StatCollector; 
    120        
     129 
    121130    typedef std::vector<StatElemDescBase*> DescStorage; 
     131 
     132    static DescStorage *_descVec; 
    122133     
    123     static DescStorage *_descVec; 
    124             
    125            Int32         _id; 
    126            IDString      _name; 
    127            IDString      _description; 
     134    Int32           _id; 
     135    IDString        _name; 
     136    IDString        _description; 
     137    ResetMode       _resetMode; 
    128138 
    129139    // only called by OSGStatCollector friend 
     
    146156 
    147157    StatElemDesc(const Char8 *name,  
    148                  const Char8 *description); 
     158                 const Char8 *description, 
     159                 ResetMode    reset = RESET_DRAW); 
    149160 
    150161    /*! \}                                                                 */ 
  • trunk/Source/System/Statistics/Base/OSGStatElemDesc.inl

    r414 r551  
    8787} 
    8888 
     89/*-------------------------------------------------------------------------*/ 
     90 
     91inline 
     92StatElemDescBase::ResetMode StatElemDescBase::getResetMode(void) const 
     93{  
     94    return _resetMode;  
     95} 
    8996 
    9097 
     
    93100template <class T> inline 
    94101StatElemDesc<T>::StatElemDesc(const Char8 *name,  
    95                               const Char8 *description) : 
    96     StatElemDescBase(name, description) 
     102                              const Char8 *description, 
     103                              ResetMode reset) : 
     104    StatElemDescBase(name, description, reset) 
    97105{ 
    98106} 
  • trunk/Source/System/Statistics/Base/OSGStatTimeElem.cpp

    r467 r551  
    109109            { 
    110110                std::string fcopy(format); 
    111                 fcopy.insert((proc - format) + 1,".2f "); 
     111                fcopy.erase((proc - format) + 1, 2); 
     112                fcopy.insert((proc - format) + 1,".2f"); 
    112113                sprintf(temp, fcopy.c_str(), ((double)_time)*1000.); 
    113114            }