#include <OSGFieldContainerPtrImpl.h>
Inheritance diagram for osg::ConstFieldContainerPtr:

Public Types | |
| typedef FieldContainer | StoredObjectType |
| typedef FieldContainerPtr | ObjectType |
| typedef FieldContainerPtrBase | Inherited |
| typedef UInt8 *FieldContainerPtrBase::* | unspecified_bool_type |
Public Member Functions | |
| OSG_PROPERTY_DECL (ConstPointer) | |
Constructors | |
| * | ConstFieldContainerPtr (void) |
| ConstFieldContainerPtr (const NullFieldContainerPtr &) | |
| ConstFieldContainerPtr (const FieldContainerPtr &source) | |
| ConstFieldContainerPtr (const ConstFieldContainerPtr &source) | |
Destructor | |
| * | ~ConstFieldContainerPtr (void) |
Container Access | |
| *const FieldContainer * | operator-> (void) |
| const FieldContainer * | operator-> (void) const |
| const FieldContainer & | operator * (void) |
| const FieldContainer & | operator * (void) const |
| const FieldContainer * | getCPtr (void) |
| const FieldContainer * | getCPtr (void) const |
Assignment | |
| *void | operator= (const NullFieldContainerPtr &) |
| void | operator= (const FieldContainerPtr &source) |
| void | operator= (const ConstFieldContainerPtr &source) |
Parent Field Pos | |
| *void | setParentFieldPos (UInt16 uiParentEPos) |
| UInt16 | getParentFieldPos (void) const |
Get Container Information | |
| *Int32 | getRefCount (void) const |
| UInt32 | getFieldContainerId (void) const |
| UInt16 | getContainerSize (void) const |
Get Container C++ Pointer | |
| *FieldContainer * | getBaseCPtr (void) const |
| FieldContainer * | getAspectCPtr (UInt32 uiAspectId) const |
Comparison | |
| *bool | operator< (const NullFieldContainerPtr &) const |
| bool | operator< (const FieldContainerPtrBase &) const |
| bool | operator== (const NullFieldContainerPtr &other) const |
| bool | operator== (const FieldContainerPtrBase &other) const |
| bool | operator!= (const NullFieldContainerPtr &other) const |
| bool | operator!= (const FieldContainerPtrBase &other) const |
| bool | operator! (void) const |
| operator unspecified_bool_type () const | |
Dump | |
| *void | dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const |
Static Public Attributes | |
| static const UInt16 | InvalidParentEPos = 0xFFFF |
Protected Member Functions | |
Constructors | |
| * | ConstFieldContainerPtr (const FieldContainer &source) |
| ConstFieldContainerPtr (const FieldContainer *source) | |
| ConstFieldContainerPtr (const FieldContainer *source, const UInt16 uiSize, const UInt16 uiParentEPos) | |
Sync | |
| *void | executeSync (UInt32 uiFromAspect, UInt32 uiToAspect, BitVector whichField) |
Get Memory Locations | |
| *Int32 * | getRefCountP (void) |
| Int32 * | getRefCountP (void) const |
| UInt32 * | getIdP (void) |
| UInt32 * | getIdP (void) const |
| UInt8 * | getFirstElemP (void) |
| UInt8 * | getFirstElemP (void) const |
| UInt8 * | getElemP (UInt32 uiElemNum) |
| UInt8 * | getElemP (UInt32 uiElemNum) const |
Get Memory Offsets | |
| *Int32 | getRefCountOff (void) const |
| Int32 | getIdOff (void) const |
| Int32 | getFirstElemOff (void) const |
| Int32 | getElemOff (UInt32 uiElemNum) const |
Reference Counting | |
| *void | addRef (void) const |
| void | subRef (void) const |
| void | deleteContainers (void) const |
Helper | |
| *void | setNull (void) |
Static Protected Member Functions | |
Intialization / Termination | |
| *static bool | initialize (void) |
| static bool | terminate (void) |
Protected Attributes | |
Member | |
| *UInt16 | _containerSize |
| UInt16 | _uiParentEPos |
| UInt8 * | _storeP |
Definition at line 476 of file OSGFieldContainerPtrImpl.h.
|
|
Definition at line 485 of file OSGFieldContainerPtrImpl.h. |
|
|
Definition at line 486 of file OSGFieldContainerPtrImpl.h. |
|
|
Definition at line 488 of file OSGFieldContainerPtrImpl.h. |
|
|
Definition at line 99 of file OSGFieldContainerPtrImpl.h. |
|
|
Definition at line 618 of file OSGFieldContainerPtrImpl.inl. 00618 : 00619 Inherited() 00620 { 00621 }
|
|
|
Definition at line 624 of file OSGFieldContainerPtrImpl.inl. 00625 : 00626 Inherited() 00627 { 00628 }
|
|
|
Definition at line 631 of file OSGFieldContainerPtrImpl.inl. 00632 : 00633 Inherited(source) 00634 { 00635 }
|
|
|
Definition at line 638 of file OSGFieldContainerPtrImpl.inl. 00639 : 00640 Inherited(source) 00641 { 00642 }
|
|
|
Definition at line 648 of file OSGFieldContainerPtrImpl.inl.
|
|
|
Definition at line 740 of file OSGFieldContainerPtrImpl.inl. 00740 : 00741 Inherited(source) 00742 { 00743 }
|
|
|
Definition at line 746 of file OSGFieldContainerPtrImpl.inl. 00746 : 00747 Inherited(source) 00748 { 00749 }
|
|
||||||||||||||||
|
Definition at line 752 of file OSGFieldContainerPtrImpl.inl. 00755 : 00756 00757 Inherited(source, uiSize, uiParentEPos) 00758 { 00759 }
|
|
|
|
|
|
Definition at line 656 of file OSGFieldContainerPtrImpl.inl. References osg::PThreadBase::getAspect(), osg::FieldContainerPtrBase::getElemP(), and osg::FieldContainerPtrBase::getFirstElemP(). 00657 { 00658 #if !defined(OSG_DEBUG_NO_FCPTR_ARITHM) 00659 return (const FieldContainer *) (getElemP(Thread::getAspect())); 00660 #else 00661 return (const FieldContainer *) (getFirstElemP()); 00662 #endif 00663 }
|
|
|
Definition at line 666 of file OSGFieldContainerPtrImpl.inl. References osg::PThreadBase::getAspect(), osg::FieldContainerPtrBase::getElemP(), and osg::FieldContainerPtrBase::getFirstElemP(). 00667 { 00668 #if !defined(OSG_DEBUG_NO_FCPTR_ARITHM) 00669 return (const FieldContainer *) (getElemP(Thread::getAspect())); 00670 #else 00671 return (const FieldContainer *) (getFirstElemP()); 00672 #endif 00673 }
|
|
|
Definition at line 676 of file OSGFieldContainerPtrImpl.inl. References osg::PThreadBase::getAspect(), osg::FieldContainerPtrBase::getElemP(), and osg::FieldContainerPtrBase::getFirstElemP(). 00677 { 00678 #if !defined(OSG_DEBUG_NO_FCPTR_ARITHM) 00679 return *((const FieldContainer *) (getElemP(Thread::getAspect()))); 00680 #else 00681 return *((const FieldContainer *) (getFirstElemP())); 00682 #endif 00683 }
|
|
|
Definition at line 686 of file OSGFieldContainerPtrImpl.inl. References osg::PThreadBase::getAspect(), osg::FieldContainerPtrBase::getElemP(), and osg::FieldContainerPtrBase::getFirstElemP(). 00687 { 00688 #if !defined(OSG_DEBUG_NO_FCPTR_ARITHM) 00689 return *((const FieldContainer *) (getElemP(Thread::getAspect()))); 00690 #else 00691 return *((const FieldContainer *) (getFirstElemP())); 00692 #endif 00693 }
|
|
|
Definition at line 696 of file OSGFieldContainerPtrImpl.inl. References osg::PThreadBase::getAspect(), osg::FieldContainerPtrBase::getElemP(), and osg::FieldContainerPtrBase::getFirstElemP(). 00697 { 00698 #if !defined(OSG_DEBUG_NO_FCPTR_ARITHM) 00699 return (const FieldContainer *) (getElemP(Thread::getAspect())); 00700 #else 00701 return (const FieldContainer *) (getFirstElemP()); 00702 #endif 00703 }
|
|
|
Definition at line 706 of file OSGFieldContainerPtrImpl.inl. References osg::PThreadBase::getAspect(), osg::FieldContainerPtrBase::getElemP(), and osg::FieldContainerPtrBase::getFirstElemP(). 00707 { 00708 #if !defined(OSG_DEBUG_NO_FCPTR_ARITHM) 00709 return (const FieldContainer *) (getElemP(Thread::getAspect())); 00710 #else 00711 return (const FieldContainer *) (getFirstElemP()); 00712 #endif 00713 }
|
|
|
Reimplemented from osg::FieldContainerPtrBase. Definition at line 719 of file OSGFieldContainerPtrImpl.inl. References osg::FieldContainerPtrBase::setNull(). 00720 { 00721 setNull(); 00722 }
|
|
|
Definition at line 725 of file OSGFieldContainerPtrImpl.inl.
|
|
|
Definition at line 731 of file OSGFieldContainerPtrImpl.inl.
|
|
|
|
Definition at line 207 of file OSGFieldContainerPtrImpl.inl. References osg::FieldContainerPtrBase::_uiParentEPos. 00208 { 00209 return _uiParentEPos; 00210 }
|
|
|
Definition at line 216 of file OSGFieldContainerPtrImpl.inl. References osg::FieldContainerPtrBase::_storeP, and osg::FieldContainerPtrBase::getRefCountP(). 00217 { 00218 if(_storeP == NULL) 00219 return 0; 00220 00221 return (*getRefCountP()); 00222 }
|
|
|
|
Definition at line 231 of file OSGFieldContainerPtrImpl.inl. References osg::FieldContainerPtrBase::_containerSize. Referenced by osg::FieldContainerPtr::beginEdit(), and osg::FieldContainerPtrBase::executeSync(). 00232 { 00233 return _containerSize; 00234 }
|
|
|
Definition at line 237 of file OSGFieldContainerPtrImpl.inl. References osg::FieldContainerPtrBase::getFirstElemP(). Referenced by osg::FieldTraitsRecurseMapper< FieldContainerPtr, false >::putToString(). 00238 { 00239 return reinterpret_cast<FieldContainer *>(getFirstElemP()); 00240 }
|
|
|
Definition at line 243 of file OSGFieldContainerPtrImpl.inl. References osg::FieldContainerPtrBase::getElemP(). Referenced by osg::QFCItem::expand(), osg::QFieldViewBase::getFieldPtr(), osg::QFieldEditorBase::getFieldPtr(), osg::getParentsField(), and osg::QFCItem::setup(). 00244 { 00245 return reinterpret_cast<FieldContainer *>(getElemP(uiAspectId)); 00246 }
|
|
|
Definition at line 281 of file OSGFieldContainerPtrImpl.inl.
|
|
|
Definition at line 303 of file OSGFieldContainerPtrImpl.inl. References osg::FieldContainerPtrBase::_storeP. 00305 { 00306 return _storeP < other._storeP; 00307 }
|
|
|
Definition at line 288 of file OSGFieldContainerPtrImpl.inl. References osg::FieldContainerPtrBase::_storeP. 00290 { 00291 return _storeP == NULL; 00292 }
|
|
|
Definition at line 310 of file OSGFieldContainerPtrImpl.inl. References osg::FieldContainerPtrBase::_storeP. 00312 { 00313 return _storeP == other._storeP; 00314 }
|
|
|
Definition at line 295 of file OSGFieldContainerPtrImpl.inl. References osg::FieldContainerPtrBase::_storeP. 00297 { 00298 return _storeP != NULL; 00299 }
|
|
|
Definition at line 317 of file OSGFieldContainerPtrImpl.inl.
|
|
|
Definition at line 324 of file OSGFieldContainerPtrImpl.inl. References osg::FieldContainerPtrBase::_storeP. 00325 { 00326 return _storeP == NULL; 00327 }
|
|
|
Definition at line 330 of file OSGFieldContainerPtrImpl.inl. References osg::FieldContainerPtrBase::_storeP. 00331 { 00332 return !*this ? 0 : &FieldContainerPtrBase::_storeP; 00333 }
|
|
||||||||||||
|
Definition at line 82 of file OSGFieldContainerPtr.cpp. References osg::FieldContainerPtrBase::_storeP, osg::FieldContainerPtrBase::getFirstElemP(), osg::FieldContainerPtrBase::getIdP(), osg::FieldContainerPtrBase::getRefCountP(), osg::indentLog(), PLOG, and osg::FCDumpFlags::RefCount. Referenced by osg::DVRVolumeTexture::changed(), osg::createComposedImage(), osg::SimpleMaterial::dump(), osg::Geometry::dump(), osg::DVRVolume::dump(), and osg::DVRLookupTable::dump(). 00084 { 00085 if(this != NULL && _storeP != NULL) 00086 { 00087 indentLog(uiIndent, PLOG); 00088 PLOG << "FCPtr Dump :" << std::endl; 00089 00090 uiIndent += 4; 00091 00092 indentLog(uiIndent, PLOG); 00093 PLOG << "Id : " << std::dec << (*(getIdP())) << std::endl; 00094 00095 indentLog(uiIndent, PLOG); 00096 PLOG << "Storage : " 00097 << std::hex << (UInt32 *)getFirstElemP() 00098 << std::endl; 00099 00100 if(bvFlags & FCDumpFlags::RefCount) 00101 { 00102 indentLog(uiIndent, PLOG); 00103 PLOG << "RefCount : " << *(getRefCountP()) << std::endl; 00104 } 00105 00106 // dumpContent(); 00107 } 00108 else 00109 { 00110 PLOG << "FCPtr Dump : (NULL)" << std::endl; 00111 } 00112 }
|
|
|
Definition at line 117 of file OSGFieldContainerPtr.cpp. References osg::FieldContainerPtrBase::_pRefCountLock, osg::addRefP(), osg::ThreadManager::getLockPool(), SINFO, and osg::ThreadManager::the(). Referenced by osg::DVRVolume::draw(), osg::FieldContainerFactory::FieldContainerFactory(), and osg::DVRVolume::initializeClipObjects(). 00118 { 00119 bool returnValue = false; 00120 ThreadManager *pManager = ThreadManager::the(); 00121 00122 SINFO << "OSGFieldContainerPtrBase init" << std::endl; 00123 00124 if(pManager != NULL) 00125 { 00126 _pRefCountLock = pManager->getLockPool("DSPTRRefCountLockPool"); 00127 00128 addRefP(_pRefCountLock); 00129 00130 if(_pRefCountLock != NULL) 00131 returnValue = true; 00132 } 00133 00134 return returnValue; 00135 }
|
|
|
Definition at line 137 of file OSGFieldContainerPtr.cpp. References osg::FieldContainerPtrBase::_pRefCountLock, SINFO, osg::subRefP(), and osg::ThreadManager::the(). Referenced by osg::FieldContainerFactory::FieldContainerFactory(). 00138 { 00139 ThreadManager *pManager = ThreadManager::the(); 00140 00141 SINFO << "OSGFieldContainerPtrBase terminate" << std::endl; 00142 00143 if(pManager == NULL) 00144 return false; 00145 00146 subRefP(_pRefCountLock); 00147 00148 return true; 00149 }
|
|
||||||||||||||||
|
Definition at line 1143 of file OSGFieldContainerPtrImpl.inl. References osg::FieldContainer::changed(), osg::FieldContainer::executeSync(), osg::FieldContainerPtrBase::getContainerSize(), osg::FieldContainerPtrBase::getElemP(), osg::ChangedOrigin::Sync, osg::SyncInfo::syncMode, osg::SyncInfo::uiCopyOffset, and osg::SyncInfo::uiSyncInfo. Referenced by osg::ChangeList::apply(), and osg::ChangeList::applyTo(). 01146 { 01147 #if defined(OSG_FIXED_MFIELDSYNC) 01148 SyncInfo sInfo; 01149 01150 sInfo.syncMode = 0x0000; 01151 sInfo.uiSyncInfo = (uiFromAspect << 24) | (uiToAspect << 16); 01152 sInfo.uiCopyOffset = getContainerSize(); 01153 #endif 01154 01155 FieldContainer *pTo = ((FieldContainer *) getElemP(uiToAspect)); 01156 01157 #if !defined(OSG_FIXED_MFIELDSYNC) 01158 pTo->executeSync(*((FieldContainer *) getElemP(uiFromAspect)), 01159 whichField); 01160 #else 01161 pTo->executeSync(*((FieldContainer *) getElemP(uiFromAspect)), 01162 whichField, 01163 sInfo); 01164 #endif 01165 01166 pTo->changed(whichField, ChangedOrigin::Sync); 01167 }
|
|
|
Definition at line 66 of file OSGFieldContainerPtrImpl.inl. References osg::FieldContainerPtrBase::_storeP. Referenced by osg::FieldContainerPtrBase::addRef(), osg::FieldContainerPtrBase::dump(), osg::FieldContainerPtrBase::getRefCount(), and osg::FieldContainerPtrBase::subRef().
|
|
|
Definition at line 72 of file OSGFieldContainerPtrImpl.inl. References osg::FieldContainerPtrBase::_storeP.
|
|
|
Definition at line 78 of file OSGFieldContainerPtrImpl.inl. References osg::FieldContainerPtrBase::_storeP. Referenced by osg::FieldContainerPtrBase::deleteContainers(), osg::FieldContainerPtrBase::dump(), and osg::FieldContainerPtrBase::getFieldContainerId().
|
|
|
Definition at line 84 of file OSGFieldContainerPtrImpl.inl. References osg::FieldContainerPtrBase::_storeP.
|
|
|
|
Definition at line 108 of file OSGFieldContainerPtrImpl.inl. References osg::FieldContainerPtrBase::_storeP. 00109 { 00110 return _storeP; 00111 }
|
|
|
|
Definition at line 96 of file OSGFieldContainerPtrImpl.inl. References osg::FieldContainerPtrBase::_containerSize, and osg::FieldContainerPtrBase::_storeP. |