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

osg::AttachmentContainerPtr Class Reference
[Field Container]

#include <OSGAttachmentContainerPtrImpl.h>

Inheritance diagram for osg::AttachmentContainerPtr:

osg::FieldContainerPtr osg::FieldContainerPtrBase osg::BackgroundPtr osg::CameraPtr osg::CNodePtr osg::DisplayCalibrationPtr osg::ForegroundPtr osg::ImageComposerPtr osg::ImagePtr osg::MaterialPtr osg::NodeCorePtr osg::NodePtr osg::ShaderParameterPtr osg::ViewportPtr osg::WindowPtr List of all members.

Public Types

typedef AttachmentContainer StoredObjectType
typedef AttachmentContainerPtr ObjectType
typedef FieldContainerPtr Inherited
typedef UInt8 *FieldContainerPtrBase::* unspecified_bool_type

Public Member Functions

 OSG_PROPERTY_DECL (Pointer)
Constructors
AttachmentContainerPtr (void)
 AttachmentContainerPtr (const AttachmentContainerPtr &source)
 AttachmentContainerPtr (const NullFieldContainerPtr &source)
Destructor
~AttachmentContainerPtr (void)
Container Access
*AttachmentContaineroperator-> (void)
AttachmentContaineroperator-> (void) const
AttachmentContaineroperator * (void)
AttachmentContaineroperator * (void) const
AttachmentContainergetCPtr (void)
AttachmentContainergetCPtr (void) const
Assignment
*void operator= (const AttachmentContainerPtr &source)
void operator= (const NullFieldContainerPtr &source)
Container Constructors
AttachmentContainerPtr (const AttachmentContainer &source)
 Container Constructor, used to work around MS Bugs, use them only if you really now what you are doing ;-).
 AttachmentContainerPtr (const AttachmentContainer *source)
 Container Constructor, used to work around MS Bugs, use them only if you really now what you are doing ;-).

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
AttachmentContainerPtr (const AttachmentContainer *source, const UInt16 uiSize, const UInt16 uiParentPos)

Friends

class FieldContainer

Detailed Description

Definition at line 71 of file OSGAttachmentContainerPtrImpl.h.


Member Typedef Documentation

typedef AttachmentContainer osg::AttachmentContainerPtr::StoredObjectType
 

Reimplemented from osg::FieldContainerPtr.

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

Definition at line 78 of file OSGAttachmentContainerPtrImpl.h.

typedef AttachmentContainerPtr osg::AttachmentContainerPtr::ObjectType
 

Reimplemented from osg::FieldContainerPtr.

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

Definition at line 79 of file OSGAttachmentContainerPtrImpl.h.

typedef FieldContainerPtr osg::AttachmentContainerPtr::Inherited
 

Reimplemented from osg::FieldContainerPtr.

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

Definition at line 81 of file OSGAttachmentContainerPtrImpl.h.

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

Definition at line 99 of file OSGFieldContainerPtrImpl.h.


Constructor & Destructor Documentation

osg::AttachmentContainerPtr::AttachmentContainerPtr void   )  [inline]
 

Definition at line 54 of file OSGAttachmentContainerPtrImpl.inl.

Referenced by dcast().

00054                                                    :
00055     Inherited()
00056 {
00057 }

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

Definition at line 60 of file OSGAttachmentContainerPtrImpl.inl.

00061                                           :
00062 
00063     Inherited(source)
00064 {
00065 }

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

Definition at line 68 of file OSGAttachmentContainerPtrImpl.inl.

00069                                          :
00070 
00071     Inherited(source)
00072 {
00073 }

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

Definition at line 79 of file OSGAttachmentContainerPtrImpl.inl.

00080 {
00081 }

AttachmentContainerPtr::AttachmentContainerPtr const AttachmentContainer source  )  [explicit]
 

Definition at line 58 of file OSGAttachmentContainerPtr.cpp.

00059                                        :
00060 
00061     Inherited(source)
00062 {
00063 }

AttachmentContainerPtr::AttachmentContainerPtr const AttachmentContainer source  )  [explicit]
 

Definition at line 65 of file OSGAttachmentContainerPtr.cpp.

00066                                        :
00067 
00068     Inherited(source)
00069 {
00070 }

AttachmentContainerPtr::AttachmentContainerPtr const AttachmentContainer source,
const UInt16  uiSize,
const UInt16  uiParentPos
[protected]
 

Definition at line 72 of file OSGAttachmentContainerPtr.cpp.

00075                                             :
00076 
00077     Inherited(source, uiSize, uiParentPos)
00078 {
00079 }


Member Function Documentation

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

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

Definition at line 51 of file OSGAttachmentContainerPtrDepImpl.inl.

References 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 }

AttachmentContainer * osg::AttachmentContainerPtr::operator-> void   )  [inline]
 

Reimplemented from osg::FieldContainerPtr.

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

Definition at line 87 of file OSGAttachmentContainerPtrImpl.inl.

References osg::PThreadBase::getAspect(), osg::FieldContainerPtrBase::getElemP(), and osg::FieldContainerPtr::operator->().

Referenced by osg::NodePtr::operator *(), and osg::NodePtr::operator->().

00088 {
00089 #if 0
00090     return (AttachmentContainer *) getElemP(Thread::getAspect());
00091 #else
00092     return (AttachmentContainer *) Inherited::operator ->();
00093 #endif
00094 }

AttachmentContainer * osg::AttachmentContainerPtr::operator-> void   )  const [inline]
 

Reimplemented from osg::FieldContainerPtr.

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

Definition at line 97 of file OSGAttachmentContainerPtrImpl.inl.

References osg::PThreadBase::getAspect(), osg::FieldContainerPtrBase::getElemP(), and osg::FieldContainerPtr::operator->().

00098 {
00099 #if 0
00100     return (AttachmentContainer *) getElemP(Thread::getAspect());
00101 #else
00102     return (AttachmentContainer *) Inherited::operator ->();
00103 #endif
00104 }

AttachmentContainer & osg::AttachmentContainerPtr::operator * void   )  [inline]
 

Reimplemented from osg::FieldContainerPtr.

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

Definition at line 107 of file OSGAttachmentContainerPtrImpl.inl.

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

00108 {
00109 #if 0
00110     return *((AttachmentContainer *) getElemP(Thread::getAspect()));
00111 #else
00112     return (AttachmentContainer &) Inherited::operator *();
00113 #endif
00114 }

AttachmentContainer & osg::AttachmentContainerPtr::operator * void   )  const [inline]
 

Reimplemented from osg::FieldContainerPtr.

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

Definition at line 117 of file OSGAttachmentContainerPtrImpl.inl.

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

00118 {
00119 #if 0
00120     return *((AttachmentContainer *) getElemP(Thread::getAspect()));
00121 #else
00122     return (AttachmentContainer &) Inherited::operator *();
00123 #endif
00124 }

AttachmentContainer * osg::AttachmentContainerPtr::getCPtr void   )  [inline]
 

Reimplemented from osg::FieldContainerPtr.

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

Definition at line 127 of file OSGAttachmentContainerPtrImpl.inl.

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

Referenced by osg::RenderAction::dropGeometry(), osg::NodePtr::getCPtr(), osg::MaterialDrawable::renderActionHandler(), and osg::SortFirstWindow::serverRender().

00128 {
00129 #if 0
00130     return (AttachmentContainer *) getElemP(Thread::getAspect());
00131 #else
00132     return (AttachmentContainer *) Inherited::getCPtr();
00133 #endif
00134 }

AttachmentContainer * osg::AttachmentContainerPtr::getCPtr void   )  const [inline]
 

Reimplemented from osg::FieldContainerPtr.

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

Definition at line 137 of file OSGAttachmentContainerPtrImpl.inl.

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

00138 {
00139 #if 0
00140     return (AttachmentContainer *) getElemP(Thread::getAspect());
00141 #else
00142     return (AttachmentContainer *) Inherited::getCPtr();
00143 #endif
00144 }

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

Definition at line 150 of file OSGAttachmentContainerPtrImpl.inl.

00151 {
00152     // copy parts inherited from parent
00153     *(static_cast<Inherited *>(this)) = source;
00154 }

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

Reimplemented from osg::FieldContainerPtr.

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

Definition at line 157 of file OSGAttachmentContainerPtrImpl.inl.

00158 {
00159     // copy parts inherited from parent
00160     *(static_cast<Inherited *>(this)) = source;
00161 }

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  whichField
[inline, protected, inherited]
 

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 }

Int32 * osg::FieldContainerPtrBase::getRefCountP void   )  [inline, protected, inherited]
 

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().

00067 {
00068     return (Int32 *) (_storeP - sizeof(Int32) - sizeof(UInt32));
00069 }

Int32 * osg::FieldContainerPtrBase::getRefCountP void