Show
Ignore:
Timestamp:
05/05/08 06:39:01 (8 months ago)
Author:
vossg
Message:

changed: base rebuild

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Source/System/NodeCores/Drawables/Terrain/QuadTree/OSGTiledQuadTreeTerrainBase.cpp

    r1178 r1193  
    504504} 
    505505 
     506MFUnrecImagePtr     *TiledQuadTreeTerrainBase::editMFHeightTiles    (void) 
     507{ 
     508    editMField(HeightTilesFieldMask, _mfHeightTiles); 
     509 
     510    return &_mfHeightTiles; 
     511} 
     512 
    506513//! Get the TiledQuadTreeTerrain::_mfHeightTextures field. 
    507514const MFUnrecMaterialPtr *TiledQuadTreeTerrainBase::getMFHeightTextures(void) const 
     
    510517} 
    511518 
     519MFUnrecMaterialPtr  *TiledQuadTreeTerrainBase::editMFHeightTextures (void) 
     520{ 
     521    editMField(HeightTexturesFieldMask, _mfHeightTextures); 
     522 
     523    return &_mfHeightTextures; 
     524} 
     525 
    512526SFUInt32 *TiledQuadTreeTerrainBase::editSFSizeX(void) 
    513527{ 
     
    742756void TiledQuadTreeTerrainBase::pushToHeightTiles(const ImagePtr value) 
    743757{ 
    744     if(value == NullFC) 
    745         return; 
    746  
    747758    editMField(HeightTilesFieldMask, _mfHeightTiles); 
    748  
    749     //addRef(value); 
    750759 
    751760    _mfHeightTiles.push_back(value); 
     
    769778} 
    770779 
    771 void TiledQuadTreeTerrainBase::insertIntoHeightTiles(      UInt32         uiIndex, 
    772                                                    const ImagePtr value   ) 
    773 
    774     if(value == NullFC) 
    775         return; 
    776  
     780void TiledQuadTreeTerrainBase::removeFromHeightTiles(UInt32 uiIndex) 
     781
     782    if(uiIndex < _mfHeightTiles.size()) 
     783    { 
     784        editMField(HeightTilesFieldMask, _mfHeightTiles); 
     785 
     786        MFUnrecImagePtr::iterator fieldIt = _mfHeightTiles.begin_nc(); 
     787 
     788        fieldIt += uiIndex; 
     789 
     790        _mfHeightTiles.erase(fieldIt); 
     791    } 
     792
     793 
     794void TiledQuadTreeTerrainBase::removeFromHeightTiles(const ImagePtr value) 
     795
     796    Int32 iElemIdx = _mfHeightTiles.findIndex(value); 
     797 
     798    if(iElemIdx != -1) 
     799    { 
     800        editMField(HeightTilesFieldMask, _mfHeightTiles); 
     801 
     802        MFUnrecImagePtr::iterator fieldIt = _mfHeightTiles.begin_nc(); 
     803 
     804        fieldIt += iElemIdx; 
     805 
     806        _mfHeightTiles.erase(fieldIt); 
     807    } 
     808
     809void TiledQuadTreeTerrainBase::clearHeightTiles(void) 
     810
    777811    editMField(HeightTilesFieldMask, _mfHeightTiles); 
    778812 
    779     MFUnrecImagePtr::iterator fieldIt = _mfHeightTiles.begin_nc(); 
    780  
    781     //addRef(value); 
    782  
    783     fieldIt += uiIndex; 
    784  
    785     _mfHeightTiles.insert(fieldIt, value); 
    786 } 
    787  
    788 void TiledQuadTreeTerrainBase::replaceInHeightTiles(      UInt32         uiIndex, 
    789                                                        const ImagePtr value   ) 
    790 { 
    791     if(value == NullFC) 
    792         return; 
    793  
    794     if(uiIndex >= _mfHeightTiles.size()) 
    795         return; 
    796  
    797     editMField(HeightTilesFieldMask, _mfHeightTiles); 
    798  
    799  
    800 //    addRef(value); 
    801 //    subRef(_mfHeightTiles[uiIndex]); 
    802  
    803 //    _mfHeightTiles[uiIndex] = value; 
    804  
    805       _mfHeightTiles.replace(uiIndex, value); 
    806 } 
    807  
    808 void TiledQuadTreeTerrainBase::replaceInHeightTiles(const ImagePtr pOldElem, 
    809                                                         const ImagePtr pNewElem) 
    810 { 
    811     if(pNewElem == NullFC) 
    812         return; 
    813  
    814     Int32  elemIdx = _mfHeightTiles.findIndex(pOldElem); 
    815  
    816     if(elemIdx != -1) 
    817     { 
    818         editMField(HeightTilesFieldMask, _mfHeightTiles); 
    819  
    820 //        MFImagePtr::iterator fieldIt = _mfHeightTiles.begin(); 
    821  
    822 //        fieldIt += elemIdx; 
    823 //        addRef(pNewElem); 
    824 //        subRef(pOldElem); 
    825  
    826 //        (*fieldIt) = pNewElem; 
    827           _mfHeightTiles.replace(elemIdx, pNewElem); 
    828     } 
    829 } 
    830  
    831 void TiledQuadTreeTerrainBase::removeFromHeightTiles(UInt32 uiIndex) 
    832 { 
    833     if(uiIndex < _mfHeightTiles.size()) 
    834     { 
    835         editMField(HeightTilesFieldMask, _mfHeightTiles); 
    836  
    837         MFUnrecImagePtr::iterator fieldIt = _mfHeightTiles.begin_nc(); 
    838  
    839         fieldIt += uiIndex; 
    840  
    841         //subRef(*fieldIt); 
    842  
    843         _mfHeightTiles.erase(fieldIt); 
    844     } 
    845 } 
    846  
    847 void TiledQuadTreeTerrainBase::removeFromHeightTiles(const ImagePtr value) 
    848 { 
    849     Int32 iElemIdx = _mfHeightTiles.findIndex(value); 
    850  
    851     if(iElemIdx != -1) 
    852     { 
    853         editMField(HeightTilesFieldMask, _mfHeightTiles); 
    854  
    855         MFUnrecImagePtr::iterator fieldIt = _mfHeightTiles.begin_nc(); 
    856  
    857         fieldIt += iElemIdx; 
    858  
    859         //subRef(*fieldIt); 
    860  
    861         _mfHeightTiles.erase(fieldIt); 
    862     } 
    863 } 
    864 void TiledQuadTreeTerrainBase::clearHeightTiles(void) 
    865 { 
    866     editMField(HeightTilesFieldMask, _mfHeightTiles); 
    867  
    868813 
    869814    _mfHeightTiles.clear(); 
     
    872817void TiledQuadTreeTerrainBase::pushToHeightTextures(const MaterialPtr value) 
    873818{ 
    874     if(value == NullFC) 
    875         return; 
    876  
    877819    editMField(HeightTexturesFieldMask, _mfHeightTextures); 
    878  
    879     //addRef(value); 
    880820 
    881821    _mfHeightTextures.push_back(value); 
     
    899839} 
    900840 
    901 void TiledQuadTreeTerrainBase::insertIntoHeightTextures(      UInt32         uiIndex, 
    902                                                    const MaterialPtr value   ) 
    903 
    904     if(value == NullFC) 
    905         return; 
    906  
    907     editMField(HeightTexturesFieldMask, _mfHeightTextures); 
    908  
    909     MFUnrecMaterialPtr::iterator fieldIt = _mfHeightTextures.begin_nc(); 
    910  
    911     //addRef(value); 
    912  
    913     fieldIt += uiIndex; 
    914  
    915     _mfHeightTextures.insert(fieldIt, value); 
    916 
    917  
    918 void TiledQuadTreeTerrainBase::replaceInHeightTextures(      UInt32         uiIndex, 
    919                                                        const MaterialPtr value   ) 
    920 
    921     if(value == NullFC) 
    922         return; 
    923  
    924     if(uiIndex >= _mfHeightTextures.size()) 
    925         return; 
    926  
    927     editMField(HeightTexturesFieldMask, _mfHeightTextures); 
    928  
    929  
    930 //    addRef(value); 
    931 //    subRef(_mfHeightTextures[uiIndex]); 
    932  
    933 //    _mfHeightTextures[uiIndex] = value; 
    934  
    935       _mfHeightTextures.replace(uiIndex, value); 
    936 
    937  
    938 void TiledQuadTreeTerrainBase::replaceInHeightTextures(const MaterialPtr pOldElem, 
    939                                                         const MaterialPtr pNewElem) 
    940 
    941     if(pNewElem == NullFC) 
    942         return; 
    943  
    944     Int32  elemIdx = _mfHeightTextures.findIndex(pOldElem); 
    945  
    946     if(elemIdx != -1) 
     841void TiledQuadTreeTerrainBase::removeFromHeightTextures(UInt32 uiIndex) 
     842
     843    if(uiIndex < _mfHeightTextures.size()) 
    947844    { 
    948845        editMField(HeightTexturesFieldMask, _mfHeightTextures); 
    949846 
    950 //        MFMaterialPtr::iterator fieldIt = _mfHeightTextures.begin(); 
    951  
    952 //        fieldIt += elemIdx; 
    953 //        addRef(pNewElem); 
    954 //        subRef(pOldElem); 
    955  
    956 //        (*fieldIt) = pNewElem; 
    957           _mfHeightTextures.replace(elemIdx, pNewElem); 
    958     } 
    959 
    960  
    961 void TiledQuadTreeTerrainBase::removeFromHeightTextures(UInt32 uiIndex) 
    962 
    963     if(uiIndex < _mfHeightTextures.size()) 
     847        MFUnrecMaterialPtr::iterator fieldIt = _mfHeightTextures.begin_nc(); 
     848 
     849        fieldIt += uiIndex; 
     850 
     851        _mfHeightTextures.erase(fieldIt); 
     852    } 
     853
     854 
     855void TiledQuadTreeTerrainBase::removeFromHeightTextures(const MaterialPtr value) 
     856
     857    Int32 iElemIdx = _mfHeightTextures.findIndex(value); 
     858 
     859    if(iElemIdx != -1) 
    964860    { 
    965861        editMField(HeightTexturesFieldMask, _mfHeightTextures); 
     
    967863        MFUnrecMaterialPtr::iterator fieldIt = _mfHeightTextures.begin_nc(); 
    968864 
    969         fieldIt += uiIndex; 
    970  
    971         //subRef(*fieldIt); 
    972  
    973         _mfHeightTextures.erase(fieldIt); 
    974     } 
    975 } 
    976  
    977 void TiledQuadTreeTerrainBase::removeFromHeightTextures(const MaterialPtr value) 
    978 { 
    979     Int32 iElemIdx = _mfHeightTextures.findIndex(value); 
    980  
    981     if(iElemIdx != -1) 
    982     { 
    983         editMField(HeightTexturesFieldMask, _mfHeightTextures); 
    984  
    985         MFUnrecMaterialPtr::iterator fieldIt = _mfHeightTextures.begin_nc(); 
    986  
    987865        fieldIt += iElemIdx; 
    988  
    989         //subRef(*fieldIt); 
    990866 
    991867        _mfHeightTextures.erase(fieldIt); 
     
    13341210    if(source != NULL) 
    13351211    { 
     1212        TiledQuadTreeTerrain *pThis = static_cast<TiledQuadTreeTerrain *>(this); 
    13361213 
    13371214        MFUnrecImagePtr::const_iterator HeightTilesIt  = 
     
    13421219        while(HeightTilesIt != HeightTilesEnd) 
    13431220        { 
    1344             this->pushToHeightTiles(*HeightTilesIt); 
     1221            pThis->pushToHeightTiles(*HeightTilesIt); 
    13451222 
    13461223            ++HeightTilesIt; 
     
    13541231        while(HeightTexturesIt != HeightTexturesEnd) 
    13551232        { 
    1356             this->pushToHeightTextures(*HeightTexturesIt); 
     1233            pThis->pushToHeightTextures(*HeightTexturesIt); 
    13571234 
    13581235            ++HeightTexturesIt;