osg::ProxyGroupBase Class Reference

ProxyGroup Base Class.

#include <OSGProxyGroupBase.h>

Inheritance diagram for osg::ProxyGroupBase:

osg::Group osg::GroupBase osg::NodeCore osg::AttachmentContainer osg::FieldContainer osg::ProxyGroup

List of all members.

Public Types

enum  {
  EnabledFieldId = Inherited::NextFieldId, UrlFieldId = EnabledFieldId + 1, RootFieldId = UrlFieldId + 1, StateFieldId = RootFieldId + 1,
  ConcurrentLoadFieldId = StateFieldId + 1, VolumeFieldId = ConcurrentLoadFieldId + 1, IndicesFieldId = VolumeFieldId + 1, TrianglesFieldId = IndicesFieldId + 1,
  PositionsFieldId = TrianglesFieldId + 1, GeometriesFieldId = PositionsFieldId + 1, AbsoluteUrlFieldId = GeometriesFieldId + 1, InlineFieldId = AbsoluteUrlFieldId + 1,
  NextFieldId = InlineFieldId + 1
}
typedef ProxyGroupPtr 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


SFBoolgetSFEnabled (void)
 Get the ProxyGroup::_sfEnabled field.
SFStringgetSFUrl (void)
 Get the ProxyGroup::_sfUrl field.
SFNodePtrgetSFRoot (void)
 Get the ProxyGroup::_sfRoot field.
SFUInt32getSFState (void)
 Get the ProxyGroup::_sfState field.
SFBoolgetSFConcurrentLoad (void)
 Get the ProxyGroup::_sfConcurrentLoad field.
SFDynamicVolumegetSFVolume (void)
 Get the ProxyGroup::_sfVolume field.
SFUInt32getSFIndices (void)
 Get the ProxyGroup::_sfIndices field.
SFUInt32getSFTriangles (void)
 Get the ProxyGroup::_sfTriangles field.
SFUInt32getSFPositions (void)
 Get the ProxyGroup::_sfPositions field.
SFUInt32getSFGeometries (void)
 Get the ProxyGroup::_sfGeometries field.
MFUInt8getMFInline (void)
 Get the ProxyGroup::_mfInline field.
bool & getEnabled (void)
 Get the value of the ProxyGroup::_sfEnabled field.
const bool & getEnabled (void) const
 Get the value of the ProxyGroup::_sfEnabled field.
std::string & getUrl (void)
 Get the value of the ProxyGroup::_sfUrl field.
const std::string & getUrl (void) const
 Get the value of the ProxyGroup::_sfUrl field.
NodePtrgetRoot (void)
 Get the value of the ProxyGroup::_sfRoot field.
const NodePtrgetRoot (void) const
 Get the value of the ProxyGroup::_sfRoot field.
UInt32getState (void)
 Get the value of the ProxyGroup::_sfState field.
const UInt32getState (void) const
 Get the value of the ProxyGroup::_sfState field.
bool & getConcurrentLoad (void)
 Get the value of the ProxyGroup::_sfConcurrentLoad field.
const bool & getConcurrentLoad (void) const
 Get the value of the ProxyGroup::_sfConcurrentLoad field.
DynamicVolumegetVolume (void)
 Get the value of the ProxyGroup::_sfVolume field.
const DynamicVolumegetVolume (void) const
 Get the value of the ProxyGroup::_sfVolume field.
UInt32getIndices (void)
 Get the value of the ProxyGroup::_sfIndices field.
const UInt32getIndices (void) const
 Get the value of the ProxyGroup::_sfIndices field.
UInt32getTriangles (void)
 Get the value of the ProxyGroup::_sfTriangles field.
const UInt32getTriangles (void) const
 Get the value of the ProxyGroup::_sfTriangles field.
UInt32getPositions (void)
 Get the value of the ProxyGroup::_sfPositions field.
const UInt32getPositions (void) const
 Get the value of the ProxyGroup::_sfPositions field.
UInt32getGeometries (void)
 Get the value of the ProxyGroup::_sfGeometries field.
const UInt32getGeometries (void) const
 Get the value of the ProxyGroup::_sfGeometries field.
UInt8getInline (const UInt32 index)
 Get the value of the index element the ProxyGroup::_mfInline field.
MFUInt8getInline (void)
 Get the ProxyGroup::_mfInline field.
const MFUInt8getInline (void) const
 Get the ProxyGroup::_mfInline field.
Field Set


void setEnabled (const bool &value)
 Set the value of the ProxyGroup::_sfEnabled field.
void setUrl (const std::string &value)
 Set the value of the ProxyGroup::_sfUrl field.
void setRoot (const NodePtr &value)
 Set the value of the ProxyGroup::_sfRoot field.
void setState (const UInt32 &value)
 Set the value of the ProxyGroup::_sfState field.
void setConcurrentLoad (const bool &value)
 Set the value of the ProxyGroup::_sfConcurrentLoad field.
void setVolume (const DynamicVolume &value)
 Set the value of the ProxyGroup::_sfVolume field.
void setIndices (const UInt32 &value)
 Set the value of the ProxyGroup::_sfIndices field.
void setTriangles (const UInt32 &value)
 Set the value of the ProxyGroup::_sfTriangles field.
void setPositions (const UInt32 &value)
 Set the value of the ProxyGroup::_sfPositions field.
void setGeometries (const UInt32 &value)
 Set the value of the ProxyGroup::_sfGeometries 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
Sync


virtual void changed (BitVector whichField, UInt32 origin)
Dump


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


MFNodePtrgetParents (void)
const MFNodePtrgetParents (void) const
MFNodePtrgetMFParents (void)
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)
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 ProxyGroupPtr create (void)
 create a new instance of the class
static ProxyGroupPtr 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 EnabledFieldMask
static const osg::BitVector UrlFieldMask
static const osg::BitVector RootFieldMask
static const osg::BitVector StateFieldMask
static const osg::BitVector ConcurrentLoadFieldMask
static const osg::BitVector VolumeFieldMask
static const osg::BitVector IndicesFieldMask
static const osg::BitVector TrianglesFieldMask
static const osg::BitVector PositionsFieldMask
static const osg::BitVector GeometriesFieldMask
static const osg::BitVector AbsoluteUrlFieldMask
static const osg::BitVector InlineFieldMask
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


 ProxyGroupBase (void)
 ProxyGroupBase (const ProxyGroupBase &source)
Destructors


virtual ~ProxyGroupBase (void)
Field Get


SFStringgetSFAbsoluteUrl (void)
 Get the ProxyGroup::_sfAbsoluteUrl field.
std::string & getAbsoluteUrl (void)
 Get the value of the ProxyGroup::_sfAbsoluteUrl field.
const std::string & getAbsoluteUrl (void) const
 Get the value of the ProxyGroup::_sfAbsoluteUrl field.
Field Set


void setAbsoluteUrl (const std::string &value)
 Set the value of the ProxyGroup::_sfAbsoluteUrl field.
Sync


void executeSyncImpl (ProxyGroupBase *pOther, const BitVector &whichField)
virtual void executeSync (FieldContainer &other, const BitVector &whichField)
Action Callbacks


Action::ResultE drawEnter (Action *action)
Action::ResultE drawLeave (Action *action)
Action::ResultE renderEnter (Action *action)
Action::ResultE renderLeave (Action *action)
Action::ResultE intersect (Action *action)
Sync


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


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


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


void executeSyncImpl (FieldContainer *pOther, 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)
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


SFBool _sfEnabled
SFString _sfUrl
SFNodePtr _sfRoot
SFUInt32 _sfState
SFBool _sfConcurrentLoad
SFDynamicVolume _sfVolume
SFUInt32 _sfIndices
SFUInt32 _sfTriangles
SFUInt32 _sfPositions
SFUInt32 _sfGeometries
SFString _sfAbsoluteUrl
MFUInt8 _mfInline
Fields


MFNodePtr _parents
Fields


SFAttachmentMap _attachmentMap
Member


UInt32 _shares

Private Types

typedef Group Inherited

Private Member Functions

void operator= (const ProxyGroupBase &source)

Static Private Attributes

static FieldDescription_desc []
 ProxyGroup description.
static FieldContainerType _type

Friends

class FieldContainer


Detailed Description

Definition at line 92 of file OSGProxyGroupBase.h.


Member Typedef Documentation

Reimplemented from osg::Group.

Reimplemented in osg::ProxyGroup.

Definition at line 96 of file OSGProxyGroupBase.h.

Reimplemented from osg::GroupBase.

Definition at line 101 of file OSGProxyGroupBase.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:
EnabledFieldId 
UrlFieldId 
RootFieldId 
StateFieldId 
ConcurrentLoadFieldId 
VolumeFieldId 
IndicesFieldId 
TrianglesFieldId 
PositionsFieldId 
GeometriesFieldId 
AbsoluteUrlFieldId 
InlineFieldId 
NextFieldId 

Definition at line 103 of file OSGProxyGroupBase.h.

00104     {
00105         EnabledFieldId        = Inherited::NextFieldId,
00106         UrlFieldId            = EnabledFieldId        + 1,
00107         RootFieldId           = UrlFieldId            + 1,
00108         StateFieldId          = RootFieldId           + 1,
00109         ConcurrentLoadFieldId = StateFieldId          + 1,
00110         VolumeFieldId         = ConcurrentLoadFieldId + 1,
00111         IndicesFieldId        = VolumeFieldId         + 1,
00112         TrianglesFieldId      = IndicesFieldId        + 1,
00113         PositionsFieldId      = TrianglesFieldId      + 1,
00114         GeometriesFieldId     = PositionsFieldId      + 1,
00115         AbsoluteUrlFieldId    = GeometriesFieldId     + 1,
00116         InlineFieldId         = AbsoluteUrlFieldId    + 1,
00117         NextFieldId           = InlineFieldId         + 1
00118     };

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

ProxyGroupBase::ProxyGroupBase ( void   )  [protected]

Definition at line 286 of file OSGProxyGroupBase.cpp.

00286                                    :
00287     _sfEnabled                (bool(true)), 
00288     _sfUrl                    (), 
00289     _sfRoot                   (NodePtr(NullFC)), 
00290     _sfState                  (UInt32(0)), 
00291     _sfConcurrentLoad         (bool(true)), 
00292     _sfVolume                 (), 
00293     _sfIndices                (UInt32(0)), 
00294     _sfTriangles              (UInt32(0)), 
00295     _sfPositions              (), 
00296     _sfGeometries             (), 
00297     _sfAbsoluteUrl            (), 
00298     _mfInline                 (), 
00299     Inherited() 
00300 {
00301 }

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

Definition at line 307 of file OSGProxyGroupBase.cpp.

00307                                                            :
00308     _sfEnabled                (source._sfEnabled                ), 
00309     _sfUrl                    (source._sfUrl                    ), 
00310     _sfRoot                   (source._sfRoot                   ), 
00311     _sfState                  (source._sfState                  ), 
00312     _sfConcurrentLoad         (source._sfConcurrentLoad         ), 
00313     _sfVolume                 (source._sfVolume                 ), 
00314     _sfIndices                (source._sfIndices                ), 
00315     _sfTriangles              (source._sfTriangles              ), 
00316     _sfPositions              (source._sfPositions              ), 
00317     _sfGeometries             (source._sfGeometries             ), 
00318     _sfAbsoluteUrl            (source._sfAbsoluteUrl            ), 
00319     _mfInline                 (source._mfInline                 ), 
00320     Inherited                 (source)
00321 {
00322 }

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

Definition at line 326 of file OSGProxyGroupBase.cpp.

00327 {
00328 }


Member Function Documentation

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

Reimplemented from osg::GroupBase.

Definition at line 58 of file OSGProxyGroupBase.inl.

References _type.

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

00059 {
00060     return _type; 
00061 } 

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

Reimplemented from osg::GroupBase.

Definition at line 65 of file OSGProxyGroupBase.inl.

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

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

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

Reimplemented from osg::GroupBase.

Definition at line 227 of file OSGProxyGroupBase.cpp.

References _type.

00228 {
00229     return _type; 
00230 } 

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

Reimplemented from osg::GroupBase.

Definition at line 232 of file OSGProxyGroupBase.cpp.

References _type.

00233 {
00234     return _type;
00235 } 

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

Reimplemented from osg::GroupBase.

Definition at line 247 of file OSGProxyGroupBase.cpp.

00248 { 
00249     return sizeof(ProxyGroup); 
00250 }

SFBool * osg::ProxyGroupBase::getSFEnabled ( void   )  [inline]

Definition at line 101 of file OSGProxyGroupBase.inl.

References _sfEnabled.

00102 {
00103     return &_sfEnabled;
00104 }

SFString * osg::ProxyGroupBase::getSFUrl ( void   )  [inline]

Definition at line 108 of file OSGProxyGroupBase.inl.

References _sfUrl.

00109 {
00110     return &_sfUrl;
00111 }

SFNodePtr * osg::ProxyGroupBase::getSFRoot ( void   )  [inline]

Definition at line 115 of file OSGProxyGroupBase.inl.

References _sfRoot.

00116 {
00117     return &_sfRoot;
00118 }

SFUInt32 * osg::ProxyGroupBase::getSFState ( void   )  [inline]

Definition at line 122 of file OSGProxyGroupBase.inl.

References _sfState.

00123 {
00124     return &_sfState;
00125 }

SFBool * osg::ProxyGroupBase::getSFConcurrentLoad ( void   )  [inline]

Definition at line 129 of file OSGProxyGroupBase.inl.

References _sfConcurrentLoad.

00130 {
00131     return &_sfConcurrentLoad;
00132 }

SFDynamicVolume * osg::ProxyGroupBase::getSFVolume ( void   )  [inline]

Definition at line 136 of file OSGProxyGroupBase.inl.

References _sfVolume.

00137 {
00138     return &_sfVolume;
00139 }

SFUInt32 * osg::ProxyGroupBase::getSFIndices ( void   )  [inline]

Definition at line 143 of file OSGProxyGroupBase.inl.

References _sfIndices.

00144 {
00145     return &_sfIndices;
00146 }

SFUInt32 * osg::ProxyGroupBase::getSFTriangles ( void   )  [inline]

Definition at line 150 of file OSGProxyGroupBase.inl.

References _sfTriangles.

00151 {
00152     return &_sfTriangles;
00153 }

SFUInt32 * osg::ProxyGroupBase::getSFPositions ( void   )  [inline]

Definition at line 157 of file OSGProxyGroupBase.inl.

References _sfPositions.

00158 {
00159     return &_sfPositions;
00160 }

SFUInt32 * osg::ProxyGroupBase::getSFGeometries ( void   )  [inline]

Definition at line 164 of file OSGProxyGroupBase.inl.

References _sfGeometries.

00165 {
00166     return &_sfGeometries;
00167 }

MFUInt8 * osg::ProxyGroupBase::getMFInline ( void   )  [inline]

Definition at line 178 of file OSGProxyGroupBase.inl.

References _mfInline.

00179 {
00180     return &_mfInline;
00181 }

bool & osg::ProxyGroupBase::getEnabled ( void   )  [inline]

Definition at line 186 of file OSGProxyGroupBase.inl.

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

Referenced by osg::ProxyGroup::adjustVolume(), and osg::ProxyGroup::draw().

00187 {
00188     return _sfEnabled.getValue();
00189 }

const bool & osg::ProxyGroupBase::getEnabled ( void   )  const [inline]

Definition at line 193 of file OSGProxyGroupBase.inl.

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

00194 {
00195     return _sfEnabled.getValue();
00196 }

std::string & osg::ProxyGroupBase::getUrl ( void   )  [inline]

Definition at line 207 of file OSGProxyGroupBase.inl.

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

Referenced by osg::ProxyGroup::changed().

00208 {
00209     return _sfUrl.getValue();
00210 }

const std::string & osg::ProxyGroupBase::getUrl ( void   )  const [inline]

Definition at line 214 of file OSGProxyGroupBase.inl.

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

00215 {
00216     return _sfUrl.getValue();
00217 }

NodePtr & osg::ProxyGroupBase::getRoot ( void   )  [inline]

const NodePtr & osg::ProxyGroupBase::getRoot ( void   )  const [inline]

Definition at line 235 of file OSGProxyGroupBase.inl.

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

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

UInt32 & osg::ProxyGroupBase::getState ( void   )  [inline]

Definition at line 249 of file OSGProxyGroupBase.inl.

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

Referenced by osg::ProxyGroup::adjustVolume(), and osg::ProxyGroup::draw().

00250 {
00251     return _sfState.getValue();
00252 }

const UInt32 & osg::ProxyGroupBase::getState ( void   )  const [inline]

Definition at line 256 of file OSGProxyGroupBase.inl.

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

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

bool & osg::ProxyGroupBase::getConcurrentLoad ( void   )  [inline]

Definition at line 270 of file OSGProxyGroupBase.inl.

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

Referenced by osg::ProxyGroup::startLoading().

00271 {
00272     return _sfConcurrentLoad.getValue();
00273 }

const bool & osg::ProxyGroupBase::getConcurrentLoad ( void   )  const [inline]

Definition at line 277 of file OSGProxyGroupBase.inl.

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

00278 {
00279     return _sfConcurrentLoad.getValue();
00280 }

DynamicVolume & osg::ProxyGroupBase::getVolume ( void   )  [inline]

Definition at line 291 of file OSGProxyGroupBase.inl.

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

Referenced by osg::ProxyGroup::adjustVolume().

00292 {
00293     return _sfVolume.getValue();
00294 }

const DynamicVolume & osg::ProxyGroupBase::getVolume ( void   )  const [inline]

Definition at line 298 of file OSGProxyGroupBase.inl.

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

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

UInt32 & osg::ProxyGroupBase::getIndices ( void   )  [inline]

Definition at line 312 of file OSGProxyGroupBase.inl.

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

00313 {
00314     return _sfIndices.getValue();
00315 }

const UInt32 & osg::ProxyGroupBase::getIndices ( void   )  const [inline]

Definition at line 319 of file OSGProxyGroupBase.inl.

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

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

UInt32 & osg::ProxyGroupBase::getTriangles ( void   )  [inline]

Definition at line 333 of file OSGProxyGroupBase.inl.

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

00334 {
00335     return _sfTriangles.getValue();
00336 }

const UInt32 & osg::ProxyGroupBase::getTriangles ( void   )  const [inline]

Definition at line 340 of file OSGProxyGroupBase.inl.

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

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

UInt32 & osg::ProxyGroupBase::getPositions ( void   )  [inline]

Definition at line 354 of file OSGProxyGroupBase.inl.

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

00355 {
00356     return _sfPositions.getValue();
00357 }

const UInt32 & osg::ProxyGroupBase::getPositions ( void   )  const [inline]

Definition at line 361 of file OSGProxyGroupBase.inl.

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

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

UInt32 & osg::ProxyGroupBase::getGeometries ( void   )  [inline]

Definition at line 375 of file OSGProxyGroupBase.inl.

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

00376 {
00377     return _sfGeometries.getValue();
00378 }

const UInt32 & osg::ProxyGroupBase::getGeometries ( void   )  const [inline]

Definition at line 382 of file OSGProxyGroupBase.inl.

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

00383 {
00384     return _sfGeometries.getValue();
00385 }

UInt8 & osg::ProxyGroupBase::getInline ( const UInt32  index  )  [inline]

Definition at line 418 of file OSGProxyGroupBase.inl.

References _mfInline.

00419 {
00420     return _mfInline[index];
00421 }

MFUInt8 & osg::ProxyGroupBase::getInline ( void   )  [inline]

Definition at line 425 of file OSGProxyGroupBase.inl.

References _mfInline.

Referenced by osg::ProxyGroup::startLoading().

00426 {
00427     return _mfInline;
00428 }

const MFUInt8 & osg::ProxyGroupBase::getInline ( void   )  const [inline]

Definition at line 432 of file OSGProxyGroupBase.inl.

References _mfInline.

00433 {
00434     return _mfInline;
00435 }

void osg::ProxyGroupBase::setEnabled ( const bool &  value  )  [inline]

Definition at line 200 of file OSGProxyGroupBase.inl.

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

00201 {
00202     _sfEnabled.setValue(value);
00203 }

void osg::ProxyGroupBase::setUrl ( const std::string &  value  )  [inline]

Definition at line 221 of file OSGProxyGroupBase.inl.

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

00222 {
00223     _sfUrl.setValue(value);
00224 }

void osg::ProxyGroupBase::setRoot ( const NodePtr value  )  [inline]

Definition at line 242 of file OSGProxyGroupBase.inl.

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

Referenced by osg::ProxyGroup::draw(), and osg::ProxyGroup::~ProxyGroup().

00243 {
00244     _sfRoot.setValue(value);
00245 }

void osg::ProxyGroupBase::setState ( const UInt32 value  )  [inline]

void osg::ProxyGroupBase::setConcurrentLoad ( const bool &  value  )  [inline]

Definition at line 284 of file OSGProxyGroupBase.inl.

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

00285 {
00286     _sfConcurrentLoad.setValue(value);
00287 }

void osg::ProxyGroupBase::setVolume ( const DynamicVolume value  )  [inline]

Definition at line 305 of file OSGProxyGroupBase.inl.

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

00306 {
00307     _sfVolume.setValue(value);
00308 }

void osg::ProxyGroupBase::setIndices ( const UInt32 value  )  [inline]

Definition at line 326 of file OSGProxyGroupBase.inl.

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

00327 {
00328     _sfIndices.setValue(value);
00329 }

void osg::ProxyGroupBase::setTriangles ( const UInt32 value  )  [inline]

Definition at line 347 of file OSGProxyGroupBase.inl.

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

00348 {
00349     _sfTriangles.setValue(value);
00350 }

void osg::ProxyGroupBase::setPositions ( const UInt32 value  )  [inline]

Definition at line 368 of file OSGProxyGroupBase.inl.

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

00369 {
00370     _sfPositions.setValue(value);
00371 }

void osg::ProxyGroupBase::setGeometries ( const UInt32 value  )  [inline]

Definition at line 389 of file OSGProxyGroupBase.inl.

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

00390 {
00391     _sfGeometries.setValue(value);
00392 }

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

Reimplemented from osg::GroupBase.

Definition at line 332 of file OSGProxyGroupBase.cpp.

References _mfInline, _sfAbsoluteUrl, _sfConcurrentLoad, _sfEnabled, _sfGeometries, _sfIndices, _sfPositions, _sfRoot, _sfState, _sfTriangles, _sfUrl, _sfVolume, AbsoluteUrlFieldMask, ConcurrentLoadFieldMask, EnabledFieldMask, GeometriesFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::SField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::GroupBase::getBinSize(), IndicesFieldMask, InlineFieldMask, osg::FieldBits::NoField, PositionsFieldMask, RootFieldMask, StateFieldMask, TrianglesFieldMask, UrlFieldMask, and VolumeFieldMask.

00333 {
00334     UInt32 returnValue = Inherited::getBinSize(whichField);
00335 
00336     if(FieldBits::NoField != (EnabledFieldMask & whichField))
00337     {
00338         returnValue += _sfEnabled.getBinSize();
00339     }
00340 
00341     if(FieldBits::NoField != (UrlFieldMask & whichField))
00342     {
00343         returnValue += _sfUrl.getBinSize();
00344     }
00345 
00346     if(FieldBits::NoField != (RootFieldMask & whichField))
00347     {
00348         returnValue += _sfRoot.getBinSize();
00349     }
00350 
00351     if(FieldBits::NoField != (StateFieldMask & whichField))
00352     {
00353         returnValue += _sfState.getBinSize();
00354     }
00355 
00356     if(FieldBits::NoField != (ConcurrentLoadFieldMask & whichField))
00357     {
00358         returnValue += _sfConcurrentLoad.getBinSize();
00359     }
00360 
00361     if(FieldBits::NoField != (VolumeFieldMask & whichField))
00362     {
00363         returnValue += _sfVolume.getBinSize();
00364     }
00365 
00366     if(FieldBits::NoField != (IndicesFieldMask & whichField))
00367     {
00368         returnValue += _sfIndices.getBinSize();
00369     }
00370 
00371     if(FieldBits::NoField != (TrianglesFieldMask & whichField))
00372     {
00373         returnValue += _sfTriangles.getBinSize();
00374     }
00375 
00376     if(FieldBits::NoField != (PositionsFieldMask & whichField))
00377     {
00378         returnValue += _sfPositions.getBinSize();
00379     }
00380 
00381     if(FieldBits::NoField != (GeometriesFieldMask & whichField))
00382     {
00383         returnValue += _sfGeometries.getBinSize();
00384     }
00385 
00386     if(FieldBits::NoField != (AbsoluteUrlFieldMask & whichField))
00387     {
00388         returnValue += _sfAbsoluteUrl.getBinSize();
00389     }
00390 
00391     if(FieldBits::NoField != (InlineFieldMask & whichField))
00392     {
00393         returnValue += _mfInline.getBinSize();
00394     }
00395 
00396 
00397     return returnValue;
00398 }

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

Reimplemented from osg::GroupBase.

Definition at line 400 of file OSGProxyGroupBase.cpp.

References _mfInline, _sfAbsoluteUrl, _sfConcurrentLoad, _sfEnabled, _sfGeometries, _sfIndices, _sfPositions, _sfRoot, _sfState, _sfTriangles, _sfUrl, _sfVolume, AbsoluteUrlFieldMask, ConcurrentLoadFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::SField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::GroupBase::copyToBin(), EnabledFieldMask, GeometriesFieldMask, IndicesFieldMask, InlineFieldMask, osg::FieldBits::NoField, PositionsFieldMask, RootFieldMask, StateFieldMask, TrianglesFieldMask, UrlFieldMask, and VolumeFieldMask.

00402 {
00403     Inherited::copyToBin(pMem, whichField);
00404 
00405     if(FieldBits::NoField != (EnabledFieldMask & whichField))
00406     {
00407         _sfEnabled.copyToBin(pMem);
00408     }
00409 
00410     if(FieldBits::NoField != (UrlFieldMask & whichField))
00411     {
00412         _sfUrl.copyToBin(pMem);
00413     }
00414 
00415     if(FieldBits::NoField != (RootFieldMask & whichField))
00416     {
00417         _sfRoot.copyToBin(pMem);
00418     }
00419 
00420     if(FieldBits::NoField != (StateFieldMask & whichField))
00421     {
00422         _sfState.copyToBin(pMem);
00423     }
00424 
00425     if(FieldBits::NoField != (ConcurrentLoadFieldMask & whichField))
00426     {
00427         _sfConcurrentLoad.copyToBin(pMem);
00428     }
00429 
00430     if(FieldBits::NoField != (VolumeFieldMask & whichField))
00431     {
00432         _sfVolume.copyToBin(pMem);
00433     }
00434 
00435     if(FieldBits::NoField != (IndicesFieldMask & whichField))
00436     {
00437         _sfIndices.copyToBin(pMem);
00438     }
00439 
00440     if(FieldBits::NoField != (TrianglesFieldMask & whichField))
00441     {
00442         _sfTriangles.copyToBin(pMem);
00443     }
00444 
00445     if(FieldBits::NoField != (PositionsFieldMask & whichField))
00446     {
00447         _sfPositions.copyToBin(pMem);
00448     }
00449 
00450     if(FieldBits::NoField != (GeometriesFieldMask & whichField))
00451     {
00452         _sfGeometries.copyToBin(pMem);
00453     }
00454 
00455     if(FieldBits::NoField != (AbsoluteUrlFieldMask & whichField))
00456     {
00457         _sfAbsoluteUrl.copyToBin(pMem);
00458     }
00459 
00460     if(FieldBits::NoField != (InlineFieldMask & whichField))
00461     {
00462         _mfInline.copyToBin(pMem);
00463     }
00464 
00465 
00466 }

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

Reimplemented from osg::GroupBase.

Definition at line 468 of file OSGProxyGroupBase.cpp.

References _mfInline, _sfAbsoluteUrl, _sfConcurrentLoad, _sfEnabled, _sfGeometries, _sfIndices, _sfPositions, _sfRoot, _sfState, _sfTriangles, _sfUrl, _sfVolume, AbsoluteUrlFieldMask, ConcurrentLoadFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::SField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::GroupBase::copyFromBin(), EnabledFieldMask, GeometriesFieldMask, IndicesFieldMask, InlineFieldMask, osg::FieldBits::NoField, PositionsFieldMask, RootFieldMask, StateFieldMask, TrianglesFieldMask, UrlFieldMask, and VolumeFieldMask.

00470 {
00471     Inherited::copyFromBin(pMem, whichField);
00472 
00473     if(FieldBits::NoField != (EnabledFieldMask & whichField))
00474     {
00475         _sfEnabled.copyFromBin(pMem);
00476     }
00477 
00478     if(FieldBits::NoField != (UrlFieldMask & whichField))
00479     {
00480         _sfUrl.copyFromBin(pMem);
00481     }
00482 
00483     if(FieldBits::NoField != (RootFieldMask & whichField))
00484     {
00485         _sfRoot.copyFromBin(pMem);
00486     }
00487 
00488     if(FieldBits::NoField != (StateFieldMask & whichField))
00489     {
00490         _sfState.copyFromBin(pMem);
00491     }
00492 
00493     if(FieldBits::NoField != (ConcurrentLoadFieldMask & whichField))
00494     {
00495         _sfConcurrentLoad.copyFromBin(pMem);
00496     }
00497 
00498     if(FieldBits::NoField != (VolumeFieldMask & whichField))
00499     {
00500         _sfVolume.copyFromBin(pMem);
00501     }
00502 
00503     if(FieldBits::NoField != (IndicesFieldMask & whichField))
00504     {
00505         _sfIndices.copyFromBin(pMem);
00506     }
00507 
00508     if(FieldBits::NoField != (TrianglesFieldMask & whichField))
00509     {
00510         _sfTriangles.copyFromBin(pMem);
00511     }
00512 
00513     if(FieldBits::NoField != (PositionsFieldMask & whichField))
00514     {
00515         _sfPositions.copyFromBin(pMem);
00516     }
00517 
00518     if(FieldBits::NoField != (GeometriesFieldMask & whichField))
00519     {
00520         _sfGeometries.copyFromBin(pMem);
00521     }
00522 
00523     if(FieldBits::NoField != (AbsoluteUrlFieldMask & whichField))
00524     {
00525         _sfAbsoluteUrl.copyFromBin(pMem);
00526     }
00527 
00528     if(FieldBits::NoField != (InlineFieldMask & whichField))
00529     {
00530         _mfInline.copyFromBin(pMem);
00531     }
00532 
00533 
00534 }

ProxyGroupPtr osg::ProxyGroupBase::create ( void   )  [inline, static]

Reimplemented from osg::GroupBase.

Definition at line 72 of file OSGProxyGroupBase.inl.

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

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

ProxyGroupPtr osg::ProxyGroupBase::createEmpty ( void   )  [inline, static]

Reimplemented from osg::GroupBase.

Definition at line 87 of file OSGProxyGroupBase.inl.

References osg::FieldContainer::newPtr().

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

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

Reimplemented from osg::GroupBase.

Definition at line 238 of file OSGProxyGroupBase.cpp.

References osg::FieldContainer::newPtr().

Referenced by create().

00239 { 
00240     ProxyGroupPtr returnValue; 
00241 
00242     newPtr(returnValue, dynamic_cast<const ProxyGroup *>(this)); 
00243 
00244     return returnValue; 
00245 }

SFString * osg::ProxyGroupBase::getSFAbsoluteUrl ( void   )  [inline, protected]

Definition at line 171 of file OSGProxyGroupBase.inl.

References _sfAbsoluteUrl.

00172 {
00173     return &_sfAbsoluteUrl;
00174 }

std::string & osg::ProxyGroupBase::getAbsoluteUrl ( void   )  [inline, protected]

const std::string & osg::ProxyGroupBase::getAbsoluteUrl ( void   )  const [inline, protected]

Definition at line 403 of file OSGProxyGroupBase.inl.

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

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

void osg::ProxyGroupBase::setAbsoluteUrl ( const std::string &  value  )  [inline, protected]

Definition at line 410 of file OSGProxyGroupBase.inl.

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

00411 {
00412     _sfAbsoluteUrl.setValue(value);
00413 }

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

Definition at line 537 of file OSGProxyGroupBase.cpp.

References _mfInline, _sfAbsoluteUrl, _sfConcurrentLoad, _sfEnabled, _sfGeometries, _sfIndices, _sfPositions, _sfRoot, _sfState, _sfTriangles, _sfUrl, _sfVolume, AbsoluteUrlFieldMask, ConcurrentLoadFieldMask, EnabledFieldMask, osg::GroupBase::executeSyncImpl(), GeometriesFieldMask, IndicesFieldMask, InlineFieldMask, osg::FieldBits::NoField, PositionsFieldMask, RootFieldMask, StateFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::syncWith(), osg::SField< FieldTypeT, fieldNameSpace >::syncWith(), TrianglesFieldMask, UrlFieldMask, and VolumeFieldMask.

Referenced by executeSync().

00539 {
00540 
00541     Inherited::executeSyncImpl(pOther, whichField);
00542 
00543     if(FieldBits::NoField != (EnabledFieldMask & whichField))
00544         _sfEnabled.syncWith(pOther->_sfEnabled);
00545 
00546     if(FieldBits::NoField != (UrlFieldMask & whichField))
00547         _sfUrl.syncWith(pOther->_sfUrl);
00548 
00549     if(FieldBits::NoField != (RootFieldMask & whichField))
00550         _sfRoot.syncWith(pOther->_sfRoot);
00551 
00552     if(FieldBits::NoField != (StateFieldMask & whichField))
00553         _sfState.syncWith(pOther->_sfState);
00554 
00555     if(FieldBits::NoField != (ConcurrentLoadFieldMask & whichField))
00556         _sfConcurrentLoad.syncWith(pOther->_sfConcurrentLoad);
00557 
00558     if(FieldBits::NoField != (VolumeFieldMask & whichField))
00559         _sfVolume.syncWith(pOther->_sfVolume);
00560 
00561     if(FieldBits::NoField != (IndicesFieldMask & whichField))
00562         _sfIndices.syncWith(pOther->_sfIndices);
00563 
00564     if(FieldBits::NoField != (TrianglesFieldMask & whichField))
00565         _sfTriangles.syncWith(pOther->_sfTriangles);
00566 
00567     if(FieldBits::NoField != (PositionsFieldMask & whichField))
00568         _sfPositions.syncWith(pOther->_sfPositions);
00569 
00570     if(FieldBits::NoField != (GeometriesFieldMask & whichField))
00571         _sfGeometries.syncWith(pOther->_sfGeometries);
00572 
00573     if(FieldBits::NoField != (AbsoluteUrlFieldMask & whichField))
00574         _sfAbsoluteUrl.syncWith(pOther->_sfAbsoluteUrl);
00575 
00576     if(FieldBits::NoField != (InlineFieldMask & whichField))
00577         _mfInline.syncWith(pOther->_mfInline);
00578 
00579 
00580 }

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

Reimplemented from osg::GroupBase.

Definition at line 254 of file OSGProxyGroupBase.cpp.

References executeSyncImpl().

00256 {
00257     this->executeSyncImpl((ProxyGroupBase *) &other, whichField);
00258 }

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

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

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

Action::ResultE Group::drawEnter ( Action action  )  [protected, inherited]

Reimplemented in osg::DirectionalLight, osg::Light, osg::PointLight, osg::SpotLight, osg::Billboard, osg::InverseTransform, osg::MaterialGroup, osg::ScreenGroup, and osg::Transform.

Definition at line 100 of file OSGGroup.cpp.

References osg::Action::Continue, osg::DrawActionBase::selectVisibles(), and osg::Action::Skip.

Referenced by osg::Group::initMethod().

00101 {
00102     DrawActionBase *da = dynamic_cast<DrawActionBase *>(action);
00103 
00104     if(da->selectVisibles() == 0)
00105         return Action::Skip;
00106     
00107     return Action::Continue;
00108 }

Action::ResultE Group::drawLeave ( Action action  )  [protected, inherited]

Action::ResultE Group::renderEnter ( Action action  )  [protected, inherited]

Action::ResultE Group::renderLeave ( Action action  )  [protected, inherited]

Action::ResultE Group::intersect ( Action action  )  [protected, inherited]

Reimplemented in osg::Switch.

Definition at line 146 of file OSGGroup.cpp.

References osg::Action::Continue, osg::Action::getActNode(), osg::IntersectAction::getLine(), osg::DynamicVolume::intersect(), osg::Volume::isValid(), and osg::Action::Skip.

Referenced by osg::Group::initMethod(), and osg::Transform::intersectEnter().

00147 {
00148           IntersectAction *ia = dynamic_cast<IntersectAction *>(action);
00149     const DynamicVolume   &dv = ia->getActNode()->getVolume();
00150     
00151     if(dv.isValid() && ! dv.intersect(ia->getLine()))
00152     {
00153         return Action::Skip;  //bv missed -> can not hit children
00154     }
00155     
00156     return Action::Continue;
00157 }

void GroupBase::executeSyncImpl ( GroupBase pOther,
const BitVector whichField 
) [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]

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

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(), 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(), osg::DVRVolumeBase::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(), 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(), osg::DVRVolumeBase::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::Group.

Reimplemented in osg::ProxyGroup.

Definition at line 331 of file OSGProxyGroupBase.h.


Member Data Documentation

Initial value:

 
    (TypeTraits<BitVector>::One << ProxyGroupBase::EnabledFieldId)

Definition at line 120 of file OSGProxyGroupBase.h.

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

Initial value:

 
    (TypeTraits<BitVector>::One << ProxyGroupBase::UrlFieldId)

Definition at line 121 of file OSGProxyGroupBase.h.

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

Initial value:

 
    (TypeTraits<BitVector>::One << ProxyGroupBase::RootFieldId)

Definition at line 122 of file OSGProxyGroupBase.h.

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

Initial value:

 
    (TypeTraits<BitVector>::One << ProxyGroupBase::ConcurrentLoadFieldId)

Definition at line 124 of file OSGProxyGroupBase.h.

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

Initial value:

 
    (TypeTraits<BitVector>::One << ProxyGroupBase::VolumeFieldId)

Definition at line 125 of file OSGProxyGroupBase.h.

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

Initial value:

 
    (TypeTraits<BitVector>::One << ProxyGroupBase::IndicesFieldId)

Definition at line 126 of file OSGProxyGroupBase.h.

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

Initial value:

 
    (TypeTraits<BitVector>::One << ProxyGroupBase::TrianglesFieldId)

Definition at line 127 of file OSGProxyGroupBase.h.

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

Initial value:

 
    (TypeTraits<BitVector>::One << ProxyGroupBase::PositionsFieldId)

Definition at line 128 of file OSGProxyGroupBase.h.

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

Initial value:

 
    (TypeTraits<BitVector>::One << ProxyGroupBase::GeometriesFieldId)

Definition at line 129 of file OSGProxyGroupBase.h.

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

Initial value:

 
    (TypeTraits<BitVector>::One << ProxyGroupBase::AbsoluteUrlFieldId)

Definition at line 130 of file OSGProxyGroupBase.h.

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

Initial value:

 
    (TypeTraits<BitVector>::One << ProxyGroupBase::InlineFieldId)

Definition at line 131 of file OSGProxyGroupBase.h.

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

Initial value:

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

Reimplemented from osg::GroupBase.

Definition at line 134 of file OSGProxyGroupBase.h.

bool ProxyGroupBase::_sfEnabled [protected]

std::string ProxyGroupBase::_sfUrl [protected]

std::string ProxyGroupBase::_sfAbsoluteUrl [protected]

Reimplemented from osg::NodeCore.

Definition at line 333 of file OSGProxyGroupBase.h.

Reimplemented from osg::GroupBase.

Definition at line 334 of file OSGProxyGroupBase.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:10:26 2008 for OpenSG by  doxygen 1.5.5