Changeset 1140
- Timestamp:
- 04/09/08 04:05:35 (1 month ago)
- Files:
-
- trunk/Source/Base/Base/OSGExportDefines.h (modified) (12 diffs)
- trunk/Source/Base/Field/OSGField.h (modified) (1 diff)
- trunk/Source/Base/Field/OSGFieldType.cpp (modified) (4 diffs)
- trunk/Source/Base/Field/OSGFieldType.h (modified) (6 diffs)
- trunk/Source/Base/Field/OSGFieldType.inl (modified) (1 diff)
- trunk/Source/Base/Field/OSGMField.h (modified) (1 diff)
- trunk/Source/Base/Field/OSGMField.ins (modified) (2 diffs)
- trunk/Source/Base/Field/OSGSField.h (modified) (1 diff)
- trunk/Source/Base/Field/OSGSField.ins (modified) (2 diffs)
- trunk/Source/System/Cluster/Base/OSGRemoteAspect.cpp (modified) (1 diff)
- trunk/Source/System/FieldContainer/Base/OSGChangeList.cpp (modified) (6 diffs)
- trunk/Source/System/FieldContainer/Base/OSGChangeList.h (modified) (2 diffs)
- trunk/Source/System/FieldContainer/Base/OSGFieldContainer.h (modified) (1 diff)
- trunk/Source/System/FieldContainer/Fields/Base/OSGFieldContainerPtrChildMField.h (modified) (1 diff)
- trunk/Source/System/FieldContainer/Fields/Base/OSGFieldContainerPtrChildMField.inl (modified) (4 diffs)
- trunk/Source/System/FieldContainer/Fields/Base/OSGFieldContainerPtrChildSField.h (modified) (1 diff)
- trunk/Source/System/FieldContainer/Fields/Base/OSGFieldContainerPtrChildSField.inl (modified) (2 diffs)
- trunk/Source/System/FieldContainer/Fields/Base/OSGFieldContainerPtrMField.h (modified) (1 diff)
- trunk/Source/System/FieldContainer/Fields/Base/OSGFieldContainerPtrMField.inl (modified) (3 diffs)
- trunk/Source/System/FieldContainer/Fields/Base/OSGFieldContainerPtrMFieldBase.cpp (modified) (1 diff)
- trunk/Source/System/FieldContainer/Fields/Base/OSGFieldContainerPtrParentMField.h (modified) (1 diff)
- trunk/Source/System/FieldContainer/Fields/Base/OSGFieldContainerPtrParentSField.h (modified) (1 diff)
- trunk/Source/System/FieldContainer/Fields/Base/OSGFieldContainerPtrSField.h (modified) (1 diff)
- trunk/Source/System/FieldContainer/Fields/Base/OSGFieldContainerPtrSField.inl (modified) (2 diffs)
- trunk/Source/System/FieldContainer/Fields/Base/OSGFieldContainerPtrSFieldBase.cpp (modified) (1 diff)
- trunk/Source/System/FileIO/OSB/NFIO_Depreciated (added)
- trunk/Source/System/FileIO/OSB/NFIO_Depreciated/OSGNFIOBase.cpp (moved) (moved from trunk/Source/System/FileIO/OSB/OSGNFIOBase.cpp)
- trunk/Source/System/FileIO/OSB/NFIO_Depreciated/OSGNFIOBase.h (moved) (moved from trunk/Source/System/FileIO/OSB/OSGNFIOBase.h)
- trunk/Source/System/FileIO/OSB/NFIO_Depreciated/OSGNFIOFactory.cpp (moved) (moved from trunk/Source/System/FileIO/OSB/OSGNFIOFactory.cpp)
- trunk/Source/System/FileIO/OSB/NFIO_Depreciated/OSGNFIOFactory.h (moved) (moved from trunk/Source/System/FileIO/OSB/OSGNFIOFactory.h)
- trunk/Source/System/FileIO/OSB/NFIO_Depreciated/OSGNFIOGeneric.cpp (moved) (moved from trunk/Source/System/FileIO/OSB/OSGNFIOGeneric.cpp)
- trunk/Source/System/FileIO/OSB/NFIO_Depreciated/OSGNFIOGeneric.h (moved) (moved from trunk/Source/System/FileIO/OSB/OSGNFIOGeneric.h)
- trunk/Source/System/FileIO/OSB/NFIO_Depreciated/OSGNFIOGenericAtt.cpp (moved) (moved from trunk/Source/System/FileIO/OSB/OSGNFIOGenericAtt.cpp)
- trunk/Source/System/FileIO/OSB/NFIO_Depreciated/OSGNFIOGenericAtt.h (moved) (moved from trunk/Source/System/FileIO/OSB/OSGNFIOGenericAtt.h)
- trunk/Source/System/FileIO/OSB/NFIO_Depreciated/OSGNFIOGeoConversion.cpp (moved) (moved from trunk/Source/System/FileIO/OSB/OSGNFIOGeoConversion.cpp)
- trunk/Source/System/FileIO/OSB/NFIO_Depreciated/OSGNFIOGeometry.cpp (moved) (moved from trunk/Source/System/FileIO/OSB/OSGNFIOGeometry.cpp)
- trunk/Source/System/FileIO/OSB/NFIO_Depreciated/OSGNFIOGeometry.h (moved) (moved from trunk/Source/System/FileIO/OSB/OSGNFIOGeometry.h)
- trunk/Source/System/FileIO/OSB/NFIO_Depreciated/OSGNFIOImage.cpp (moved) (moved from trunk/Source/System/FileIO/OSB/OSGNFIOImage.cpp)
- trunk/Source/System/FileIO/OSB/NFIO_Depreciated/OSGNFIOImage.h (moved) (moved from trunk/Source/System/FileIO/OSB/OSGNFIOImage.h)
- trunk/Source/System/FileIO/OSB/NFIO_Depreciated/OSGNFIOImageGenericAtt.cpp (moved) (moved from trunk/Source/System/FileIO/OSB/OSGNFIOImageGenericAtt.cpp)
- trunk/Source/System/FileIO/OSB/NFIO_Depreciated/OSGNFIOImageGenericAtt.h (moved) (moved from trunk/Source/System/FileIO/OSB/OSGNFIOImageGenericAtt.h)
- trunk/Source/System/FileIO/OSB/NFIO_Depreciated/OSGNFIOName.cpp (moved) (moved from trunk/Source/System/FileIO/OSB/OSGNFIOName.cpp)
- trunk/Source/System/FileIO/OSB/NFIO_Depreciated/OSGNFIOName.h (moved) (moved from trunk/Source/System/FileIO/OSB/OSGNFIOName.h)
- trunk/Source/System/FileIO/OSB/NFIO_Depreciated/OSGNFIOVoidPAttachment.cpp (moved) (moved from trunk/Source/System/FileIO/OSB/OSGNFIOVoidPAttachment.cpp)
- trunk/Source/System/FileIO/OSB/NFIO_Depreciated/OSGNFIOVoidPAttachment.h (moved) (moved from trunk/Source/System/FileIO/OSB/OSGNFIOVoidPAttachment.h)
- trunk/Source/System/FileIO/OSB/NFIO_Depreciated/build.info (added)
- trunk/Source/System/FileIO/OSB/OSGNFIOSceneFileType.cpp (modified) (1 diff)
- trunk/Source/System/FileIO/OSB/OSGNFIOSceneFileType.h (modified) (2 diffs)
- trunk/Source/System/FileIO/OSB/OSGOSBCommonElement.cpp (modified) (19 diffs)
- trunk/Source/System/FileIO/OSB/OSGOSBCommonElement.h (modified) (1 diff)
- trunk/Source/System/FileIO/OSB/OSGOSBDriver.cpp (modified) (3 diffs)
- trunk/Source/System/FileIO/OSB/OSGOSBDriver.h (modified) (1 diff)
- trunk/Source/System/FileIO/OSB/OSGOSBElementBase.cpp (modified) (3 diffs)
- trunk/Source/System/FileIO/OSB/OSGOSBElementBase.h (modified) (4 diffs)
- trunk/Source/System/FileIO/OSB/OSGOSBElementBase.inl (modified) (1 diff)
- trunk/Source/System/FileIO/OSB/OSGOSBGenericElement.cpp (modified) (2 diffs)
- trunk/Source/System/FileIO/OSB/OSGOSBGeoPropertyConversionElement.h (modified) (1 diff)
- trunk/Source/System/FileIO/OSB/OSGOSBGeoPropertyConversionElement.inl (modified) (1 diff)
- trunk/Source/System/FileIO/OSB/OSGOSBGeometryElement.cpp (modified) (15 diffs)
- trunk/Source/System/FileIO/OSB/OSGOSBGeometryHelper.h (modified) (3 diffs)
- trunk/Source/System/FileIO/OSB/OSGOSBGeometryHelper.inl (modified) (5 diffs)
- trunk/Source/System/FileIO/OSB/OSGOSBImageElement.cpp (modified) (4 diffs)
- trunk/Source/System/FileIO/OSB/OSGOSBNameElement.cpp (modified) (1 diff)
- trunk/Source/System/FileIO/OSB/OSGOSBNodeElement.cpp (modified) (1 diff)
- trunk/Source/System/FileIO/OSB/OSGOSBRootElement.cpp (modified) (4 diffs)
- trunk/Source/System/FileIO/OSB/OSGOSBTypedGeoIntegralPropertyElement.h (modified) (1 diff)
- trunk/Source/System/FileIO/OSB/OSGOSBTypedGeoIntegralPropertyElement.inl (modified) (1 diff)
- trunk/Source/System/FileIO/OSB/OSGOSBTypedGeoVectorPropertyElement.h (modified) (1 diff)
- trunk/Source/System/FileIO/OSB/OSGOSBTypedGeoVectorPropertyElement.inl (modified) (1 diff)
- trunk/Source/System/FileIO/OSB/build.info (deleted)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/Source/Base/Base/OSGExportDefines.h
r1126 r1140 118 118 SFieldTraits::getSPName(), \ 119 119 SFieldTraits::getType (), \ 120 FieldType::SINGLE_FIELD) 120 FieldType::SINGLE_FIELD, \ 121 Self::Class) 121 122 122 123 #define OSG_MFIELDTYPE_SPEZ_INST(T1, T2) \ … … 125 126 MFieldTraits::getMPName(), \ 126 127 MFieldTraits::getType (), \ 127 FieldType::MULTI_FIELD) 128 FieldType::MULTI_FIELD, \ 129 Self::Class) 128 130 129 131 #define OSG_SFIELDTYPE_INST(CLASSNAME, T1, T2, T3) \ … … 133 135 SFieldTraits::getSPName(), \ 134 136 SFieldTraits::getType (), \ 135 FieldType::SINGLE_FIELD) 137 FieldType::SINGLE_FIELD, \ 138 Self::Class) 136 139 137 140 #define OSG_SFIELDTYPE_INST_X(CLASSNAME, T1, T2, T3) \ … … 141 144 SFieldTraits::getSPName(), \ 142 145 SFieldTraits::getType (), \ 143 FieldType::SINGLE_FIELD) 146 FieldType::SINGLE_FIELD, \ 147 Self::Class) 144 148 145 149 #define OSG_MFIELDTYPE_INST(CLASSNAME, T1, T2, T3) \ … … 149 153 MFieldTraits::getMPName(), \ 150 154 MFieldTraits::getType (), \ 151 FieldType::MULTI_FIELD) 155 FieldType::MULTI_FIELD, \ 156 Self::Class) 152 157 153 158 #define OSG_MFIELDTYPE_INST_X(CLASSNAME, T1, T2, T3) \ … … 157 162 MFieldTraits::getMPName(), \ 158 163 MFieldTraits::getType (), \ 159 FieldType::MULTI_FIELD) 164 FieldType::MULTI_FIELD, \ 165 Self::Class) 160 166 161 167 #else … … 166 172 SFieldTraits::getSPName(), \ 167 173 SFieldTraits::getType (), \ 168 FieldType::SINGLE_FIELD) 174 FieldType::SINGLE_FIELD, \ 175 Self::Class) 169 176 170 177 #define OSG_MFIELDTYPE_SPEZ_INST(T1, T2) \ … … 173 180 MFieldTraits::getMPName(), \ 174 181 MFieldTraits::getType (), \ 175 FieldType::MULTI_FIELD) 182 FieldType::MULTI_FIELD, \ 183 Self::Class) 176 184 177 185 #define OSG_SFIELDTYPE_INST(CLASSNAME, T1, T2, T3) \ … … 181 189 SFieldTraits::getSPName(), \ 182 190 SFieldTraits::getType (), \ 183 FieldType::SINGLE_FIELD) 191 FieldType::SINGLE_FIELD, \ 192 Self::Class) 184 193 185 194 #define OSG_SFIELDTYPE_INST_X(CLASSNAME, T1, T2, T3) \ … … 189 198 SFieldTraits::getSPName(), \ 190 199 SFieldTraits::getType (), \ 191 FieldType::SINGLE_FIELD) 200 FieldType::SINGLE_FIELD, \ 201 Self::Class) 192 202 193 203 … … 198 208 MFieldTraits::getMPName(), \ 199 209 MFieldTraits::getType (), \ 200 FieldType::MULTI_FIELD) 210 FieldType::MULTI_FIELD, \ 211 Self::Class) 201 212 202 213 #define OSG_MFIELDTYPE_INST_X(CLASSNAME, T1, T2, T3) \ … … 206 217 MFieldTraits::getMPName(), \ 207 218 MFieldTraits::getType (), \ 208 FieldType::MULTI_FIELD) 219 FieldType::MULTI_FIELD, \ 220 Self::Class) 209 221 210 222 #endif trunk/Source/Base/Field/OSGField.h
r785 r1140 44 44 45 45 #include "OSGBaseTypes.h" 46 #include "OSGFieldForwards.h" 46 47 47 48 #include <string> trunk/Source/Base/Field/OSGFieldType.cpp
r785 r1140 58 58 const DataType &contentType, 59 59 Cardinality cardinality, 60 Class fieldClass, 60 61 const UInt32 uiNameSpace) : 61 62 Inherited (szName, … … 63 64 uiNameSpace ), 64 65 _cardinality (cardinality ), 66 _fieldClass (fieldClass ), 65 67 _contentType (contentType ), 66 68 _pScanAsType (NULL ) … … 72 74 const DataType &contentType, 73 75 Cardinality cardinality, 76 Class fieldClass, 74 77 const FieldType &pScanAsType, 75 78 const UInt32 uiNameSpace ) : … … 78 81 uiNameSpace ), 79 82 _cardinality ( cardinality ), 83 _fieldClass ( fieldClass ), 80 84 _contentType ( contentType ), 81 85 _pScanAsType (&pScanAsType ) trunk/Source/Base/Field/OSGFieldType.h
r785 r1140 45 45 #include <typeinfo> 46 46 #include "OSGDataType.h" 47 #include "OSGFieldForwards.h" 47 48 48 49 OSG_BEGIN_NAMESPACE … … 67 68 enum Cardinality 68 69 { 69 SINGLE_FIELD, 70 MULTI_FIELD 70 SINGLE_FIELD = SingleField, 71 MULTI_FIELD = MultiField 72 }; 73 74 enum Class 75 { 76 ValueField = OSG::ValueField, 77 PtrField = OSG::PtrField, 78 ParentPtrField = OSG::ParentPtrField, 79 ChildPtrField = OSG::ChildPtrField 71 80 }; 72 81 … … 79 88 const DataType &contentType, 80 89 Cardinality cardinality, 90 Class fieldClass, 81 91 const UInt32 uiNameSpace = GlobalNamespace); 82 92 … … 85 95 const DataType &contentType , 86 96 Cardinality cardinality , 97 Class fieldClass, 87 98 const FieldType &pScanAsType, 88 99 const UInt32 uiNameSpace = GlobalNamespace); … … 109 120 const DataType &getContentType(void) const; 110 121 Cardinality getCardinality(void) const; 122 Class getClass (void) const; 111 123 112 124 UInt32 getScanTypeId (void) const; … … 130 142 /* Member */ 131 143 132 Cardinality _cardinality; 133 UInt32 _uiLoadTypeId; 144 Cardinality _cardinality; 145 UInt32 _uiLoadTypeId; 146 Class _fieldClass; 134 147 135 const DataType &_contentType;136 const FieldType *_pScanAsType;148 const DataType &_contentType; 149 const FieldType *_pScanAsType; 137 150 138 151 /*========================== PRIVATE ================================*/ trunk/Source/Base/Field/OSGFieldType.inl
r785 r1140 52 52 53 53 inline 54 FieldType::Class FieldType::getClass(void) const 55 { 56 return _fieldClass; 57 } 58 59 inline 54 60 UInt32 FieldType::getScanTypeId(void) const 55 61 { trunk/Source/Base/Field/OSGMField.h
r928 r1140 114 114 /*---------------------------------------------------------------------*/ 115 115 116 static const Int32 Namespace = iNamespace; 117 118 static const bool isSField = false; 119 static const bool isMField = true; 120 121 static const bool isPointerField = false; 116 static const Int32 Namespace = iNamespace; 117 118 static const bool isSField = false; 119 static const bool isMField = true; 120 121 static const bool isPointerField = false; 122 123 static const FieldType::Class Class = FieldType::ValueField; 122 124 123 125 /*---------------------------------------------------------------------*/ trunk/Source/Base/Field/OSGMField.ins
r1083 r1140 46 46 MFieldTraits::getMPName(), 47 47 MFieldTraits::getType (), 48 FieldType::MULTI_FIELD); 48 FieldType::MULTI_FIELD, 49 Self::Class); 49 50 50 51 #else … … 55 56 MFieldTraits::getMPName(), 56 57 MFieldTraits::getType (), 57 FieldType::MULTI_FIELD); 58 FieldType::MULTI_FIELD, 59 Self::Class); 58 60 59 61 #endif trunk/Source/Base/Field/OSGSField.h
r890 r1140 92 92 /*---------------------------------------------------------------------*/ 93 93 94 static const Int32 Namespace = iNamespace; 95 96 static const bool isSField = true; 97 static const bool isMField = false; 98 99 static const bool isPointerField = false; 94 static const Int32 Namespace = iNamespace; 95 96 static const bool isSField = true; 97 static const bool isMField = false; 98 99 static const bool isPointerField = false; 100 101 static const FieldType::Class Class = FieldType::ValueField; 100 102 101 103 /*---------------------------------------------------------------------*/ trunk/Source/Base/Field/OSGSField.ins
r1083 r1140 46 46 SFieldTraits::getSPName(), 47 47 SFieldTraits::getType (), 48 FieldType::SINGLE_FIELD); 48 FieldType::SINGLE_FIELD, 49 Self::Class); 49 50 50 51 #else … … 55 56 SFieldTraits::getSPName(), 56 57 SFieldTraits::getType (), 57 FieldType::SINGLE_FIELD); 58 FieldType::SINGLE_FIELD, 59 Self::Class); 58 60 59 61 #endif trunk/Source/System/Cluster/Base/OSGRemoteAspect.cpp
r1119 r1140 384 384 while(!finish); 385 385 386 Thread::getCurrentChangeList()->c learSyncAddRef();386 Thread::getCurrentChangeList()->commitDelayedSubRefs(); 387 387 388 388 if(applyToChangelist) trunk/Source/System/FieldContainer/Base/OSGChangeList.cpp
r1137 r1140 208 208 209 209 ChangeList::ChangeList(void) : 210 Inherited ( ),211 _entryPool ( ),212 _currentPoolElement ( ),213 _currentEntry ( ),214 _changedStore ( ),215 _createdStore ( ),216 _uncommitedChanges ( ),217 _workStore ( ),218 _uiAspect ( 0),219 _iSubRefLevel ( 0),220 _bExternal (false ),221 _v SyncUnrecAddRef( ),222 _v SyncRecAddRef( ),223 _v SyncWeakAddRef( )210 Inherited ( ), 211 _entryPool ( ), 212 _currentPoolElement ( ), 213 _currentEntry ( ), 214 _changedStore ( ), 215 _createdStore ( ), 216 _uncommitedChanges ( ), 217 _workStore ( ), 218 _uiAspect ( 0), 219 _iSubRefLevel ( 0), 220 _bExternal (false ), 221 _vDelayedUnrecSubRefs( ), 222 _vDelayedRecSubRefs ( ), 223 _vDelayedWeakSubRefs ( ) 224 224 { 225 225 _entryPool.push_back(ChangeEntryStore()); … … 559 559 ++cIt; 560 560 } 561 562 commitDelayedSubRefs(); 561 563 #endif 562 564 } … … 695 697 696 698 template<> OSG_DLL_EXPORT 697 void ChangeList::add SyncAddRef<NoRefCountPolicy>(FieldContainerPtr)699 void ChangeList::addDelayedSubRef<NoRefCountPolicy>(FieldContainerPtr) 698 700 { 699 701 } 700 702 701 703 template<> OSG_DLL_EXPORT 702 void ChangeList::add SyncAddRef<RecordedRefCountPolicy>(FieldContainerPtr pFC)703 { 704 _v SyncRecAddRef.push_back(pFC);704 void ChangeList::addDelayedSubRef<RecordedRefCountPolicy>(FieldContainerPtr pFC) 705 { 706 _vDelayedRecSubRefs.push_back(pFC); 705 707 } 706 708 707 709 template<> OSG_DLL_EXPORT 708 void ChangeList::addSyncAddRef<UnrecordedRefCountPolicy>(FieldContainerPtr pFC) 709 { 710 _vSyncUnrecAddRef.push_back(pFC); 710 void ChangeList::addDelayedSubRef<UnrecordedRefCountPolicy>( 711 FieldContainerPtr pFC) 712 { 713 _vDelayedUnrecSubRefs.push_back(pFC); 711 714 } 712 715 713 716 template<> OSG_DLL_EXPORT 714 void ChangeList::addSyncAddRef<WeakRefCountPolicy>(FieldContainerPtr pFC) 715 { 716 _vSyncWeakAddRef.push_back(pFC); 717 } 718 719 void ChangeList::clearSyncAddRef(void) 720 { 717 void ChangeList::addDelayedSubRef<WeakRefCountPolicy>(FieldContainerPtr pFC) 718 { 719 _vDelayedWeakSubRefs.push_back(pFC); 720 } 721 722 void ChangeList::commitDelayedSubRefs(void) 723 { 724 // Unrec 721 725 std::vector<FieldContainerPtr>:: iterator vIt = 722 _v SyncUnrecAddRef.begin();726 _vDelayedUnrecSubRefs.begin(); 723 727 724 728 std::vector<FieldContainerPtr>::const_iterator vEnd = 725 _v SyncUnrecAddRef.end ();729 _vDelayedUnrecSubRefs.end (); 726 730 727 731 while(vIt != vEnd) … … 732 736 } 733 737 734 _v SyncUnrecAddRef.clear();735 736 737 vIt = _v SyncRecAddRef.begin();738 vEnd = _v SyncRecAddRef.end ();738 _vDelayedUnrecSubRefs.clear(); 739 740 // Rec 741 vIt = _vDelayedRecSubRefs.begin(); 742 vEnd = _vDelayedRecSubRefs.end (); 739 743 740 744 while(vIt != vEnd) … … 745 749 } 746 750 747 _vSyncRecAddRef.clear(); 748 749 750 vIt = _vSyncWeakAddRef.begin(); 751 vEnd = _vSyncWeakAddRef.end (); 751 _vDelayedRecSubRefs.clear(); 752 753 754 // Weak 755 vIt = _vDelayedWeakSubRefs.begin(); 756 vEnd = _vDelayedWeakSubRefs.end (); 752 757 753 758 while(vIt != vEnd) … … 758 763 } 759 764 760 _v SyncWeakAddRef.clear();765 _vDelayedWeakSubRefs.clear(); 761 766 } 762 767 trunk/Source/System/FieldContainer/Base/OSGChangeList.h
r1126 r1140 226 226 227 227 template<typename RefCountPolicy> 228 void add SyncAddRef(FieldContainerPtr pFC);229 230 void c learSyncAddRef(void );228 void addDelayedSubRef (FieldContainerPtr pFC); 229 230 void commitDelayedSubRefs(void ); 231 231 232 232 /*! \} */ … … 269 269 bool _bExternal; 270 270 271 std::vector<FieldContainerPtr> _v SyncUnrecAddRef;272 std::vector<FieldContainerPtr> _v SyncRecAddRef;273 std::vector<FieldContainerPtr> _v SyncWeakAddRef;271 std::vector<FieldContainerPtr> _vDelayedUnrecSubRefs; 272 std::vector<FieldContainerPtr> _vDelayedRecSubRefs; 273 std::vector<FieldContainerPtr> _vDelayedWeakSubRefs; 274 274 275 275 /*! \} */ trunk/Source/System/FieldContainer/Base/OSGFieldContainer.h
r1136 r1140 560 560 #include "OSGFieldContainer.inl" 561 561 562 #include "OSGRefCountPolicies.h" 563 562 564 #endif /* _OSGFIELDCONTAINER_H_ */ 563 565 trunk/Source/System/FieldContainer/Fields/Base/OSGFieldContainerPtrChildMField.h
r1126 r1140 100 100 /*---------------------------------------------------------------------*/ 101 101 102 static const Int32 Namespace = iNamespace; 102 static const Int32 Namespace = iNamespace; 103 104 static const FieldType::Class Class = FieldType::ChildPtrField; 103 105 104 106 /*---------------------------------------------------------------------*/ trunk/Source/System/FieldContainer/Fields/Base/OSGFieldContainerPtrChildMField.inl
r1125 r1140 197 197 if(*sIt != NULL) 198 198 { 199 Thread::getCurrentChangeList()->add SyncAddRef199 Thread::getCurrentChangeList()->addDelayedSubRef 200 200 <RefCountPolicy>(*sIt); 201 201 } … … 217 217 if(*sIt != NULL) 218 218 { 219 Thread::getCurrentChangeList()->add SyncAddRef<219 Thread::getCurrentChangeList()->addDelayedSubRef< 220 220 RefCountPolicy>(*sIt); 221 221 } … … 521 521 ConstFieldMaskArg syncMode, 522 522 UInt32 uiSyncInfo, 523 AspectOffsetStore &oOffsets ) 524 { 523 AspectOffsetStore &oOffsets ) 524 { 525 size_type n = source.size(); 526 527 if(n != 0) 528 { 529 if(_values.size() == 0) 530 { 531 _values.resize(n, NULL); 532 533 Inherited::iterator sIt = source._values.begin(); 534 Inherited::iterator sEnd = source._values.end (); 535 536 Inherited::iterator fIt = _values.begin(); 537 538 while(sIt != sEnd) 539 { 540 *fIt = convertToCurrentAspect(*sIt); 541 542 RefCountPolicy::addRef(*fIt); 543 544 ++sIt; 545 ++fIt; 546 } 547 } 548 else 549 { 550 if(n > _values.size()) 551 { 552 _values.resize(n, NullFC); 553 } 554 555 Inherited:: iterator sIt = source._values.begin(); 556 557 Inherited::iterator fIt = _values.begin(); 558 Inherited::const_iterator fEnd = _values.end (); 559 560 for(UInt32 i = 0; i < n; ++i) 561 { 562 if(*fIt != NULL) 563 { 564 Thread::getCurrentChangeList()->addDelayedSubRef< 565 RefCountPolicy>(*fIt); 566 } 567 568 *fIt = convertToCurrentAspect(*sIt); 569 570 RefCountPolicy::addRef(*fIt); 571 572 ++sIt; 573 ++fIt; 574 } 575 576 if(n < _values.size()) 577 { 578 while(fIt != fEnd) 579 { 580 if(*fIt != NULL) 581 { 582 Thread::getCurrentChangeList()->addDelayedSubRef 583 <RefCountPolicy>(*fIt); 584 } 585 586 ++fIt; 587 }; 588 589 _values.resize(n); 590 } 591 } 592 } 593 else 594 { 595 this->clear(); 596 } 597 598 #if 0 525 599 if(source.size() != 0) 526 600 { … … 548 622 this->clear(); 549 623 } 624 #endif 550 625 } 551 626 trunk/Source/System/FieldContainer/Fields/Base/OSGFieldContainerPtrChildSField.h
r1126 r1140 87 87 /*---------------------------------------------------------------------*/ 88 88 89 static const Int32 Namespace = iNamespace; 89 static const Int32 Namespace = iNamespace; 90 91 static const FieldType::Class Class = FieldType::ChildPtrField; 90 92 91 93 /*---------------------------------------------------------------------*/ trunk/Source/System/FieldContainer/Fields/Base/OSGFieldContainerPtrChildSField.inl
r1125 r1140 214 214 if(_fieldValue != NullFC) 215 215 { 216 Thread::getCurrentChangeList()->add SyncAddRef<216 Thread::getCurrentChangeList()->addDelayedSubRef< 217 217 RefCountPolicy>(_fieldValue); 218 218 } … … 233 233 if(_fieldValue != NullFC) 234 234 { 235 Thread::getCurrentChangeList()->add SyncAddRef<235 Thread::getCurrentChangeList()->addDelayedSubRef< 236 236 RefCountPolicy>(_fieldValue); 237 237 } trunk/Source/System/FieldContainer/Fields/Base/OSGFieldContainerPtrMField.h
r1126 r1140 97 97 /*---------------------------------------------------------------------*/ 98 98 99 static const Int32 Namespace = iNamespace; 99 static const Int32 Namespace = iNamespace; 100 101 static const FieldType::Class Class = FieldType::PtrField; 100 102 101 103 /*---------------------------------------------------------------------*/ trunk/Source/System/FieldContainer/Fields/Base/OSGFieldContainerPtrMField.inl
r1125 r1140 177 177 if(*sIt != NULL) 178 178 { 179 Thread::getCurrentChangeList()->add SyncAddRef<179 Thread::getCurrentChangeList()->addDelayedSubRef< 180 180 RefCountPolicy>(*sIt); 181 181 } … … 197 197 if(*sIt != NULL) 198 198 { 199 Thread::getCurrentChangeList()->add SyncAddRef199 Thread::getCurrentChangeList()->addDelayedSubRef 200 200 <RefCountPolicy>(*sIt); 201 201 } … … 447 447 AspectOffsetStore &oOffsets ) 448 448 { 449 if(source.size() != 0) 450 { 451 this->resize(source.size(), NullFC); 452 453 Inherited::iterator sIt = source._values.begin(); 454 Inherited::iterator sEnd = source._values.end (); 455 456 Inherited::iterator fIt = _values.begin(); 449 size_type n = source.size(); 450 451 if(n != 0) 452 { 453 if(_values.size() == 0) 454 { 455 _values.resize(n, NULL); 456 457 Inherited::iterator sIt = source._values.begin(); 458 Inherited::iterator sEnd = source._values.end (); 459 460 Inherited::iterator fIt = _values.begin(); 457 461 458 while(sIt != sEnd) 462 while(sIt != sEnd) 463 { 464 *fIt = convertToCurrentAspect(*sIt); 465 466 RefCountPolicy::addRef(*fIt); 467 468 ++sIt; 469 ++fIt; 470 } 471 } 472 else 459 473 { 460 RefCountPolicy::setRefd((*fIt), 461 convertToCu
