osg::DVRVolumeBase Class Reference

DVRVolume Base Class.

#include <OSGDVRVolumeBase.h>

Inheritance diagram for osg::DVRVolumeBase:

osg::NodeCore osg::AttachmentContainer osg::FieldContainer osg::DVRVolume

List of all members.

Public Types

enum  {
  AppearanceFieldId = Inherited::NextFieldId, GeometryFieldId = AppearanceFieldId + 1, ShaderFieldId = GeometryFieldId + 1, FileNameFieldId = ShaderFieldId + 1,
  SamplingFieldId = FileNameFieldId + 1, SamplingInteractiveFieldId = SamplingFieldId + 1, BaseAlphaFieldId = SamplingInteractiveFieldId + 1, DoTexturesFieldId = BaseAlphaFieldId + 1,
  BrickOverlapFieldId = DoTexturesFieldId + 1, Textures2DFieldId = BrickOverlapFieldId + 1, BrickStaticMemoryMBFieldId = Textures2DFieldId + 1, RenderMaterialFieldId = BrickStaticMemoryMBFieldId + 1,
  BrickingModeFieldId = RenderMaterialFieldId + 1, BrickStaticSubdivisionFieldId = BrickingModeFieldId + 1, BrickMaxSizeFieldId = BrickStaticSubdivisionFieldId + 1, ShowBricksFieldId = BrickMaxSizeFieldId + 1,
  DrawStyleFieldId = ShowBricksFieldId + 1, DrawStyleNamesFieldId = DrawStyleFieldId + 1, TextureStorageFieldId = DrawStyleNamesFieldId + 1, NextFieldId = TextureStorageFieldId + 1
}
typedef DVRVolumePtr Ptr
enum  { ParentsFieldId = Inherited::NextFieldId, NextFieldId = ParentsFieldId + 1 }
typedef MFNodePtr ParentField
typedef MFNodePtrParentFieldPtr
typedef MFNodePtr::iterator ParentFieldIt
enum  { AttachmentsFieldId = Inherited::NextFieldId, NextFieldId = AttachmentsFieldId + 1 }
enum  { NextFieldId = 1 }

Public Member Functions

FieldContainer Get


virtual FieldContainerTypegetType (void)
virtual const FieldContainerTypegetType (void) const
virtual UInt32 getContainerSize (void) const
Field Get


SFDVRAppearancePtrgetSFAppearance (void)
 Get the DVRVolume::_sfAppearance field.
SFDVRGeometryPtrgetSFGeometry (void)
 Get the DVRVolume::_sfGeometry field.
SFDVRShaderPtrgetSFShader (void)
 Get the DVRVolume::_sfShader field.
SFStringgetSFFileName (void)
 Get the DVRVolume::_sfFileName field.
SFReal32getSFSampling (void)
 Get the DVRVolume::_sfSampling field.
SFReal32getSFSamplingInteractive (void)
 Get the DVRVolume::_sfSamplingInteractive field.
SFReal32getSFBaseAlpha (void)
 Get the DVRVolume::_sfBaseAlpha field.
SFBoolgetSFDoTextures (void)
 Get the DVRVolume::_sfDoTextures field.
SFUInt32getSFBrickOverlap (void)
 Get the DVRVolume::_sfBrickOverlap field.
SFQBitgetSFTextures2D (void)
 Get the DVRVolume::_sfTextures2D field.
SFUInt16getSFBrickStaticMemoryMB (void)
 Get the DVRVolume::_sfBrickStaticMemoryMB field.
SFChunkMaterialPtrgetSFTextureStorage (void)
 Get the DVRVolume::_sfTextureStorage field.
DVRAppearancePtrgetAppearance (void)
 Get the value of the DVRVolume::_sfAppearance field.
const DVRAppearancePtrgetAppearance (void) const
 Get the value of the DVRVolume::_sfAppearance field.
DVRGeometryPtrgetGeometry (void)
 Get the value of the DVRVolume::_sfGeometry field.
const DVRGeometryPtrgetGeometry (void) const
 Get the value of the DVRVolume::_sfGeometry field.
DVRShaderPtrgetShader (void)
 Get the value of the DVRVolume::_sfShader field.
const DVRShaderPtrgetShader (void) const
 Get the value of the DVRVolume::_sfShader field.
std::string & getFileName (void)
 Get the value of the DVRVolume::_sfFileName field.
const std::string & getFileName (void) const
 Get the value of the DVRVolume::_sfFileName field.
Real32getSampling (void)
 Get the value of the DVRVolume::_sfSampling field.
const Real32getSampling (void) const
 Get the value of the DVRVolume::_sfSampling field.
Real32getSamplingInteractive (void)
 Get the value of the DVRVolume::_sfSamplingInteractive field.
const Real32getSamplingInteractive (void) const
 Get the value of the DVRVolume::_sfSamplingInteractive field.
Real32getBaseAlpha (void)
 Get the value of the DVRVolume::_sfBaseAlpha field.
const Real32getBaseAlpha (void) const
 Get the value of the DVRVolume::_sfBaseAlpha field.
bool & getDoTextures (void)
 Get the value of the DVRVolume::_sfDoTextures field.
const bool & getDoTextures (void) const
 Get the value of the DVRVolume::_sfDoTextures field.
UInt32getBrickOverlap (void)
 Get the value of the DVRVolume::_sfBrickOverlap field.
const UInt32getBrickOverlap (void) const
 Get the value of the DVRVolume::_sfBrickOverlap field.
QBitgetTextures2D (void)
 Get the value of the DVRVolume::_sfTextures2D field.
const QBitgetTextures2D (void) const
 Get the value of the DVRVolume::_sfTextures2D field.
UInt16getBrickStaticMemoryMB (void)
 Get the value of the DVRVolume::_sfBrickStaticMemoryMB field.
const UInt16getBrickStaticMemoryMB (void) const
 Get the value of the DVRVolume::_sfBrickStaticMemoryMB field.
ChunkMaterialPtrgetTextureStorage (void)
 Get the value of the DVRVolume::_sfTextureStorage field.
const ChunkMaterialPtrgetTextureStorage (void) const
 Get the value of the DVRVolume::_sfTextureStorage field.
Field Set


void setAppearance (const DVRAppearancePtr &value)
 Set the value of the DVRVolume::_sfAppearance field.
void setGeometry (const DVRGeometryPtr &value)
 Set the value of the DVRVolume::_sfGeometry field.
void setShader (const DVRShaderPtr &value)
 Set the value of the DVRVolume::_sfShader field.
void setFileName (const std::string &value)
 Set the value of the DVRVolume::_sfFileName field.
void setSampling (const Real32 &value)
 Set the value of the DVRVolume::_sfSampling field.
void setSamplingInteractive (const Real32 &value)
 Set the value of the DVRVolume::_sfSamplingInteractive field.
void setBaseAlpha (const Real32 &value)
 Set the value of the DVRVolume::_sfBaseAlpha field.
void setDoTextures (const bool &value)
 Set the value of the DVRVolume::_sfDoTextures field.
void setBrickOverlap (const UInt32 &value)
 Set the value of the DVRVolume::_sfBrickOverlap field.
void setTextures2D (const QBit &value)
 Set the value of the DVRVolume::_sfTextures2D field.
void setBrickStaticMemoryMB (const UInt16 &value)
 Set the value of the DVRVolume::_sfBrickStaticMemoryMB field.
void setTextureStorage (const ChunkMaterialPtr &value)
 Set the value of the DVRVolume::_sfTextureStorage field.
Binary Access
virtual UInt32 getBinSize (const BitVector &whichField)
virtual void copyToBin (BinaryDataHandler &pMem, const BitVector &whichField)
virtual void copyFromBin (BinaryDataHandler &pMem, const BitVector &whichField)
Copy


virtual FieldContainerPtr shallowCopy (void) const
Parents


MFNodePtrgetParents (void)
const MFNodePtrgetParents (void) const
MFNodePtrgetMFParents (void)
Dump


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


virtual void invalidateVolume (void)
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)


SFAttachmentMapgetSFAttachments (void)
Changed


virtual void changed (BitVector whichField, UInt32 origin)
Get Instance Type Information


UInt32 getTypeId (void) const
UInt16 getGroupId (void) const
const Char8getTypeName (void) const


FieldgetField (UInt32 fieldId)
FieldgetField (const Char8 *fieldName)

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
Construction


static DVRVolumePtr create (void)
 create a new instance of the class
static DVRVolumePtr createEmpty (void)
 create an empty new instance of the class, do not copy the prototype
Get Class Type Information


static UInt16 getClassGroupId (void)

Static Public Attributes

static const osg::BitVector AppearanceFieldMask
static const osg::BitVector GeometryFieldMask
static const osg::BitVector ShaderFieldMask
static const osg::BitVector FileNameFieldMask
static const osg::BitVector SamplingFieldMask
static const osg::BitVector SamplingInteractiveFieldMask
static const osg::BitVector BaseAlphaFieldMask
static const osg::BitVector DoTexturesFieldMask
static const osg::BitVector BrickOverlapFieldMask
static const osg::BitVector Textures2DFieldMask
static const osg::BitVector BrickStaticMemoryMBFieldMask
static const osg::BitVector RenderMaterialFieldMask
static const osg::BitVector BrickingModeFieldMask
static const osg::BitVector BrickStaticSubdivisionFieldMask
static const osg::BitVector BrickMaxSizeFieldMask
static const osg::BitVector ShowBricksFieldMask
static const osg::BitVector DrawStyleFieldMask
static const osg::BitVector DrawStyleNamesFieldMask
static const osg::BitVector TextureStorageFieldMask
static const osg::BitVector MTInfluenceMask
static const BitVector ParentsFieldMask = (1 << NodeCore::ParentsFieldId )
static const BitVector AttachmentsFieldMask
static const BitVector NextFieldMask
CoredNodePtr helper


static const bool isNodeCore = true

Protected Member Functions

Constructors


 DVRVolumeBase (void)
 DVRVolumeBase (const DVRVolumeBase &source)
Destructors


virtual ~DVRVolumeBase (void)
Field Get


SFMaterialPtrgetSFRenderMaterial (void)
 Get the DVRVolume::_sfRenderMaterial field.
SFUInt16getSFBrickingMode (void)
 Get the DVRVolume::_sfBrickingMode field.
SFVec3fgetSFBrickStaticSubdivision (void)
 Get the DVRVolume::_sfBrickStaticSubdivision field.
SFVec3fgetSFBrickMaxSize (void)
 Get the DVRVolume::_sfBrickMaxSize field.
SFBoolgetSFShowBricks (void)
 Get the DVRVolume::_sfShowBricks field.
SFUInt32getSFDrawStyle (void)
 Get the DVRVolume::_sfDrawStyle field.
MFStringgetMFDrawStyleNames (void)
 Get the DVRVolume::_mfDrawStyleNames field.
MaterialPtrgetRenderMaterial (void)
 Get the value of the DVRVolume::_sfRenderMaterial field.
const MaterialPtrgetRenderMaterial (void) const
 Get the value of the DVRVolume::_sfRenderMaterial field.
UInt16getBrickingMode (void)
 Get the value of the DVRVolume::_sfBrickingMode field.
const UInt16getBrickingMode (void) const
 Get the value of the DVRVolume::_sfBrickingMode field.
Vec3fgetBrickStaticSubdivision (void)
 Get the value of the DVRVolume::_sfBrickStaticSubdivision field.
const Vec3fgetBrickStaticSubdivision (void) const
 Get the value of the DVRVolume::_sfBrickStaticSubdivision field.
Vec3fgetBrickMaxSize (void)
 Get the value of the DVRVolume::_sfBrickMaxSize field.
const Vec3fgetBrickMaxSize (void) const
 Get the value of the DVRVolume::_sfBrickMaxSize field.
bool & getShowBricks (void)
 Get the value of the DVRVolume::_sfShowBricks field.
const bool & getShowBricks (void) const
 Get the value of the DVRVolume::_sfShowBricks field.
UInt32getDrawStyle (void)
 Get the value of the DVRVolume::_sfDrawStyle field.
const UInt32getDrawStyle (void) const
 Get the value of the DVRVolume::_sfDrawStyle field.
std::string & getDrawStyleNames (UInt32 index)
 Get the value of the index element the DVRVolume::_mfDrawStyleNames field.
MFStringgetDrawStyleNames (void)
 Get the DVRVolume::_mfDrawStyleNames field.
const MFStringgetDrawStyleNames (void) const
 Get the DVRVolume::_mfDrawStyleNames field.
Field Set


void setRenderMaterial (const MaterialPtr &value)
 Set the value of the DVRVolume::_sfRenderMaterial field.
void setBrickingMode (const UInt16 &value)
 Set the value of the DVRVolume::_sfBrickingMode field.
void setBrickStaticSubdivision (const Vec3f &value)
 Set the value of the DVRVolume::_sfBrickStaticSubdivision field.
void setBrickMaxSize (const Vec3f &value)
 Set the value of the DVRVolume::_sfBrickMaxSize field.
void setShowBricks (const bool &value)
 Set the value of the DVRVolume::_sfShowBricks field.
void setDrawStyle (const UInt32 &value)
 Set the value of the DVRVolume::_sfDrawStyle field.
Sync


void executeSyncImpl (DVRVolumeBase *pOther, const BitVector &whichField)
virtual void executeSync (FieldContainer &other, const BitVector &whichField)
MT Destruction


virtual void onDestroy (void)
Set / Get Parents


void addParent (const NodePtr &parent)
void subParent (const NodePtr &parent)
Pointer


NodeCorePtr getPtr (void) const
Pointer


AttachmentContainerPtr getPtr (void)
Sync


void executeSyncImpl (NodeCore *pOther, const BitVector &whichField)
Sync


void executeSyncImpl (AttachmentContainer *pOther, const BitVector &whichField)
Sync


void executeSyncImpl (FieldContainer *pOther, const BitVector &whichField)
Transformation


virtual void accumulateMatrix (Matrix &result)
Volume


virtual void adjustVolume (Volume &volume)
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)

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


SFDVRAppearancePtr _sfAppearance
SFDVRGeometryPtr _sfGeometry
SFDVRShaderPtr _sfShader
SFString _sfFileName
SFReal32 _sfSampling
SFReal32 _sfSamplingInteractive
SFReal32 _sfBaseAlpha
SFBool _sfDoTextures
SFUInt32 _sfBrickOverlap
SFQBit _sfTextures2D
SFUInt16 _sfBrickStaticMemoryMB
SFMaterialPtr _sfRenderMaterial
SFUInt16 _sfBrickingMode
SFVec3f _sfBrickStaticSubdivision
SFVec3f _sfBrickMaxSize
SFBool _sfShowBricks
SFUInt32 _sfDrawStyle
MFString _mfDrawStyleNames
SFChunkMaterialPtr _sfTextureStorage
Fields


MFNodePtr _parents
Fields


SFAttachmentMap _attachmentMap
Member


UInt32 _shares

Private Types

typedef NodeCore Inherited

Private Member Functions

void operator= (const DVRVolumeBase &source)

Static Private Attributes

static FieldDescription_desc []
 DVRVolume description.
static FieldContainerType _type

Friends

class FieldContainer


Detailed Description

Definition at line 99 of file OSGDVRVolumeBase.h.


Member Typedef Documentation

Reimplemented from osg::NodeCore.

Reimplemented in osg::DVRVolume.

Definition at line 103 of file OSGDVRVolumeBase.h.

Definition at line 108 of file OSGDVRVolumeBase.h.

Definition at line 85 of file OSGNodeCore.h.

Definition at line 86 of file OSGNodeCore.h.

Definition at line 87 of file OSGNodeCore.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
AppearanceFieldId 
GeometryFieldId 
ShaderFieldId 
FileNameFieldId 
SamplingFieldId 
SamplingInteractiveFieldId 
BaseAlphaFieldId 
DoTexturesFieldId 
BrickOverlapFieldId 
Textures2DFieldId 
BrickStaticMemoryMBFieldId 
RenderMaterialFieldId 
BrickingModeFieldId 
BrickStaticSubdivisionFieldId 
BrickMaxSizeFieldId 
ShowBricksFieldId 
DrawStyleFieldId 
DrawStyleNamesFieldId 
TextureStorageFieldId 
NextFieldId 

Definition at line 110 of file OSGDVRVolumeBase.h.

00111     {
00112         AppearanceFieldId             = Inherited::NextFieldId,
00113         GeometryFieldId               = AppearanceFieldId             + 1,
00114         ShaderFieldId                 = GeometryFieldId               + 1,
00115         FileNameFieldId               = ShaderFieldId                 + 1,
00116         SamplingFieldId               = FileNameFieldId               + 1,
00117         SamplingInteractiveFieldId    = SamplingFieldId               + 1,
00118         BaseAlphaFieldId              = SamplingInteractiveFieldId    + 1,
00119         DoTexturesFieldId             = BaseAlphaFieldId              + 1,
00120         BrickOverlapFieldId           = DoTexturesFieldId             + 1,
00121         Textures2DFieldId             = BrickOverlapFieldId           + 1,
00122         BrickStaticMemoryMBFieldId    = Textures2DFieldId             + 1,
00123         RenderMaterialFieldId         = BrickStaticMemoryMBFieldId    + 1,
00124         BrickingModeFieldId           = RenderMaterialFieldId         + 1,
00125         BrickStaticSubdivisionFieldId = BrickingModeFieldId           + 1,
00126         BrickMaxSizeFieldId           = BrickStaticSubdivisionFieldId + 1,
00127         ShowBricksFieldId             = BrickMaxSizeFieldId           + 1,
00128         DrawStyleFieldId              = ShowBricksFieldId             + 1,
00129         DrawStyleNamesFieldId         = DrawStyleFieldId              + 1,
00130         TextureStorageFieldId         = DrawStyleNamesFieldId         + 1,
00131         NextFieldId                   = TextureStorageFieldId         + 1
00132     };

anonymous enum [inherited]

Enumerator:
ParentsFieldId 
NextFieldId 

Definition at line 93 of file OSGNodeCore.h.

00094     { 
00095         ParentsFieldId     = Inherited::NextFieldId, 
00096         NextFieldId        = ParentsFieldId + 1
00097     };

anonymous enum [inherited]

Enumerator:
AttachmentsFieldId 
NextFieldId 

Definition at line 78 of file OSGAttachmentContainerImpl.h.

anonymous enum [inherited]

Enumerator:
NextFieldId 

Definition at line 73 of file OSGFieldContainerImpl.h.

00073 { NextFieldId = 1 };


Constructor & Destructor Documentation

DVRVolumeBase::DVRVolumeBase ( void   )  [protected]

Definition at line 364 of file OSGDVRVolumeBase.cpp.

DVRVolumeBase::DVRVolumeBase ( const DVRVolumeBase source  )  [protected]

Definition at line 392 of file OSGDVRVolumeBase.cpp.

00392                                                         :
00393     _sfAppearance             (source._sfAppearance             ), 
00394     _sfGeometry               (source._sfGeometry               ), 
00395     _sfShader                 (source._sfShader                 ), 
00396     _sfFileName               (source._sfFileName               ), 
00397     _sfSampling               (source._sfSampling               ), 
00398     _sfSamplingInteractive    (source._sfSamplingInteractive    ), 
00399     _sfBaseAlpha              (source._sfBaseAlpha              ), 
00400     _sfDoTextures             (source._sfDoTextures             ), 
00401     _sfBrickOverlap           (source._sfBrickOverlap           ), 
00402     _sfTextures2D             (source._sfTextures2D             ), 
00403     _sfBrickStaticMemoryMB    (source._sfBrickStaticMemoryMB    ), 
00404     _sfRenderMaterial         (source._sfRenderMaterial         ), 
00405     _sfBrickingMode           (source._sfBrickingMode           ), 
00406     _sfBrickStaticSubdivision (source._sfBrickStaticSubdivision ), 
00407     _sfBrickMaxSize           (source._sfBrickMaxSize           ), 
00408     _sfShowBricks             (source._sfShowBricks             ), 
00409     _sfDrawStyle              (source._sfDrawStyle              ), 
00410     _mfDrawStyleNames         (source._mfDrawStyleNames         ), 
00411     _sfTextureStorage         (source._sfTextureStorage         ), 
00412     Inherited                 (source)
00413 {
00414 }

DVRVolumeBase::~DVRVolumeBase ( void   )  [protected, virtual]

Definition at line 418 of file OSGDVRVolumeBase.cpp.

00419 {
00420 }


Member Function Documentation

osg::FieldContainerType & osg::DVRVolumeBase::getClassType ( void   )  [inline, static]

Reimplemented from osg::NodeCore.

Definition at line 58 of file OSGDVRVolumeBase.inl.

References _type.

Referenced by create(), and osg::DVRVolume::initMethod().

00059 {
00060     return _type; 
00061 } 

osg::UInt32 osg::DVRVolumeBase::getClassTypeId ( void   )  [inline, static]

Reimplemented from osg::NodeCore.

Definition at line 65 of file OSGDVRVolumeBase.inl.

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

00066 {
00067     return _type.getId(); 
00068 } 

FieldContainerType & DVRVolumeBase::getType ( void   )  [virtual]

Reimplemented from osg::NodeCore.

Definition at line 305 of file OSGDVRVolumeBase.cpp.

References _type.

Referenced by osg::DVRVolume::draw().

00306 {
00307     return _type; 
00308 } 

const FieldContainerType & DVRVolumeBase::getType ( void   )  const [virtual]

Reimplemented from osg::NodeCore.

Definition at line 310 of file OSGDVRVolumeBase.cpp.

References _type.

00311 {
00312     return _type;
00313 } 

UInt32 DVRVolumeBase::getContainerSize ( void   )  const [virtual]

Reimplemented from osg::NodeCore.

Definition at line 325 of file OSGDVRVolumeBase.cpp.

00326 { 
00327     return sizeof(DVRVolume); 
00328 }

SFDVRAppearancePtr * osg::DVRVolumeBase::getSFAppearance ( void   )  [inline]

Definition at line 101 of file OSGDVRVolumeBase.inl.

References _sfAppearance.

00102 {
00103     return &_sfAppearance;
00104 }

SFDVRGeometryPtr * osg::DVRVolumeBase::getSFGeometry ( void   )  [inline]

Definition at line 108 of file OSGDVRVolumeBase.inl.

References _sfGeometry.

00109 {
00110     return &_sfGeometry;
00111 }

SFDVRShaderPtr * osg::DVRVolumeBase::getSFShader ( void   )  [inline]

Definition at line 115 of file OSGDVRVolumeBase.inl.

References _sfShader.

00116 {
00117     return &_sfShader;
00118 }

SFString * osg::DVRVolumeBase::getSFFileName ( void   )  [inline]

Definition at line 122 of file OSGDVRVolumeBase.inl.

References _sfFileName.

00123 {
00124     return &_sfFileName;
00125 }

SFReal32 * osg::DVRVolumeBase::getSFSampling ( void   )  [inline]

Definition at line 129 of file OSGDVRVolumeBase.inl.

References _sfSampling.

00130 {
00131     return &_sfSampling;
00132 }

SFReal32 * osg::DVRVolumeBase::getSFSamplingInteractive ( void   )  [inline]

Definition at line 136 of file OSGDVRVolumeBase.inl.

References _sfSamplingInteractive.

00137 {
00138     return &_sfSamplingInteractive;
00139 }

SFReal32 * osg::DVRVolumeBase::getSFBaseAlpha ( void   )  [inline]

Definition at line 143 of file OSGDVRVolumeBase.inl.

References _sfBaseAlpha.

00144 {
00145     return &_sfBaseAlpha;
00146 }

SFBool * osg::DVRVolumeBase::getSFDoTextures ( void   )  [inline]

Definition at line 150 of file OSGDVRVolumeBase.inl.

References _sfDoTextures.

00151 {
00152     return &_sfDoTextures;
00153 }

SFUInt32 * osg::DVRVolumeBase::getSFBrickOverlap ( void   )  [inline]

Definition at line 157 of file OSGDVRVolumeBase.inl.

References _sfBrickOverlap.

00158 {
00159     return &_sfBrickOverlap;
00160 }

SFQBit * osg::DVRVolumeBase::getSFTextures2D ( void   )  [inline]

Definition at line 164 of file OSGDVRVolumeBase.inl.

References _sfTextures2D.

00165 {
00166     return &_sfTextures2D;
00167 }

SFUInt16 * osg::DVRVolumeBase::getSFBrickStaticMemoryMB ( void   )  [inline]

Definition at line 171 of file OSGDVRVolumeBase.inl.

References _sfBrickStaticMemoryMB.

00172 {
00173     return &_sfBrickStaticMemoryMB;
00174 }

SFChunkMaterialPtr * osg::DVRVolumeBase::getSFTextureStorage ( void   )  [inline]

Definition at line 227 of file OSGDVRVolumeBase.inl.

References _sfTextureStorage.

00228 {
00229     return &_sfTextureStorage;
00230 }

DVRAppearancePtr & osg::DVRVolumeBase::getAppearance ( void   )  [inline]

Definition at line 235 of file OSGDVRVolumeBase.inl.

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

Referenced by osg::DVRVolume::findParameter(), and osg::DVRVolume::~DVRVolume().

00236 {
00237     return _sfAppearance.getValue();
00238 }

const DVRAppearancePtr & osg::DVRVolumeBase::getAppearance ( void   )  const [inline]

Definition at line 242 of file OSGDVRVolumeBase.inl.

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

00243 {
00244     return _sfAppearance.getValue();
00245 }

DVRGeometryPtr & osg::DVRVolumeBase::getGeometry ( void   )  [inline]

Definition at line 256 of file OSGDVRVolumeBase.inl.

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

00257 {
00258     return _sfGeometry.getValue();
00259 }

const DVRGeometryPtr & osg::DVRVolumeBase::getGeometry ( void   )  const [inline]

Definition at line 263 of file OSGDVRVolumeBase.inl.

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

00264 {
00265     return _sfGeometry.getValue();
00266 }

DVRShaderPtr & osg::DVRVolumeBase::getShader ( void   )  [inline]

const DVRShaderPtr & osg::DVRVolumeBase::getShader ( void   )  const [inline]

Definition at line 284 of file OSGDVRVolumeBase.inl.

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

00285 {
00286     return _sfShader.getValue();
00287 }

std::string & osg::DVRVolumeBase::getFileName ( void   )  [inline]

Definition at line 298 of file OSGDVRVolumeBase.inl.

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

00299 {
00300     return _sfFileName.getValue();
00301 }

const std::string & osg::DVRVolumeBase::getFileName ( void   )  const [inline]

Definition at line 305 of file OSGDVRVolumeBase.inl.

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

00306 {
00307     return _sfFileName.getValue();
00308 }

Real32 & osg::DVRVolumeBase::getSampling ( void   )  [inline]

Definition at line 319 of file OSGDVRVolumeBase.inl.

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

Referenced by osg::Brick::render2DMultiSlices(), and osg::Brick::render3DSlices().

00320 {
00321     return _sfSampling.getValue();
00322 }

const Real32 & osg::DVRVolumeBase::getSampling ( void   )  const [inline]

Definition at line 326 of file OSGDVRVolumeBase.inl.

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

00327 {
00328     return _sfSampling.getValue();
00329 }

Real32 & osg::DVRVolumeBase::getSamplingInteractive ( void   )  [inline]

Definition at line 340 of file OSGDVRVolumeBase.inl.

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

00341 {
00342     return _sfSamplingInteractive.getValue();
00343 }

const Real32 & osg::DVRVolumeBase::getSamplingInteractive ( void   )  const [inline]

Definition at line 347 of file OSGDVRVolumeBase.inl.

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

00348 {
00349     return _sfSamplingInteractive.getValue();
00350 }

Real32 & osg::DVRVolumeBase::getBaseAlpha ( void   )  [inline]

Definition at line 361 of file OSGDVRVolumeBase.inl.

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

Referenced by osg::Brick::render3DSlices().

00362 {
00363     return _sfBaseAlpha.getValue();
00364 }

const Real32 & osg::DVRVolumeBase::getBaseAlpha ( void   )  const [inline]

Definition at line 368 of file OSGDVRVolumeBase.inl.

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

00369 {
00370     return _sfBaseAlpha.getValue();
00371 }

bool & osg::DVRVolumeBase::getDoTextures ( void   )  [inline]

const bool & osg::DVRVolumeBase::getDoTextures ( void   )  const [inline]

Definition at line 389 of file OSGDVRVolumeBase.inl.

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

00390 {
00391     return _sfDoTextures.getValue();
00392 }

UInt32 & osg::DVRVolumeBase::getBrickOverlap ( void   )  [inline]

Definition at line 403 of file OSGDVRVolumeBase.inl.

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

Referenced by osg::TextureManager::buildTextures().

00404 {
00405     return _sfBrickOverlap.getValue();
00406 }

const UInt32 & osg::DVRVolumeBase::getBrickOverlap ( void   )  const [inline]

Definition at line 410 of file OSGDVRVolumeBase.inl.

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

00411 {
00412     return _sfBrickOverlap.getValue();
00413 }

QBit & osg::DVRVolumeBase::getTextures2D ( void   )  [inline]

const QBit & osg::DVRVolumeBase::getTextures2D ( void   )  const [inline]

Definition at line 431 of file OSGDVRVolumeBase.inl.

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

00432 {
00433     return _sfTextures2D.getValue();
00434 }

UInt16 & osg::DVRVolumeBase::getBrickStaticMemoryMB ( void   )  [inline]

const UInt16 & osg::DVRVolumeBase::getBrickStaticMemoryMB ( void   )  const [inline]

Definition at line 452 of file OSGDVRVolumeBase.inl.

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

00453 {
00454     return _sfBrickStaticMemoryMB.getValue();
00455 }

ChunkMaterialPtr & osg::DVRVolumeBase::getTextureStorage ( void   )  [inline]

const ChunkMaterialPtr & osg::DVRVolumeBase::getTextureStorage ( void   )  const [inline]

Definition at line 599 of file OSGDVRVolumeBase.inl.

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

00600 {
00601     return _sfTextureStorage.getValue();
00602 }

void osg::DVRVolumeBase::setAppearance ( const DVRAppearancePtr value  )  [inline]

Reimplemented in osg::DVRVolume.

Definition at line 249 of file OSGDVRVolumeBase.inl.

References _sfAppearance, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00250 {
00251     _sfAppearance.setValue(value);
00252 }

void osg::DVRVolumeBase::setGeometry ( const DVRGeometryPtr value  )  [inline]

Reimplemented in osg::DVRVolume.

Definition at line 270 of file OSGDVRVolumeBase.inl.

References _sfGeometry, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00271 {
00272     _sfGeometry.setValue(value);
00273 }

void osg::DVRVolumeBase::setShader ( const DVRShaderPtr value  )  [inline]

Reimplemented in osg::DVRVolume.

Definition at line 291 of file OSGDVRVolumeBase.inl.

References _sfShader, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00292 {
00293     _sfShader.setValue(value);
00294 }

void osg::DVRVolumeBase::setFileName ( const std::string &  value  )  [inline]

Definition at line 312 of file OSGDVRVolumeBase.inl.

References _sfFileName, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00313 {
00314     _sfFileName.setValue(value);
00315 }

void osg::DVRVolumeBase::setSampling ( const Real32 value  )  [inline]

Definition at line 333 of file OSGDVRVolumeBase.inl.

References _sfSampling, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00334 {
00335     _sfSampling.setValue(value);
00336 }

void osg::DVRVolumeBase::setSamplingInteractive ( const Real32 value  )  [inline]

Definition at line 354 of file OSGDVRVolumeBase.inl.

References _sfSamplingInteractive, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00355 {
00356     _sfSamplingInteractive.setValue(value);
00357 }

void osg::DVRVolumeBase::setBaseAlpha ( const Real32 value  )  [inline]

Definition at line 375 of file OSGDVRVolumeBase.inl.

References _sfBaseAlpha, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00376 {
00377     _sfBaseAlpha.setValue(value);
00378 }

void osg::DVRVolumeBase::setDoTextures ( const bool &  value  )  [inline]

Definition at line 396 of file OSGDVRVolumeBase.inl.

References _sfDoTextures, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00397 {
00398     _sfDoTextures.setValue(value);
00399 }

void osg::DVRVolumeBase::setBrickOverlap ( const UInt32 value  )  [inline]

Definition at line 417 of file OSGDVRVolumeBase.inl.

References _sfBrickOverlap, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00418 {
00419     _sfBrickOverlap.setValue(value);
00420 }

void osg::DVRVolumeBase::setTextures2D ( const QBit value  )  [inline]

Definition at line 438 of file OSGDVRVolumeBase.inl.

References _sfTextures2D, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00439 {
00440     _sfTextures2D.setValue(value);
00441 }

void osg::DVRVolumeBase::setBrickStaticMemoryMB ( const UInt16 value  )  [inline]

Definition at line 459 of file OSGDVRVolumeBase.inl.

References _sfBrickStaticMemoryMB, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00460 {
00461     _sfBrickStaticMemoryMB.setValue(value);
00462 }

void osg::DVRVolumeBase::setTextureStorage ( const ChunkMaterialPtr value  )  [inline]

Reimplemented in osg::DVRVolume.

Definition at line 606 of file OSGDVRVolumeBase.inl.

References _sfTextureStorage, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00607 {
00608     _sfTextureStorage.setValue(value);
00609 }

UInt32 DVRVolumeBase::getBinSize ( const BitVector whichField  )  [virtual]

Reimplemented from osg::NodeCore.

Definition at line 424 of file OSGDVRVolumeBase.cpp.

References _mfDrawStyleNames, _sfAppearance, _sfBaseAlpha, _sfBrickingMode, _sfBrickMaxSize, _sfBrickOverlap, _sfBrickStaticMemoryMB, _sfBrickStaticSubdivision, _sfDoTextures, _sfDrawStyle, _sfFileName, _sfGeometry, _sfRenderMaterial, _sfSampling, _sfSamplingInteractive, _sfShader, _sfShowBricks, _sfTextures2D, _sfTextureStorage, AppearanceFieldMask, BaseAlphaFieldMask, BrickingModeFieldMask, BrickMaxSizeFieldMask, BrickOverlapFieldMask, BrickStaticMemoryMBFieldMask, BrickStaticSubdivisionFieldMask, DoTexturesFieldMask, DrawStyleFieldMask, DrawStyleNamesFieldMask, FileNameFieldMask, GeometryFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::SField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::NodeCore::getBinSize(), osg::FieldBits::NoField, RenderMaterialFieldMask, SamplingFieldMask, SamplingInteractiveFieldMask, ShaderFieldMask, ShowBricksFieldMask, Textures2DFieldMask, and TextureStorageFieldMask.

00425 {
00426     UInt32 returnValue = Inherited::getBinSize(whichField);
00427 
00428     if(FieldBits::NoField != (AppearanceFieldMask & whichField))
00429     {
00430         returnValue += _sfAppearance.getBinSize();
00431     }
00432 
00433     if(FieldBits::NoField != (GeometryFieldMask & whichField))
00434     {
00435         returnValue += _sfGeometry.getBinSize();
00436     }
00437 
00438     if(FieldBits::NoField != (ShaderFieldMask & whichField))
00439     {
00440         returnValue += _sfShader.getBinSize();
00441     }
00442 
00443     if(FieldBits::NoField != (FileNameFieldMask & whichField))
00444     {
00445         returnValue += _sfFileName.getBinSize();
00446     }
00447 
00448     if(FieldBits::NoField != (SamplingFieldMask & whichField))
00449     {
00450         returnValue += _sfSampling.getBinSize();
00451     }
00452 
00453     if(FieldBits::NoField != (SamplingInteractiveFieldMask & whichField))
00454     {
00455         returnValue += _sfSamplingInteractive.getBinSize();
00456     }
00457 
00458     if(FieldBits::NoField != (BaseAlphaFieldMask & whichField))
00459     {
00460         returnValue += _sfBaseAlpha.getBinSize();
00461     }
00462 
00463     if(FieldBits::NoField != (DoTexturesFieldMask & whichField))
00464     {
00465         returnValue += _sfDoTextures.getBinSize();
00466     }
00467 
00468     if(FieldBits::NoField != (BrickOverlapFieldMask & whichField))
00469     {
00470         returnValue += _sfBrickOverlap.getBinSize();
00471     }
00472 
00473     if(FieldBits::NoField != (Textures2DFieldMask & whichField))
00474     {
00475         returnValue += _sfTextures2D.getBinSize();
00476     }
00477 
00478     if(FieldBits::NoField != (BrickStaticMemoryMBFieldMask & whichField))
00479     {
00480         returnValue += _sfBrickStaticMemoryMB.getBinSize();
00481     }
00482 
00483     if(FieldBits::NoField != (RenderMaterialFieldMask & whichField))
00484     {
00485         returnValue += _sfRenderMaterial.getBinSize();
00486     }
00487 
00488     if(FieldBits::NoField != (BrickingModeFieldMask & whichField))
00489     {
00490         returnValue += _sfBrickingMode.getBinSize();
00491     }
00492 
00493     if(FieldBits::NoField != (BrickStaticSubdivisionFieldMask & whichField))
00494     {
00495         returnValue += _sfBrickStaticSubdivision.getBinSize();
00496     }
00497 
00498     if(FieldBits::NoField != (BrickMaxSizeFieldMask & whichField))
00499     {
00500         returnValue += _sfBrickMaxSize.getBinSize();
00501     }
00502 
00503     if(FieldBits::NoField != (ShowBricksFieldMask & whichField))
00504     {
00505         returnValue += _sfShowBricks.getBinSize();
00506     }
00507 
00508     if(FieldBits::NoField != (DrawStyleFieldMask & whichField))
00509     {
00510         returnValue += _sfDrawStyle.getBinSize();
00511     }
00512 
00513     if(FieldBits::NoField != (DrawStyleNamesFieldMask & whichField))
00514     {
00515         returnValue += _mfDrawStyleNames.getBinSize();
00516     }
00517 
00518     if(FieldBits::NoField != (TextureStorageFieldMask & whichField))
00519     {
00520         returnValue += _sfTextureStorage.getBinSize();
00521     }
00522 
00523 
00524     return returnValue;
00525 }

void DVRVolumeBase::copyToBin ( BinaryDataHandler pMem,
const BitVector whichField 
) [virtual]

Reimplemented from osg::NodeCore.

Definition at line 527 of file OSGDVRVolumeBase.cpp.

References _mfDrawStyleNames, _sfAppearance, _sfBaseAlpha, _sfBrickingMode, _sfBrickMaxSize, _sfBrickOverlap, _sfBrickStaticMemoryMB, _sfBrickStaticSubdivision, _sfDoTextures, _sfDrawStyle, _sfFileName, _sfGeometry, _sfRenderMaterial, _sfSampling, _sfSamplingInteractive, _sfShader, _sfShowBricks, _sfTextures2D, _sfTextureStorage, AppearanceFieldMask, BaseAlphaFieldMask, BrickingModeFieldMask, BrickMaxSizeFieldMask, BrickOverlapFieldMask, BrickStaticMemoryMBFieldMask, BrickStaticSubdivisionFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::SField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::NodeCore::copyToBin(), DoTexturesFieldMask, DrawStyleFieldMask, DrawStyleNamesFieldMask, FileNameFieldMask, GeometryFieldMask, osg::FieldBits::NoField, RenderMaterialFieldMask, SamplingFieldMask, SamplingInteractiveFieldMask, ShaderFieldMask, ShowBricksFieldMask, Textures2DFieldMask, and TextureStorageFieldMask.

00529 {
00530     Inherited::copyToBin(pMem, whichField);
00531 
00532     if(FieldBits::NoField != (AppearanceFieldMask & whichField))
00533     {
00534         _sfAppearance.copyToBin(pMem);
00535     }
00536 
00537     if(FieldBits::NoField != (GeometryFieldMask & whichField))
00538     {
00539         _sfGeometry.copyToBin(pMem);
00540     }
00541 
00542     if(FieldBits::NoField != (ShaderFieldMask & whichField))
00543     {
00544         _sfShader.copyToBin(pMem);
00545     }
00546 
00547     if(FieldBits::NoField != (FileNameFieldMask & whichField))
00548     {
00549         _sfFileName.copyToBin(pMem);
00550     }
00551 
00552     if(FieldBits::NoField != (SamplingFieldMask & whichField))
00553     {
00554         _sfSampling.copyToBin(pMem);
00555     }
00556 
00557     if(FieldBits::NoField != (SamplingInteractiveFieldMask & whichField))
00558     {
00559         _sfSamplingInteractive.copyToBin(pMem);
00560     }
00561 
00562     if(FieldBits::NoField != (BaseAlphaFieldMask & whichField))
00563     {
00564         _sfBaseAlpha.copyToBin(pMem);
00565     }
00566 
00567     if(FieldBits::NoField != (DoTexturesFieldMask & whichField))
00568     {
00569         _sfDoTextures.copyToBin(pMem);
00570     }
00571 
00572     if(FieldBits::NoField != (BrickOverlapFieldMask & whichField))
00573     {
00574         _sfBrickOverlap.copyToBin(pMem);
00575     }
00576 
00577     if(FieldBits::NoField != (Textures2DFieldMask & whichField))
00578     {
00579         _sfTextures2D.copyToBin(pMem);
00580     }
00581 
00582     if(FieldBits::NoField != (BrickStaticMemoryMBFieldMask & whichField))
00583     {
00584         _sfBrickStaticMemoryMB.copyToBin(pMem);
00585     }
00586 
00587     if(FieldBits::NoField != (RenderMaterialFieldMask & whichField))
00588     {
00589         _sfRenderMaterial.copyToBin(pMem);
00590     }
00591 
00592     if(FieldBits::NoField != (BrickingModeFieldMask & whichField))
00593     {
00594         _sfBrickingMode.copyToBin(pMem);
00595     }
00596 
00597     if(FieldBits::NoField != (BrickStaticSubdivisionFieldMask & whichField))
00598     {
00599         _sfBrickStaticSubdivision.copyToBin(pMem);
00600     }
00601 
00602     if(FieldBits::NoField != (BrickMaxSizeFieldMask & whichField))
00603     {
00604         _sfBrickMaxSize.copyToBin(pMem);
00605     }
00606 
00607     if(FieldBits::NoField != (ShowBricksFieldMask & whichField))
00608     {
00609         _sfShowBricks.copyToBin(pMem);
00610     }
00611 
00612     if(FieldBits::NoField != (DrawStyleFieldMask & whichField))
00613     {
00614         _sfDrawStyle.copyToBin(pMem);
00615     }
00616 
00617     if(FieldBits::NoField != (DrawStyleNamesFieldMask & whichField))
00618     {
00619         _mfDrawStyleNames.copyToBin(pMem);
00620     }
00621 
00622     if(FieldBits::NoField != (TextureStorageFieldMask & whichField))
00623     {
00624         _sfTextureStorage.copyToBin(pMem);
00625     }
00626 
00627 
00628 }

void DVRVolumeBase::copyFromBin ( BinaryDataHandler pMem,
const BitVector whichField 
) [virtual]

Reimplemented from osg::NodeCore.

Definition at line 630 of file OSGDVRVolumeBase.cpp.

References _mfDrawStyleNames, _sfAppearance, _sfBaseAlpha, _sfBrickingMode, _sfBrickMaxSize, _sfBrickOverlap, _sfBrickStaticMemoryMB, _sfBrickStaticSubdivision, _sfDoTextures, _sfDrawStyle, _sfFileName, _sfGeometry, _sfRenderMaterial, _sfSampling, _sfSamplingInteractive, _sfShader, _sfShowBricks, _sfTextures2D, _sfTextureStorage, AppearanceFieldMask, BaseAlphaFieldMask, BrickingModeFieldMask, BrickMaxSizeFieldMask, BrickOverlapFieldMask, BrickStaticMemoryMBFieldMask, BrickStaticSubdivisionFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::SField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::NodeCore::copyFromBin(), DoTexturesFieldMask, DrawStyleFieldMask, DrawStyleNamesFieldMask, FileNameFieldMask, GeometryFieldMask, osg::FieldBits::NoField, RenderMaterialFieldMask, SamplingFieldMask, SamplingInteractiveFieldMask, ShaderFieldMask, ShowBricksFieldMask, Textures2DFieldMask, and TextureStorageFieldMask.

00632 {
00633     Inherited::copyFromBin(pMem, whichField);
00634 
00635     if(FieldBits::NoField != (AppearanceFieldMask & whichField))
00636     {
00637         _sfAppearance.copyFromBin(pMem);
00638     }
00639 
00640     if(FieldBits::NoField != (GeometryFieldMask & whichField))
00641     {
00642         _sfGeometry.copyFromBin(pMem);
00643     }
00644 
00645     if(FieldBits::NoField != (ShaderFieldMask & whichField))
00646     {
00647         _sfShader.copyFromBin(pMem);
00648     }
00649 
00650     if(FieldBits::NoField != (FileNameFieldMask & whichField))
00651     {
00652         _sfFileName.copyFromBin(pMem);
00653     }
00654 
00655     if(FieldBits::NoField != (SamplingFieldMask & whichField))
00656     {
00657         _sfSampling.copyFromBin(pMem);
00658     }
00659 
00660     if(FieldBits::NoField != (SamplingInteractiveFieldMask & whichField))
00661     {
00662         _sfSamplingInteractive.copyFromBin(pMem);
00663     }
00664 
00665     if(FieldBits::NoField != (BaseAlphaFieldMask & whichField))
00666     {
00667         _sfBaseAlpha.copyFromBin(pMem);
00668     }
00669 
00670     if(FieldBits::NoField != (DoTexturesFieldMask & whichField))
00671     {
00672         _sfDoTextures.copyFromBin(pMem);
00673     }
00674 
00675     if(FieldBits::NoField != (BrickOverlapFieldMask & whichField))
00676     {
00677         _sfBrickOverlap.copyFromBin(pMem);
00678     }
00679 
00680     if(FieldBits::NoField != (Textures2DFieldMask & whichField))
00681     {
00682         _sfTextures2D.copyFromBin(pMem);
00683     }
00684 
00685     if(FieldBits::NoField != (BrickStaticMemoryMBFieldMask & whichField))
00686     {
00687         _sfBrickStaticMemoryMB.copyFromBin(pMem);
00688     }
00689 
00690     if(FieldBits::NoField != (RenderMaterialFieldMask & whichField))
00691     {
00692         _sfRenderMaterial.copyFromBin(pMem);
00693     }
00694 
00695     if(FieldBits::NoField != (BrickingModeFieldMask & whichField))
00696     {
00697         _sfBrickingMode.copyFromBin(pMem);
00698     }
00699 
00700     if(FieldBits::NoField != (BrickStaticSubdivisionFieldMask & whichField))
00701     {
00702         _sfBrickStaticSubdivision.copyFromBin(pMem);
00703     }
00704 
00705     if(FieldBits::NoField != (BrickMaxSizeFieldMask & whichField))
00706     {
00707         _sfBrickMaxSize.copyFromBin(pMem);
00708     }
00709 
00710     if(FieldBits::NoField != (ShowBricksFieldMask & whichField))
00711     {
00712         _sfShowBricks.copyFromBin(pMem);
00713     }
00714 
00715     if(FieldBits::NoField != (DrawStyleFieldMask & whichField))
00716     {
00717         _sfDrawStyle.copyFromBin(pMem);
00718     }
00719 
00720     if(FieldBits::NoField != (DrawStyleNamesFieldMask & whichField))
00721     {
00722         _mfDrawStyleNames.copyFromBin(pMem);
00723     }
00724 
00725     if(FieldBits::NoField != (TextureStorageFieldMask & whichField))
00726     {
00727         _sfTextureStorage.copyFromBin(pMem);
00728     }
00729 
00730 
00731 }

DVRVolumePtr osg::DVRVolumeBase::create ( void   )  [inline, static]

Definition at line 72 of file OSGDVRVolumeBase.inl.

References osg::AttachmentContainerPtr::dcast(), getClassType(), osg::NullFC, and shallowCopy().

00073 {
00074     DVRVolumePtr fc; 
00075 
00076     if(getClassType().getPrototype() != OSG::NullFC) 
00077     {
00078         fc = DVRVolumePtr::dcast(
00079             getClassType().getPrototype()-> shallowCopy()); 
00080     }
00081     
00082     return fc; 
00083 }

DVRVolumePtr osg::DVRVolumeBase::createEmpty ( void   )  [inline, static]

Definition at line 87 of file OSGDVRVolumeBase.inl.

References osg::FieldContainer::newPtr().

00088 { 
00089     DVRVolumePtr returnValue; 
00090     
00091     newPtr(returnValue); 
00092 
00093     return returnValue; 
00094 }

FieldContainerPtr DVRVolumeBase::shallowCopy ( void   )  const [virtual]

Implements osg::FieldContainer.

Definition at line 316 of file OSGDVRVolumeBase.cpp.

References osg::FieldContainer::newPtr().

Referenced by create().

00317 { 
00318     DVRVolumePtr returnValue; 
00319 
00320     newPtr(returnValue, dynamic_cast<const DVRVolume *>(this)); 
00321 
00322     return returnValue; 
00323 }

SFMaterialPtr * osg::DVRVolumeBase::getSFRenderMaterial ( void   )  [inline, protected]

Definition at line 178 of file OSGDVRVolumeBase.inl.

References _sfRenderMaterial.

00179 {
00180     return &_sfRenderMaterial;
00181 }

SFUInt16 * osg::DVRVolumeBase::getSFBrickingMode ( void   )  [inline, protected]

Definition at line 185 of file OSGDVRVolumeBase.inl.

References _sfBrickingMode.

00186 {
00187     return &_sfBrickingMode;
00188 }

SFVec3f * osg::DVRVolumeBase::getSFBrickStaticSubdivision ( void   )  [inline, protected]

Definition at line 192 of file OSGDVRVolumeBase.inl.

References _sfBrickStaticSubdivision.

00193 {
00194     return &_sfBrickStaticSubdivision;
00195 }

SFVec3f * osg::DVRVolumeBase::getSFBrickMaxSize ( void   )  [inline, protected]

Definition at line 199 of file OSGDVRVolumeBase.inl.

References _sfBrickMaxSize.

00200 {
00201     return &_sfBrickMaxSize;
00202 }

SFBool * osg::DVRVolumeBase::getSFShowBricks ( void   )  [inline, protected]

Definition at line 206 of file OSGDVRVolumeBase.inl.

References _sfShowBricks.

00207 {
00208     return &_sfShowBricks;
00209 }

SFUInt32 * osg::DVRVolumeBase::getSFDrawStyle ( void   )  [inline, protected]

Definition at line 213 of file OSGDVRVolumeBase.inl.

References _sfDrawStyle.

00214 {
00215     return &_sfDrawStyle;
00216 }

MFString * osg::DVRVolumeBase::getMFDrawStyleNames ( void   )  [inline, protected]

Definition at line 220 of file OSGDVRVolumeBase.inl.

References _mfDrawStyleNames.

00221 {
00222     return &_mfDrawStyleNames;
00223 }

MaterialPtr & osg::DVRVolumeBase::getRenderMaterial ( void   )  [inline, protected]

const MaterialPtr & osg::DVRVolumeBase::getRenderMaterial ( void   )  const [inline, protected]

Definition at line 473 of file OSGDVRVolumeBase.inl.

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

00474 {
00475     return _sfRenderMaterial.getValue();
00476 }

UInt16 & osg::DVRVolumeBase::getBrickingMode ( void   )  [inline, protected]

Definition at line 487 of file OSGDVRVolumeBase.inl.

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

Referenced by osg::TextureManager::calcBrickSubdivision().

00488 {
00489     return _sfBrickingMode.getValue();
00490 }

const UInt16 & osg::DVRVolumeBase::getBrickingMode ( void   )  const [inline, protected]

Definition at line 494 of file OSGDVRVolumeBase.inl.

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

00495 {
00496     return _sfBrickingMode.getValue();
00497 }

Vec3f & osg::DVRVolumeBase::getBrickStaticSubdivision ( void   )  [inline, protected]

const Vec3f & osg::DVRVolumeBase::getBrickStaticSubdivision ( void   )  const [inline, protected]

Definition at line 515 of file OSGDVRVolumeBase.inl.

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

00516 {
00517     return _sfBrickStaticSubdivision.getValue();
00518 }

Vec3f & osg::DVRVolumeBase::getBrickMaxSize ( void   )  [inline, protected]

Definition at line 529 of file OSGDVRVolumeBase.inl.

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

Referenced by osg::TextureManager::calcBrickSubdivision().

00530 {
00531     return _sfBrickMaxSize.getValue();
00532 }

const Vec3f & osg::DVRVolumeBase::getBrickMaxSize ( void   )  const [inline, protected]

Definition at line 536 of file OSGDVRVolumeBase.inl.

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

00537 {
00538     return _sfBrickMaxSize.getValue();
00539 }

bool & osg::DVRVolumeBase::getShowBricks ( void   )  [inline, protected]

Definition at line 550 of file OSGDVRVolumeBase.inl.

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

Referenced by osg::DVRVolume::draw().

00551 {
00552     return _sfShowBricks.getValue();
00553 }

const bool & osg::DVRVolumeBase::getShowBricks ( void   )  const [inline, protected]

Definition at line 557 of file OSGDVRVolumeBase.inl.

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

00558 {
00559     return _sfShowBricks.getValue();
00560 }

UInt32 & osg::DVRVolumeBase::getDrawStyle ( void   )  [inline, protected]

Definition at line 571 of file OSGDVRVolumeBase.inl.

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

00572 {
00573     return _sfDrawStyle.getValue();
00574 }

const UInt32 & osg::DVRVolumeBase::getDrawStyle ( void   )  const [inline, protected]

Definition at line 578 of file OSGDVRVolumeBase.inl.

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

00579 {
00580     return _sfDrawStyle.getValue();
00581 }

std::string & osg::DVRVolumeBase::getDrawStyleNames ( UInt32  index  )  [inline, protected]

Definition at line 614 of file OSGDVRVolumeBase.inl.

References _mfDrawStyleNames.

00615 {
00616     return _mfDrawStyleNames[index];
00617 }

MFString & osg::DVRVolumeBase::getDrawStyleNames ( void   )  [inline, protected]

Definition at line 621 of file OSGDVRVolumeBase.inl.

References _mfDrawStyleNames.

00622 {
00623     return _mfDrawStyleNames;
00624 }

const MFString & osg::DVRVolumeBase::getDrawStyleNames ( void   )  const [inline, protected]

Definition at line 628 of file OSGDVRVolumeBase.inl.

References _mfDrawStyleNames.

00629 {
00630     return _mfDrawStyleNames;
00631 }

void osg::DVRVolumeBase::setRenderMaterial ( const MaterialPtr value  )  [inline, protected]

Reimplemented in osg::DVRVolume.

Definition at line 480 of file OSGDVRVolumeBase.inl.

References _sfRenderMaterial, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00481 {
00482     _sfRenderMaterial.setValue(value);
00483 }

void osg::DVRVolumeBase::setBrickingMode ( const UInt16 value  )  [inline, protected]

Definition at line 501 of file OSGDVRVolumeBase.inl.

References _sfBrickingMode, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00502 {
00503     _sfBrickingMode.setValue(value);
00504 }

void osg::DVRVolumeBase::setBrickStaticSubdivision ( const Vec3f value  )  [inline, protected]

void osg::DVRVolumeBase::setBrickMaxSize ( const Vec3f value  )  [inline, protected]

Definition at line 543 of file OSGDVRVolumeBase.inl.

References _sfBrickMaxSize, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00544 {
00545     _sfBrickMaxSize.setValue(value);
00546 }

void osg::DVRVolumeBase::setShowBricks ( const bool &  value  )  [inline, protected]

Definition at line 564 of file OSGDVRVolumeBase.inl.

References _sfShowBricks, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00565 {
00566     _sfShowBricks.setValue(value);
00567 }

void osg::DVRVolumeBase::setDrawStyle ( const UInt32 value  )  [inline, protected]

Definition at line 585 of file OSGDVRVolumeBase.inl.

References _sfDrawStyle, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00586 {
00587     _sfDrawStyle.setValue(value);
00588 }

void DVRVolumeBase::executeSyncImpl ( DVRVolumeBase pOther,
const BitVector whichField 
) [protected]

Definition at line 734 of file OSGDVRVolumeBase.cpp.

References _mfDrawStyleNames, _sfAppearance, _sfBaseAlpha, _sfBrickingMode, _sfBrickMaxSize, _sfBrickOverlap, _sfBrickStaticMemoryMB, _sfBrickStaticSubdivision, _sfDoTextures, _sfDrawStyle, _sfFileName, _sfGeometry, _sfRenderMaterial, _sfSampling, _sfSamplingInteractive, _sfShader, _sfShowBricks, _sfTextures2D, _sfTextureStorage, AppearanceFieldMask, BaseAlphaFieldMask, BrickingModeFieldMask, BrickMaxSizeFieldMask, BrickOverlapFieldMask, BrickStaticMemoryMBFieldMask, BrickStaticSubdivisionFieldMask, DoTexturesFieldMask, DrawStyleFieldMask, DrawStyleNamesFieldMask, osg::NodeCore::executeSyncImpl(), FileNameFieldMask, GeometryFieldMask, osg::FieldBits::NoField, RenderMaterialFieldMask, SamplingFieldMask, SamplingInteractiveFieldMask, ShaderFieldMask, ShowBricksFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::syncWith(), osg::SField< FieldTypeT, fieldNameSpace >::syncWith(), Textures2DFieldMask, and TextureStorageFieldMask.

Referenced by executeSync().

00736 {
00737 
00738     Inherited::executeSyncImpl(pOther, whichField);
00739 
00740     if(FieldBits::NoField != (AppearanceFieldMask & whichField))
00741         _sfAppearance.syncWith(pOther->_sfAppearance);
00742 
00743     if(FieldBits::NoField != (GeometryFieldMask & whichField))
00744         _sfGeometry.syncWith(pOther->_sfGeometry);
00745 
00746     if(FieldBits::NoField != (ShaderFieldMask & whichField))
00747         _sfShader.syncWith(pOther->_sfShader);
00748 
00749     if(FieldBits::NoField != (FileNameFieldMask & whichField))
00750         _sfFileName.syncWith(pOther->_sfFileName);
00751 
00752     if(FieldBits::NoField != (SamplingFieldMask & whichField))
00753         _sfSampling.syncWith(pOther->_sfSampling);
00754 
00755     if(FieldBits::NoField != (SamplingInteractiveFieldMask & whichField))
00756         _sfSamplingInteractive.syncWith(pOther->_sfSamplingInteractive);
00757 
00758     if(FieldBits::NoField != (BaseAlphaFieldMask & whichField))
00759         _sfBaseAlpha.syncWith(pOther->_sfBaseAlpha);
00760 
00761     if(FieldBits::NoField != (DoTexturesFieldMask & whichField))
00762         _sfDoTextures.syncWith(pOther->_sfDoTextures);
00763 
00764     if(FieldBits::NoField != (BrickOverlapFieldMask & whichField))
00765         _sfBrickOverlap.syncWith(pOther->_sfBrickOverlap);
00766 
00767     if(FieldBits::NoField != (Textures2DFieldMask & whichField))
00768         _sfTextures2D.syncWith(pOther->_sfTextures2D);
00769 
00770     if(FieldBits::NoField != (BrickStaticMemoryMBFieldMask & whichField))
00771         _sfBrickStaticMemoryMB.syncWith(pOther->_sfBrickStaticMemoryMB);
00772 
00773     if(FieldBits::NoField != (RenderMaterialFieldMask & whichField))
00774         _sfRenderMaterial.syncWith(pOther->_sfRenderMaterial);
00775 
00776     if(FieldBits::NoField != (BrickingModeFieldMask & whichField))
00777         _sfBrickingMode.syncWith(pOther->_sfBrickingMode);
00778 
00779     if(FieldBits::NoField != (BrickStaticSubdivisionFieldMask & whichField))
00780         _sfBrickStaticSubdivision.syncWith(pOther->_sfBrickStaticSubdivision);
00781 
00782     if(FieldBits::NoField != (BrickMaxSizeFieldMask & whichField))
00783         _sfBrickMaxSize.syncWith(pOther->_sfBrickMaxSize);
00784 
00785     if(FieldBits::NoField != (ShowBricksFieldMask & whichField))
00786         _sfShowBricks.syncWith(pOther->_sfShowBricks);
00787 
00788     if(FieldBits::NoField != (DrawStyleFieldMask & whichField))
00789         _sfDrawStyle.syncWith(pOther->_sfDrawStyle);
00790 
00791     if(FieldBits::NoField != (DrawStyleNamesFieldMask & whichField))
00792         _mfDrawStyleNames.syncWith(pOther->_mfDrawStyleNames);
00793 
00794     if(FieldBits::NoField != (TextureStorageFieldMask & whichField))
00795         _sfTextureStorage.syncWith(pOther->_sfTextureStorage);
00796 
00797 
00798 }

void DVRVolumeBase::executeSync ( FieldContainer other,
const BitVector whichField 
) [protected, virtual]

Reimplemented from osg::NodeCore.

Definition at line 332 of file OSGDVRVolumeBase.cpp.

References executeSyncImpl().

00334 {
00335     this->executeSyncImpl((DVRVolumeBase *) &other, whichField);
00336 }

void osg::DVRVolumeBase::operator= ( const DVRVolumeBase source  )  [private]

MFNodePtr & osg::NodeCore::getParents ( void   )  [inline, inherited]

Definition at line 56 of file OSGNodeCore.inl.

Referenced by osg::Surface::FindClosestPoint().

00057 {
00058     return _parents;
00059 }

const MFNodePtr & osg::NodeCore::getParents ( void   )  const [inline, inherited]

Definition at line 62 of file OSGNodeCore.inl.

References osg::NodeCore::_parents.

00063 {
00064     return _parents;
00065 }

MFNodePtr * osg::NodeCore::getMFParents ( void   )  [inline, inherited]

Definition at line 68 of file OSGNodeCore.inl.

References osg::NodeCore::_parents.

00069 {
00070     return &_parents;
00071 }

void NodeCore::dump ( UInt32  uiIndent = 0,
const BitVector  bvFlags = 0 
) const [virtual, inherited]

Reimplemented from osg::AttachmentContainer.

Reimplemented in osg::Drawable, osg::MaterialDrawable, osg::Geometry, osg::Slices, osg::Particles, osg::DVRGeometry, osg::DVRVolume, osg::Surface, osg::Group, osg::DirectionalLight, osg::Light, osg::LightEnv, osg::PointLight, osg::SpotLight, osg::Billboard, osg::ClipPlane, osg::ComponentTransform, osg::DistanceLOD, osg::Inline, osg::InverseTransform, osg::MaterialGroup, osg::MaterialPool, osg::ProxyGroup, osg::ScreenGroup, osg::StateSortingGroup, osg::Switch, and osg::Transform.

Definition at line 87 of file OSGNodeCore.cpp.

References osg::AttachmentContainer::_attachmentMap, osg::NodeCore::_parents, osg::AttachmentContainer::dump(), osg::FieldContainerPtrBase::getFieldContainerId(), osg::TypeBase::getName(), osg::NodeCore::getPtr(), osg::NodeCore::getType(), osg::SField< FieldTypeT, fieldNameSpace >::getValue(), osg::indentLog(), PLOG, and osg::MField< FieldTypeT, fieldNameSpace >::size().

Referenced by osg::StateSortingGroup::dump(), osg::LightEnv::dump(), and osg::Group::dump().

00089 {
00090     UInt32 i;
00091 
00092     NodeCorePtr thisP = getPtr();
00093 
00094 //    thisP.dump(0, FCDumpFlags::RefCount);
00095 
00096     indentLog(uiIndent, PLOG);
00097 
00098     PLOG << "Core"
00099          << "("
00100          << std::dec
00101          << thisP.getFieldContainerId()
00102          << ") : " << getType().getName()
00103          << " "
00104          << _attachmentMap.getValue().size()
00105          << " attachments | "
00106          << this
00107          << std::endl;
00108 
00109     indentLog(uiIndent, PLOG);
00110     PLOG << "[" << std::endl;
00111 
00112     indentLog(uiIndent + 4, PLOG);
00113     PLOG << "Parents : " << std::endl;
00114 
00115     for(i = 0; i < _parents.size(); i++)
00116     {
00117         indentLog(uiIndent + 4, PLOG);
00118         PLOG << "           " << i << ") " << &(*(_parents[i])) << std::endl;
00119     }
00120 
00121     indentLog(uiIndent, PLOG);
00122     PLOG << "]" << std::endl;
00123 
00124     indentLog(uiIndent, PLOG);
00125     PLOG << "{" << std::endl;
00126 
00127     Inherited::dump(uiIndent, bvFlags);
00128 
00129     indentLog(uiIndent, PLOG);
00130     PLOG << "}" << std::endl;
00131 }

void osg::NodeCore::invalidateVolume ( void   )  [inline, virtual, inherited]

Definition at line 237 of file OSGNodeCore.inl.

References osg::NodeCore::_parents, and osg::MField< FieldTypeT, fieldNameSpace >::size().

Referenced by osg::Transform::changed(), and osg::Slices::changed().

00238 {
00239     for(UInt32 i = 0; i < _parents.size(); i++)
00240     {
00241         _parents[i]->invalidateVolume();
00242     }
00243 }

void osg::NodeCore::onDestroy ( void   )  [inline, protected, virtual, inherited]

Reimplemented from osg::FieldContainer.

Reimplemented in osg::Geometry, osg::Surface, and osg::MaterialPool.

Definition at line 142 of file OSGNodeCore.inl.

Referenced by osg::Geometry::onDestroy().

00143 {
00144 }

void osg::NodeCore::addParent ( const NodePtr parent  )  [inline, protected, inherited]

Definition at line 150 of file OSGNodeCore.inl.

References osg::NodeCore::_parents, and osg::MField< FieldTypeT, fieldNameSpace >::push_back().

00151 {
00152     _parents.push_back(parent);
00153 }

void osg::NodeCore::subParent ( const NodePtr parent  )  [inline, protected, inherited]

Definition at line 156 of file OSGNodeCore.inl.

References osg::NodeCore::_parents, osg::MField< FieldTypeT, fieldNameSpace >::end(), osg::MField< FieldTypeT, fieldNameSpace >::erase(), and osg::MField< FieldTypeT, fieldNameSpace >::find().

00157 {
00158     MFNodePtr::iterator parentIt = _parents.find(parent);
00159 
00160     if(parentIt != _parents.end())
00161     {
00162         _parents.erase(parentIt);
00163     }
00164 }

NodeCorePtr osg::NodeCore::getPtr ( void   )  const [inline, protected, inherited]

Reimplemented in osg::Geometry.

Definition at line 170 of file OSGNodeCore.inl.

Referenced by osg::MaterialPool::add(), osg::NodeCore::dump(), and osg::MaterialPool::sub().

00171 {
00172     return NodeCorePtr(*this);
00173 }

AttachmentContainerPtr AttachmentContainer::getPtr ( void   )  [protected, inherited]

void osg::NodeCore::executeSyncImpl ( NodeCore pOther,
const BitVector whichField 
) [inline, protected, inherited]

void AttachmentContainer::executeSyncImpl ( AttachmentContainer pOther,
const BitVector whichField 
) [protected, inherited]

void osg::FieldContainer::executeSyncImpl ( FieldContainer pOther,
const BitVector whichField 
) [inline, protected, inherited]

void osg::NodeCore::accumulateMatrix ( Matrix result  )  [inline, protected, virtual, inherited]

Reimplemented in osg::Billboard, osg::InverseTransform, osg::ScreenGroup, and osg::Transform.

Definition at line 224 of file OSGNodeCore.inl.

00225 {
00226 }

void osg::NodeCore::adjustVolume ( Volume volume  )  [inline, protected, virtual, inherited]

void AttachmentContainer::addAttachment ( const AttachmentPtr fieldContainerP,
UInt16  binding = 0 
) [inherited]

Definition at line 84 of file OSGAttachmentContainer.cpp.

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

Referenced by osg::AttachmentContainer::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 
) [inherited]

Definition at line 122 of file OSGAttachmentContainer.cpp.

References osg::AttachmentContainer::_attachmentMap, osg::beginEditCP(), osg::endEditCP(), osg::AttachmentContainer::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 
) [inherited]

Definition at line 150 of file OSGAttachmentContainer.cpp.

References osg::AttachmentContainer::_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, inherited]

Definition at line 57 of file OSGAttachmentContainerImpl.inl.

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

SFAttachmentMap * AttachmentContainer::getSFAttachments ( void   )  [inherited]

Field Access

Definition at line 170 of file OSGAttachmentContainer.cpp.

References osg::AttachmentContainer::_attachmentMap.

00171 {
00172     return &_attachmentMap;
00173 }

void AttachmentContainer::changed ( BitVector  whichField,
UInt32  origin 
) [virtual, inherited]

Reimplemented from osg::FieldContainer.

Reimplemented in osg::ClusterWindow, osg::DisplayCalibration, osg::ImageComposer, osg::MultiDisplayWindow, osg::SortFirstWindow, osg::Node, osg::Image, osg::ChunkMaterial, osg::FresnelMaterial, osg::Material, osg::MultiPassMaterial, osg::PhongMaterial, osg::SimpleMaterial, osg::SimpleTexturedMaterial, osg::SwitchMaterial, osg::Drawable, osg::MaterialDrawable, osg::Geometry, osg::Slices, osg::Particles, osg::DVRAppearance, osg::DVRGeometry, osg::DVRVolume, osg::Surface, osg::Group, osg::DirectionalLight, osg::Light, osg::LightEnv, osg::PointLight, osg::SpotLight, osg::Billboard, osg::ClipPlane, osg::ComponentTransform, osg::DistanceLOD, osg::Inline, osg::InverseTransform, osg::MaterialGroup, osg::MaterialPool, osg::ProxyGroup, osg::ScreenGroup, osg::StateSortingGroup, osg::Switch, osg::Transform, osg::GraphicStatisticsForeground, osg::SimpleStatisticsForeground, osg::StatisticsForeground, osg::Background, osg::Camera, osg::CameraDecorator, osg::ColorBufferViewport, osg::ColorDisplayFilter, osg::DepthClearBackground, osg::DisplayFilter, osg::DisplayFilterForeground, osg::DistortionDisplayFilter, osg::FBOViewport, osg::FileGrabForeground, osg::Foreground, osg::GrabForeground, osg::GradientBackground, osg::ImageBackground, osg::ImageForeground, osg::MatrixCamera, osg::MatrixCameraDecorator, osg::OffCenterPerspectiveCamera, osg::OrthographicCamera, osg::PassiveBackground, osg::PassiveViewport, osg::PassiveWindow, osg::PerspectiveCamera, osg::PolygonBackground, osg::PolygonForeground, osg::ProjectionCameraDecorator, osg::ResolutionDisplayFilter, osg::ShearedStereoCameraDecorator, osg::SkyBackground, osg::SolidBackground, osg::StereoBufferViewport, osg::StereoCameraDecorator, osg::TextureBackground, osg::TextureGrabBackground, osg::TextureGrabForeground, osg::TileCameraDecorator, osg::Viewport, osg::Window, osg::ShaderParameter, osg::ShaderParameterBool, osg::ShaderParameterInt, osg::ShaderParameterMatrix, osg::ShaderParameterMInt, osg::ShaderParameterMMatrix, osg::ShaderParameterMReal, osg::ShaderParameterMVec2f, osg::ShaderParameterMVec3f, osg::ShaderParameterMVec4f, osg::ShaderParameterReal, osg::ShaderParameterString, osg::ShaderParameterVec2f, osg::ShaderParameterVec3f, osg::ShaderParameterVec4f, osg::XWindow, and osg::QTWindow.

Definition at line 178 of file OSGAttachmentContainer.cpp.

References osg::AttachmentContainer::_attachmentMap, osg::ChangedOrigin::Abstract, osg::ChangedOrigin::AbstrIncRefCount, osg::addRefCP(), osg::AttachmentContainer::AttachmentsFieldMask, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by osg::Window::changed(), osg::Viewport::changed(), osg::StateSortingGroup::changed(), osg::ShaderParameter::changed(), osg::Node::changed(), osg::Material::changed(), osg::LightEnv::changed(), osg::Inline::changed(), osg::ImageComposer::changed(), osg::Image::changed(), osg::Group::changed(), osg::Foreground::changed(), osg::DVRVolume::changed(), osg::Drawable::changed(), osg::DisplayFilter::changed(), osg::DisplayCalibration::changed(), osg::Camera::changed(), and osg::Background::changed().

00180 {
00181     if(whichField & AttachmentsFieldMask)
00182     {
00183         if(origin & ChangedOrigin::Abstract)
00184         {
00185             if(origin & ChangedOrigin::AbstrIncRefCount)
00186             {
00187                 AttachmentMap::iterator attIt  = 
00188                     _attachmentMap.getValue().begin();
00189                 AttachmentMap::iterator attEnd = 
00190                     _attachmentMap.getValue().end();
00191 
00192                 while(attIt != attEnd)
00193                 {
00194                     addRefCP((*attIt).second);
00195                     
00196                     ++attIt;
00197                 }
00198             }
00199         }
00200     }
00201 }

UInt16 osg::FieldContainer::getClassGroupId ( void   )  [inline, static, inherited]

Definition at line 71 of file OSGFieldContainerImpl.inl.

References osg::FieldContainer::_type, and osg::FieldContainerType::getGroupId().

00072 {
00073     return _type.getGroupId();
00074 }

UInt32 osg::FieldContainer::getTypeId ( void   )  const [inline, inherited]

Definition at line 77 of file OSGFieldContainerImpl.inl.

References osg::TypeBase::getId(), and osg::FieldContainer::getType().

Referenced by osg::TextureChunk::changeFrom(), and osg::CubeTextureChunk::changeFrom().

00078 {
00079     return getType().getId();
00080 }

UInt16 osg::FieldContainer::getGroupId ( void   )  const [inline, inherited]

const Char8 * osg::FieldContainer::getTypeName ( void   )  const [inline, inherited]

Definition at line 89 of file OSGFieldContainerImpl.inl.

References osg::TypeBase::getCName(), and osg::FieldContainer::getType().

00090 {
00091     return getType().getCName();
00092 }

Field * osg::FieldContainer::getField ( UInt32  fieldId  )  [inline, inherited]

Generic Field Access

Definition at line 95 of file OSGFieldContainerImpl.inl.

References osg::FieldDescription::getField(), osg::FieldContainerType::getFieldDescription(), and osg::FieldContainer::getType().

Referenced by osg::QFCItem::expand(), osg::VRMLShapeDesc::getFieldAndDesc(), osg::QFieldViewBase::getFieldPtr(), osg::QFieldEditorBase::getFieldPtr(), osg::getParentsField(), and osg::QFCItem::setup().

00096 {
00097     const FieldDescription *desc = getType().getFieldDescription(fieldId);
00098 
00099     return desc ? desc->getField(*this) : NULL;
00100 }

Field * osg::FieldContainer::getField ( const Char8 fieldName  )  [inline, inherited]

Generic Field Access

Definition at line 103 of file OSGFieldContainerImpl.inl.

References osg::FieldContainerType::findFieldDescription(), osg::FieldDescription::getField(), and osg::FieldContainer::getType().

00104 {
00105     const FieldDescription *desc =getType().findFieldDescription(fieldName);
00106 
00107     return desc ? desc->getField(*this) : NULL;
00108 }

template<class ObjectPtrT>
void osg::FieldContainer::newPtr ( ObjectPtrT &  result,
const typename ObjectPtrT::StoredObjectType *  prototypeP 
) [inline, static, protected, inherited]

Definition at line 138 of file OSGFieldContainerImpl.inl.

References osg::ChangeList::addCreated(), osg::PThreadBase::getAspect(), osg::PThreadBase::getCurrentChangeList(), osg::ThreadManager::getNumAspects(), osg::FieldContainerFactory::registerFieldContainer(), and osg::FieldContainerFactory::the().

Referenced by osg::XWindowBase::createEmpty(), osg::WIN32WindowBase::createEmpty(), osg::ViewportBase::createEmpty(), osg::VertexProgramChunkBase::createEmpty(), osg::TwoSidedLightingChunkBase::createEmpty(), osg::TransformChunkBase::createEmpty(), osg::TransformBase::createEmpty(), osg::TileCameraDecoratorBase::createEmpty(), osg::TextureTransformChunkBase::createEmpty(), osg::TextureGrabForegroundBase::createEmpty(), osg::TextureGrabBackgroundBase::createEmpty(), osg::TextureChunkBase::createEmpty(), osg::TextureBackgroundBase::createEmpty(), osg::TexGenChunkBase::createEmpty(), osg::SwitchMaterialBase::createEmpty(), osg::SwitchBase::createEmpty(), osg::SurfaceBase::createEmpty(), osg::StringAttributeMapBase::createEmpty(), osg::StereoBufferViewportBase::createEmpty(), osg::StencilChunkBase::createEmpty(), osg::StateSortingGroupBase::createEmpty(), osg::StateBase::createEmpty(), osg::SpotLightBase::createEmpty(), osg::SortFirstWindowBase::createEmpty(), osg::SolidBackgroundBase::createEmpty(), osg::SlicesBase::createEmpty(), osg::SkyBackgroundBase::createEmpty(), osg::SimpleTexturedMaterialBase::createEmpty(), osg::SimpleStatisticsForegroundBase::createEmpty(), osg::SimpleMaterialBase::createEmpty(), osg::SHLParameterChunkBase::createEmpty(), osg::SHLChunkBase::createEmpty(), osg::ShearedStereoCameraDecoratorBase::createEmpty(), osg::ShaderParameterVec4fBase::createEmpty(), osg::ShaderParameterVec3fBase::createEmpty(), osg::ShaderParameterVec2fBase::createEmpty(), osg::ShaderParameterStringBase::createEmpty(), osg::ShaderParameterRealBase::createEmpty(), osg::ShaderParameterMVec4fBase::createEmpty(), osg::ShaderParameterMVec3fBase::createEmpty(), osg::ShaderParameterMVec2fBase::createEmpty(), osg::ShaderParameterMRealBase::createEmpty(), osg::ShaderParameterMMatrixBase::createEmpty(), osg::ShaderParameterMIntBase::createEmpty(), osg::ShaderParameterMatrixBase::createEmpty(), osg::ShaderParameterIntBase::createEmpty(), osg::ShaderParameterBoolBase::createEmpty(), osg::ScreenGroupBase::createEmpty(), osg::SClipPlaneChunkBase::createEmpty(), osg::ResolutionDisplayFilterBase::createEmpty(), osg::RenderOptionsBase::createEmpty(), osg::RegisterCombinersChunkBase::createEmpty(), osg::QTWindowBase::createEmpty(), osg::ProxyGroupBase::createEmpty(), osg::ProjectionCameraDecoratorBase::createEmpty(), osg::PolygonForegroundBase::createEmpty(), osg::PolygonChunkBase::createEmpty(), osg::PolygonBackgroundBase::createEmpty(), osg::PointLightBase::createEmpty(), osg::PointChunkBase::createEmpty(), osg::PhongMaterialBase::createEmpty(), osg::PerspectiveCameraBase::createEmpty(), osg::PassiveWindowBase::createEmpty(), osg::PassiveViewportBase::createEmpty(), osg::PassiveBackgroundBase::createEmpty(), osg::ParticlesBase::createEmpty(), osg::OrthographicCameraBase::createEmpty(), osg::OffCenterPerspectiveCameraBase::createEmpty(), osg::MultiPassMaterialBase::createEmpty(), osg::MultiDisplayWindowBase::createEmpty(), osg::MatrixCameraDecoratorBase::createEmpty(), osg::MatrixCameraBase::createEmpty(), osg::MaterialPoolBase::createEmpty(), osg::MaterialGroupBase::createEmpty(), osg::MaterialChunkBase::createEmpty(), osg::LogicOpChunkBase::createEmpty(), osg::LineChunkBase::createEmpty(), osg::LightModelChunkBase::createEmpty(), osg::LightEnvBase::createEmpty(), osg::LightChunkBase::createEmpty(), osg::InverseTransformBase::createEmpty(), osg::InlineBase::createEmpty(), osg::ImageForegroundBase::createEmpty(), osg::ImageBase::createEmpty(), osg::ImageBackgroundBase::createEmpty(), osg::GroupBase::createEmpty(), osg::GraphicStatisticsForegroundBase::createEmpty(), osg::GradientBackgroundBase::createEmpty(), osg::GrabForegroundBase::createEmpty(), osg::GLUTWindowBase::createEmpty(), osg::GeometryBase::createEmpty(), osg::FresnelMaterialBase::createEmpty(), osg::FragmentProgramChunkBase::createEmpty(), osg::FileGrabForegroundBase::createEmpty(), osg::FCPtrAttributeMapBase::createEmpty(), osg::FBOViewportBase::createEmpty(), osg::FatBorderChunkBase::createEmpty(), osg::DVRVolumeTextureBase::createEmpty(), createEmpty(), osg::DVRSimpleShaderBase::createEmpty(), osg::DVRSimpleLUTShaderBase::createEmpty(), osg::DVRMtexLUTShaderBase::createEmpty(), osg::DVRLookupTableBase::createEmpty(), osg::DVRIsoSurfaceBase::createEmpty(), osg::DVRIsoShaderBase::createEmpty(), osg::DVRGeometryBase::createEmpty(), osg::DVRClipObjectsBase::createEmpty(), osg::DVRClipGeometryBase::createEmpty(), osg::DVRAppearanceBase::createEmpty(), osg::DistortionDisplayFilterBase::createEmpty(), osg::DistanceLODBase::createEmpty(), osg::DisplayFilterForegroundBase::createEmpty(), osg::DisplayCalibrationBase::createEmpty(), osg::DirectionalLightBase::createEmpty(), osg::DepthClearBackgroundBase::createEmpty(), osg::DepthChunkBase::createEmpty(), osg::CubeTextureChunkBase::createEmpty(), osg::ComponentTransformBase::createEmpty(), osg::ColorMaskChunkBase::createEmpty(), osg::ColorDisplayFilterBase::createEmpty(), osg::ColorBufferViewportBase::createEmpty(), osg::ClusterWindowBase::createEmpty(), osg::ClipPlaneChunkBase::createEmpty(), osg::ClipPlaneBase::createEmpty(), osg::ChunkMaterialBase::createEmpty(), osg::BlendChunkBase::createEmpty(), osg::BillboardBase::createEmpty(), osg::XWindowBase::shallowCopy(), osg::WIN32WindowBase::shallowCopy(), osg::ViewportBase::shallowCopy(), osg::VertexProgramChunkBase::shallowCopy(), osg::TwoSidedLightingChunkBase::shallowCopy(), osg::TransformChunkBase::shallowCopy(), osg::TransformBase::shallowCopy(), osg::TileCameraDecoratorBase::shallowCopy(), osg::TextureTransformChunkBase::shallowCopy(), osg::TextureGrabForegroundBase::shallowCopy(), osg::TextureGrabBackgroundBase::shallowCopy(), osg::TextureChunkBase::shallowCopy(), osg::TextureBackgroundBase::shallowCopy(), osg::TexGenChunkBase::shallowCopy(), osg::SwitchMaterialBase::shallowCopy(), osg::SwitchBase::shallowCopy(), osg::SurfaceBase::shallowCopy(), osg::StringAttributeMapBase::shallowCopy(), osg::StereoBufferViewportBase::shallowCopy(), osg::StencilChunkBase::shallowCopy(), osg::StateSortingGroupBase::shallowCopy(), osg::StateBase::shallowCopy(), osg::SpotLightBase::shallowCopy(), osg::SortFirstWindowBase::shallowCopy(), osg::SolidBackgroundBase::shallowCopy(), osg::SlicesBase::shallowCopy(), osg::SkyBackgroundBase::shallowCopy(), osg::SimpleTexturedMaterialBase::shallowCopy(), osg::SimpleStatisticsForegroundBase::shallowCopy(), osg::SimpleMaterialBase::shallowCopy(), osg::SHLParameterChunkBase::shallowCopy(), osg::SHLChunkBase::shallowCopy(), osg::ShearedStereoCameraDecoratorBase::shallowCopy(), osg::ShaderParameterVec4fBase::shallowCopy(), osg::ShaderParameterVec3fBase::shallowCopy(), osg::ShaderParameterVec2fBase::shallowCopy(), osg::ShaderParameterStringBase::shallowCopy(), osg::ShaderParameterRealBase::shallowCopy(), osg::ShaderParameterMVec4fBase::shallowCopy(), osg::ShaderParameterMVec3fBase::shallowCopy(), osg::ShaderParameterMVec2fBase::shallowCopy(), osg::ShaderParameterMRealBase::shallowCopy(), osg::ShaderParameterMMatrixBase::shallowCopy(), osg::ShaderParameterMIntBase::shallowCopy(), osg::ShaderParameterMatrixBase::shallowCopy(), osg::ShaderParameterIntBase::shallowCopy(), osg::ShaderParameterBoolBase::shallowCopy(), osg::ScreenGroupBase::shallowCopy(), osg::SClipPlaneChunkBase::shallowCopy(), osg::ResolutionDisplayFilterBase::shallowCopy(), osg::RenderOptionsBase::shallowCopy(), osg::RegisterCombinersChunkBase::shallowCopy(), osg::QTWindowBase::shallowCopy(), osg::ProxyGroupBase::shallowCopy(), osg::ProjectionCameraDecoratorBase::shallowCopy(), osg::PolygonForegroundBase::shallowCopy(), osg::PolygonChunkBase::shallowCopy(), osg::PolygonBackgroundBase::shallowCopy(), osg::PointLightBase::shallowCopy(), osg::PointChunkBase::shallowCopy(), osg::PhongMaterialBase::shallowCopy(), osg::PerspectiveCameraBase::shallowCopy(), osg::PassiveWindowBase::shallowCopy(), osg::PassiveViewportBase::shallowCopy(), osg::PassiveBackgroundBase::shallowCopy(), osg::ParticlesBase::shallowCopy(), osg::OrthographicCameraBase::shallowCopy(), osg::OffCenterPerspectiveCameraBase::shallowCopy(), osg::MultiPassMaterialBase::shallowCopy(), osg::MultiDisplayWindowBase::shallowCopy(), osg::MatrixCameraDecoratorBase::shallowCopy(), osg::MatrixCameraBase::shallowCopy(), osg::MaterialPoolBase::shallowCopy(), osg::MaterialGroupBase::shallowCopy(), osg::MaterialChunkBase::shallowCopy(), osg::LogicOpChunkBase::shallowCopy(), osg::LineChunkBase::shallowCopy(), osg::LightModelChunkBase::shallowCopy(), osg::LightEnvBase::shallowCopy(), osg::LightChunkBase::shallowCopy(), osg::InverseTransformBase::shallowCopy(), osg::InlineBase::shallowCopy(), osg::ImageForegroundBase::shallowCopy(), osg::ImageBase::shallowCopy(), osg::ImageBackgroundBase::shallowCopy(), osg::GroupBase::shallowCopy(), osg::GraphicStatisticsForegroundBase::shallowCopy(), osg::GradientBackgroundBase::shallowCopy(), osg::GrabForegroundBase::shallowCopy(), osg::GLUTWindowBase::shallowCopy(), osg::GeometryBase::shallowCopy(), osg::FresnelMaterialBase::shallowCopy(), osg::FragmentProgramChunkBase::shallowCopy(), osg::FileGrabForegroundBase::shallowCopy(), osg::FCPtrAttributeMapBase::shallowCopy(), osg::FBOViewportBase::shallowCopy(), osg::FatBorderChunkBase::shallowCopy(), osg::DVRVolumeTextureBase::shallowCopy(), shallowCopy(), osg::DVRSimpleShaderBase::shallowCopy(), osg::DVRSimpleLUTShaderBase::shallowCopy(), osg::DVRMtexLUTShaderBase::shallowCopy(), osg::DVRLookupTableBase::shallowCopy(), osg::DVRIsoSurfaceBase::shallowCopy(), osg::DVRIsoShaderBase::shallowCopy(), osg::DVRGeometryBase::shallowCopy(), osg::DVRClipObjectsBase::shallowCopy(), osg::DVRClipGeometryBase::shallowCopy(), osg::DVRAppearanceBase::shallowCopy(), osg::DistortionDisplayFilterBase::shallowCopy(), osg::DistanceLODBase::shallowCopy(), osg::DisplayFilterForegroundBase::shallowCopy(), osg::DisplayCalibrationBase::shallowCopy(), osg::DirectionalLightBase::shallowCopy(), osg::DepthClearBackgroundBase::shallowCopy(), osg::DepthChunkBase::shallowCopy(), osg::CubeTextureChunkBase::shallowCopy(), osg::ComponentTransformBase::shallowCopy(), osg::ColorMaskChunkBase::shallowCopy(), osg::ColorDisplayFilterBase::shallowCopy(), osg::ColorBufferViewportBase::shallowCopy(), osg::ClusterWindowBase::shallowCopy(), osg::ClipPlaneChunkBase::shallowCopy(), osg::ClipPlaneBase::shallowCopy(), osg::ChunkMaterialBase::shallowCopy(), osg::BlendChunkBase::shallowCopy(), and osg::BillboardBase::shallowCopy().

00141 {
00142     typedef typename ObjectPtrT::StoredObjectType ObjectType;
00143     
00144     UInt8 *pTmp;
00145     
00146     result._containerSize = sizeof(ObjectType);
00147     
00148     pTmp        = 
00149         static_cast<UInt8 *>(operator new(
00150             sizeof(Int32)      + // ReferenceCount
00151             sizeof(UInt32)     + // ContainerId
00152             sizeof(ObjectType) * ThreadManager::getNumAspects()));
00153     
00154     *(reinterpret_cast<Int32 *>(pTmp)) = 0;
00155     
00156     pTmp += sizeof(Int32);
00157     
00158     result._storeP = (pTmp + sizeof(UInt32));
00159 
00160 #ifdef OSG_DEBUG_FCPTR
00161     result._typedStoreP = reinterpret_cast<FieldContainer *>(result._storeP);
00162 #endif
00163 
00164     *(reinterpret_cast<UInt32 *>(pTmp)) = 
00165         FieldContainerFactory::the()->registerFieldContainer(result);
00166     
00167     Thread::getCurrentChangeList()->addCreated(
00168         *(reinterpret_cast<UInt32 *>(pTmp)));
00169     
00170     pTmp += sizeof(UInt32);
00171     
00172     ObjectType *aObject = reinterpret_cast<ObjectType *>(pTmp);
00173 
00174     for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++)
00175     {
00176         pTmp = 
00177             reinterpret_cast<UInt8 *>(new (pTmp) ObjectType(*prototypeP));
00178         
00179         pTmp += sizeof(ObjectType);
00180     }
00181     
00182     result->onCreate(prototypeP);
00183 
00184     for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++)
00185     {
00186         aObject[i].onCreateAspect(aObject, prototypeP);
00187     }
00188 
00189 #if defined(OSG_GV_BETA) && defined(OSG_DBG_MEM)
00190 
00191     fprintf(stderr, "GV_MEM_FC_DBG : (%u) cc (%p|%u)\n", 
00192             Thread::getAspect(),
00193             result._storeP,
00194 //            ObjectType::getClassType().getCName(),
00195             ObjectType::getClassType().getId());
00196 #endif
00197 
00198 #ifdef OSG_DEBUG_TYPED_FCPTR
00199     result.updateTypedStore();
00200 #endif
00201 }

template<class ObjectPtrT>
void osg::FieldContainer::newPtr ( ObjectPtrT &  result  )  [inline, static, protected, inherited]

Definition at line 204 of file OSGFieldContainerImpl.inl.

References osg::ChangeList::addCreated(), osg::PThreadBase::getAspect(), osg::PThreadBase::getCurrentChangeList(), osg::ThreadManager::getNumAspects(), osg::FieldContainerFactory::registerFieldContainer(), and osg::FieldContainerFactory::the().

00205 {
00206     typedef typename ObjectPtrT::StoredObjectType ObjectType;
00207     
00208     UInt8 *pTmp;
00209     
00210     result._containerSize = sizeof(ObjectType);
00211     
00212     pTmp        =             
00213         static_cast<UInt8 *>(operator new(
00214             sizeof(Int32)      + // ReferenceCount
00215             sizeof(UInt32)     + // ContainerId
00216             sizeof(ObjectType) * ThreadManager::getNumAspects()));
00217     
00218     *(reinterpret_cast<Int32 *>(pTmp)) = 0;
00219     
00220     pTmp  += sizeof(Int32);
00221     
00222     result._storeP = (pTmp + sizeof(UInt32));
00223     
00224 #ifdef OSG_DEBUG_FCPTR
00225     result._typedStoreP = reinterpret_cast<FieldContainer *>(result._storeP);
00226 #endif
00227 
00228     *(reinterpret_cast<UInt32 *>(pTmp)) = 
00229         FieldContainerFactory::the()->registerFieldContainer(result);
00230     
00231     Thread::getCurrentChangeList()->addCreated(
00232         *(reinterpret_cast<UInt32 *>(pTmp)));
00233     
00234     pTmp += sizeof(UInt32);
00235     
00236     ObjectType *aObject = reinterpret_cast<ObjectType *>(pTmp);
00237 
00238     for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++)
00239     {
00240         pTmp = reinterpret_cast<UInt8 *>(new (pTmp) ObjectType());
00241         
00242         pTmp += sizeof(ObjectType);
00243     }
00244     
00245     result->onCreate();
00246     
00247     for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++)
00248     {
00249         aObject[i].onCreateAspect(aObject);
00250     }
00251 
00252 #if defined(OSG_GV_BETA) && defined(OSG_DBG_MEM)
00253     fprintf(stderr, "GV_MEM_FC_DBG : (%u) c (%p|%u)\n", 
00254             Thread::getAspect(),
00255             result._storeP,
00256 //            ObjectType::getClassType().getCName(),
00257             ObjectType::getClassType().getId());
00258 #endif
00259     
00260 #ifdef OSG_DEBUG_TYPED_FCPTR
00261     result.updateTypedStore();
00262 #endif
00263 }

template<class FieldTypeT>
void osg::FieldContainer::beginEditX ( const BitVector whichField,
FieldTypeT &  field 
) [inline, protected, inherited]

Definition at line 285 of file OSGFieldContainerImpl.inl.

00286 {
00287 //    fieldR.beginEdit();
00288 }

template<class FieldTypeT>
void osg::FieldContainer::endEditX ( const BitVector whichField,
FieldTypeT &  field 
) [inline, protected, inherited]

Definition at line 291 of file OSGFieldContainerImpl.inl.

References osg::endEditCP().

00292 {
00293     FieldContainerPtr tmpPtr(this);
00294     endEditCP(tmpPtr, whichField);
00295 }

void osg::FieldContainer::onCreate ( const FieldContainer source = NULL  )  [inline, protected, inherited]

Definition at line 318 of file OSGFieldContainerImpl.inl.

Referenced by osg::ShaderParameterChunk::onCreate().

00319 {
00320 }

void osg::FieldContainer::onCreateAspect ( const FieldContainer aspect0,
const FieldContainer source = NULL 
) [inline, protected, inherited]

Definition at line 323 of file OSGFieldContainerImpl.inl.

00325 {
00326 }


Friends And Related Function Documentation

friend class FieldContainer [friend]

Reimplemented from osg::NodeCore.

Reimplemented in osg::DVRVolume.

Definition at line 387 of file OSGDVRVolumeBase.h.


Member Data Documentation

Initial value:

 
    (TypeTraits<BitVector>::One << DVRVolumeBase::AppearanceFieldId)

Definition at line 134 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), and getBinSize().

Initial value:

 
    (TypeTraits<BitVector>::One << DVRVolumeBase::GeometryFieldId)

Definition at line 135 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), and getBinSize().

Initial value:

 
    (TypeTraits<BitVector>::One << DVRVolumeBase::FileNameFieldId)

Definition at line 137 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), and getBinSize().

Initial value:

 
    (TypeTraits<BitVector>::One << DVRVolumeBase::SamplingFieldId)

Definition at line 138 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), and getBinSize().

Initial value:

 
    (TypeTraits<BitVector>::One << DVRVolumeBase::SamplingInteractiveFieldId)

Definition at line 139 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), and getBinSize().

Initial value:

 
    (TypeTraits<BitVector>::One << DVRVolumeBase::BaseAlphaFieldId)

Definition at line 140 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), and getBinSize().

Initial value:

 
    (TypeTraits<BitVector>::One << DVRVolumeBase::DoTexturesFieldId)

Definition at line 141 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), and getBinSize().

Initial value:

 
    (TypeTraits<BitVector>::One << DVRVolumeBase::BrickOverlapFieldId)

Definition at line 142 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), and getBinSize().

Initial value:

 
    (TypeTraits<BitVector>::One << DVRVolumeBase::Textures2DFieldId)

Definition at line 143 of file OSGDVRVolumeBase.h.

Referenced by osg::DVRVolume::changed(), copyFromBin(), copyToBin(), executeSyncImpl(), and getBinSize().

Initial value:

 
    (TypeTraits<BitVector>::One << DVRVolumeBase::BrickStaticMemoryMBFieldId)

Definition at line 144 of file OSGDVRVolumeBase.h.

Referenced by osg::DVRVolume::changed(), copyFromBin(), copyToBin(), executeSyncImpl(), and getBinSize().

Initial value:

 
    (TypeTraits<BitVector>::One << DVRVolumeBase::RenderMaterialFieldId)

Definition at line 145 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), osg::DVRVolume::DVRVolume(), executeSyncImpl(), and getBinSize().

Initial value:

 
    (TypeTraits<BitVector>::One << DVRVolumeBase::BrickingModeFieldId)

Definition at line 146 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), and getBinSize().

Initial value:

 
    (TypeTraits<BitVector>::One << DVRVolumeBase::BrickStaticSubdivisionFieldId)

Definition at line 147 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), and getBinSize().

Initial value:

 
    (TypeTraits<BitVector>::One << DVRVolumeBase::BrickMaxSizeFieldId)

Definition at line 148 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), and getBinSize().

Initial value:

 
    (TypeTraits<BitVector>::One << DVRVolumeBase::ShowBricksFieldId)

Definition at line 149 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), and getBinSize().

Initial value:

 
    (TypeTraits<BitVector>::One << DVRVolumeBase::DrawStyleFieldId)

Definition at line 150 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), and getBinSize().

Initial value:

 
    (TypeTraits<BitVector>::One << DVRVolumeBase::DrawStyleNamesFieldId)

Definition at line 151 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), and getBinSize().

Initial value:

 
    (TypeTraits<BitVector>::One << DVRVolumeBase::TextureStorageFieldId)

Definition at line 152 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), osg::DVRVolume::DVRVolume(), executeSyncImpl(), and getBinSize().

Initial value:

 
    (Inherited::MTInfluenceMask) | 
    (static_cast<BitVector>(0x0) << Inherited::NextFieldId)

Reimplemented from osg::FieldContainer.

Definition at line 155 of file OSGDVRVolumeBase.h.

std::string DVRVolumeBase::_sfFileName [protected]

bool DVRVolumeBase::_sfDoTextures [protected]

FIXME: temporary parameter. Overlap between adjacent bricks.

Definition at line 284 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), getBinSize(), getBrickOverlap(), getSFBrickOverlap(), and setBrickOverlap().

FIXME: temporary parameter. Max. texture memory to be used for brick size.

Definition at line 286 of file OSGDVRVolumeBase.h.

Referenced by osg::DVRVolume::changed(), copyFromBin(), copyToBin(), executeSyncImpl(), getBinSize(), getBrickStaticMemoryMB(), getSFBrickStaticMemoryMB(), and setBrickStaticMemoryMB().

FIXME: Fake material used for render action - qualifies DVRVolume as transparent node.

Definition at line 287 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), getBinSize(), getRenderMaterial(), getSFRenderMaterial(), setRenderMaterial(), osg::DVRVolume::setRenderMaterial(), and osg::DVRVolume::~DVRVolume().

FIXME: temporary parameter. Bricking mode - specifies how bricking is computed.

Definition at line 288 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), getBinSize(), getBrickingMode(), getSFBrickingMode(), and setBrickingMode().

FIXME: temporary parameter. Static number of bricks.

Definition at line 289 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), getBinSize(), getBrickStaticSubdivision(), getSFBrickStaticSubdivision(), and setBrickStaticSubdivision().

FIXME: temporary parameter. Static size of bricks.

Definition at line 290 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), getBinSize(), getBrickMaxSize(), getSFBrickMaxSize(), and setBrickMaxSize().

bool DVRVolumeBase::_sfShowBricks [protected]

FIXME: temporary parameter. Show brick boundaries.

Definition at line 291 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), getBinSize(), getSFShowBricks(), getShowBricks(), and setShowBricks().

FIXME: only required for SoVolume

Definition at line 292 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), getBinSize(), getDrawStyle(), getSFDrawStyle(), and setDrawStyle().

std::string DVRVolumeBase::_mfDrawStyleNames [protected]

FIXME: only required for SoVolume

Definition at line 293 of file OSGDVRVolumeBase.h.

Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), getBinSize(), getDrawStyleNames(), and getMFDrawStyleNames().

Reimplemented from osg::NodeCore.

Definition at line 389 of file OSGDVRVolumeBase.h.

Reimplemented from osg::NodeCore.

Definition at line 390 of file OSGDVRVolumeBase.h.

Referenced by getClassType(), getClassTypeId(), and getType().

const BitVector NodeCore::ParentsFieldMask = (1 << NodeCore::ParentsFieldId ) [static, inherited]

const bool osg::NodeCore::isNodeCore = true [static, inherited]

Reimplemented from osg::FieldContainer.

Definition at line 149 of file OSGNodeCore.h.

MFNodePtr osg::NodeCore::_parents [protected, inherited]

const BitVector osg::FieldContainer::NextFieldMask [static, inherited]

Initial value:

 
                    (TypeTraits<BitVector>::One << NextFieldId)

Definition at line 75 of file OSGFieldContainerImpl.h.

UInt32 osg::FieldContainer::_shares [protected, inherited]

Definition at line 199 of file OSGFieldContainerImpl.h.


The documentation for this class was generated from the following files:

Generated on Mon Mar 17 12:08:30 2008 for OpenSG by  doxygen 1.5.5