#include <OSGCNodePtrImpl.h>
Inheritance diagram for osg::CNodePtr:

Public Types | |
| typedef NodeCore | StoredObjectType |
| typedef CNodePtr | ObjectType |
| typedef AttachmentContainerPtr | Inherited |
| typedef UInt8 *FieldContainerPtrBase::* | unspecified_bool_type |
Public Member Functions | |
| OSG_PROPERTY_DECL (Pointer) | |
Constructors | |
| * | CNodePtr (void) |
| CNodePtr (const CNodePtr &source) | |
| CNodePtr (const NullFieldContainerPtr &source) | |
| CNodePtr (const NodePtr &source) | |
Destructor | |
| * | ~CNodePtr (void) |
Node | |
| *Node * | getNode (void) |
| Node * | getNode (void) const |
Container Access | |
| *NodeCore * | operator-> (void) |
| NodeCore * | operator-> (void) const |
| NodeCore & | operator * (void) |
| NodeCore & | operator * (void) const |
| NodeCore * | getCPtr (void) |
| NodeCore * | getCPtr (void) const |
Assignment | |
| *void | operator= (const NodePtr &source) |
| void | operator= (const CNodePtr &source) |
| void | operator= (const NullFieldContainerPtr &source) |
Container Constructors | |
| * | CNodePtr (const Node &source) |
| Container Constructor, used to work around MS Bugs, use them only if you really now what you are doing ;-). | |
| CNodePtr (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 AttachmentContainerPtr | dcast (const InTypeT oIn) |
Static Public Attributes | |
| static const UInt16 | InvalidParentEPos = 0xFFFF |
Protected Member Functions | |
Internal Constructors | |
| * | CNodePtr (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 75 of file OSGCNodePtrImpl.h.
|
|
Reimplemented from osg::AttachmentContainerPtr. Definition at line 81 of file OSGCNodePtrImpl.h. |
|
|
Reimplemented from osg::AttachmentContainerPtr. Definition at line 82 of file OSGCNodePtrImpl.h. |
|
|
Reimplemented from osg::AttachmentContainerPtr. Definition at line 84 of file OSGCNodePtrImpl.h. |
|
|
Definition at line 99 of file OSGFieldContainerPtrImpl.h. |
|
|
Definition at line 58 of file OSGCNodePtrImpl.inl. 00058 : 00059 Inherited() 00060 { 00061 }
|
|
|
Definition at line 64 of file OSGCNodePtrImpl.inl. 00064 : 00065 Inherited(source) 00066 { 00067 }
|
|
|
Definition at line 70 of file OSGCNodePtrImpl.inl. 00070 : 00071 Inherited(source) 00072 { 00073 }
|
|
|
Definition at line 76 of file OSGCNodePtrImpl.inl. 00076 : 00077 Inherited(source) 00078 { 00079 }
|
|
|
Definition at line 85 of file OSGCNodePtrImpl.inl.
|
|
|
Definition at line 171 of file OSGCNodePtrImpl.inl. 00171 : 00172 Inherited(source) 00173 { 00174 }
|
|
|
Definition at line 177 of file OSGCNodePtrImpl.inl. 00177 : 00178 Inherited(source) 00179 { 00180 }
|
|
||||||||||||||||
|
Definition at line 183 of file OSGCNodePtrImpl.inl. 00185 : 00186 Inherited(source, uiSize, uiParentPos) 00187 { 00188 }
|
|
|
Definition at line 93 of file OSGCNodePtrImpl.inl. References osg::PThreadBase::getAspect(), and osg::FieldContainerPtrBase::getElemP(). Referenced by osg::VRMLWriteAction::writeComponentTransformEnter(), osg::VRMLWriteAction::writeMatGroupEnter(), and osg::VRMLWriteAction::writeTransformEnter(). 00094 { 00095 return (Node *) getElemP(Thread::getAspect()); 00096 }
|
|
|
Definition at line 99 of file OSGCNodePtrImpl.inl. References osg::PThreadBase::getAspect(), and osg::FieldContainerPtrBase::getElemP(). 00100 { 00101 return (Node *) getElemP(Thread::getAspect()); 00102 }
|
|
|
Reimplemented from osg::AttachmentContainerPtr. Definition at line 108 of file OSGCNodePtrImpl.inl. References osg::PThreadBase::getAspect(), and osg::FieldContainerPtrBase::getElemP(). 00109 { 00110 return ((Node *) getElemP(Thread::getAspect()))->getCore().getCPtr(); 00111 }
|
|
|
Reimplemented from osg::AttachmentContainerPtr. Definition at line 114 of file OSGCNodePtrImpl.inl. References osg::PThreadBase::getAspect(), and osg::FieldContainerPtrBase::getElemP(). 00115 { 00116 return ((Node *) getElemP(Thread::getAspect()))->getCore().getCPtr(); 00117 }
|
|
|
Reimplemented from osg::AttachmentContainerPtr. Definition at line 120 of file OSGCNodePtrImpl.inl. References osg::PThreadBase::getAspect(), and osg::FieldContainerPtrBase::getElemP(). 00121 { 00122 return *(((Node *) getElemP(Thread::getAspect()))->getCore().getCPtr()); 00123 }
|
|
|
Reimplemented from osg::AttachmentContainerPtr. Definition at line 126 of file OSGCNodePtrImpl.inl. References osg::PThreadBase::getAspect(), and osg::FieldContainerPtrBase::getElemP(). 00127 { 00128 return *(((Node *) getElemP(Thread::getAspect()))->getCore().getCPtr()); 00129 }
|
|
|
Reimplemented from osg::AttachmentContainerPtr. Definition at line 132 of file OSGCNodePtrImpl.inl. References osg::PThreadBase::getAspect(), and osg::FieldContainerPtrBase::getElemP(). 00133 { 00134 return ((Node *) getElemP(Thread::getAspect()))->getCore().getCPtr(); 00135 }
|
|
|
Reimplemented from osg::AttachmentContainerPtr. Definition at line 138 of file OSGCNodePtrImpl.inl. References osg::PThreadBase::getAspect(), and osg::FieldContainerPtrBase::getElemP(). 00139 { 00140 return ((Node *) getElemP(Thread::getAspect()))->getCore().getCPtr(); 00141 }
|
|
|
Definition at line 147 of file OSGCNodePtrImpl.inl. 00148 { 00149 // copy parts inherited from parent 00150 *(static_cast<Inherited *>(this)) = source; 00151 }
|
|
|
Definition at line 154 of file OSGCNodePtrImpl.inl. 00155 { 00156 // copy parts inherited from parent 00157 *(static_cast<Inherited *>(this)) = source; 00158 }
|
|
|
Reimplemented from osg::AttachmentContainerPtr. Definition at line 161 of file OSGCNodePtrImpl.inl. 00162 { 00163 // copy parts inherited from parent 00164 *(static_cast<Inherited *>(this)) = source; 00165 }
|
|
||||||||||
|
|
|
|
||||||||||||
|
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 li |