| 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) |
|---|
| | 253 | void SwitchMaterialBase::removeFromMaterials(UInt32 uiIndex) |
|---|
| | 254 | { |
|---|
| | 255 | if(uiIndex < _mfMaterials.size()) |
|---|
| 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 | |
|---|
| | 267 | void SwitchMaterialBase::removeFromMaterials(const MaterialPtr value) |
|---|
| | 268 | { |
|---|
| | 269 | Int32 iElemIdx = _mfMaterials.findIndex(value); |
|---|
| | 270 | |
|---|
| | 271 | if(iElemIdx != -1) |
|---|