#include <OSGNodePtrImpl.h>
Inheritance diagram for osg::NodePtr:

Public Types | |
| typedef Node | StoredObjectType |
| typedef NodePtr | ObjectType |
| typedef AttachmentContainerPtr | Inherited |
| typedef UInt8 *FieldContainerPtrBase::* | unspecified_bool_type |
Public Member Functions | |
| OSG_PROPERTY_DECL (Pointer) | |
Constructors | |
| * | NodePtr (void) |
| NodePtr (const NodePtr &source) | |
| NodePtr (const NullFieldContainerPtr &source) | |
| NodePtr (const CNodePtr &source) | |
Destructor | |
| * | ~NodePtr (void) |
Core | |
| *NodeCore * | getCore (void) |
| NodeCore * | getCore (void) const |
Container Access | |
| *Node * | operator-> (void) |
| Node * | operator-> (void) const |
| Node & | operator * (void) |
| Node & | operator * (void) const |
| Node * | getCPtr (void) |
| Node * | getCPtr (void) const |
Assignment | |
| *void | operator= (const CNodePtr &source) |
| void | operator= (const NodePtr &source) |
| void | operator= (const NullFieldContainerPtr &source) |
Container Constructors | |
| * | NodePtr (const Node &source) |
| Container Constructor, used to work around MS Bugs, use them only if you really now what you are doing ;-). | |
| NodePtr (const Node *source) | |
| Container Constructor, used to work around MS Bugs, use them only if you really now what you are doing ;-). | |
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 Member Functions | |
dcast | |
| template<class InTypeT> | |
| *static NodePtr | dcast (const InTypeT oIn) |
Static Public Attributes | |
| static const UInt16 | InvalidParentEPos = 0xFFFF |
Protected Member Functions | |
Internal Constructors | |
| * | NodePtr (const Node *source, const UInt16 uiSize, const UInt16 uiParentPos) |
MT Edit | |
| *void | beginEdit (BitVector whichField, UInt32 origin) const |
| void | endEdit (BitVector whichField, UInt32 origin) const |
| void | changed (BitVector whichField, UInt32 origin) const |
| void | endEditNotChanged (BitVector whichField, UInt32 origin) const |
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 |
Friends | |
| class | FieldContainer |
Definition at line 77 of file OSGNodePtrImpl.h.
|
|
Reimplemented from osg::AttachmentContainerPtr. Definition at line 83 of file OSGNodePtrImpl.h. |
|
|
Reimplemented from osg::AttachmentContainerPtr. Definition at line 84 of file OSGNodePtrImpl.h. |
|
|
Reimplemented from osg::AttachmentContainerPtr. Definition at line 86 of file OSGNodePtrImpl.h. |
|
|
Definition at line 99 of file OSGFieldContainerPtrImpl.h. |
|
|
Definition at line 54 of file OSGNodePtrImpl.inl. Referenced by dcast(). 00054 : 00055 Inherited() 00056 { 00057 }
|
|
|
Definition at line 60 of file OSGNodePtrImpl.inl. 00060 : 00061 Inherited(source) 00062 { 00063 }
|
|
|
Definition at line 66 of file OSGNodePtrImpl.inl. 00066 : 00067 Inherited(source) 00068 { 00069 }
|
|
|
Definition at line 54 of file OSGNodePtrDepImpl.inl. 00054 : 00055 Inherited(source) 00056 { 00057 }
|
|
|
Definition at line 75 of file OSGNodePtrImpl.inl.
|
|
|
Definition at line 94 of file OSGNodePtrDepImpl.inl. 00094 : 00095 Inherited(source) 00096 { 00097 }
|
|
|
Definition at line 60 of file OSGNodePtrDepImpl.inl. 00060 : 00061 Inherited(source) 00062 { 00063 }
|
|
||||||||||||||||
|
Definition at line 66 of file OSGNodePtrDepImpl.inl. 00068 : 00069 00070 Inherited(source, uiSize, uiParentPos) 00071 { 00072 }
|
|
||||||||||
|
|
|
Definition at line 127 of file OSGNodePtrDepImpl.inl. References osg::PThreadBase::getAspect(), and osg::FieldContainerPtrBase::getElemP(). 00128 { 00129 return ((Node *) getElemP(Thread::getAspect()))->getCore().getCPtr(); 00130 }
|
|
|
Reimplemented from osg::AttachmentContainerPtr. Definition at line 83 of file OSGNodePtrImpl.inl. References osg::PThreadBase::getAspect(), osg::FieldContainerPtrBase::getElemP(), and osg::AttachmentContainerPtr::operator->(). 00084 { 00085 #if 0 00086 return (Node *) getElemP(Thread::getAspect()); 00087 #else 00088 return reinterpret_cast<Node *>(Inherited::operator ->()); 00089 #endif 00090 }
|
|
|
Reimplemented from osg::AttachmentContainerPtr. Definition at line 93 of file OSGNodePtrImpl.inl. References osg::PThreadBase::getAspect(), osg::FieldContainerPtrBase::getElemP(), and osg::AttachmentContainerPtr::operator->(). 00094 { 00095 #if 0 00096 return (Node *) getElemP(Thread::getAspect()); 00097 #else 00098 return reinterpret_cast<Node *>(Inherited::operator ->()); 00099 #endif 00100 }
|
|
|
Reimplemented from osg::AttachmentContainerPtr. Definition at line 103 of file OSGNodePtrImpl.inl. References osg::PThreadBase::getAspect(), osg::FieldContainerPtrBase::getElemP(), and osg::AttachmentContainerPtr::operator->(). 00104 { 00105 #if 0 00106 return *((Node *) getElemP(Thread::getAspect())); 00107 #else 00108 return *(reinterpret_cast<Node *>(Inherited::operator ->())); 00109 #endif 00110 }
|
|
|
Reimplemented from osg::AttachmentContainerPtr. Definition at line 113 of file OSGNodePtrImpl.inl. References osg::PThreadBase::getAspect(), osg::FieldContainerPtrBase::getElemP(), and osg::AttachmentContainerPtr::operator->(). 00114 { 00115 #if 0 00116 return *((Node *) getElemP(Thread::getAspect())); 00117 #else 00118 return *(reinterpret_cast<Node *>(Inherited::operator ->())); 00119 #endif 00120 }
|
|
|
Reimplemented from osg::AttachmentContainerPtr. Definition at line 123 of file OSGNodePtrImpl.inl. References osg::PThreadBase::getAspect(), osg::AttachmentContainerPtr::getCPtr(), and osg::FieldContainerPtrBase::getElemP(). Referenced by osg::Switch::draw(), and osg::DistanceLOD::draw(). 00124 { 00125 #if 0 00126 return (Node *) getElemP(Thread::getAspect()); 00127 #else 00128 return reinterpret_cast<Node *>(Inherited::getCPtr()); 00129 #endif 00130 }
|
|
|
Reimplemented from osg::AttachmentContainerPtr. Definition at line 133 of file OSGNodePtrImpl.inl. References osg::PThreadBase::getAspect(), osg::AttachmentContainerPtr::getCPtr(), and osg::FieldContainerPtrBase::getElemP(). 00134 { 00135 #if 0 00136 return (Node *) getElemP(Thread::getAspect()); 00137 #else 00138 return reinterpret_cast<Node *>(Inherited::getCPtr()); 00139 #endif 00140 }
|
|
|
Definition at line 84 of file OSGNodePtrDepImpl.inl. 00085 { 00086 // copy parts inherited from parent 00087 *(static_cast<Inherited *>(this)) = source; 00088 }
|
|
|
Definition at line 147 of file OSGNodePtrImpl.inl. 00148 { 00149 // copy parts inherited from parent 00150 *(static_cast<Inherited *>(this)) = source; 00151 }
|
|
|
Reimplemented from osg::AttachmentContainerPtr. Definition at line 154 of file OSGNodePtrImpl.inl. 00155 { 00156 // copy parts inherited from parent 00157 *(static_cast<Inherited *>(this)) = source; 00158 }
|
|
|
|
|
||||||||||||
|
Definition at line 554 of file OSGFieldContainerPtrImpl.inl. References osg::PThreadBase::getAspect(), and osg::FieldContainerPtrBase::getContainerSize(). 00556 { 00557 #ifdef OSG_FIXED_MFIELDSYNC 00558 (*this)->execBeginEdit(whichField, 00559 Thread::getAspect(), 00560 getContainerSize()); 00561 #endif 00562 }
|
|
||||||||||||
|
Definition at line 578 of file OSGFieldContainerPtrImpl.inl. References osg::FieldContainerPtr::changed(), and osg::FieldContainerPtr::endEditNotChanged(). 00579 { 00580 endEditNotChanged(whichField, origin); 00581 changed(whichField, origin); 00582 }
|
|
||||||||||||
|
Definition at line 572 of file OSGFieldContainerPtrImpl.inl. Referenced by osg::FieldContainerPtr::endEdit().
|
|
||||||||||||
|
Definition at line 565 of file OSGFieldContainerPtrImpl.inl. References osg::ChangeList::addChanged(), and osg::PThreadBase::getCurrentChangeList(). Referenced by osg::FieldContainerPtr::endEdit(). 00567 { 00568 Thread::getCurrentChangeList()->addChanged(*this, whichField); 00569 }
|
|
|
|
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 }
|
|