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

osg::AttachmentContainer Class Reference
[Field Container]

#include <OSGAttachmentContainerImpl.h>

Inheritance diagram for osg::AttachmentContainer:

osg::FieldContainer osg::BackgroundBase osg::CameraBase osg::DisplayCalibrationBase osg::ForegroundBase osg::ImageBase osg::ImageComposerBase osg::MaterialBase osg::Node osg::NodeCore osg::ShaderParameterBase osg::ViewportBase osg::WindowBase List of all members.

General Fieldcontainer Declaration

*virtual osg::FieldContainerTypegetType (void)
virtual const osg::FieldContainerTypegetType (void) const
virtual osg::UInt32 getContainerSize (void) const
static osg::FieldContainerTypegetClassType (void)
static osg::UInt32 getClassTypeId (void)

Public Types

enum  { AttachmentsFieldId = Inherited::NextFieldId, NextFieldId = AttachmentsFieldId + 1 }

Public Member Functions

Handle Attachments
*void addAttachment (const AttachmentPtr &fieldContainerP, UInt16 binding=0)
void subAttachment (const AttachmentPtr &fieldContainerP, UInt16 binding=0)
AttachmentPtr findAttachment (UInt32 groupId, UInt16 binding=0)
AttachmentPtr findAttachment (const FieldContainerType &type, UInt16 binding=0)
Field Access *SFAttachmentMapgetSFAttachments (void)
Changed
*virtual void changed (BitVector whichField, UInt32 origin)
Binary Access
*virtual UInt32 getBinSize (const BitVector &whichField)
virtual void copyToBin (BinaryDataHandler &pMem, const BitVector &whichField)
virtual void copyFromBin (BinaryDataHandler &pMem, const BitVector &whichField)
Dump
*virtual void dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const
Get Instance Type Information
UInt32 getTypeId (void) const
UInt16 getGroupId (void) const
const Char8getTypeName (void) const
Generic Field Access *FieldgetField (UInt32 fieldId)
FieldgetField (const Char8 *fieldName)
Clone
*virtual FieldContainerPtr shallowCopy (void) const =0

Static Public Member Functions

Get Class Type Information
static UInt16 getClassGroupId (void)

Static Public Attributes

static const BitVector AttachmentsFieldMask
static const BitVector NextFieldMask
static const BitVector MTInfluenceMask = 0x00
CoredNodePtr helper
static const bool isNodeCore = false

Protected Types

typedef FieldContainer Inherited

Protected Member Functions

Constructors
AttachmentContainer (void)
 AttachmentContainer (const AttachmentContainer &source)
Destructor
*virtual ~AttachmentContainer (void)
Sync
*virtual void executeSync (FieldContainer &other, const BitVector &whichField)
void executeSyncImpl (AttachmentContainer *pOther, const BitVector &whichField)
Pointer
*AttachmentContainerPtr getPtr (void)
MT Edit
template<class FieldTypeT>
*void beginEditX (const BitVector &whichField, FieldTypeT &field)
template<class FieldTypeT>
void endEditX (const BitVector &whichField, FieldTypeT &field)
MT Construction
*void onCreate (const FieldContainer *source=NULL)
void onCreateAspect (const FieldContainer *aspect0, const FieldContainer *source=NULL)
MT Destruction
*virtual void onDestroy (void)
Sync
void executeSyncImpl (FieldContainer *pOther, const BitVector &whichField)

Static Protected Member Functions

Create Fieldcontainer
template<class ObjectPtrT>
*static void newPtr (ObjectPtrT &result, const typename ObjectPtrT::StoredObjectType *prototypeP)
template<class ObjectPtrT>
static void newPtr (ObjectPtrT &result)

Protected Attributes

Fields
*SFAttachmentMap _attachmentMap
Member
*UInt32 _shares

Static Protected Attributes

Type information
*static FieldDescription_desc []
static FieldContainerType _type

Private Member Functions

void operator= (const AttachmentContainer &source)
 prohibit default functions (move to 'public' if needed)

Friends

class FieldContainer
class FieldContainerType

Detailed Description

AttachmentContainer provides the functionality to store attachments for derived FieldContainer classes.

Definition at line 66 of file OSGAttachmentContainerImpl.h.


Member Typedef Documentation

typedef FieldContainer osg::AttachmentContainer::Inherited [protected]
 

Reimplemented in osg::ClusterWindow, osg::ClusterWindowBase, osg::DisplayCalibration, osg::DisplayCalibrationBase, osg::ImageComposer, osg::ImageComposerBase, osg::MultiDisplayWindow, osg::MultiDisplayWindowBase, osg::SortFirstWindow, osg::SortFirstWindowBase, osg::NodeCore, osg::Node, osg::Image, osg::ImageBase, osg::ChunkMaterial, osg::ChunkMaterialBase, osg::FresnelMaterial, osg::FresnelMaterialBase, osg::Material, osg::MaterialBase, osg::MultiPassMaterial, osg::MultiPassMaterialBase, osg::PhongMaterial, osg::PhongMaterialBase, osg::SimpleMaterial, osg::SimpleMaterialBase, osg::SimpleTexturedMaterial, osg::SimpleTexturedMaterialBase, osg::Drawable, osg::DrawableBase, osg::MaterialDrawable, osg::MaterialDrawableBase, osg::Geometry, osg::GeometryBase, osg::Slices, osg::SlicesBase, osg::Particles, osg::ParticlesBase, osg::DVRAppearance, osg::DVRAppearanceBase, osg::DVRGeometry, osg::DVRGeometryBase, osg::DVRVolume, osg::DVRVolumeBase, osg::Surface, osg::SurfaceBase, osg::Group, osg::GroupBase, osg::DirectionalLight, osg::DirectionalLightBase, osg::Light, osg::LightBase, osg::LightEnv, osg::LightEnvBase, osg::PointLight, osg::PointLightBase, osg::SpotLight, osg::SpotLightBase, osg::Billboard, osg::BillboardBase, osg::ComponentTransform, osg::ComponentTransformBase, osg::DistanceLOD, osg::DistanceLODBase, osg::Inline, osg::InlineBase, osg::InverseTransform, osg::InverseTransformBase, osg::MaterialGroup, osg::MaterialGroupBase, osg::MaterialPool, osg::MaterialPoolBase, osg::ProxyGroup, osg::ProxyGroupBase, osg::StateSortingGroup, osg::StateSortingGroupBase, osg::Switch, osg::SwitchBase, osg::Transform, osg::TransformBase, osg::GraphicStatisticsForeground, osg::GraphicStatisticsForegroundBase, osg::SimpleStatisticsForeground, osg::SimpleStatisticsForegroundBase, osg::StatisticsForeground, osg::StatisticsForegroundBase, osg::Background, osg::BackgroundBase, osg::Camera, osg::CameraBase, osg::CameraDecorator, osg::CameraDecoratorBase, osg::ColorBufferViewport, osg::ColorBufferViewportBase, osg::DepthClearBackground, osg::DepthClearBackgroundBase, osg::FileGrabForeground, osg::FileGrabForegroundBase, osg::Foreground, osg::ForegroundBase, osg::GrabForeground, osg::GrabForegroundBase, osg::GradientBackground, osg::GradientBackgroundBase, osg::ImageBackground, osg::ImageBackgroundBase, osg::ImageForeground, osg::ImageForegroundBase, osg::MatrixCamera, osg::MatrixCameraBase, osg::MatrixCameraDecorator, osg::MatrixCameraDecoratorBase, osg::OffCenterPerspectiveCamera, osg::OffCenterPerspectiveCameraBase, osg::PassiveBackground, osg::PassiveBackgroundBase, osg::PassiveViewport, osg::PassiveViewportBase, osg::PassiveWindow, osg::PassiveWindowBase, osg::PerspectiveCamera, osg::PerspectiveCameraBase, osg::PolygonBackground, osg::PolygonBackgroundBase, osg::PolygonForeground, osg::PolygonForegroundBase, osg::ProjectionCameraDecorator, osg::ProjectionCameraDecoratorBase, osg::ShearedStereoCameraDecorator, osg::ShearedStereoCameraDecoratorBase, osg::SkyBackground, osg::SkyBackgroundBase, osg::SolidBackground, osg::SolidBackgroundBase, osg::StereoBufferViewport, osg::StereoBufferViewportBase, osg::StereoCameraDecorator, osg::StereoCameraDecoratorBase, osg::TextureBackground, osg::TextureBackgroundBase, osg::TextureGrabBackground, osg::TextureGrabBackgroundBase, osg::TextureGrabForeground, osg::TextureGrabForegroundBase, osg::TileCameraDecorator, osg::TileCameraDecoratorBase, osg::Viewport, osg::ViewportBase, osg::Window, osg::WindowBase, osg::ShaderParameter, osg::ShaderParameterBase, osg::ShaderParameterBool, osg::ShaderParameterBoolBase, osg::ShaderParameterInt, osg::ShaderParameterIntBase, osg::ShaderParameterMatrix, osg::ShaderParameterMatrixBase, osg::ShaderParameterReal, osg::ShaderParameterRealBase, osg::ShaderParameterString, osg::ShaderParameterStringBase, osg::ShaderParameterVec2f, osg::ShaderParameterVec2fBase, osg::ShaderParameterVec3f, osg::ShaderParameterVec3fBase, osg::ShaderParameterVec4f, osg::ShaderParameterVec4fBase, osg::XWindow, osg::XWindowBase, osg::WIN32WindowBase, osg::GLUTWindowBase, osg::QTWindow, and osg::QTWindowBase.

Definition at line 72 of file OSGAttachmentContainerImpl.h.


Member Enumeration Documentation

anonymous enum
 

Enumerator:
AttachmentsFieldId 
NextFieldId 

Reimplemented from osg::FieldContainer.

Definition at line 78 of file OSGAttachmentContainerImpl.h.


Constructor & Destructor Documentation

AttachmentContainer::AttachmentContainer void   )  [protected]
 

Definition at line 256 of file OSGAttachmentContainer.cpp.

00256                                              :
00257      Inherited    (),
00258     _attachmentMap()
00259 {
00260 }

AttachmentContainer::AttachmentContainer const AttachmentContainer source  )  [protected]
 

Definition at line 262 of file OSGAttachmentContainer.cpp.

References _attachmentMap, addAttachment(), and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00262                                                                           :
00263      Inherited    (source),
00264     _attachmentMap()
00265 {
00266     AttachmentMap::const_iterator fcI =
00267         source._attachmentMap.getValue().begin();
00268 
00269     AttachmentMap::const_iterator fcEnd =
00270         source._attachmentMap.getValue().end  ();
00271 
00272     while(fcI != fcEnd)
00273     {
00274         addAttachment((*fcI).second);
00275 
00276         fcI++;
00277     }
00278 }

AttachmentContainer::~AttachmentContainer void   )  [protected, virtual]
 

Definition at line 283 of file OSGAttachmentContainer.cpp.

References _attachmentMap, osg::beginEditCP(), osg::endEditCP(), getPtr(), osg::SField< FieldTypeT, fieldNameSpace >::getValue(), osg::Attachment::ParentsFieldMask, and osg::subRefCP().

00284 {
00285     AttachmentMap::iterator attIt  = _attachmentMap.getValue().begin();
00286     AttachmentMap::iterator attEnd = _attachmentMap.getValue().end();
00287 
00288     AttachmentContainerPtr thisP = getPtr();
00289 
00290     while(attIt != attEnd)
00291     {
00292         beginEditCP((*attIt).second, Attachment::ParentsFieldMask);
00293         {
00294             (*attIt).second->subParent(thisP);
00295         }
00296         endEditCP  ((*attIt).second, Attachment::ParentsFieldMask);
00297 
00298         subRefCP   ((*attIt).second);
00299 
00300         ++attIt;
00301     }
00302 
00303     _attachmentMap.getValue().clear();
00304 }


Member Function Documentation

osg::FieldContainerType & AttachmentContainer::getType void   )  [virtual]
 

Reimplemented from osg::FieldContainer.

Reimplemented in osg::ClusterWindowBase, osg::DisplayCalibrationBase, osg::ImageComposerBase, osg::MultiDisplayWindowBase, osg::SortFirstWindowBase, osg::NodeCore, osg::Node, osg::ImageBase, osg::ChunkMaterialBase, osg::FresnelMaterialBase, osg::MaterialBase, osg::MultiPassMaterialBase, osg::PhongMaterialBase, osg::SimpleMaterialBase, osg::SimpleTexturedMaterialBase, osg::DrawableBase, osg::MaterialDrawableBase, osg::GeometryBase, osg::SlicesBase, osg::ParticlesBase, osg::DVRAppearanceBase, osg::DVRGeometryBase, osg::DVRVolumeBase, osg::SurfaceBase, osg::GroupBase, osg::DirectionalLightBase, osg::LightBase, osg::LightEnvBase, osg::PointLightBase, osg::SpotLightBase, osg::BillboardBase, osg::ComponentTransformBase, osg::DistanceLODBase, osg::InlineBase, osg::InverseTransformBase, osg::MaterialGroupBase, osg::MaterialPoolBase, osg::ProxyGroupBase, osg::StateSortingGroupBase, osg::SwitchBase, osg::TransformBase, osg::GraphicStatisticsForegroundBase, osg::SimpleStatisticsForegroundBase, osg::StatisticsForegroundBase, osg::BackgroundBase, osg::CameraBase, osg::CameraDecoratorBase, osg::ColorBufferViewportBase, osg::DepthClearBackgroundBase, osg::FileGrabForegroundBase, osg::ForegroundBase, osg::GrabForegroundBase, osg::GradientBackgroundBase, osg::ImageBackgroundBase, osg::ImageForegroundBase, osg::MatrixCameraBase, osg::MatrixCameraDecoratorBase, osg::OffCenterPerspectiveCameraBase, osg::PassiveBackgroundBase, osg::PassiveViewportBase, osg::PassiveWindowBase, osg::PerspectiveCameraBase, osg::PolygonBackgroundBase, osg::PolygonForegroundBase, osg::ProjectionCameraDecoratorBase, osg::ShearedStereoCameraDecoratorBase, osg::SkyBackgroundBase, osg::SolidBackgroundBase, osg::StereoBufferViewportBase, osg::StereoCameraDecoratorBase, osg::TextureBackgroundBase, osg::TextureGrabBackgroundBase, osg::TextureGrabForegroundBase, osg::TileCameraDecoratorBase, osg::ViewportBase, osg::WindowBase, osg::ShaderParameterBase, osg::ShaderParameterBoolBase, osg::ShaderParameterIntBase, osg::ShaderParameterMatrixBase, osg::ShaderParameterRealBase, osg::ShaderParameterStringBase, osg::ShaderParameterVec2fBase, osg::ShaderParameterVec3fBase, osg::ShaderParameterVec4fBase, osg::XWindowBase, osg::WIN32WindowBase, osg::GLUTWindowBase, and osg::QTWindowBase.

Definition at line 79 of file OSGAttachmentContainer.cpp.

const osg::FieldContainerType & AttachmentContainer::getType void   )  const [virtual]
 

Reimplemented from osg::FieldContainer.

Reimplemented in osg::ClusterWindowBase, osg::DisplayCalibrationBase, osg::ImageComposerBase, osg::MultiDisplayWindowBase, osg::SortFirstWindowBase, osg::NodeCore, osg::Node, osg::ImageBase, osg::ChunkMaterialBase, osg::FresnelMaterialBase, osg::MaterialBase, osg::MultiPassMaterialBase, osg::PhongMaterialBase, osg::SimpleMaterialBase, osg::SimpleTexturedMaterialBase, osg::DrawableBase, osg::MaterialDrawableBase, osg::GeometryBase, osg::SlicesBase, osg::ParticlesBase, osg::DVRAppearanceBase, osg::DVRGeometryBase, osg::DVRVolumeBase, osg::SurfaceBase, osg::GroupBase, osg::DirectionalLightBase, osg::LightBase, osg::LightEnvBase, osg::PointLightBase, osg::SpotLightBase, osg::BillboardBase, osg::ComponentTransformBase, osg::DistanceLODBase, osg::InlineBase, osg::InverseTransformBase, osg::MaterialGroupBase, osg::MaterialPoolBase, osg::ProxyGroupBase, osg::StateSortingGroupBase, osg::SwitchBase, osg::TransformBase, osg::GraphicStatisticsForegroundBase, osg::SimpleStatisticsForegroundBase, osg::StatisticsForegroundBase, osg::BackgroundBase, osg::CameraBase, osg::CameraDecoratorBase, osg::ColorBufferViewportBase, osg::DepthClearBackgroundBase, osg::FileGrabForegroundBase, osg::ForegroundBase, osg::GrabForegroundBase, osg::GradientBackgroundBase, osg::ImageBackgroundBase, osg::ImageForegroundBase, osg::MatrixCameraBase, osg::MatrixCameraDecoratorBase, osg::OffCenterPerspectiveCameraBase, osg::PassiveBackgroundBase, osg::PassiveViewportBase, osg::PassiveWindowBase, osg::PerspectiveCameraBase, osg::PolygonBackgroundBase, osg::PolygonForegroundBase, osg::ProjectionCameraDecoratorBase, osg::ShearedStereoCameraDecoratorBase, osg::SkyBackgroundBase, osg::SolidBackgroundBase, osg::StereoBufferViewportBase, osg::StereoCameraDecoratorBase, osg::TextureBackgroundBase, osg::TextureGrabBackgroundBase, osg::TextureGrabForegroundBase, osg::TileCameraDecoratorBase, osg::ViewportBase, osg::WindowBase, osg::ShaderParameterBase, osg::ShaderParameterBoolBase, osg::ShaderParameterIntBase, osg::ShaderParameterMatrixBase, osg::ShaderParameterRealBase, osg::ShaderParameterStringBase, osg::ShaderParameterVec2fBase, osg::ShaderParameterVec3fBase, osg::ShaderParameterVec4fBase, osg::XWindowBase, osg::WIN32WindowBase, osg::GLUTWindowBase, and osg::QTWindowBase.

Definition at line 79 of file OSGAttachmentContainer.cpp.

static osg ::FieldContainerType& osg::AttachmentContainer::getClassType void   )  [static]
 

Reimplemented from osg::FieldContainer.

Reimplemented in osg::ClusterWindowBase, osg::DisplayCalibrationBase, osg::ImageComposerBase, osg::MultiDisplayWindowBase, osg::SortFirstWindowBase, osg::NodeCore, osg::Node, osg::ImageBase, osg::ChunkMaterialBase, osg::FresnelMaterialBase, osg::MaterialBase, osg::MultiPassMaterialBase, osg::PhongMaterialBase, osg::SimpleMaterialBase, osg::SimpleTexturedMaterialBase, osg::DrawableBase, osg::MaterialDrawableBase, osg::GeometryBase, osg::SlicesBase, osg::ParticlesBase, osg::DVRAppearanceBase, osg::DVRGeometryBase, osg::DVRVolumeBase, osg::SurfaceBase, osg::GroupBase, osg::DirectionalLightBase, osg::LightBase, osg::LightEnvBase, osg::PointLightBase, osg::SpotLightBase, osg::BillboardBase, osg::ComponentTransformBase, osg::DistanceLODBase, osg::InlineBase, osg::InverseTransformBase, osg::MaterialGroupBase, osg::MaterialPoolBase, osg::ProxyGroupBase, osg::StateSortingGroupBase, osg::SwitchBase, osg::TransformBase, osg::GraphicStatisticsForegroundBase, osg::SimpleStatisticsForegroundBase, osg::StatisticsForegroundBase, osg::BackgroundBase, osg::CameraBase, osg::CameraDecoratorBase, osg::ColorBufferViewportBase, osg::DepthClearBackgroundBase, osg::FileGrabForegroundBase, osg::ForegroundBase, osg::GrabForegroundBase, osg::GradientBackgroundBase, osg::ImageBackgroundBase, osg::ImageForegroundBase, osg::MatrixCameraBase, osg::MatrixCameraDecoratorBase, osg::OffCenterPerspectiveCameraBase, osg::PassiveBackgroundBase, osg::PassiveViewportBase, osg::PassiveWindowBase, osg::PerspectiveCameraBase, osg::PolygonBackgroundBase, osg::PolygonForegroundBase, osg::ProjectionCameraDecoratorBase, osg::ShearedStereoCameraDecoratorBase, osg::SkyBackgroundBase, osg::SolidBackgroundBase, osg::StereoBufferViewportBase, osg::StereoCameraDecoratorBase, osg::TextureBackgroundBase, osg::TextureGrabBackgroundBase, osg::TextureGrabForegroundBase, osg::TileCameraDecoratorBase, osg::ViewportBase, osg::WindowBase, osg::ShaderParameterBase, osg::ShaderParameterBoolBase, osg::ShaderParameterIntBase, osg::ShaderParameterMatrixBase, osg::ShaderParameterRealBase, osg::ShaderParameterStringBase, osg::ShaderParameterVec2fBase, osg::ShaderParameterVec3fBase, osg::ShaderParameterVec4fBase, osg::XWindowBase, osg::WIN32WindowBase, osg::GLUTWindowBase, and osg::QTWindowBase.

Referenced by osg::OSGWriter::FCInfoHelper::setName().

static osg ::UInt32 osg::AttachmentContainer::getClassTypeId void   )  [static]
 

Reimplemented from osg::FieldContainer.

Reimplemented in osg::ClusterWindowBase, osg::DisplayCalibrationBase, osg::ImageComposerBase, osg::MultiDisplayWindowBase, osg::SortFirstWindowBase, osg::NodeCore, osg::Node, osg::ImageBase, osg::ChunkMaterialBase, osg::FresnelMaterialBase, osg::MaterialBase, osg::MultiPassMaterialBase, osg::PhongMaterialBase, osg::SimpleMaterialBase, osg::SimpleTexturedMaterialBase, osg::DrawableBase, osg::MaterialDrawableBase, osg::GeometryBase, osg::SlicesBase, osg::ParticlesBase, osg::DVRAppearanceBase, osg::DVRGeometryBase, osg::DVRVolumeBase, osg::SurfaceBase, osg::GroupBase, osg::DirectionalLightBase, osg::LightBase, osg::LightEnvBase, osg::PointLightBase, osg::SpotLightBase, osg::BillboardBase, osg::ComponentTransformBase, osg::DistanceLODBase, osg::InlineBase, osg::InverseTransformBase, osg::MaterialGroupBase, osg::MaterialPoolBase, osg::ProxyGroupBase, osg::StateSortingGroupBase, osg::SwitchBase, osg::TransformBase, osg::GraphicStatisticsForegroundBase, osg::SimpleStatisticsForegroundBase, osg::StatisticsForegroundBase, osg::BackgroundBase, osg::CameraBase, osg::CameraDecoratorBase, osg::ColorBufferViewportBase, osg::DepthClearBackgroundBase, osg::FileGrabForegroundBase, osg::ForegroundBase, osg::GrabForegroundBase, osg::GradientBackgroundBase, osg::ImageBackgroundBase, osg::ImageForegroundBase, osg::MatrixCameraBase, osg::MatrixCameraDecoratorBase, osg::OffCenterPerspectiveCameraBase, osg::PassiveBackgroundBase, osg::PassiveViewportBase, osg::PassiveWindowBase, osg::PerspectiveCameraBase, osg::PolygonBackgroundBase, osg::PolygonForegroundBase, osg::ProjectionCameraDecoratorBase, osg::ShearedStereoCameraDecoratorBase, osg::SkyBackgroundBase, osg::SolidBackgroundBase, osg::StereoBufferViewportBase, osg::StereoCameraDecoratorBase, osg::TextureBackgroundBase, osg::TextureGrabBackgroundBase, osg::TextureGrabForegroundBase, osg::TileCameraDecoratorBase, osg::ViewportBase, osg::WindowBase, osg::ShaderParameterBase, osg::ShaderParameterBoolBase, osg::ShaderParameterIntBase, osg::ShaderParameterMatrixBase, osg::ShaderParameterRealBase, osg::ShaderParameterStringBase, osg::ShaderParameterVec2fBase, osg::ShaderParameterVec3fBase, osg::ShaderParameterVec4fBase, osg::XWindowBase, osg::WIN32WindowBase, osg::GLUTWindowBase, and osg::QTWindowBase.

osg::UInt32 AttachmentContainer::getContainerSize void   )  const [virtual]
 

Implements osg::FieldContainer.

Reimplemented in osg::ClusterWindowBase, osg::DisplayCalibrationBase, osg::ImageComposerBase, osg::MultiDisplayWindowBase, osg::SortFirstWindowBase, osg::NodeCore, osg::Node, osg::ImageBase, osg::ChunkMaterialBase, osg::FresnelMaterialBase, osg::MaterialBase, osg::MultiPassMaterialBase, osg::PhongMaterialBase, osg::SimpleMaterialBase, osg::SimpleTexturedMaterialBase, osg::DrawableBase, osg::MaterialDrawableBase, osg::GeometryBase, osg::SlicesBase, osg::ParticlesBase, osg::DVRAppearanceBase, osg::DVRGeometryBase, osg::DVRVolumeBase, osg::SurfaceBase, osg::GroupBase, osg::DirectionalLightBase, osg::LightBase, osg::LightEnvBase, osg::PointLightBase, osg::SpotLightBase, osg::BillboardBase, osg::ComponentTransformBase, osg::DistanceLODBase, osg::InlineBase, osg::InverseTransformBase, osg::MaterialGroupBase, osg::MaterialPoolBase, osg::ProxyGroupBase, osg::StateSortingGroupBase, osg::SwitchBase, osg::TransformBase, osg::GraphicStatisticsForegroundBase, osg::SimpleStatisticsForegroundBase, osg::StatisticsForegroundBase, osg::BackgroundBase, osg::CameraBase, osg::CameraDecoratorBase, osg::ColorBufferViewportBase, osg::DepthClearBackgroundBase, osg::FileGrabForegroundBase, osg::ForegroundBase, osg::GrabForegroundBase, osg::GradientBackgroundBase, osg::ImageBackgroundBase, osg::ImageForegroundBase, osg::MatrixCameraBase, osg::MatrixCameraDecoratorBase, osg::OffCenterPerspectiveCameraBase, osg::PassiveBackgroundBase, osg::PassiveViewportBase, osg::PassiveWindowBase, osg::PerspectiveCameraBase, osg::PolygonBackgroundBase, osg::PolygonForegroundBase, osg::ProjectionCameraDecoratorBase, osg::ShearedStereoCameraDecoratorBase, osg::SkyBackgroundBase, osg::SolidBackgroundBase, osg::StereoBufferViewportBase, osg::StereoCameraDecoratorBase, osg::TextureBackgroundBase, osg::TextureGrabBackgroundBase, osg::TextureGrabForegroundBase, osg::TileCameraDecoratorBase, osg::ViewportBase, osg::WindowBase, osg::ShaderParameterBase, osg::ShaderParameterBoolBase, osg::ShaderParameterIntBase, osg::ShaderParameterMatrixBase, osg::ShaderParameterRealBase, osg::ShaderParameterStringBase, osg::ShaderParameterVec2fBase, osg::ShaderParameterVec3fBase, osg::ShaderParameterVec4fBase, osg::XWindowBase, osg::WIN32WindowBase, osg::GLUTWindowBase, and osg::QTWindowBase.

Definition at line 79 of file OSGAttachmentContainer.cpp.

void AttachmentContainer::addAttachment const AttachmentPtr fieldContainerP,
UInt16  binding = 0
 

Definition at line 84 of file OSGAttachmentContainer.cpp.

References osg::addRefCP(), osg::beginEditCP(), osg::endEditCP(), osg::NullFC, and osg::subRefCP().

Referenced by AttachmentContainer(), osg::Node::onCreate(), and osg::Image::setAttachmentField().

00086 {
00087     UInt32 key;
00088 
00089     if(fieldContainerP == NullFC)
00090         return;
00091 
00092     key = (UInt32 (fieldContainerP->getGroupId()) << 16) | binding;
00093 
00094     addRefCP(fieldContainerP);
00095 
00096     beginEditCP(fieldContainerP, Attachment::ParentsFieldMask);
00097     {
00098         fieldContainerP->addParent(getPtr());
00099     }
00100     endEditCP  (fieldContainerP, Attachment::ParentsFieldMask);
00101 
00102     AttachmentMap::iterator fcI = _attachmentMap.getValue().find(key);
00103 
00104     if(fcI != _attachmentMap.getValue().end())
00105     {
00106         beginEditCP((*fcI).second, Attachment::ParentsFieldMask);
00107         {
00108             (*fcI).second->subParent(getPtr());
00109         }
00110         endEditCP  ((*fcI).second, Attachment::ParentsFieldMask);
00111 
00112         subRefCP((*fcI).second);
00113 
00114         (*fcI).second = fieldContainerP;
00115     }
00116     else
00117     {
00118         _attachmentMap.getValue()[key] = fieldContainerP;
00119     }
00120 }

void AttachmentContainer::subAttachment const AttachmentPtr fieldContainerP,
UInt16  binding = 0
 

Definition at line 122 of file OSGAttachmentContainer.cpp.

References _attachmentMap, osg::beginEditCP(), osg::endEditCP(), getPtr(), osg::SField< FieldTypeT, fieldNameSpace >::getValue(), osg::NullFC, osg::Attachment::ParentsFieldMask, and osg::subRefCP().

00124 {
00125     UInt32 key;
00126 
00127     AttachmentMap::iterator fcI;
00128 
00129     if(fieldContainerP == NullFC)
00130         return;
00131 
00132     key = (UInt32(fieldContainerP->getGroupId()) << 16) | binding;
00133 
00134     fcI = _attachmentMap.getValue().find(key);
00135 
00136     if(fcI != _attachmentMap.getValue().end())
00137     {
00138         beginEditCP(fieldContainerP, Attachment::ParentsFieldMask);
00139         {
00140             (*fcI).second->subParent(getPtr());
00141         }
00142         endEditCP  (fieldContainerP, Attachment::ParentsFieldMask);
00143 
00144         subRefCP((*fcI).second);
00145 
00146         _attachmentMap.getValue().erase(fcI);
00147     }
00148 }

AttachmentPtr AttachmentContainer::findAttachment UInt32  groupId,
UInt16  binding = 0
 

Definition at line 150 of file OSGAttachmentContainer.cpp.

References _attachmentMap, osg::SField< FieldTypeT, fieldNameSpace >::getValue(), and osg::NullFC.

Referenced by osg::Image::findAttachmentField(), and osg::Image::setAttachmentField().

00152 {
00153     UInt32 key = (UInt32(groupId) << 16) | binding;
00154 
00155     AttachmentMap::iterator fcI = _attachmentMap.getValue().find(key);
00156 
00157     if(fcI == _attachmentMap.getValue().end())
00158     {
00159         return NullFC;
00160     }
00161     else
00162     {
00163         return (*fcI).second;
00164     }
00165 }

AttachmentPtr osg::AttachmentContainer::findAttachment const FieldContainerType type,
UInt16  binding = 0
[inline]
 

Definition at line 57 of file OSGAttachmentContainerImpl.inl.

00060 {
00061     return findAttachment(type.getGroupId(), binding);