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

changed: base rebuild

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Source/System/Material/Base/OSGSwitchMaterialBase.cpp

    r1178 r1193  
    199199} 
    200200 
     201MFUnrecMaterialPtr  *SwitchMaterialBase::editMFMaterials      (void) 
     202{ 
     203    editMField(MaterialsFieldMask, _mfMaterials); 
     204 
     205    return &_mfMaterials; 
     206} 
     207 
    201208SFUInt32 *SwitchMaterialBase::editSFChoice(void) 
    202209{ 
     
    222229void SwitchMaterialBase::pushToMaterials(const MaterialPtr value) 
    223230{ 
    224     if(value == NullFC) 
    225         return; 
    226  
    227231    editMField(MaterialsFieldMask, _mfMaterials); 
    228  
    229     //addRef(value); 
    230232 
    231233    _mfMaterials.push_back(value); 
     
    249251} 
    250252 
    251 void SwitchMaterialBase::insertIntoMaterials(      UInt32         uiIndex, 
    252                                                    const MaterialPtr value   ) 
    253 
    254     if(value == NullFC) 
    255         return; 
    256  
    257     editMField(MaterialsFieldMask, _mfMaterials); 
    258  
    259     MFUnrecMaterialPtr::iterator fieldIt = _mfMaterials.begin_nc(); 
    260  
    261     //addRef(value); 
    262  
    263     fieldIt += uiIndex; 
    264  
    265     _mfMaterials.insert(fieldIt, value); 
    266 
    267  
    268 void SwitchMaterialBase::replaceInMaterials(      UInt32         uiIndex, 
    269                                                        const MaterialPtr value   ) 
    270 
    271     if(value == NullFC) 
    272         return; 
    273  
    274     if(uiIndex >= _mfMaterials.size()) 
    275         return; 
    276  
    277     editMField(MaterialsFieldMask, _mfMaterials); 
    278  
    279  
    280 //    addRef(value); 
    281 //    subRef(_mfMaterials[uiIndex]); 
    282  
    283 //    _mfMaterials[uiIndex] = value; 
    284  
    285       _mfMaterials.replace(uiIndex, value); 
    286 
    287  
    288 void SwitchMaterialBase::replaceInMaterials(const MaterialPtr pOldElem, 
    289                                                         const MaterialPtr pNewElem) 
    290 
    291     if(pNewElem == NullFC) 
    292         return; 
    293  
    294     Int32  elemIdx = _mfMaterials.findIndex(pOldElem); 
    295  
    296     if(elemIdx != -1) 
     253void SwitchMaterialBase::removeFromMaterials(UInt32 uiIndex) 
     254
     255    if(uiIndex < _mfMaterials.size()) 
    297256    { 
    298257        editMField(MaterialsFieldMask, _mfMaterials); 
    299258 
    300 //        MFMaterialPtr::iterator fieldIt = _mfMaterials.begin(); 
    301  
    302 //        fieldIt += elemIdx; 
    303 //        addRef(pNewElem); 
    304 //        subRef(pOldElem); 
    305  
    306 //        (*fieldIt) = pNewElem; 
    307           _mfMaterials.replace(elemIdx, pNewElem); 
    308     } 
    309 
    310  
    311 void SwitchMaterialBase::removeFromMaterials(UInt32 uiIndex) 
    312 
    313     if(uiIndex < _mfMaterials.size()) 
     259        MFUnrecMaterialPtr::iterator fieldIt = _mfMaterials.begin_nc(); 
     260 
     261        fieldIt += uiIndex; 
     262 
     263        _mfMaterials.erase(fieldIt); 
     264    } 
     265
     266 
     267void SwitchMaterialBase::removeFromMaterials(const MaterialPtr value) 
     268
     269    Int32 iElemIdx = _mfMaterials.findIndex(value); 
     270 
     271    if(iElemIdx != -1) 
    314272    { 
    315273        editMField(MaterialsFieldMask, _mfMaterials); 
     
    317275        MFUnrecMaterialPtr::iterator fieldIt = _mfMaterials.begin_nc(); 
    318276 
    319         fieldIt += uiIndex; 
    320  
    321         //subRef(*fieldIt); 
    322  
    323         _mfMaterials.erase(fieldIt); 
    324     } 
    325 } 
    326  
    327 void SwitchMaterialBase::removeFromMaterials(const MaterialPtr value) 
    328 { 
    329     Int32 iElemIdx = _mfMaterials.findIndex(value); 
    330  
    331     if(iElemIdx != -1) 
    332     { 
    333         editMField(MaterialsFieldMask, _mfMaterials); 
    334  
    335         MFUnrecMaterialPtr::iterator fieldIt = _mfMaterials.begin_nc(); 
    336  
    337277        fieldIt += iElemIdx; 
    338  
    339         //subRef(*fieldIt); 
    340278 
    341279        _mfMaterials.erase(fieldIt); 
     
    516454    if(source != NULL) 
    517455    { 
     456        SwitchMaterial *pThis = static_cast<SwitchMaterial *>(this); 
    518457 
    519458        MFUnrecMaterialPtr::const_iterator MaterialsIt  = 
     
    524463        while(MaterialsIt != MaterialsEnd) 
    525464        { 
    526             this->pushToMaterials(*MaterialsIt); 
     465            pThis->pushToMaterials(*MaterialsIt); 
    527466 
    528467            ++MaterialsIt;