OSG::AlgorithmBase Class Reference

Algorithm Base Class.

#include <OSGAlgorithmBase.h>

Inheritance diagram for OSG::AlgorithmBase:

OSG::FieldContainer OSG::ReflexiveContainer OSG::Algorithm List of all members.

Type definitions



typedef FieldContainer Self
 OSG_GEN_INTERNALPTR (FieldContainer)
 OSG_RC_FIRST_FIELD_DECL (ChangedCallbacks)
 OSG_RC_LAST_FIELD_DECL (ChangedCallbacks)
static const bool isNodeCore = false

Public Types

typedef FieldContainer Inherited
typedef FieldContainer ParentContainer
typedef Inherited::TypeObject TypeObject
typedef TypeObject::InitPhase InitPhase
Type definitions


typedef Field *(ReflexiveContainer::*) FieldEditMethod (void)
typedef const Field *(ReflexiveContainer::*) FieldGetMethod (void) const

Public Member Functions

 OSG_GEN_INTERNALPTR (Algorithm)
FieldContainer Get


virtual FieldContainerTypegetType (void)
virtual const FieldContainerTypegetType (void) const
virtual UInt32 getContainerSize (void) const
Binary Access


virtual UInt32 getBinSize (ConstFieldMaskArg whichField)
virtual void copyToBin (BinaryDataHandler &pMem, ConstFieldMaskArg whichField)
virtual void copyFromBin (BinaryDataHandler &pMem, ConstFieldMaskArg whichField)
Get


virtual ObjPtr shallowCopy (void) const=0
Set


virtual void changed (ConstFieldMaskArg whichField, UInt32 origin, BitVector details)
void callChangedFunctors (ConstFieldMaskArg whichField)
Container Access


UInt32 addChangedFunctor (ChangedFunctor func, std::string createSymbol)
template<class FunctorT>
void subChangedFunctor (FunctorT func)
void subChangedFunctor (UInt32 uiId)
void clearChangedFunctors (void)
Field Flags


const FieldFlagsgetFieldFlags (void)
Helper


OSG_SYSTEM_DLLMAPPING void addReference (void)
OSG_SYSTEM_DLLMAPPING void subReference (void)
OSG_SYSTEM_DLLMAPPING void subReferenceLocalVar (void)
OSG_SYSTEM_DLLMAPPING Int32 getRefCount (void) const
Comparison


virtual OSG_SYSTEM_DLLMAPPING
void 
invalidateVolume (void)
Dump


virtual OSG_SYSTEM_DLLMAPPING
void 
dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const
dcast


OSG_SYSTEM_DLLMAPPING UInt32 getTypeId (void) const
OSG_SYSTEM_DLLMAPPING UInt16 getGroupId (void) const
OSG_SYSTEM_DLLMAPPING const
Char8 * 
getTypeName (void) const
Get Field


OSG_SYSTEM_DLLMAPPING UInt32 getNumFields (void) const
OSG_SYSTEM_DLLMAPPING EditFieldHandlePtr editField (UInt32 fieldId)
OSG_SYSTEM_DLLMAPPING EditFieldHandlePtr editField (const Char8 *fieldName)
OSG_SYSTEM_DLLMAPPING GetFieldHandlePtr getField (UInt32 fieldId) const
OSG_SYSTEM_DLLMAPPING GetFieldHandlePtr getField (const Char8 *fieldName) const
Get Field Description


OSG_SYSTEM_DLLMAPPING FieldDescriptionBasegetFieldDescription (UInt32 fieldId)
OSG_SYSTEM_DLLMAPPING FieldDescriptionBasegetFieldDescription (const Char8 *fieldName)
Comparison


OSG_SYSTEM_DLLMAPPING EditFieldHandlePtr invalidEditField (void)
OSG_SYSTEM_DLLMAPPING GetFieldHandlePtr invalidGetField (void) const

Static Public Member Functions

Class Get


static FieldContainerTypegetClassType (void)
 access the type of the class
static UInt32 getClassTypeId (void)
 access the numerical type of the class
static UInt16 getClassGroupId (void)
 access the type of the class

Static Public Attributes

Constants


static const UInt32 NextFieldId = 1
static const BitVector NextFieldMask = 0x01

Protected Member Functions

Constructors


 AlgorithmBase (void)
 AlgorithmBase (const AlgorithmBase &source)
Destructors


virtual ~AlgorithmBase (void)
Sync


virtual void resolveLinks (void)
Edit


OSG_SYSTEM_DLLMAPPING void subReferenceUnresolved (void)
MT Construction


OSG_SYSTEM_DLLMAPPING void onCreateAspect (const FieldContainer *createAspect, const FieldContainer *source=NULL)
OSG_SYSTEM_DLLMAPPING void onCreate (const FieldContainer *source=NULL)
virtual OSG_SYSTEM_DLLMAPPING
void 
onDestroy (UInt32 uiContainerId)
Changed


OSG_SYSTEM_DLLMAPPING void onCreate (const ReflexiveContainer *source=NULL)
virtual OSG_SYSTEM_DLLMAPPING
void 
onDestroyAspect (UInt32 uiContainerId, UInt32 uiAspect)
MT Construction


virtual OSG_SYSTEM_DLLMAPPING
bool 
deregister (UInt32 uiContainerId)
MT Construction


OSG_SYSTEM_DLLMAPPING void registerChangedContainer (void)
virtual OSG_SYSTEM_DLLMAPPING
void 
registerChangedContainerV (void)
Local Edit


void editSField (ConstFieldMaskArg whichField)
template<class FieldT>
void editMField (ConstFieldMaskArg whichField, FieldT &oField)
MT Destruction


void execEndEdit (ConstFieldMaskArg whichField)
void clearChangeEntry (ContainerChangeEntry *pRef)
Edit


OSG_SYSTEM_DLLMAPPING void setId (UInt32 uiContainerId)
OSG_SYSTEM_DLLMAPPING UInt32 getId (void) const

Static Protected Member Functions

static void classDescInserter (TypeObject &oType)
static Char8 * getClassname (void)
Fields


static void classDescInserter (TypeObject &oType)
MT Construction


template<class ObjectT>
static void newPtr (typename ObjectT::ObjPtr &result, const ObjectT *prototypeP)
template<class ObjectT>
static void newPtr (typename ObjectT::ObjPtr &result)
Init


static void initMethod (InitPhase ePhase)

Protected Attributes

Type information


FieldFlags_pFieldFlags
MFChangedFunctorCallback _mfChangedFunctors
Int32 _iRefCount
Member


BitVector _bvChanged
ContainerChangeEntry_pContainerChanges
UInt32 _uiContainerId

Static Protected Attributes

static TypeObject _type

Private Member Functions

void operator= (const AlgorithmBase &source)

Detailed Description

Definition at line 77 of file OSGAlgorithmBase.h.


Member Typedef Documentation

Reimplemented from OSG::FieldContainer.

Reimplemented in OSG::Algorithm.

Definition at line 81 of file OSGAlgorithmBase.h.

Definition at line 82 of file OSGAlgorithmBase.h.

Reimplemented from OSG::FieldContainer.

Definition at line 84 of file OSGAlgorithmBase.h.

Reimplemented from OSG::ReflexiveContainer.

Definition at line 85 of file OSGAlgorithmBase.h.

typedef Field*(ReflexiveContainer::*) OSG::ReflexiveContainer::FieldEditMethod(void) [inherited]

Definition at line 79 of file OSGReflexiveContainer.h.

typedef const Field*(ReflexiveContainer::*) OSG::ReflexiveContainer::FieldGetMethod(void) const [inherited]

Definition at line 81 of file OSGReflexiveContainer.h.


Constructor & Destructor Documentation

OSG::AlgorithmBase::AlgorithmBase ( void   )  [protected]

Definition at line 162 of file OSGAlgorithmBase.cpp.

00162                                  :
00163     Inherited()
00164 {
00165 }

OSG::AlgorithmBase::AlgorithmBase ( const AlgorithmBase source  )  [protected]

Definition at line 167 of file OSGAlgorithmBase.cpp.

00167                                                         :
00168     Inherited(source)
00169 {
00170 }

OSG::AlgorithmBase::~AlgorithmBase ( void   )  [protected, virtual]

Definition at line 175 of file OSGAlgorithmBase.cpp.

00176 {
00177 }


Member Function Documentation

OSG::AlgorithmBase::OSG_GEN_INTERNALPTR ( Algorithm   ) 

OSG::FieldContainerType & OSG::AlgorithmBase::getClassType ( void   )  [inline, static]

Reimplemented from OSG::FieldContainer.

Definition at line 56 of file OSGAlgorithmBase.inl.

References _type.

00057 {
00058     return _type;
00059 }

OSG::UInt32 OSG::AlgorithmBase::getClassTypeId ( void   )  [inline, static]

Reimplemented from OSG::FieldContainer.

Definition at line 63 of file OSGAlgorithmBase.inl.

References _type, and OSG::TypeBase::getId().

00064 {
00065     return _type.getId();
00066 }

OSG::UInt16 OSG::AlgorithmBase::getClassGroupId ( void   )  [inline, static]

Reimplemented from OSG::FieldContainer.

Definition at line 69 of file OSGAlgorithmBase.inl.

References _type, and OSG::ReflexiveContainerType::getGroupId().

00070 {
00071     return _type.getGroupId();
00072 }

FieldContainerType & OSG::AlgorithmBase::getType ( void   )  [virtual]

Reimplemented from OSG::FieldContainer.

Definition at line 111 of file OSGAlgorithmBase.cpp.

References _type.

00112 {
00113     return _type;
00114 }

const FieldContainerType & OSG::AlgorithmBase::getType ( void   )  const [virtual]

Reimplemented from OSG::FieldContainer.

Definition at line 116 of file OSGAlgorithmBase.cpp.

References _type.

00117 {
00118     return _type;
00119 }

UInt32 OSG::AlgorithmBase::getContainerSize ( void   )  const [virtual]

Implements OSG::ReflexiveContainer.

Definition at line 121 of file OSGAlgorithmBase.cpp.

00122 {
00123     return sizeof(Algorithm);
00124 }

UInt32 OSG::AlgorithmBase::getBinSize ( ConstFieldMaskArg  whichField  )  [virtual]

Reimplemented from OSG::ReflexiveContainer.

Definition at line 135 of file OSGAlgorithmBase.cpp.

References OSG::ReflexiveContainer::getBinSize().

00136 {
00137     UInt32 returnValue = Inherited::getBinSize(whichField);
00138 
00139 
00140     return returnValue;
00141 }

void OSG::AlgorithmBase::copyToBin ( BinaryDataHandler pMem,
ConstFieldMaskArg  whichField 
) [virtual]

Reimplemented from OSG::ReflexiveContainer.

Definition at line 143 of file OSGAlgorithmBase.cpp.

References OSG::ReflexiveContainer::copyToBin().

00145 {
00146     Inherited::copyToBin(pMem, whichField);
00147 
00148 }

void OSG::AlgorithmBase::copyFromBin ( BinaryDataHandler pMem,
ConstFieldMaskArg  whichField 
) [virtual]

Reimplemented from OSG::FieldContainer.

Definition at line 150 of file OSGAlgorithmBase.cpp.

References OSG::FieldContainer::copyFromBin().

00152 {
00153     Inherited::copyFromBin(pMem, whichField);
00154 
00155 }

static void OSG::AlgorithmBase::classDescInserter ( TypeObject oType  )  [static, protected]

Char8 * OSG::AlgorithmBase::getClassname ( void   )  [inline, static, protected]

Reimplemented from OSG::FieldContainer.

Definition at line 92 of file OSGAlgorithmBase.inl.

00093 {
00094     return "Algorithm";
00095 }

void OSG::AlgorithmBase::resolveLinks ( void   )  [protected, virtual]

Reimplemented from OSG::FieldContainer.

Definition at line 198 of file OSGAlgorithmBase.cpp.

References OSG::FieldContainer::resolveLinks().

00199 {
00200     Inherited::resolveLinks();
00201 
00202 
00203 }

void OSG::AlgorithmBase::operator= ( const AlgorithmBase source  )  [private]

OSG::FieldContainer::OSG_GEN_INTERNALPTR ( FieldContainer   )  [inherited]

OSG::FieldContainer::OSG_RC_FIRST_FIELD_DECL ( ChangedCallbacks   )  [inherited]

OSG::FieldContainer::OSG_RC_LAST_FIELD_DECL ( ChangedCallbacks   )  [inherited]

virtual ObjPtr OSG::FieldContainer::shallowCopy ( void   )  const [pure virtual, inherited]

Implemented in OSG::RotateManipulatorBase, OSG::MoveManipulatorBase, OSG::ScaleManipulatorBase, OSG::LineChunkBase, OSG::TwoSidedLightingChunkBase, OSG::PointChunkBase, OSG::PolygonChunkBase, OSG::ColorMaskChunkBase, OSG::CubeTextureObjChunkBase, OSG::TextureTransformChunkBase, OSG::StencilChunkBase, OSG::DepthChunkBase, OSG::ClipPlaneChunkBase, OSG::TransformChunkBase, OSG::SHLChunkBase, OSG::SHLParameterChunkBase, OSG::ShaderParameterMatrixBase, OSG::ShaderParameterVec2fBase, OSG::ShaderParameterMVec4fBase, OSG::ShaderParameterIntBase, OSG::ShaderParameterMRealBase, OSG::ShaderParameterMIntBase, OSG::ShaderParameterMVec3fBase, OSG::ShaderParameterBoolBase, OSG::ShaderParameterVec4fBase, OSG::ShaderParameterMVec2fBase, OSG::ShaderParameterStringBase, OSG::ShaderParameterVec3fBase, OSG::ShaderParameterMMatrixBase, OSG::ShaderParameterRealBase, OSG::TextureSelectChunkBase, OSG::TextureObjRefChunkBase, OSG::RegisterCombinersChunkBase, OSG::VertexProgramChunkBase, OSG::FragmentProgramChunkBase, OSG::SimpleShadowMapEngineBase, OSG::ScreenLODBase, OSG::TextureBackgroundBase, OSG::PassiveBackgroundBase, OSG::DepthClearBackgroundBase, OSG::PolygonBackgroundBase, OSG::TextureGrabBackgroundBase, OSG::SkyBackgroundBase, OSG::GradientBackgroundBase, OSG::SolidBackgroundBase, OSG::StereoBufferViewportBase, OSG::ColorBufferViewportBase, OSG::PassiveViewportBase, OSG::ProjectionCameraDecoratorBase, OSG::PerspectiveCameraBase, OSG::OrthographicCameraBase, OSG::OffCenterPerspectiveCameraBase, OSG::TileCameraDecoratorBase, OSG::MatrixCameraBase, OSG::MatrixCameraDecoratorBase, OSG::ShearedStereoCameraDecoratorBase, OSG::TextureGrabForegroundBase, OSG::FileGrabForegroundBase, OSG::GrabForegroundBase, OSG::ImageForegroundBase, OSG::PolygonForegroundBase, OSG::GLUTWindowBase, OSG::AlgorithmStageBase, OSG::SimpleStageBase, OSG::StageBase, OSG::DirectionalLightBase, OSG::SpotLightBase, OSG::PointLightBase, OSG::DistanceLODBase, OSG::SwitchBase, OSG::InverseTransformBase, OSG::TransformBase, OSG::VisitSubTreeBase, OSG::BillboardBase, OSG::ComponentTransformBase, OSG::InlineBase, OSG::ProxyGroupBase, OSG::MultiCoreBase, OSG::HDRStageBase, OSG::XWindowBase, OSG::SimpleStatisticsForegroundBase, OSG::MultiDisplayWindowBase, OSG::ClusterWindowBase, OSG::SortFirstWindowBase, OSG::BinarySwapComposerBase, OSG::ParallelComposerBase, OSG::SepiaComposerBase, OSG::SortLastWindowBase, OSG::PipelineComposerBase, OSG::BalancedMultiWindowBase, OSG::TexGenChunkBase, OSG::MaterialChunkBase, OSG::TextureEnvChunkBase, OSG::LightChunkBase, OSG::StateBase, OSG::BlendChunkBase, OSG::TextureObjChunkBase, OSG::GroupBase, OSG::MaterialGroupBase, OSG::LightEnvBase, OSG::ChunkOverrideGroupBase, OSG::ImageBase, OSG::StringAttributeMapBase, OSG::ContainerPoolBase, OSG::ViewportBase, OSG::RenderOptionsBase, OSG::PassiveWindowBase, OSG::TextureBufferBase, OSG::FBOViewportBase, OSG::RenderBufferBase, OSG::FrameBufferObjectBase, OSG::CubeTextureChunkBase, OSG::TextureChunkBase, OSG::SimpleTexturedMaterialBase, OSG::SimpleMaterialBase, OSG::ChunkMaterialBase, OSG::MultiPassMaterialBase, OSG::SwitchMaterialBase, OSG::QuadTreeTerrainBase, OSG::TiledQuadTreeTerrainBase, OSG::ParticlesBase, OSG::GeometryBase, OSG::GeoMultiPropertyDataBase, OSG::GeoMultiPropertyBase, and OSG::GeoStatsAttachmentBase.

void OSG::FieldContainer::changed ( ConstFieldMaskArg  whichField,
UInt32  origin,
BitVector  details 
) [inline, virtual, inherited]

Implements OSG::ReflexiveContainer.

Reimplemented in OSG::MoveManipulator, OSG::ScaleManipulator, OSG::Manipulator, OSG::RotateManipulator, OSG::LineChunk, OSG::PointChunk, OSG::PolygonChunk, OSG::ColorMaskChunk, OSG::CubeTextureObjChunk, OSG::TextureTransformChunk, OSG::StencilChunk, OSG::DepthChunk, OSG::ClipPlaneChunk, OSG::TransformChunk, OSG::TwoSidedLightingChunk, OSG::ShaderChunk, OSG::ShaderParameterChunk, OSG::SHLChunk, OSG::SHLParameterChunk, OSG::ShaderParameterInt, OSG::ShaderParameterMReal, OSG::ShaderParameterMInt, OSG::ShaderParameterMVec3f, OSG::ShaderParameterBool, OSG::ShaderParameterVec4f, OSG::ShaderParameter, OSG::ShaderParameterMVec2f, OSG::ShaderParameterString, OSG::ShaderParameterVec3f, OSG::ShaderParameterMMatrix, OSG::ShaderParameterReal, OSG::ShaderParameterMatrix, OSG::ShaderParameterVec2f, OSG::ShaderParameterMVec4f, OSG::TextureObjRefChunk, OSG::TextureSelectChunk, OSG::RegisterCombinersChunk, OSG::FragmentProgramChunk, OSG::VertexProgramChunk, OSG::ProgramChunk, OSG::SimpleShadowMapEngine, OSG::ShadowMapEngine, OSG::ScreenLOD, OSG::PolygonBackground, OSG::TextureGrabBackground, OSG::SkyBackground, OSG::GradientBackground, OSG::SolidBackground, OSG::TextureBackground, OSG::PassiveBackground, OSG::DepthClearBackground, OSG::StereoBufferViewport, OSG::ColorBufferViewport, OSG::PassiveViewport, OSG::OffCenterPerspectiveCamera, OSG::MatrixCameraDecorator, OSG::TileCameraDecorator, OSG::MatrixCamera, OSG::ShearedStereoCameraDecorator, OSG::ProjectionCameraDecorator, OSG::PerspectiveCamera, OSG::OrthographicCamera, OSG::PolygonForeground, OSG::TextureGrabForeground, OSG::FileGrabForeground, OSG::GrabForeground, OSG::ImageForeground, OSG::Stage, OSG::Algorithm, OSG::AlgorithmStage, OSG::SimpleStage, OSG::PointLight, OSG::DirectionalLight, OSG::SpotLight, OSG::ComponentTransform, OSG::VisitSubTree, OSG::Billboard, OSG::Inline, OSG::ProxyGroup, OSG::DistanceLOD, OSG::Switch, OSG::InverseTransform, OSG::Transform, OSG::MultiCore, OSG::HDRStage, OSG::XWindow, OSG::SimpleStatisticsForeground, OSG::MultiDisplayWindow, OSG::ImageComposer, OSG::ClusterWindow, OSG::SortFirstWindow, OSG::SortLastWindow, OSG::PipelineComposer, OSG::BinarySwapComposer, OSG::ParallelComposer, OSG::SepiaComposer, OSG::BalancedMultiWindow, OSG::MaterialChunk, OSG::TexGenChunk, OSG::TextureEnvChunk, OSG::LightChunk, OSG::StateChunk, OSG::State, OSG::TextureBaseChunk, OSG::BlendChunk, OSG::TextureObjChunk, OSG::Light, OSG::LightEnv, OSG::Group, OSG::LightEngine, OSG::MaterialGroup, OSG::ChunkOverrideGroup, OSG::Drawable, OSG::MaterialDrawable, OSG::Image, OSG::Node, OSG::StringAttributeMap, OSG::ContainerPool, OSG::CameraDecorator, OSG::Viewport, OSG::Camera, OSG::RenderOptions, OSG::PassiveWindow, OSG::Window, OSG::StereoCameraDecorator, OSG::Foreground, OSG::Background, OSG::TextureBuffer, OSG::FBOViewport, OSG::RenderBuffer, OSG::FrameBufferObject, OSG::FrameBufferAttachment, OSG::CubeTextureChunk, OSG::TextureChunk, OSG::StatisticsForeground, OSG::SimpleTexturedMaterial, OSG::SimpleMaterial, OSG::MultiPassMaterial, OSG::Material, OSG::SwitchMaterial, OSG::ChunkMaterial, OSG::TiledQuadTreeTerrain, OSG::QuadTreeTerrain, OSG::Particles, OSG::Geometry, OSG::GeoMultiPropertyData, OSG::GeoMultiProperty, OSG::GeoVectorProperty, OSG::TypedGeoIntegralProperty< GeoPropertyDesc >, OSG::GeoProperty, OSG::TypedGeoVectorProperty< GeoPropertyDesc >, OSG::GeoIntegralProperty, OSG::GeoStatsAttachment, and OSG::StatsAttachment.

Definition at line 65 of file OSGFieldContainer.inl.

References OSG::FieldContainer::callChangedFunctors().

Referenced by OSG::Window::changed(), OSG::Viewport::changed(), OSG::TypedGeoVectorProperty< GeoPropertyDesc >::changed(), OSG::TypedGeoIntegralProperty< GeoPropertyDesc >::changed(), OSG::TiledQuadTreeTerrain::changed(), OSG::TextureObjChunk::changed(), OSG::TextureChunk::changed(), OSG::TextureBuffer::changed(), OSG::TextureBaseChunk::changed(), OSG::SwitchMaterial::changed(), OSG::StringAttributeMap::changed(), OSG::StereoCameraDecorator::changed(), OSG::StatsAttachment::changed(), OSG::StatisticsForeground::changed(), OSG::StateChunk::changed(), OSG::State::changed(), OSG::SimpleTexturedMaterial::changed(), OSG::SimpleMaterial::changed(), OSG::ShaderParameterVec3f::changed(), OSG::ShaderParameterString::changed(), OSG::ShaderParameterReal::changed(), OSG::ShaderParameterMVec2f::changed(), OSG::ShaderParameterMMatrix::changed(), OSG::ShaderParameter::changed(), OSG::SepiaComposer::changed(), OSG::RenderOptions::changed(), OSG::RenderBuffer::changed(), OSG::QuadTreeTerrain::changed(), OSG::PipelineComposer::changed(), OSG::PassiveWindow::changed(), OSG::Particles::changed(), OSG::ParallelComposer::changed(), OSG::Node::changed(), OSG::MultiPassMaterial::changed(), OSG::MaterialGroup::changed(), OSG::MaterialDrawable::changed(), OSG::Material::changed(), OSG::LightEnv::changed(), OSG::LightEngine::changed(), OSG::Light::changed(), OSG::Inline::changed(), OSG::ImageComposer::changed(), OSG::Image::changed(), OSG::Group::changed(), OSG::GeoVectorProperty::changed(), OSG::GeoStatsAttachment::changed(), OSG::GeoMultiPropertyData::changed(), OSG::GeoMultiProperty::changed(), OSG::Geometry::changed(), OSG::GeoIntegralProperty::changed(), OSG::FrameBufferObject::changed(), OSG::FrameBufferAttachment::changed(), OSG::Foreground::changed(), OSG::FBOViewport::changed(), OSG::Drawable::changed(), OSG::CubeTextureChunk::changed(), OSG::ContainerPool::changed(), OSG::ChunkOverrideGroup::changed(), OSG::ChunkMaterial::changed(), OSG::CameraDecorator::changed(), OSG::Camera::changed(), OSG::BlendChunk::changed(), OSG::BinarySwapComposer::changed(), OSG::Background::changed(), and OSG::Algorithm::changed().

00068 {
00069     callChangedFunctors(whichField);
00070 }

void OSG::FieldContainer::callChangedFunctors ( ConstFieldMaskArg  whichField  )  [inline, inherited]

Definition at line 73 of file OSGFieldContainer.inl.

References OSG::FieldContainer::_mfChangedFunctors.

Referenced by OSG::FieldContainer::changed(), and OSG::FieldContainer::resolveLinks().

00074 {
00075     MFChangedFunctorCallback::iterator       cfIt = _mfChangedFunctors.begin();
00076     MFChangedFunctorCallback::const_iterator cfEnd= _mfChangedFunctors.end();
00077 
00078     while(cfIt != cfEnd)
00079     {
00080         if(cfIt->_func)
00081             (cfIt->_func)(this, whichField);
00082 
00083         ++cfIt;
00084     }
00085 }

UInt32 OSG::FieldContainer::addChangedFunctor ( ChangedFunctor  func,
std::string  createSymbol 
) [inline, inherited]

Definition at line 232 of file OSGFieldContainer.inl.

References OSG::ChangedFunctorCallback::_createSymbol, OSG::ChangedFunctorCallback::_func, OSG::FieldContainer::_mfChangedFunctors, and OSG::ChangedFunctorCallback::_uiId.

00234 {
00235     ChangedFunctorCallback oTmp;
00236 
00237     oTmp._func         = func;
00238     oTmp._uiId         = _mfChangedFunctors.size();
00239     oTmp._createSymbol = createSymbol;
00240 
00241     _mfChangedFunctors.push_back(oTmp);
00242 
00243     return oTmp._uiId;
00244 }

template<class FunctorT>
void OSG::FieldContainer::subChangedFunctor ( FunctorT  func  )  [inline, inherited]

Definition at line 247 of file OSGFieldContainer.inl.

References OSG::FieldContainer::_mfChangedFunctors.

00248 {
00249     MFChangedFunctorCallback::iterator       cfIt = _mfChangedFunctors.begin();
00250     MFChangedFunctorCallback::const_iterator cfEnd= _mfChangedFunctors.end();
00251 
00252     while(cfIt != cfEnd)
00253     {
00254         if(cfIt->_func == func)
00255             break;
00256 
00257         ++cfIt;
00258     }
00259 
00260     if(cfIt != cfEnd)
00261         _mfChangedFunctors.erase(cfIt);
00262 }

void OSG::FieldContainer::subChangedFunctor ( UInt32  uiId  )  [inline, inherited]

Definition at line 265 of file OSGFieldContainer.inl.

References OSG::FieldContainer::_mfChangedFunctors.

00266 {
00267     MFChangedFunctorCallback::iterator       cfIt = _mfChangedFunctors.begin();
00268     MFChangedFunctorCallback::const_iterator cfEnd= _mfChangedFunctors.end();
00269 
00270     while(cfIt != cfEnd)
00271     {
00272         if(cfIt->_uiId == uiId)
00273             break;
00274 
00275         ++cfIt;
00276     }
00277 
00278     if(cfIt != cfEnd)
00279         _mfChangedFunctors.erase(cfIt);
00280 }

void OSG::FieldContainer::clearChangedFunctors ( void   )  [inline, inherited]

Definition at line 283 of file OSGFieldContainer.inl.

References OSG::FieldContainer::_mfChangedFunctors.

00284 {
00285     _mfChangedFunctors.clear();
00286 }

const FieldFlags * OSG::FieldContainer::getFieldFlags ( void   )  [inline, inherited]

Definition at line 289 of file OSGFieldContainer.inl.

References OSG::FieldContainer::_pFieldFlags.

00290 {
00291     return _pFieldFlags;
00292 }

void OSG::FieldContainer::addReference ( void   )  [inline, inherited]

void OSG::FieldContainer::subReference ( void   )  [inline, inherited]

Definition at line 97 of file OSGFieldContainer.inl.

References OSG::FieldContainer::_iRefCount, OSG::ChangeList::addSubRefd(), OSG::ChangeList::decSubRefLevel(), OSG::FieldContainer::deregister(), OSG::Thread::getCurrentAspect(), OSG::Thread::getCurrentChangeList(), OSG::ReflexiveContainer::getId(), OSG::ChangeList::incSubRefLevel(), OSG::FieldContainer::onDestroy(), OSG::ReflexiveContainer::onDestroyAspect(), OSG::FieldContainer::resolveLinks(), and OSG::subRef().

00098 {
00099     --_iRefCount;
00100 
00101     if(_iRefCount <= 0)
00102     {
00103         Thread::getCurrentChangeList()->incSubRefLevel();
00104 
00105         this->resolveLinks();
00106 
00107         Thread::getCurrentChangeList()->decSubRefLevel();
00108 
00109         Thread::getCurrentChangeList()->addSubRefd(Inherited::getId());
00110 
00111 #ifdef OSG_MT_CPTR_ASPECT
00112         this->onDestroyAspect(Inherited::getId(), Thread::getCurrentAspect());
00113 
00114         _pAspectStore->removePtrForAspect(Thread::getCurrentAspect());
00115 
00116         if(_pAspectStore->getRefCount() == 1)
00117         {
00118             this->deregister(