Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

osg::NodePtr Class Reference
[Field Container]

#include <OSGNodePtrImpl.h>

Inheritance diagram for osg::NodePtr:

osg::AttachmentContainerPtr osg::FieldContainerPtr osg::FieldContainerPtrBase List of all members.

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
*NodeCoregetCore (void)
NodeCoregetCore (void) const
Container Access
*Nodeoperator-> (void)
Nodeoperator-> (void) const
Nodeoperator * (void)
Nodeoperator * (void) const
NodegetCPtr (void)
NodegetCPtr (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
*FieldContainergetBaseCPtr (void) const
FieldContainergetAspectCPtr (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
*Int32getRefCountP (void)
Int32getRefCountP (void) const
UInt32getIdP (void)
UInt32getIdP (void) const
UInt8getFirstElemP (void)
UInt8getFirstElemP (void) const
UInt8getElemP (UInt32 uiElemNum)
UInt8getElemP (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

Detailed Description

Definition at line 77 of file OSGNodePtrImpl.h.


Member Typedef Documentation

typedef Node osg::NodePtr::StoredObjectType
 

Reimplemented from osg::AttachmentContainerPtr.

Definition at line 83 of file OSGNodePtrImpl.h.

typedef NodePtr osg::NodePtr::ObjectType
 

Reimplemented from osg::AttachmentContainerPtr.

Definition at line 84 of file OSGNodePtrImpl.h.

typedef AttachmentContainerPtr osg::NodePtr::Inherited
 

Reimplemented from osg::AttachmentContainerPtr.

Definition at line 86 of file OSGNodePtrImpl.h.

typedef UInt8* FieldContainerPtrBase::* osg::FieldContainerPtrBase::unspecified_bool_type [inherited]
 

Definition at line 99 of file OSGFieldContainerPtrImpl.h.


Constructor & Destructor Documentation

osg::NodePtr::NodePtr void   )  [inline]
 

Definition at line 54 of file OSGNodePtrImpl.inl.

Referenced by dcast().

00054                      : 
00055     Inherited()
00056 {
00057 }

osg::NodePtr::NodePtr const NodePtr source  )  [inline]
 

Definition at line 60 of file OSGNodePtrImpl.inl.

00060                                       :
00061     Inherited(source)
00062 {
00063 }

osg::NodePtr::NodePtr const NullFieldContainerPtr source  )  [inline]
 

Definition at line 66 of file OSGNodePtrImpl.inl.

00066                                                     :
00067     Inherited(source)
00068 {
00069 }

osg::NodePtr::NodePtr const CNodePtr source  )  [inline, explicit]
 

Definition at line 54 of file OSGNodePtrDepImpl.inl.

00054                                        :
00055     Inherited(source)
00056 {
00057 }

osg::NodePtr::~NodePtr void   )  [inline]
 

Definition at line 75 of file OSGNodePtrImpl.inl.

00076 {
00077 }

osg::NodePtr::NodePtr const Node source  )  [inline, explicit]
 

Definition at line 94 of file OSGNodePtrDepImpl.inl.

00094                                    :
00095     Inherited(source)
00096 {
00097 }

osg::NodePtr::NodePtr const Node source  )  [inline, explicit]
 

Definition at line 60 of file OSGNodePtrDepImpl.inl.

00060                                    :
00061     Inherited(source)
00062 {
00063 }

osg::NodePtr::NodePtr const Node source,
const UInt16  uiSize,
const UInt16  uiParentPos
[inline, protected]
 

Definition at line 66 of file OSGNodePtrDepImpl.inl.

00068                                             :
00069 
00070     Inherited(source, uiSize, uiParentPos)
00071 {
00072 }


Member Function Documentation

template<class InTypeT>
NodePtr osg::NodePtr::dcast const InTypeT  oIn  )  [inline, static]
 

Reimplemented from osg::AttachmentContainerPtr.

Definition at line 75 of file OSGNodePtrDepImpl.inl.

References NodePtr().

Referenced by osg::QFCItem::addParents(), osg::QFCItem::addRefedContainer(), osg::VRMLViewpointDesc::beginNode(), osg::VRMLInlineDesc::beginNode(), osg::VRMLExtrusionDesc::beginNode(), osg::VRMLGroupDesc::beginNode(), osg::VRMLSwitchDesc::beginNode(), osg::VRMLLODDesc::beginNode(), osg::VRMLGeometryObjectDesc::beginNode(), osg::VRMLGeometryPointSetDesc::beginNode(), osg::VRMLGeometryDesc::beginNode(), osg::VRMLShapeDesc::beginNode(), osg::VRMLNodeDesc::beginNode(), osg::VRMLFile::beginNode(), osg::OSGLoader::beginNode(), osg::BINLoader::createFieldContainers(), osg::FieldContainerType::createNode(), osg::VRMLFile::endField(), osg::VRMLInlineDesc::endNode(), osg::VRMLExtrusionDesc::endNode(), osg::VRMLGeometryObjectDesc::endNode(), osg::VRMLGeometryPointSetDesc::endNode(), osg::VRMLGeometryDesc::endNode(), osg::VRMLShapeDesc::endNode(), osg::VRMLFile::endNode(), osg::OSGLoader::endNode(), osg::VRMLViewpointDesc::getFieldAndDesc(), osg::VRMLInlineDesc::getFieldAndDesc(), osg::VRMLGroupDesc::getFieldAndDesc(), osg::VRMLSwitchDesc::getFieldAndDesc(), osg::VRMLLODDesc::getFieldAndDesc(), osg::VRMLGeometryPointSetDesc::getFieldAndDesc(), osg::VRMLGeometryDesc::getFieldAndDesc(), osg::VRMLShapeDesc::getFieldAndDesc(), osg::VRMLNodeDesc::getFieldAndDesc(), osg::VRMLFile::setContainerFieldValue(), osg::OSGLoader::setFieldContainerValue(), osg::VRMLFile::use(), and osg::RemoteAspect::~RemoteAspect().

00076 {
00077     return NodePtr(
00078         (dynamic_cast<const Node *>(oIn.getCPtr())),
00079         oIn.getContainerSize(),
00080         oIn.getParentFieldPos());
00081 }

NodeCore * osg::NodePtr::getCore void   )  [inline]
 

Definition at line 121 of file OSGNodePtrDepImpl.inl.

References osg::PThreadBase::getAspect(), and osg::FieldContainerPtrBase::getElemP().

Referenced by osg::SharePtrGraphOp::addAttachmentParent(), osg::MaterialPool::addMaterialCB(), osg::VRMLWriteAction::addNodeUse(), osg::Action::callEnter(), osg::Action::callLeave(), osg::SharePtrGraphOp::clearAttachmentParent(), osg::cloneTree(), osg::deepCloneTree(), osg::VRMLFile::endField(), osg::VRMLGeometryPointSetDesc::endNode(), osg::VRMLGeometryDesc::endNode(), osg::VRMLShapeDesc::endNode(), osg::VRMLFile::endNode(), osg::OSGLoader::endNode(), osg::MergeGraphOp::excludeListLeave(), osg::VRMLFile::findFCByName(), osg::VRMLViewpointDesc::getFieldAndDesc(), osg::VRMLInlineDesc::getFieldAndDesc(), osg::VRMLGroupDesc::getFieldAndDesc(), osg::VRMLSwitchDesc::getFieldAndDesc(), osg::VRMLLODDesc::getFieldAndDesc(), osg::VRMLGeometryPointSetDesc::getFieldAndDesc(), osg::VRMLGeometryDesc::getFieldAndDesc(), osg::VRMLShapeDesc::getFieldAndDesc(), osg::VRMLNodeDesc::getFieldAndDesc(), osg::DVRClipGeometry::initialize(), osg::SplitGraphOp::isGroup(), osg::MergeGraphOp::isGroup(), modifyMaterial(), osg::CoredNodePtr< Core >::operator=(), osg::SceneFileHandler::readTopNodes(), osg::Action::recurse(), osg::PrimitiveIterator::setGeo(), osg::SplitGraphOp::splitNode(), osg::MaterialPool::subMaterialCB(), osg::VerifyGraphOp::traverseEnter(), osg::SplitGraphOp::traverseEnter(), osg::SingleTypeGraphOp< Type >::traverseEnter(), osg::MergeGraphOp::traverseEnter(), osg::MaterialMergeGraphOp::traverseEnter(), osg::MakeTransparentGraphOp::traverseEnter(), osg::SingleTypeGraphOp< Type >::traverseLeave(), osg::VerifyGeoGraphOp::travNodeEnter(), osg::StripeGraphOp::travNodeEnter(), osg::GeoTypeGraphOp::travNodeEnter(), osg::Navigator::updateCameraTransformation(), osg::TileGeometryLoad::updateGeometry(), osg::SimpleSceneManager::updateHighlight(), osg::TileLoadBalancer::updateSubtree(), osg::VerifyGraphOp::verifyGeometry(), osg::VRMLWriteAction::writeGeoEnter(), and osg::VRMLWriteAction::writeGroupEnter().

00122 {
00123     return ((Node *) getElemP(Thread::getAspect()))->getCore().getCPtr();
00124 }

NodeCore * osg::NodePtr::getCore void   )  const [inline]
 

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 }

Node * osg::NodePtr::operator-> void   )  [inline]
 

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 }

Node * osg::NodePtr::operator-> void   )  const [inline]
 

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 }

Node & osg::NodePtr::operator * void   )  [inline]
 

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 }

Node & osg::NodePtr::operator * void   )  const [inline]
 

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 }

Node * osg::NodePtr::getCPtr void   )  [inline]
 

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 }

Node * osg::NodePtr::getCPtr void   )  const [inline]
 

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 }

void osg::NodePtr::operator= const CNodePtr source  )  [inline]
 

Definition at line 84 of file OSGNodePtrDepImpl.inl.

00085 {
00086     // copy parts inherited from parent
00087     *(static_cast<Inherited *>(this)) = source;
00088 }

void osg::NodePtr::operator= const NodePtr source  )  [inline]
 

Definition at line 147 of file OSGNodePtrImpl.inl.

00148 {
00149     // copy parts inherited from parent
00150     *(static_cast<Inherited *>(this)) = source;
00151 }

void osg::NodePtr::operator= const NullFieldContainerPtr source  )  [inline]
 

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 }

osg::FieldContainerPtr::OSG_PROPERTY_DECL Pointer   )  [inherited]
 

void osg::FieldContainerPtr::beginEdit BitVector  whichField,
UInt32  origin
const [inline, protected, inherited]
 

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 }

void osg::FieldContainerPtr::endEdit BitVector  whichField,
UInt32  origin
const [inline, protected, inherited]
 

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 }

void osg::FieldContainerPtr::changed BitVector  whichField,
UInt32  origin
const [inline, protected, inherited]
 

Definition at line 572 of file OSGFieldContainerPtrImpl.inl.

Referenced by osg::FieldContainerPtr::endEdit().

00573 {
00574     (*this)->changed(whichField, origin);
00575 }

void osg::FieldContainerPtr::endEditNotChanged BitVector  whichField,
UInt32  origin
const [inline, protected, inherited]
 

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 }

void osg::FieldContainerPtrBase::setParentFieldPos UInt16  uiParentEPos  )  [inline, inherited]
 

Definition at line 201 of file OSGFieldContainerPtrImpl.inl.

References osg::FieldContainerPtrBase::_uiParentEPos.

Referenced by osg::SharePtrGraphOp::addAttachmentParent(), osg::SharePtrGraphOp::clearAttachmentParent(), osg::SharePtrGraphOp::compareFCs(), osg::Particles::setColors(), osg::Geometry::setColors(), osg::Node::setCore(), osg::Geometry::setIndices(), osg::Geometry::setLengths(), osg::Particles::setNormals(), osg::Geometry::setNormals(), osg::Particles::setPositions(), osg::Geometry::setPositions(), osg::Geometry::setSecondaryColors(), osg::Particles::setSecPositions(), osg::Geometry::setTexCoords(), osg::Geometry::setTexCoords1(), osg::Geometry::setTexCoords2(), osg::Geometry::setTexCoords3(), and osg::Geometry::setTypes().

00202 {
00203     _uiParentEPos = uiParentEPos;
00204 }

UInt16 osg::FieldContainerPtrBase::getParentFieldPos void   )  const [inline, inherited]
 

Definition at line 207 of file OSGFieldContainerPtrImpl.inl.

References osg::FieldContainerPtrBase::_uiParentEPos.

00208 {
00209     return _uiParentEPos;
00210 }

Int32 osg::FieldContainerPtrBase::getRefCount void   )  const [inline, inherited]
 

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 }

UInt32 osg::FieldContainerPtrBase::getFieldContainerId void   )  const [inline, inherited]
 

Definition at line 225 of file OSGFieldContainerPtrImpl.inl.

References osg::FieldContainerPtrBase::getIdP().

Referenced by osg::RemoteAspect::_defaultChangedFunction(), osg::RemoteAspect::_defaultCreatedFunction(), osg::RemoteAspect::_defaultDestroyedFunction(), osg::ChangeList::addAddRefd(), osg::ChangeList::addChanged(), osg::VRMLWriteAction::addContainerUse(), osg::VRMLWriteAction::addNodeUse(), osg::ChangeList::addSubRefd(), osg::BINWriter::addToIdMap(), osg::FieldTraitsRecurseMapper< FieldContainerPtr, false >::copyToBin(), osg::BINLoader::createFieldContainers(), osg::BINWriter::doIndexFC(), osg::NodeCore::dump(), osg::Node::dump(), osg::Geometry::dump(), osg::Attachment::dump(), osg::VRMLWriteAction::getInfo(), osg::ClusterWindow::getNetwork(), osg::RemoteAspect::receiveSync(), osg::RemoteAspect::sendSync(), osg::OSGWriter::FCInfoHelper::setName(), osg::FieldContainerFactory::unregisterFieldContainer(), and osg::TileLoadBalancer::updateSubtree().

00226 {
00227     return (*getIdP());
00228 }

UInt16 osg::FieldContainerPtrBase::getContainerSize void   )  const [inline, inherited]
 

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 }

FieldContainer * osg::FieldContainerPtrBase::getBaseCPtr void   )  const [inline, inherited]
 

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 }

FieldContainer * osg::FieldContainerPtrBase::getAspectCPtr UInt32  uiAspectId  )  const [inline, inherited]
 

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 }

bool osg::FieldContainerPtrBase::operator< const NullFieldContainerPtr  )  const [inline, inherited]
 

Definition at line 281 of file OSGFieldContainerPtrImpl.inl.

00283 {
00284     return false;
00285 }

bool osg::FieldContainerPtrBase::operator< const FieldContainerPtrBase  )  const [inline, inherited]
 

Definition at line 303 of file OSGFieldContainerPtrImpl.inl.

References osg::FieldContainerPtrBase::_storeP.

00305 {
00306     return _storeP < other._storeP;
00307 }

bool osg::FieldContainerPtrBase::operator== const NullFieldContainerPtr other  )  const [inline, inherited]
 

Definition at line 288 of file OSGFieldContainerPtrImpl.inl.

References osg::FieldContainerPtrBase::_storeP.

00290 {
00291     return _storeP == NULL;
00292 }

bool osg::FieldContainerPtrBase::operator== const FieldContainerPtrBase other  )  const [inline, inherited]
 

Definition at line 310 of file OSGFieldContainerPtrImpl.inl.

References osg::FieldContainerPtrBase::_storeP.

00312 {
00313     return _storeP == other._storeP;
00314 }

bool osg::FieldContainerPtrBase::operator!= const NullFieldContainerPtr other  )  const [inline, inherited]
 

Definition at line 295 of file OSGFieldContainerPtrImpl.inl.

References osg::FieldContainerPtrBase::_storeP.

00297 {
00298     return _storeP != NULL;
00299 }

bool osg::FieldContainerPtrBase::operator!= const FieldContainerPtrBase other  )  const [inline, inherited]
 

Definition at line 317 of file OSGFieldContainerPtrImpl.inl.

00319 {
00320     return ! (*this == other);
00321 }

bool osg::FieldContainerPtrBase::operator! void   )  const [inline, inherited]
 

Definition at line 324 of file OSGFieldContainerPtrImpl.inl.

References osg::FieldContainerPtrBase::_storeP.

00325 {
00326     return _storeP == NULL;
00327 }

osg::FieldContainerPtrBase::operator FieldContainerPtrBase::unspecified_bool_type  )  const [inline, inherited]
 

Definition at line 330 of file OSGFieldContainerPtrImpl.inl.

References osg::FieldContainerPtrBase::_storeP.

00331 {
00332     return !*this ? 0 : &FieldContainerPtrBase::_storeP;
00333 }

void FieldContainerPtrBase::dump UInt32  uiIndent = 0,
const BitVector  bvFlags = 0
const [inherited]
 

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 }

bool FieldContainerPtrBase::initialize void   )  [static, protected, inherited]
 

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 }

bool FieldContainerPtrBase::terminate void   )  [static, protected, inherited]
 

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 }

void osg::FieldContainerPtrBase::executeSync UInt32  uiFromAspect,
UInt32  uiToAspect,
BitVector