Public Types | |
| typedef AttachmentContainer | StoredObjectType |
| typedef AttachmentContainerPtr | ObjectType |
| typedef FieldContainerPtr | Inherited |
| typedef UInt8 *FieldContainerPtrBase::* | unspecified_bool_type |
Public Member Functions | |
| OSG_PROPERTY_DECL (Pointer) | |
Container Access | |
| AttachmentContainer * | operator-> (void) |
| AttachmentContainer * | operator-> (void) const |
| AttachmentContainer & | operator* (void) |
| AttachmentContainer & | operator* (void) const |
| AttachmentContainer * | getCPtr (void) |
| AttachmentContainer * | getCPtr (void) const |
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 | |
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 |
Private Attributes | |
| ShaderParameterVec4f * | _val |
This is a documentation wrapper. Its only purpose is to fool doxygen into thinking of a typedef as a class and to allow you to find all the needed info from this page.
Definition at line 7811 of file dummyClasses.dox.
typedef AttachmentContainer osg::AttachmentContainerPtr::StoredObjectType [inherited] |
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 [inherited] |
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 [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 102 of file OSGFieldContainerPtrImpl.h.
| 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::SwitchMaterialBase::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::ShaderParameterMVec4fBase::create(), osg::ShaderParameterMVec3fBase::create(), osg::ShaderParameterMVec2fBase::create(), osg::ShaderParameterMRealBase::create(), osg::ShaderParameterMMatrixBase::create(), osg::ShaderParameterMIntBase::create(), osg::ShaderParameterMatrixBase::create(), osg::ShaderParameterIntBase::create(), osg::ShaderParameterBoolBase::create(), osg::ScreenGroupBase::create(), osg::ResolutionDisplayFilterBase::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::OrthographicCameraBase::create(), osg::OffsetCameraDecoratorBase::create(), osg::OffCenterPerspectiveCameraBase::create(), osg::MultiSwitchBase::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::FogBase::create(), osg::FileGrabForegroundBase::create(), osg::FBOViewportBase::create(), osg::DVRVolumeBase::create(), osg::DVRGeometryBase::create(), osg::DVRAppearanceBase::create(), osg::DistortionDisplayFilterBase::create(), osg::DistanceLODBase::create(), osg::DisplayFilterForegroundBase::create(), osg::DisplayCalibrationBase::create(), osg::DirectionalLightBase::create(), osg::DepthClearBackgroundBase::create(), osg::ComponentTransformBase::create(), osg::ColorDisplayFilterBase::create(), osg::ColorBufferViewportBase::create(), osg::ClusterWindowBase::create(), osg::ClipPlaneBase::create(), osg::ChunkMaterialBase::create(), osg::BillboardBase::create(), osg::FieldContainerType::createNodeCore(), osg::deepClone(), osg::deepCloneTree(), osg::RenderAction::drawDepth(), osg::RenderAction::drawMultiFrameOcclusionBB(), 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::RenderAction::hasGeometryChild(), osg::DVRClipGeometry::initialize(), osg::RenderAction::isOccluded(), modifyMaterial(), osg::QSceneGraphView::onSelectionChanged(), osg::MergeGraphOp::processGeometries(), osg::MergeGraphOp::processGroups(), osg::MergeGraphOp::processTransformations(), osg::QFCItem::QFCItem(), osg::FBOViewport::render(), osg::SortFirstWindow::serverRender(), osg::MultiDisplayWindow::serverRender(), osg::VRMLFile::setContainerFieldValue(), osg::OSGLoader::setFieldContainerValue(), osg::PrimitiveIterator::setGeo(), osg::OSGWriter::FCInfoHelper::setName(), osg::SplitGraphOp::splitNode(), osg::RenderAction::stop(), 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::MultiDisplayWindow::updateViewport(), osg::VerifyGraphOp::verifyGeometry(), osg::ClusterServer::windowChanged(), osg::OBJSceneFileType::write(), 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)), 00055 oIn.getContainerSize(), 00056 oIn.getParentFieldPos()); 00057 }
| AttachmentContainer * osg::AttachmentContainerPtr::operator-> | ( | void | ) | [inline, inherited] |
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 static_cast<AttachmentContainer *>(Inherited::operator ->()); 00093 #endif 00094 }
| AttachmentContainer * osg::AttachmentContainerPtr::operator-> | ( | void | ) | const [inline, inherited] |
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 static_cast<AttachmentContainer *>(Inherited::operator ->()); 00103 #endif 00104 }
| AttachmentContainer & osg::AttachmentContainerPtr::operator* | ( | void | ) | [inline, inherited] |
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::FieldContainerPtr::operator*().
00108 { 00109 #if 0 00110 return *((AttachmentContainer *) getElemP(Thread::getAspect())); 00111 #else 00112 return static_cast<AttachmentContainer &>(Inherited::operator *()); 00113 #endif 00114 }
| AttachmentContainer & osg::AttachmentContainerPtr::operator* | ( | void | ) | const [inline, inherited] |
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::FieldContainerPtr::operator*().
00118 { 00119 #if 0 00120 return *((AttachmentContainer *) getElemP(Thread::getAspect())); 00121 #else 00122 return static_cast<AttachmentContainer &>(Inherited::operator *()); 00123 #endif 00124 }
| AttachmentContainer * osg::AttachmentContainerPtr::getCPtr | ( | void | ) | [inline, inherited] |
Reimplemented from osg::FieldContainerPtr.
Reimplemented in osg::CNodePtr, osg::NodePtr, and osg::FCPtr< MaterialDrawablePtr, Geometry >.
Definition at line 128 of file OSGAttachmentContainerPtrImpl.inl.
References osg::PThreadBase::getAspect(), osg::FieldContainerPtr::getCPtr(), and osg::FieldContainerPtrBase::getElemP().
Referenced by osg::NodePtr::getCPtr().
00129 { 00130 #if 0 00131 return (AttachmentContainer *) getElemP(Thread::getAspect()); 00132 #else 00133 return static_cast<AttachmentContainer *>(Inherited::getCPtr()); 00134 #endif 00135 }
| AttachmentContainer * osg::AttachmentContainerPtr::getCPtr | ( | void | ) | const [inline, inherited] |
Reimplemented from osg::FieldContainerPtr.
Reimplemented in osg::CNodePtr, osg::NodePtr, and osg::FCPtr< MaterialDrawablePtr, Geometry >.
Definition at line 138 of file OSGAttachmentContainerPtrImpl.inl.
References osg::PThreadBase::getAspect(), osg::FieldContainerPtr::getCPtr(), and osg::FieldContainerPtrBase::getElemP().
00139 { 00140 #if 0 00141 return (AttachmentContainer *) getElemP(Thread::getAspect()); 00142 #else 00143 return static_cast<AttachmentContainer *>(Inherited::getCPtr()); 00144 #endif 00145 }
| osg::FieldContainerPtr::OSG_PROPERTY_DECL | ( | Pointer | ) | [inherited] |
| void osg::FieldContainerPtr::beginEdit | ( | BitVector | whichField, | |
| UInt32 | origin | |||
| ) | const [inline, protected, inherited] |
Definition at line 715 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerFactory::checkThrowInvalidPointerException(), FFATAL, osg::NullFC, and osg::FieldContainerFactory::the().
Referenced by osg::beginEditCP().
00717 { 00718 #ifdef OSG_INVALID_PTR_CHECK 00719 if(_id != 0 && 00720 _id < FieldContainerFactory::the()->getFieldContainerStore()->size() && 00721 FieldContainerFactory::the()->getContainer(_id) == NullFC) 00722 { 00723 FFATAL(("FieldContainerPtr::beginEdit: invalid pointer!\n")); 00724 FieldContainerFactory::the()->checkThrowInvalidPointerException(); 00725 return; 00726 } 00727 #endif 00728 }
| void osg::FieldContainerPtr::endEdit | ( | BitVector | whichField, | |
| UInt32 | origin | |||
| ) | const [inline, protected, inherited] |
Definition at line 745 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtr::changed(), osg::FieldContainerFactory::checkThrowInvalidPointerException(), osg::FieldContainerPtr::endEditNotChanged(), FFATAL, osg::NullFC, and osg::FieldContainerFactory::the().
Referenced by osg::endEditCP().
00746 { 00747 #ifdef OSG_INVALID_PTR_CHECK 00748 if(_id != 0 && 00749 _id < FieldContainerFactory::the()->getFieldContainerStore()->size() && 00750 FieldContainerFactory::the()->getContainer(_id) == NullFC) 00751 { 00752 FFATAL(("FieldContainerPtr::endEdit: invalid pointer!\n")); 00753 FieldContainerFactory::the()->checkThrowInvalidPointerException(); 00754 return; 00755 } 00756 #endif 00757 00758 endEditNotChanged(whichField, origin); 00759 changed(whichField, origin); 00760 }
| void osg::FieldContainerPtr::changed | ( | BitVector | whichField, | |
| UInt32 | origin | |||
| ) | const [inline, protected, inherited] |
Definition at line 739 of file OSGFieldContainerPtrImpl.inl.
Referenced by osg::Image::changed(), osg::changedCP(), and osg::FieldContainerPtr::endEdit().
| void osg::FieldContainerPtr::endEditNotChanged | ( | BitVector | whichField, | |
| UInt32 | origin | |||
| ) | const [inline, protected, inherited] |
Definition at line 732 of file OSGFieldContainerPtrImpl.inl.
References osg::ChangeList::addChanged(), and osg::PThreadBase::getCurrentChangeList().
Referenced by osg::FieldContainerPtr::endEdit(), and osg::endEditNotChangedCP().
00734 { 00735 Thread::getCurrentChangeList()->addChanged(*this, whichField); 00736 }
| void osg::FieldContainerPtrBase::setParentFieldPos | ( | UInt16 | uiParentEPos | ) | [inline, inherited] |
Definition at line 230 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::Surface::setControlPoints(), 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(), osg::Geometry::setTexCoords4(), osg::Geometry::setTexCoords5(), osg::Geometry::setTexCoords6(), osg::Geometry::setTexCoords7(), osg::Surface::setTextureControlPoints(), and osg::Geometry::setTypes().
00231 { 00232 _uiParentEPos = uiParentEPos; 00233 }
| UInt16 osg::FieldContainerPtrBase::getParentFieldPos | ( | void | ) | const [inline, inherited] |
Definition at line 236 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtrBase::_uiParentEPos.
00237 { 00238 return _uiParentEPos; 00239 }
| Int32 osg::FieldContainerPtrBase::getRefCount | ( | void | ) | const [inline, inherited] |
Definition at line 245 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtrBase::_storeP, and osg::FieldContainerPtrBase::getRefCountP().
00246 { 00247 if(_storeP == NULL) 00248 return 0; 00249 00250 return (*getRefCountP()); 00251 }
| UInt32 osg::FieldContainerPtrBase::getFieldContainerId | ( | void | ) | const [inline, inherited] |
Definition at line 254 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtrBase::getIdP(), and osg::FieldContainerFactory::the().
Referenced by osg::ChangeList::addAddRefd(), osg::ChangeList::addChanged(), osg::ChangeList::addSubRefd(), and osg::FieldContainerFactory::unregisterFieldContainer().
00255 { 00256 #ifndef OSG_INVALID_PTR_CHECK 00257 return (*getIdP()); 00258 #else 00259 if(_id != 0 && _id < FieldContainerFactory::the()->getFieldContainerStore()->size()) 00260 return _id; 00261 00262 return (*getIdP()); 00263 #endif 00264 }
| UInt16 osg::FieldContainerPtrBase::getContainerSize | ( | void | ) | const [inline, inherited] |
Definition at line 267 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtrBase::_containerSize.
Referenced by osg::FieldContainerPtrBase::executeSync().
00268 { 00269 return _containerSize; 00270 }
| FieldContainer * osg::FieldContainerPtrBase::getBaseCPtr | ( | void | ) | const [inline, inherited] |
Definition at line 273 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtrBase::getFirstElemP().
Referenced by osg::FieldTraitsRecurseMapper< FieldContainerPtr, false >::putToString().
00274 { 00275 return reinterpret_cast<FieldContainer *>(getFirstElemP()); 00276 }
| FieldContainer * osg::FieldContainerPtrBase::getAspectCPtr | ( | UInt32 | uiAspectId | ) | const [inline, inherited] |
Definition at line 279 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().
00280 { 00281 return reinterpret_cast<FieldContainer *>(getElemP(uiAspectId)); 00282 }
| bool osg::FieldContainerPtrBase::operator< | ( | const NullFieldContainerPtr & | ) | const [inline, inherited] |
Definition at line 325 of file OSGFieldContainerPtrImpl.inl.
| bool osg::FieldContainerPtrBase::operator< | ( | const FieldContainerPtrBase & | other | ) | const [inline, inherited] |
Definition at line 347 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtrBase::_storeP.
00349 { 00350 return _storeP < other._storeP; 00351 }
| bool osg::FieldContainerPtrBase::operator== | ( | const NullFieldContainerPtr & | other | ) | const [inline, inherited] |
Definition at line 332 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtrBase::_storeP.
00334 { 00335 return _storeP == NULL; 00336 }
| bool osg::FieldContainerPtrBase::operator== | ( | const FieldContainerPtrBase & | other | ) | const [inline, inherited] |
Definition at line 354 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtrBase::_storeP.
00356 { 00357 return _storeP == other._storeP; 00358 }
| bool osg::FieldContainerPtrBase::operator!= | ( | const NullFieldContainerPtr & | other | ) | const [inline, inherited] |
Definition at line 339 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtrBase::_storeP.
00341 { 00342 return _storeP != NULL; 00343 }
| bool osg::FieldContainerPtrBase::operator!= | ( | const FieldContainerPtrBase & | other | ) | const [inline, inherited] |
Definition at line 361 of file OSGFieldContainerPtrImpl.inl.
| bool osg::FieldContainerPtrBase::operator! | ( | void | ) | const [inline, inherited] |
Definition at line 368 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtrBase::_storeP.
00369 { 00370 return _storeP == NULL; 00371 }
| osg::FieldContainerPtrBase::operator FieldContainerPtrBase::unspecified_bool_type | ( | ) | const [inline, inherited] |
Definition at line 374 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtrBase::_storeP.
00375 { 00376 return !*this ? 0 : &FieldContainerPtrBase::_storeP; 00377 }
| 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::blendImage(), 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 << reinterpret_cast<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 1423 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().
01426 { 01427 #if defined(OSG_FIXED_MFIELDSYNC) 01428 SyncInfo sInfo; 01429 01430 sInfo.syncMode = 0x0000; 01431 sInfo.uiSyncInfo = (uiFromAspect << 24) | (uiToAspect << 16); 01432 sInfo.uiCopyOffset = getContainerSize(); 01433 #endif 01434 01435 FieldContainer *pTo = 01436 (reinterpret_cast<FieldContainer *>(getElemP(uiToAspect))); 01437 01438 #if !defined(OSG_FIXED_MFIELDSYNC) 01439 pTo->executeSync( 01440 *(reinterpret_cast<FieldContainer *>(getElemP(uiFromAspect))), 01441 whichField); 01442 #else 01443 pTo->executeSync(*((FieldContainer *) getElemP(uiFromAspect)), 01444 whichField, 01445 sInfo); 01446 #endif 01447 01448 pTo->changed(whichField, ChangedOrigin::Sync); 01449 }
| Int32 * osg::FieldContainerPtrBase::getRefCountP | ( | void | ) | [inline, protected, inherited] |
Definition at line 70 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtrBase::_storeP.
Referenced by osg::FieldContainerPtrBase::addRef(), osg::FieldContainerPtrBase::dump(), osg::FieldContainerPtrBase::getRefCount(), and osg::FieldContainerPtrBase::subRef().
| Int32 * osg::FieldContainerPtrBase::getRefCountP | ( | void | ) | const [inline, protected, inherited] |
Definition at line 76 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtrBase::_storeP.
| UInt32 * osg::FieldContainerPtrBase::getIdP | ( | void | ) | [inline, protected, inherited] |
Definition at line 82 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtrBase::_storeP.
Referenced by osg::FieldContainerPtrBase::deleteContainers(), osg::FieldContainerPtrBase::dump(), osg::FieldContainerPtrBase::FieldContainerPtrBase(), and osg::FieldContainerPtrBase::getFieldContainerId().
| UInt32 * osg::FieldContainerPtrBase::getIdP | ( | void | ) | const [inline, protected, inherited] |
Definition at line 88 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtrBase::_storeP.
| UInt8 * osg::FieldContainerPtrBase::getFirstElemP | ( | void | ) | [inline, protected, inherited] |
Definition at line 106 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtrBase::_storeP.
Referenced by osg::FieldContainerPtrBase::deleteContainers(), osg::FieldContainerPtrBase::dump(), osg::FieldContainerPtrBase::FieldContainerPtrBase(), osg::FieldContainerPtrBase::getBaseCPtr(), osg::ConstFieldContainerPtr::getCPtr(), osg::FieldContainerPtr::getCPtr(), osg::ConstFieldContainerPtr::operator*(), osg::FieldContainerPtr::operator*(), osg::ConstFieldContainerPtr::operator->(), osg::FieldContainerPtr::operator->(), osg::FieldContainerPtrBase::operator=(), and osg::FieldContainerPtrBase::setNull().
00107 { 00108 return _storeP; 00109 }
| UInt8 * osg::FieldContainerPtrBase::getFirstElemP | ( | void | ) | const [inline, protected, inherited] |
Definition at line 112 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtrBase::_storeP.
00113 { 00114 return _storeP; 00115 }
Definition at line 94 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtrBase::_containerSize, and osg::FieldContainerPtrBase::_storeP.
Referenced by osg::FieldContainerPtrBase::executeSync(), osg::FieldContainerPtrBase::getAspectCPtr(), osg::NodePtr::getCore(), osg::NodePtr::getCPtr(), osg::ConstFieldContainerPtr::getCPtr(), osg::FieldContainerPtr::getCPtr(), osg::CNodePtr::getCPtr(), osg::AttachmentPtr::getCPtr(), osg::AttachmentContainerPtr::getCPtr(), osg::CNodePtr::getNode(), osg::NodePtr::operator*(), osg::ConstFieldContainerPtr::operator*(), osg::FieldContainerPtr::operator*(), osg::CNodePtr::operator*(), osg::AttachmentPtr::operator*(), osg::AttachmentContainerPtr::operator*(), osg::NodePtr::operator->(), osg::ConstFieldContainerPtr::operator->(), osg::FieldContainerPtr::operator->(), osg::CNodePtr::operator->(), osg::AttachmentPtr::operator->(), and osg::AttachmentContainerPtr::operator->().
00095 { 00096 return (_storeP + (_containerSize * uiElemNum)); 00097 }
| UInt8 * osg::FieldContainerPtrBase::getElemP | ( | UInt32 | uiElemNum | ) | const [inline, protected, inherited] |
Definition at line 100 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtrBase::_containerSize, and osg::FieldContainerPtrBase::_storeP.
00101 { 00102 return (_storeP + (_containerSize * uiElemNum)); 00103 }
| Int32 osg::FieldContainerPtrBase::getRefCountOff | ( | void | ) | const [inline, protected, inherited] |
Definition at line 121 of file OSGFieldContainerPtrImpl.inl.
Referenced by osg::FieldContainerPtrBase::deleteContainers().
| Int32 osg::FieldContainerPtrBase::getIdOff | ( | void | ) | const [inline, protected, inherited] |
Definition at line 127 of file OSGFieldContainerPtrImpl.inl.
| Int32 osg::FieldContainerPtrBase::getFirstElemOff | ( | void | ) | const [inline, protected, inherited] |
Definition at line 133 of file OSGFieldContainerPtrImpl.inl.
| Int32 osg::FieldContainerPtrBase::getElemOff | ( | UInt32 | uiElemNum | ) | const [inline, protected, inherited] |
Definition at line 139 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtrBase::_containerSize.
Referenced by osg::FieldContainerPtrBase::FieldContainerPtrBase().
00140 { 00141 return (_containerSize * uiElemNum); 00142 }
| void osg::FieldContainerPtrBase::addRef | ( | void | ) | const [inline, protected, inherited] |
Definition at line 481 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtrBase::_pRefCountLock, osg::FieldContainerPtrBase::_storeP, osg::ChangeList::addAddRefd(), osg::LockPool::aquire(), osg::FieldContainerFactory::checkThrowInvalidPointerException(), FFATAL, osg::PThreadBase::getCurrentChangeList(), osg::FieldContainerPtrBase::getRefCountP(), osg::NullFC, osg::LockPool::release(), and osg::FieldContainerFactory::the().
Referenced by osg::addRefCP(), and osg::setRefdCP().
00482 { 00483 #ifdef OSG_INVALID_PTR_CHECK 00484 if(_id != 0 && 00485 _id < FieldContainerFactory::the()->getFieldContainerStore()->size() && 00486 FieldContainerFactory::the()->getContainer(_id) == NullFC) 00487 { 00488 FFATAL(("FieldContainerPtr::addRef: invalid pointer!\n")); 00489 FieldContainerFactory::the()->checkThrowInvalidPointerException(); 00490 return; 00491 } 00492 #endif 00493 00494 _pRefCountLock->aquire(_storeP); 00495 00496 (*getRefCountP())++; 00497 00498 _pRefCountLock->release(_storeP); 00499 00500 Thread::getCurrentChangeList()->addAddRefd( 00501 *(static_cast<const FieldContainerPtr *>(this))); 00502 }
| void osg::FieldContainerPtrBase::subRef | ( | void | ) | const [inline, protected, inherited] |
Definition at line 124 of file OSGFieldContainerPtrDepImpl.inl.
References osg::FieldContainerPtrBase::_pRefCountLock, osg::FieldContainerPtrBase::_storeP, osg::ChangeList::addSubRefd(), osg::LockPool::aquire(), osg::FieldContainerFactory::checkThrowInvalidPointerException(), osg::FieldContainerPtrBase::deleteContainers(), FFATAL, osg::PThreadBase::getCurrentChangeList(), osg::FieldContainerPtrBase::getRefCountP(), osg::NullFC, osg::LockPool::release(), and osg::FieldContainerFactory::the().
Referenced by osg::clearRefCP(), osg::setRefdCP(), and osg::subRefCP().
00125 { 00126 #ifdef OSG_INVALID_PTR_CHECK 00127 if(_id != 0 && 00128 _id < FieldContainerFactory::the()->getFieldContainerStore()->size() && 00129 FieldContainerFactory::the()->getContainer(_id) == NullFC) 00130 { 00131 FFATAL(("FieldContainerPtr::subRef: invalid pointer!\n")); 00132 FieldContainerFactory::the()->checkThrowInvalidPointerException(); 00133 return; 00134 } 00135 #endif 00136 00137 #if !defined(OSG_FIXED_MFIELDSYNC) 00138 _pRefCountLock->aquire(_storeP); 00139 00140 (*getRefCountP())--; 00141 00142 if((*getRefCountP()) <= 0) 00143 { 00144 _pRefCountLock->release(_storeP); 00145 00146 deleteContainers(); 00147 00148 // Clean up a little. 00149 const_cast<FieldContainerPtrBase*>(this)->_storeP = NULL; 00150 } 00151 else 00152 { 00153 _pRefCountLock->release(_storeP); 00154 00155 Thread::getCurrentChangeList()->addSubRefd( 00156 *(static_cast<const FieldContainerPtr *>(this))); 00157 } 00158 #else 00159 Thread::getCurrentChangeList()->addSubRefd( 00160 *(static_cast<const FieldContainerPtr *>(this))); 00161 #endif 00162 }
| void osg::FieldContainerPtrBase::deleteContainers | ( | void | ) | const [inline, protected, inherited] |
Definition at line 78 of file OSGFieldContainerPtrDepImpl.inl.
References osg::FieldContainerPtrBase::_containerSize, osg::FieldContainerPtrBase::_storeP, osg::ChangeList::addDestroyed(), osg::PThreadBase::getAspect(), osg::PThreadBase::getCurrentChangeList(), osg::FieldContainerPtrBase::getFirstElemP(), osg::FieldContainerPtrBase::getIdP(), osg::ThreadManager::getNumAspects(), osg::FieldContainerPtrBase::getRefCountOff(), and osg::FieldContainerFactory::the().
Referenced by osg::FieldContainerPtrBase::subRef().
00079 { 00080 // dump(0, FCDumpFlags::RefCount); 00081 00082 Thread::getCurrentChangeList()->addDestroyed(*getIdP()); 00083 00084 if (FieldContainerFactory::the()->unregisterFieldContainer( 00085 *(static_cast<const FieldContainerPtr *>(this)))) 00086 { 00087 return; 00088 } 00089 00090 UInt8 *pTmp = getFirstElemP(); 00091 00092 (reinterpret_cast<FieldContainer *>(pTmp))->onDestroy(); 00093 00094 #if defined(OSG_GV_BETA) && defined(OSG_DBG_MEM) 00095 00096 fprintf(stderr, "GV_MEM_FC_DBG : (%u) d (%p|%u)\n", 00097 Thread::getAspect(), 00098 pTmp, 00099 // ((FieldContainer *) pTmp)->getType().getCName(), 00100 ((FieldContainer *) pTmp)->getType().getId()); 00101 #endif 00102 00103 #if defined(OSG_FIXED_MFIELDSYNC) 00104 ((FieldContainer *) pTmp)->~FieldContainer(); 00105 #endif 00106 00107 for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++) 00108 { 00109 #if defined(OSG_FIXED_MFIELDSYNC) 00110 ((FieldContainer *) pTmp)->onDestroyAspect(*(getIdP()), i); 00111 #endif 00112 00113 #if !defined(OSG_FIXED_MFIELDSYNC) 00114 (reinterpret_cast<FieldContainer *>(pTmp))->~FieldContainer(); 00115 #endif 00116 00117 pTmp += _containerSize; 00118 } 00119 00120 operator delete(_storeP + getRefCountOff()); 00121 }
| void osg::FieldContainerPtrBase::setNull | ( | void | ) | [inline, protected, inherited] |
Definition at line 505 of file OSGFieldContainerPtrImpl.inl.
References osg::FieldContainerPtrBase::_containerSize, osg::FieldContainerPtrBase::_storeP, osg::FieldContainerPtrBase::_uiParentEPos, osg::FieldContainerPtrBase::getFirstElemP(), and osg::FieldContainerPtrBase::InvalidParentEPos.
Referenced by osg::ConstFieldContainerPtr::operator=(), and osg::FieldContainerPtr::operator=().
00506 { 00507 _containerSize = 0; 00508 _uiParentEPos = InvalidParentEPos; 00509 _storeP = NULL; 00510 00511 #ifdef OSG_DEBUG_FCPTR 00512 _typedStoreP = reinterpret_cast<FieldContainer *>(getFirstElemP()); 00513 #endif 00514 00515 #ifdef OSG_INVALID_PTR_CHECK 00516 _id = 0; 00517 #endif 00518 }
Reimplemented from osg::ShaderParameterPtr.
Definition at line 7811 of file dummyClasses.dox.
const UInt16 FieldContainerPtrBase::InvalidParentEPos = 0xFFFF [static, inherited] |
Definition at line 101 of file OSGFieldContainerPtrImpl.h.
Referenced by osg::FieldContainerPtrBase::FieldContainerPtrBase(), osg::FieldContainerPtrBase::operator=(), and osg::FieldContainerPtrBase::setNull().
UInt16 osg::FieldContainerPtrBase::_containerSize [protected, inherited] |
Definition at line 200 of file OSGFieldContainerPtrImpl.h.
Referenced by osg::FieldContainerPtrBase::deleteContainers(), osg::FieldContainerPtrBase::FieldContainerPtrBase(), osg::FieldContainerPtrBase::getContainerSize(), osg::FieldContainerPtrBase::getElemOff(), osg::FieldContainerPtrBase::getElemP(), osg::FieldContainerPtrBase::operator=(), osg::FieldContainerPtrBase::setNull(), and osg::FieldContainerPtrBase::~FieldContainerPtrBase().
UInt16 osg::FieldContainerPtrBase::_uiParentEPos [protected, inherited] |
Definition at line 201 of file OSGFieldContainerPtrImpl.h.
Referenced by osg::FieldContainerPtrBase::FieldContainerPtrBase(), osg::FieldContainerPtrBase::getParentFieldPos(), osg::FieldContainerPtrBase::operator=(), osg::FieldContainerPtrBase::setNull(), osg::FieldContainerPtrBase::setParentFieldPos(), and osg::FieldContainerPtrBase::~FieldContainerPtrBase().
UInt8* osg::FieldContainerPtrBase::_storeP [protected, inherited] |
Definition at line 202 of file OSGFieldContainerPtrImpl.h.
Referenced by osg::FieldContainerPtrBase::addRef(), osg::FieldContainerPtrBase::deleteContainers(), osg::FieldContainerPtrBase::dump(), osg::FieldContainerPtrBase::FieldContainerPtrBase(), osg::FieldContainerPtrBase::getElemP(), osg::FieldContainerPtrBase::getFirstElemP(), osg::FieldContainerPtrBase::getIdP(), osg::FieldContainerPtrBase::getRefCount(), osg::FieldContainerPtrBase::getRefCountP(), osg::FieldContainerPtrBase::operator unspecified_bool_type(), osg::FieldContainerPtrBase::operator!(), osg::FieldContainerPtrBase::operator!=(), osg::FieldContainerPtrBase::operator<(), osg::FieldContainerPtrBase::operator=(), osg::FieldContainerPtrBase::operator==(), osg::FieldContainerPtrBase::setNull(), osg::FieldContainerPtrBase::subRef(), and osg::FieldContainerPtrBase::~FieldContainerPtrBase().
1.6.1