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

osg::CNodePtr Class Reference
[Field Container]

#include <OSGCNodePtrImpl.h>

Inheritance diagram for osg::CNodePtr:

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

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
*NodegetNode (void)
NodegetNode (void) const
Container Access
*NodeCoreoperator-> (void)
NodeCoreoperator-> (void) const
NodeCoreoperator * (void)
NodeCoreoperator * (void) const
NodeCoregetCPtr (void)
NodeCoregetCPtr (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
*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 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
*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 75 of file OSGCNodePtrImpl.h.


Member Typedef Documentation

typedef NodeCore osg::CNodePtr::StoredObjectType
 

Reimplemented from osg::AttachmentContainerPtr.

Definition at line 81 of file OSGCNodePtrImpl.h.

typedef CNodePtr osg::CNodePtr::ObjectType
 

Reimplemented from osg::AttachmentContainerPtr.

Definition at line 82 of file OSGCNodePtrImpl.h.

typedef AttachmentContainerPtr osg::CNodePtr::Inherited
 

Reimplemented from osg::AttachmentContainerPtr.

Definition at line 84 of file OSGCNodePtrImpl.h.

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

Definition at line 99 of file OSGFieldContainerPtrImpl.h.


Constructor & Destructor Documentation

osg::CNodePtr::CNodePtr void   )  [inline]
 

Definition at line 58 of file OSGCNodePtrImpl.inl.

00058                        :
00059     Inherited()
00060 {
00061 }

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

Definition at line 64 of file OSGCNodePtrImpl.inl.

00064                                          :
00065     Inherited(source)
00066 {
00067 }

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

Definition at line 70 of file OSGCNodePtrImpl.inl.

00070                                                       :
00071     Inherited(source)
00072 {
00073 }

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

Definition at line 76 of file OSGCNodePtrImpl.inl.

00076                                         :
00077     Inherited(source)
00078 {
00079 }

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

Definition at line 85 of file OSGCNodePtrImpl.inl.

00086 {
00087 }

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

Definition at line 171 of file OSGCNodePtrImpl.inl.

00171                                      :
00172     Inherited(source)
00173 {
00174 }

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

Definition at line 177 of file OSGCNodePtrImpl.inl.

00177                                      :
00178     Inherited(source)
00179 {
00180 }

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

Definition at line 183 of file OSGCNodePtrImpl.inl.

00185                                               :
00186     Inherited(source, uiSize, uiParentPos)
00187 {
00188 }


Member Function Documentation

Node * osg::CNodePtr::getNode void   )  [inline]
 

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 }

Node * osg::CNodePtr::getNode void   )  const [inline]
 

Definition at line 99 of file OSGCNodePtrImpl.inl.

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

00100 {
00101     return (Node *) getElemP(Thread::getAspect());
00102 }

NodeCore * osg::CNodePtr::operator-> void   )  [inline]
 

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 }

NodeCore * osg::CNodePtr::operator-> void   )  const [inline]
 

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 }

NodeCore & osg::CNodePtr::operator * void   )  [inline]
 

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 }

NodeCore & osg::CNodePtr::operator * void   )  const [inline]
 

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 }

NodeCore * osg::CNodePtr::getCPtr void   )  [inline]
 

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 }

NodeCore * osg::CNodePtr::getCPtr void   )  const [inline]
 

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 }

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

Definition at line 147 of file OSGCNodePtrImpl.inl.

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

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

Definition at line 154 of file OSGCNodePtrImpl.inl.

00155 {
00156     // copy parts inherited from parent
00157     *(static_cast<Inherited *>(this)) = source;
00158 }

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

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 }

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

Reimplemented in osg::NodePtr, and osg::FCPtr< MaterialDrawablePtr, Geometry >.

Definition at line 51 of file OSGAttachmentContainerPtrDepImpl.inl.

References osg::AttachmentContainerPtr::AttachmentContainerPtr().

Referenced by osg::MaterialPool::addMaterialCB(), osg::QFCItem::addParents(), osg::QFCItem::addRefedContainer(), osg::MakeTransparentGraphOp::applyTransparency(), osg::VRMLViewpointDesc::beginNode(), osg::VRMLInlineDesc::beginNode(), osg::VRMLGroupDesc::beginNode(), osg::VRMLSwitchDesc::beginNode(), osg::VRMLLODDesc::beginNode(), osg::VRMLGeometryPointSetDesc::beginNode(), osg::VRMLGeometryDesc::beginNode(), osg::VRMLShapeDesc::beginNode(), osg::VRMLNodeDesc::beginNode(), osg::VRMLFile::beginNode(), osg::OSGLoader::beginNode(), osg::Surface::buildSurface(), osg::MultiDisplayWindow::clientInit(), osg::Geometry::CompareMaterials(), osg::XWindowBase::create(), osg::WIN32WindowBase::create(), osg::ViewportBase::create(), osg::TransformBase::create(), osg::TileCameraDecoratorBase::create(), osg::TextureGrabForegroundBase::create(), osg::TextureGrabBackgroundBase::create(), osg::TextureBackgroundBase::create(), osg::SwitchBase::create(), osg::SurfaceBase::create(), osg::StereoBufferViewportBase::create(), osg::StateSortingGroupBase::create(), osg::SpotLightBase::create(), osg::SortFirstWindowBase::create(), osg::SolidBackgroundBase::create(), osg::SlicesBase::create(), osg::SkyBackgroundBase::create(), osg::SimpleTexturedMaterialBase::create(), osg::SimpleStatisticsForegroundBase::create(), osg::SimpleMaterialBase::create(), osg::ShearedStereoCameraDecoratorBase::create(), osg::ShaderParameterVec4fBase::create(), osg::ShaderParameterVec3fBase::create(), osg::ShaderParameterVec2fBase::create(), osg::ShaderParameterStringBase::create(), osg::ShaderParameterRealBase::create(), osg::ShaderParameterMatrixBase::create(), osg::ShaderParameterIntBase::create(), osg::ShaderParameterBoolBase::create(), osg::QTWindowBase::create(), osg::ProxyGroupBase::create(), osg::ProjectionCameraDecoratorBase::create(), osg::PolygonForegroundBase::create(), osg::PolygonBackgroundBase::create(), osg::PointLightBase::create(), osg::PhongMaterialBase::create(), osg::PerspectiveCameraBase::create(), osg::PassiveWindowBase::create(), osg::PassiveViewportBase::create(), osg::PassiveBackgroundBase::create(), osg::ParticlesBase::create(), osg::OffCenterPerspectiveCameraBase::create(), osg::MultiPassMaterialBase::create(), osg::MultiDisplayWindowBase::create(), osg::MatrixCameraDecoratorBase::create(), osg::MatrixCameraBase::create(), osg::MaterialPoolBase::create(), osg::MaterialGroupBase::create(), osg::LightEnvBase::create(), osg::InverseTransformBase::create(), osg::InlineBase::create(), osg::ImageForegroundBase::create(), osg::ImageBase::create(), osg::ImageBackgroundBase::create(), osg::GroupBase::create(), osg::GraphicStatisticsForegroundBase::create(), osg::GradientBackgroundBase::create(), osg::GrabForegroundBase::create(), osg::GLUTWindowBase::create(), osg::GeometryBase::create(), osg::FresnelMaterialBase::create(), osg::FileGrabForegroundBase::create(), osg::DVRVolumeBase::create(), osg::DVRGeometryBase::create(), osg::DVRAppearanceBase::create(), osg::DistanceLODBase::create(), osg::DisplayCalibrationBase::create(), osg::DirectionalLightBase::create(), osg::DepthClearBackgroundBase::create(), osg::ComponentTransformBase::create(), osg::ColorBufferViewportBase::create(), osg::ClusterWindowBase::create(), osg::ChunkMaterialBase::create(), osg::BillboardBase::create(), osg::FieldContainerType::createNodeCore(), osg::deepClone(), osg::deepCloneTree(), osg::VRMLAppearanceDesc::endNode(), osg::VRMLGeometryPointSetDesc::endNode(), osg::VRMLGeometryDesc::endNode(), osg::VRMLShapeDesc::endNode(), osg::MergeGraphOp::excludeListLeave(), osg::VRMLViewpointDesc::getFieldAndDesc(), osg::VRMLInlineDesc::getFieldAndDesc(), osg::VRMLGroupDesc::getFieldAndDesc(), osg::VRMLSwitchDesc::getFieldAndDesc(), osg::VRMLLODDesc::getFieldAndDesc(), osg::VRMLGeometryPointSetDesc::getFieldAndDesc(), osg::VRMLGeometryDesc::getFieldAndDesc(), osg::VRMLNodeDesc::getFieldAndDesc(), osg::ShearedStereoCameraDecorator::getProjection(), osg::DVRClipGeometry::initialize(), modifyMaterial(), osg::QSceneGraphView::onSelectionChanged(), osg::MergeGraphOp::processGeometries(), osg::MergeGraphOp::processGroups(), osg::MergeGraphOp::processTransformations(), osg::QFCItem::QFCItem(), osg::RemoteAspect::receiveSync(), osg::SortFirstWindow::serverRender(), osg::MultiDisplayWindow::serverRender(), osg::VRMLFile::setContainerFieldValue(), osg::OSGLoader::setFieldContainerValue(), osg::PrimitiveIterator::setGeo(), osg::OSGWriter::FCInfoHelper::setName(), osg::SplitGraphOp::splitNode(), osg::MaterialPool::subMaterialCB(), osg::MakeTransparentGraphOp::traverse(), osg::VerifyGraphOp::traverseEnter(), osg::SplitGraphOp::traverseEnter(), osg::MergeGraphOp::traverseEnter(), osg::MaterialMergeGraphOp::traverseEnter(), osg::MakeTransparentGraphOp::traverseEnter(), osg::VerifyGeoGraphOp::travNodeEnter(), osg::StripeGraphOp::travNodeEnter(), osg::GeoTypeGraphOp::travNodeEnter(), osg::Navigator::updateCameraTransformation(), osg::TileGeometryLoad::updateGeometry(), osg::SHLChunk::updateParameters(), osg::SHLChunk::updateStereoLeftEye(), osg::TileLoadBalancer::updateSubtree(), osg::VerifyGraphOp::verifyGeometry(), osg::ClusterServer::windowChanged(), osg::VRMLWriteAction::writeComponentTransformEnter(), osg::VRMLWriteAction::writeGeoEnter(), osg::VRMLWriteAction::writeMatGroupEnter(), osg::VRMLWriteAction::writeTransformEnter(), and osg::RemoteAspect::~RemoteAspect().

00052 {
00053     return AttachmentContainerPtr(
00054         (dynamic_cast<const AttachmentContainer *>(oIn.getCPtr())),
00055         oIn.getContainerSize(),
00056         oIn.getParentFieldPos());
00057 }

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 li