osg::FogChunk Class Reference

FogChunk class. See PageSystemFogChunk for a description. More...

#include <OSGFogChunk.h>

Inheritance diagram for osg::FogChunk:
osg::FogChunkBase osg::StateChunk osg::StateChunkBase osg::Attachment osg::FieldContainer

List of all members.

Public Types

enum  {
  ModeFieldId = Inherited::NextFieldId, ColorFieldId = ModeFieldId + 1, StartFieldId = ColorFieldId + 1, EndFieldId = StartFieldId + 1,
  DensityFieldId = EndFieldId + 1, NextFieldId = DensityFieldId + 1
}
typedef FogChunkPtr Ptr
enum  { IgnoreFieldId = Inherited::NextFieldId, NextFieldId = IgnoreFieldId + 1 }
enum  { ParentsFieldId = Inherited::NextFieldId, InternalFieldId = ParentsFieldId + 1, NextFieldId = InternalFieldId + 1 }
enum  { NextFieldId = 1 }

Public Member Functions

Chunk Class Access



virtual const StateChunkClassgetClass (void) const
Sync



virtual void changed (BitVector whichField, UInt32 origin)
Output



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



virtual void activate (DrawActionBase *action, UInt32 index=0)
virtual void changeFrom (DrawActionBase *action, StateChunk *old, UInt32 index=0)
virtual void deactivate (DrawActionBase *action, UInt32 index=0)
Comparison



virtual Real32 switchCost (StateChunk *chunk)
virtual bool operator< (const StateChunk &other) const
 assignment
virtual bool operator== (const StateChunk &other) const
 equal
virtual bool operator!= (const StateChunk &other) const
 unequal
FieldContainer Get



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



SFGLenumeditSFMode (void)
 Get the FogChunk::_sfMode field.
const SFGLenumgetSFMode (void) const
 Get the FogChunk::_sfMode field.
SFGLenumgetSFMode (void)
 Get the FogChunk::_sfMode field.
SFColor4feditSFColor (void)
 Get the FogChunk::_sfColor field.
const SFColor4fgetSFColor (void) const
 Get the FogChunk::_sfColor field.
SFColor4fgetSFColor (void)
 Get the FogChunk::_sfColor field.
SFReal32editSFStart (void)
 Get the FogChunk::_sfStart field.
const SFReal32getSFStart (void) const
 Get the FogChunk::_sfStart field.
SFReal32getSFStart (void)
 Get the FogChunk::_sfStart field.
SFReal32editSFEnd (void)
 Get the FogChunk::_sfEnd field.
const SFReal32getSFEnd (void) const
 Get the FogChunk::_sfEnd field.
SFReal32getSFEnd (void)
 Get the FogChunk::_sfEnd field.
SFReal32editSFDensity (void)
 Get the FogChunk::_sfDensity field.
const SFReal32getSFDensity (void) const
 Get the FogChunk::_sfDensity field.
SFReal32getSFDensity (void)
 Get the FogChunk::_sfDensity field.
GLenum & editMode (void)
 Get the value of the FogChunk::_sfMode field.
const GLenum & getMode (void) const
 Get the value of the FogChunk::_sfMode field.
GLenum & getMode (void)
 Get the value of the FogChunk::_sfMode field.
Color4feditColor (void)
 Get the value of the FogChunk::_sfColor field.
const Color4fgetColor (void) const
 Get the value of the FogChunk::_sfColor field.
Color4fgetColor (void)
 Get the value of the FogChunk::_sfColor field.
Real32editStart (void)
 Get the value of the FogChunk::_sfStart field.
const Real32getStart (void) const
 Get the value of the FogChunk::_sfStart field.
Real32getStart (void)
 Get the value of the FogChunk::_sfStart field.
Real32editEnd (void)
 Get the value of the FogChunk::_sfEnd field.
const Real32getEnd (void) const
 Get the value of the FogChunk::_sfEnd field.
Real32getEnd (void)
 Get the value of the FogChunk::_sfEnd field.
Real32editDensity (void)
 Get the value of the FogChunk::_sfDensity field.
const Real32getDensity (void) const
 Get the value of the FogChunk::_sfDensity field.
Real32getDensity (void)
 Get the value of the FogChunk::_sfDensity field.
Field Set



void setMode (const GLenum &value)
 Set the value of the FogChunk::_sfMode field.
void setColor (const Color4f &value)
 Set the value of the FogChunk::_sfColor field.
void setStart (const Real32 &value)
 Set the value of the FogChunk::_sfStart field.
void setEnd (const Real32 &value)
 Set the value of the FogChunk::_sfEnd field.
void setDensity (const Real32 &value)
 Set the value of the FogChunk::_sfDensity 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
Chunk Class Access



UInt32 getClassId (void) const
State



virtual void update (DrawActionBase *action)
virtual void changeFrom (DrawActionBase *action, StateChunk *old, UInt32 index=0)
virtual bool isTransparent (void) const
Comparison



virtual Real32 switchCost (StateChunk *chunk)
virtual bool operator< (const StateChunk &other) const
virtual bool operator== (const StateChunk &other) const
virtual bool operator!= (const StateChunk &other) const
Field Get



SFBooleditSFIgnore (void)
 Get the StateChunk::_sfIgnore field.
const SFBoolgetSFIgnore (void) const
 Get the StateChunk::_sfIgnore field.
SFBoolgetSFIgnore (void)
 Get the StateChunk::_sfIgnore field.
bool & editIgnore (void)
 Get the value of the StateChunk::_sfIgnore field.
const bool & getIgnore (void) const
 Get the value of the StateChunk::_sfIgnore field.
bool & getIgnore (void)
 Get the value of the StateChunk::_sfIgnore field.
Field Set



void setIgnore (const bool &value)
 Set the value of the StateChunk::_sfIgnore field.
Parents



MFFieldContainerPtrgetParents (void)
const MFFieldContainerPtrgetParents (void) const
MFFieldContainerPtrgetMFParents (void)
void addParent (FieldContainerPtr parent)
void subParent (FieldContainerPtr parent)
Int32 findParent (FieldContainerPtr parent)
SFBoolgetInternal (void)
const SFBoolgetInternal (void) const
SFBoolgetSFInternal (void)
void setInternal (bool bVal)
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

Static Chunk Class Access



static UInt32 getStaticClassId (void)
static const StateChunkClassgetStaticClass (void)
Class Get



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



static FogChunkPtr create (void)
 create a new instance of the class
static FogChunkPtr 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 ModeFieldMask
static const osg::BitVector ColorFieldMask
static const osg::BitVector StartFieldMask
static const osg::BitVector EndFieldMask
static const osg::BitVector DensityFieldMask
static const osg::BitVector MTInfluenceMask
static const osg::BitVector IgnoreFieldMask
static const BitVector InternalFieldMask = (1 << Attachment::InternalFieldId)
static const BitVector ParentsFieldMask = (1 << Attachment::ParentsFieldId)
static const BitVector NextFieldMask
CoredNodePtr helper



static const bool isNodeCore = false

Protected Member Functions

Constructors



 FogChunk (void)
 FogChunk (const FogChunk &source)
Destructors



virtual ~FogChunk (void)
Sync



void executeSyncImpl (FogChunkBase *pOther, const BitVector &whichField)
virtual void executeSync (FieldContainer &other, const BitVector &whichField)
Sync



virtual void executeSync (FieldContainer &other, const BitVector &whichField)=0
MT Destruction



virtual void onDestroy (void)
MT Edit



template<class FieldTypeT >
void beginEditX (const BitVector &whichField, FieldTypeT &field)
template<class FieldTypeT >
void endEditX (const BitVector &whichField, FieldTypeT &field)
MT Construction



void onCreate (const FieldContainer *source=NULL)
void onCreateAspect (const FieldContainer *aspect0, const FieldContainer *source=NULL)

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



SFGLenum _sfMode
SFColor4f _sfColor
SFReal32 _sfStart
SFReal32 _sfEnd
SFReal32 _sfDensity
Fields



SFBool _sfIgnore
Fields



SFBool _sfInternal
MFFieldContainerPtr _parents
Member



UInt32 _shares

Private Types

typedef FogChunkBase Inherited

Private Member Functions

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

Static Private Member Functions

static void initMethod (void)

Static Private Attributes

static StateChunkClass _class

Friends

class FieldContainer
class FogChunkBase

Detailed Description

The fog chunk contains the parameters that are specific for rendering fog.

Definition at line 55 of file OSGFogChunk.h.


Member Typedef Documentation

Reimplemented from osg::FogChunkBase.

Definition at line 59 of file OSGFogChunk.h.

typedef FogChunkPtr osg::FogChunkBase::Ptr [inherited]

Reimplemented from osg::StateChunkBase.

Definition at line 94 of file OSGFogChunkBase.h.


Member Enumeration Documentation

anonymous enum [inherited]
Enumerator:
ModeFieldId 
ColorFieldId 
StartFieldId 
EndFieldId 
DensityFieldId 
NextFieldId 

Definition at line 96 of file OSGFogChunkBase.h.

00097     {
00098         ModeFieldId    = Inherited::NextFieldId,
00099         ColorFieldId   = ModeFieldId    + 1,
00100         StartFieldId   = ColorFieldId   + 1,
00101         EndFieldId     = StartFieldId   + 1,
00102         DensityFieldId = EndFieldId     + 1,
00103         NextFieldId    = DensityFieldId + 1
00104     };

anonymous enum [inherited]
Enumerator:
IgnoreFieldId 
NextFieldId 

Definition at line 92 of file OSGStateChunkBase.h.

00093     {
00094         IgnoreFieldId = Inherited::NextFieldId,
00095         NextFieldId   = IgnoreFieldId + 1
00096     };

anonymous enum [inherited]
Enumerator:
ParentsFieldId 
InternalFieldId 
NextFieldId 

Definition at line 86 of file OSGAttachmentImpl.h.

00087     { 
00088         ParentsFieldId     = Inherited::NextFieldId, 
00089         InternalFieldId    = ParentsFieldId  + 1,
00090         NextFieldId        = InternalFieldId + 1
00091     };

anonymous enum [inherited]
Enumerator:
NextFieldId 

Definition at line 73 of file OSGFieldContainerImpl.h.

00073 { NextFieldId = 1 };


Constructor & Destructor Documentation

osg::FogChunk::FogChunk ( void   )  [protected]

Definition at line 86 of file OSGFogChunk.cpp.

00086                        :
00087     Inherited()
00088 {
00089 }

osg::FogChunk::FogChunk ( const FogChunk source  )  [protected]

Definition at line 91 of file OSGFogChunk.cpp.

00091                                          :
00092     Inherited(source)
00093 {
00094 }

osg::FogChunk::~FogChunk ( void   )  [protected, virtual]

Definition at line 96 of file OSGFogChunk.cpp.

00097 {
00098 }


Member Function Documentation

const StateChunkClass * osg::FogChunk::getClass ( void   )  const [virtual]

Reimplemented from osg::StateChunk.

Definition at line 102 of file OSGFogChunk.cpp.

References _class.

00103 {
00104     return &_class;
00105 }

UInt32 osg::FogChunk::getStaticClassId ( void   )  [inline, static]

Reimplemented from osg::StateChunk.

Definition at line 46 of file OSGFogChunk.inl.

References osg::StateChunkClass::getId(), and getStaticClass().

00047 {
00048     return getStaticClass()->getId();
00049 }

const StateChunkClass * osg::FogChunk::getStaticClass ( void   )  [inline, static]

Reimplemented from osg::StateChunk.

Definition at line 52 of file OSGFogChunk.inl.

References _class.

Referenced by getStaticClassId().

00053 {
00054     return &FogChunk::_class;
00055 }

void osg::FogChunk::changed ( BitVector  whichField,
UInt32  origin 
) [virtual]

Reimplemented from osg::StateChunk.

Definition at line 109 of file OSGFogChunk.cpp.

References osg::StateChunk::changed().

00110 {
00111     Inherited::changed(whichField, origin);
00112 }

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

Reimplemented from osg::StateChunk.

Definition at line 114 of file OSGFogChunk.cpp.

References SLOG.

00116 {
00117     SLOG << "Dump FogChunk NI" << std::endl;
00118 }

void osg::FogChunk::activate ( DrawActionBase action,
UInt32  index = 0 
) [virtual]

Reimplemented from osg::StateChunk.

Definition at line 122 of file OSGFogChunk.cpp.

References osg::FogChunkBase::getColor(), osg::FogChunkBase::getDensity(), osg::FogChunkBase::getEnd(), osg::FogChunkBase::getMode(), and osg::FogChunkBase::getStart().

00123 {   
00124     glFogi  (GL_FOG_MODE,    getMode   ()                );
00125     glFogf  (GL_FOG_DENSITY, getDensity()                );
00126     glFogf  (GL_FOG_START,   getStart  ()                );
00127     glFogf  (GL_FOG_END,     getEnd    ()                );
00128     glFogfv (GL_FOG_COLOR,   getColor  ().getValuesRGBA());
00129 
00130     glEnable(GL_FOG);
00131 }

void osg::FogChunk::changeFrom ( DrawActionBase action,
StateChunk old,
UInt32  index = 0 
) [virtual]

Definition at line 133 of file OSGFogChunk.cpp.

References osg::StateChunk::deactivate().

00134 {
00135     oldChunk->deactivate(act, index);
00136     this    ->activate  (act, index);
00137 }

void osg::FogChunk::deactivate ( DrawActionBase action,
UInt32  index = 0 
) [virtual]

Reimplemented from osg::StateChunk.

Definition at line 139 of file OSGFogChunk.cpp.

00140 {
00141     glDisable(GL_FOG);
00142 }

Real32 osg::FogChunk::switchCost ( StateChunk chunk  )  [virtual]

Definition at line 146 of file OSGFogChunk.cpp.

00147 {
00148     return 0;
00149 }

bool osg::FogChunk::operator< ( const StateChunk other  )  const [virtual]

Definition at line 154 of file OSGFogChunk.cpp.

00155 {
00156     return this < &other;
00157 }

bool osg::FogChunk::operator== ( const StateChunk other  )  const [virtual]

Definition at line 162 of file OSGFogChunk.cpp.

References osg::FogChunkBase::getColor(), osg::FogChunkBase::getDensity(), osg::FogChunkBase::getEnd(), osg::FogChunkBase::getMode(), and osg::FogChunkBase::getStart().

00163 {
00164     FogChunk const *tother = dynamic_cast<FogChunk const*>(&other);
00165 
00166     if(!tother)
00167         return false;
00168 
00169     if(tother == this)
00170         return true;
00171 
00172     if(getMode()    != tother->getMode()   ||
00173        getColor()   != tother->getColor()  ||
00174        getStart()   != tother->getStart()  ||   
00175        getEnd()     != tother->getEnd()    ||
00176        getDensity() != tother->getDensity())
00177         return false;
00178     
00179     return true;
00180 }

bool osg::FogChunk::operator!= ( const StateChunk other  )  const [virtual]

Definition at line 185 of file OSGFogChunk.cpp.

00186 {
00187     return ! (*this == other);
00188 }

void osg::FogChunk::initMethod ( void   )  [static, private]

Reimplemented from osg::StateChunk.

Definition at line 70 of file OSGFogChunk.cpp.

References osg::StateChunk::initMethod().

00071 {
00072     Inherited::initMethod();
00073 }

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

Reimplemented from osg::FogChunkBase.

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

Reimplemented from osg::StateChunkBase.

Definition at line 58 of file OSGFogChunkBase.inl.

References osg::FogChunkBase::_type.

Referenced by osg::FogChunkBase::create().

00059 {
00060     return _type; 
00061 } 

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

Reimplemented from osg::StateChunkBase.

Definition at line 65 of file OSGFogChunkBase.inl.

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

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

FieldContainerType & osg::FogChunkBase::getType ( void   )  [virtual, inherited]

Reimplemented from osg::StateChunkBase.

Definition at line 151 of file OSGFogChunkBase.cpp.

References osg::FogChunkBase::_type.

00152 {
00153     return _type; 
00154 } 

const FieldContainerType & osg::FogChunkBase::getType ( void   )  const [virtual, inherited]

Reimplemented from osg::StateChunkBase.

Definition at line 156 of file OSGFogChunkBase.cpp.

References osg::FogChunkBase::_type.

00157 {
00158     return _type;
00159 } 

UInt32 osg::FogChunkBase::getContainerSize ( void   )  const [virtual, inherited]

Reimplemented from osg::StateChunkBase.

Definition at line 171 of file OSGFogChunkBase.cpp.

00172 { 
00173     return sizeof(FogChunk); 
00174 }

SFGLenum * osg::FogChunkBase::editSFMode ( void   )  [inline, inherited]

Definition at line 108 of file OSGFogChunkBase.inl.

References osg::FogChunkBase::_sfMode.

00109 {
00110     return &_sfMode;
00111 }

const SFGLenum * osg::FogChunkBase::getSFMode ( void   )  const [inline, inherited]

Definition at line 101 of file OSGFogChunkBase.inl.

References osg::FogChunkBase::_sfMode.

00102 {
00103     return &_sfMode;
00104 }

SFGLenum * osg::FogChunkBase::getSFMode ( void   )  [inline, inherited]

Definition at line 116 of file OSGFogChunkBase.inl.

References osg::FogChunkBase::_sfMode.

00117 {
00118     return &_sfMode;
00119 }

SFColor4f * osg::FogChunkBase::editSFColor ( void   )  [inline, inherited]

Definition at line 131 of file OSGFogChunkBase.inl.

References osg::FogChunkBase::_sfColor.

00132 {
00133     return &_sfColor;
00134 }

const SFColor4f * osg::FogChunkBase::getSFColor ( void   )  const [inline, inherited]

Definition at line 124 of file OSGFogChunkBase.inl.

References osg::FogChunkBase::_sfColor.

00125 {
00126     return &_sfColor;
00127 }

SFColor4f * osg::FogChunkBase::getSFColor ( void   )  [inline, inherited]

Definition at line 139 of file OSGFogChunkBase.inl.

References osg::FogChunkBase::_sfColor.

00140 {
00141     return &_sfColor;
00142 }

SFReal32 * osg::FogChunkBase::editSFStart ( void   )  [inline, inherited]

Definition at line 154 of file OSGFogChunkBase.inl.

References osg::FogChunkBase::_sfStart.

00155 {
00156     return &_sfStart;
00157 }

const SFReal32 * osg::FogChunkBase::getSFStart ( void   )  const [inline, inherited]

Definition at line 147 of file OSGFogChunkBase.inl.

References osg::FogChunkBase::_sfStart.

00148 {
00149     return &_sfStart;
00150 }

SFReal32 * osg::FogChunkBase::getSFStart ( void   )  [inline, inherited]

Definition at line 162 of file OSGFogChunkBase.inl.

References osg::FogChunkBase::_sfStart.

00163 {
00164     return &_sfStart;
00165 }

SFReal32 * osg::FogChunkBase::editSFEnd ( void   )  [inline, inherited]

Definition at line 177 of file OSGFogChunkBase.inl.

References osg::FogChunkBase::_sfEnd.

00178 {
00179     return &_sfEnd;
00180 }

const SFReal32 * osg::FogChunkBase::getSFEnd ( void   )  const [inline, inherited]

Definition at line 170 of file OSGFogChunkBase.inl.

References osg::FogChunkBase::_sfEnd.

00171 {
00172     return &_sfEnd;
00173 }

SFReal32 * osg::FogChunkBase::getSFEnd ( void   )  [inline, inherited]

Definition at line 185 of file OSGFogChunkBase.inl.

References osg::FogChunkBase::_sfEnd.

00186 {
00187     return &_sfEnd;
00188 }

SFReal32 * osg::FogChunkBase::editSFDensity ( void   )  [inline, inherited]

Definition at line 200 of file OSGFogChunkBase.inl.

References osg::FogChunkBase::_sfDensity.

00201 {
00202     return &_sfDensity;
00203 }

const SFReal32 * osg::FogChunkBase::getSFDensity ( void   )  const [inline, inherited]

Definition at line 193 of file OSGFogChunkBase.inl.

References osg::FogChunkBase::_sfDensity.

00194 {
00195     return &_sfDensity;
00196 }

SFReal32 * osg::FogChunkBase::getSFDensity ( void   )  [inline, inherited]

Definition at line 208 of file OSGFogChunkBase.inl.

References osg::FogChunkBase::_sfDensity.

00209 {
00210     return &_sfDensity;
00211 }

GLenum & osg::FogChunkBase::editMode ( void   )  [inline, inherited]

Definition at line 217 of file OSGFogChunkBase.inl.

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

00218 {
00219     return _sfMode.getValue();
00220 }

const GLenum & osg::FogChunkBase::getMode ( void   )  const [inline, inherited]

Definition at line 224 of file OSGFogChunkBase.inl.

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

Referenced by activate(), and operator==().

00225 {
00226     return _sfMode.getValue();
00227 }

GLenum & osg::FogChunkBase::getMode ( void   )  [inline, inherited]

Definition at line 232 of file OSGFogChunkBase.inl.

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

00233 {
00234     return _sfMode.getValue();
00235 }

Color4f & osg::FogChunkBase::editColor ( void   )  [inline, inherited]

Definition at line 247 of file OSGFogChunkBase.inl.

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

00248 {
00249     return _sfColor.getValue();
00250 }

const Color4f & osg::FogChunkBase::getColor ( void   )  const [inline, inherited]

Definition at line 254 of file OSGFogChunkBase.inl.

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

Referenced by activate(), and operator==().

00255 {
00256     return _sfColor.getValue();
00257 }

Color4f & osg::FogChunkBase::getColor ( void   )  [inline, inherited]

Definition at line 262 of file OSGFogChunkBase.inl.

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

00263 {
00264     return _sfColor.getValue();
00265 }

Real32 & osg::FogChunkBase::editStart ( void   )  [inline, inherited]

Definition at line 277 of file OSGFogChunkBase.inl.

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

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

const Real32 & osg::FogChunkBase::getStart ( void   )  const [inline, inherited]

Definition at line 284 of file OSGFogChunkBase.inl.

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

Referenced by activate(), and operator==().

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

Real32 & osg::FogChunkBase::getStart ( void   )  [inline, inherited]

Definition at line 292 of file OSGFogChunkBase.inl.

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

00293 {
00294     return _sfStart.getValue();
00295 }

Real32 & osg::FogChunkBase::editEnd ( void   )  [inline, inherited]

Definition at line 307 of file OSGFogChunkBase.inl.

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

00308 {
00309     return _sfEnd.getValue();
00310 }

const Real32 & osg::FogChunkBase::getEnd ( void   )  const [inline, inherited]

Definition at line 314 of file OSGFogChunkBase.inl.

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

Referenced by activate(), and operator==().

00315 {
00316     return _sfEnd.getValue();
00317 }

Real32 & osg::FogChunkBase::getEnd ( void   )  [inline, inherited]

Definition at line 322 of file OSGFogChunkBase.inl.

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

00323 {
00324     return _sfEnd.getValue();
00325 }

Real32 & osg::FogChunkBase::editDensity ( void   )  [inline, inherited]

Definition at line 337 of file OSGFogChunkBase.inl.

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

00338 {
00339     return _sfDensity.getValue();
00340 }

const Real32 & osg::FogChunkBase::getDensity ( void   )  const [inline, inherited]

Definition at line 344 of file OSGFogChunkBase.inl.

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

Referenced by activate(), and operator==().

00345 {
00346     return _sfDensity.getValue();
00347 }

Real32 & osg::FogChunkBase::getDensity ( void   )  [inline, inherited]

Definition at line 352 of file OSGFogChunkBase.inl.

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

00353 {
00354     return _sfDensity.getValue();
00355 }

void osg::FogChunkBase::setMode ( const GLenum &  value  )  [inline, inherited]

Definition at line 240 of file OSGFogChunkBase.inl.

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

00241 {
00242     _sfMode.setValue(value);
00243 }

void osg::FogChunkBase::setColor ( const Color4f value  )  [inline, inherited]

Definition at line 270 of file OSGFogChunkBase.inl.

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

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

void osg::FogChunkBase::setStart ( const Real32 value  )  [inline, inherited]

Definition at line 300 of file OSGFogChunkBase.inl.

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

00301 {
00302     _sfStart.setValue(value);
00303 }

void osg::FogChunkBase::setEnd ( const Real32 value  )  [inline, inherited]

Definition at line 330 of file OSGFogChunkBase.inl.

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

00331 {
00332     _sfEnd.setValue(value);
00333 }

void osg::FogChunkBase::setDensity ( const Real32 value  )  [inline, inherited]

Definition at line 360 of file OSGFogChunkBase.inl.

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

00361 {
00362     _sfDensity.setValue(value);
00363 }

UInt32 osg::FogChunkBase::getBinSize ( const BitVector whichField  )  [virtual, inherited]

Reimplemented from osg::StateChunkBase.

Definition at line 242 of file OSGFogChunkBase.cpp.

References osg::FogChunkBase::_sfColor, osg::FogChunkBase::_sfDensity, osg::FogChunkBase::_sfEnd, osg::FogChunkBase::_sfMode, osg::FogChunkBase::_sfStart, osg::FogChunkBase::ColorFieldMask, osg::FogChunkBase::DensityFieldMask, osg::FogChunkBase::EndFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::StateChunkBase::getBinSize(), osg::FogChunkBase::ModeFieldMask, osg::FieldBits::NoField, and osg::FogChunkBase::StartFieldMask.

00243 {
00244     UInt32 returnValue = Inherited::getBinSize(whichField);
00245 
00246     if(FieldBits::NoField != (ModeFieldMask & whichField))
00247     {
00248         returnValue += _sfMode.getBinSize();
00249     }
00250 
00251     if(FieldBits::NoField != (ColorFieldMask & whichField))
00252     {
00253         returnValue += _sfColor.getBinSize();
00254     }
00255 
00256     if(FieldBits::NoField != (StartFieldMask & whichField))
00257     {
00258         returnValue += _sfStart.getBinSize();
00259     }
00260 
00261     if(FieldBits::NoField != (EndFieldMask & whichField))
00262     {
00263         returnValue += _sfEnd.getBinSize();
00264     }
00265 
00266     if(FieldBits::NoField != (DensityFieldMask & whichField))
00267     {
00268         returnValue += _sfDensity.getBinSize();
00269     }
00270 
00271 
00272     return returnValue;
00273 }

void osg::FogChunkBase::copyToBin ( BinaryDataHandler pMem,
const BitVector whichField 
) [virtual, inherited]

Reimplemented from osg::StateChunkBase.

Definition at line 275 of file OSGFogChunkBase.cpp.

References osg::FogChunkBase::_sfColor, osg::FogChunkBase::_sfDensity, osg::FogChunkBase::_sfEnd, osg::FogChunkBase::_sfMode, osg::FogChunkBase::_sfStart, osg::FogChunkBase::ColorFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::StateChunkBase::copyToBin(), osg::FogChunkBase::DensityFieldMask, osg::FogChunkBase::EndFieldMask, osg::FogChunkBase::ModeFieldMask, osg::FieldBits::NoField, and osg::FogChunkBase::StartFieldMask.

00277 {
00278     Inherited::copyToBin(pMem, whichField);
00279 
00280     if(FieldBits::NoField != (ModeFieldMask & whichField))
00281     {
00282         _sfMode.copyToBin(pMem);
00283     }
00284 
00285     if(FieldBits::NoField != (ColorFieldMask & whichField))
00286     {
00287         _sfColor.copyToBin(pMem);
00288     }
00289 
00290     if(FieldBits::NoField != (StartFieldMask & whichField))
00291     {
00292         _sfStart.copyToBin(pMem);
00293     }
00294 
00295     if(FieldBits::NoField != (EndFieldMask & whichField))
00296     {
00297         _sfEnd.copyToBin(pMem);
00298     }
00299 
00300     if(FieldBits::NoField != (DensityFieldMask & whichField))
00301     {
00302         _sfDensity.copyToBin(pMem);
00303     }
00304 
00305 
00306 }

void osg::FogChunkBase::copyFromBin ( BinaryDataHandler pMem,
const BitVector whichField 
) [virtual, inherited]

Reimplemented from osg::StateChunkBase.

Definition at line 308 of file OSGFogChunkBase.cpp.

References osg::FogChunkBase::_sfColor, osg::FogChunkBase::_sfDensity, osg::FogChunkBase::_sfEnd, osg::FogChunkBase::_sfMode, osg::FogChunkBase::_sfStart, osg::FogChunkBase::ColorFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::StateChunkBase::copyFromBin(), osg::FogChunkBase::DensityFieldMask, osg::FogChunkBase::EndFieldMask, osg::FogChunkBase::ModeFieldMask, osg::FieldBits::NoField, and osg::FogChunkBase::StartFieldMask.

00310 {
00311     Inherited::copyFromBin(pMem, whichField);
00312 
00313     if(FieldBits::NoField != (ModeFieldMask & whichField))
00314     {
00315         _sfMode.copyFromBin(pMem);
00316     }
00317 
00318     if(FieldBits::NoField != (ColorFieldMask & whichField))
00319     {
00320         _sfColor.copyFromBin(pMem);
00321     }
00322 
00323     if(FieldBits::NoField != (StartFieldMask & whichField))
00324     {
00325         _sfStart.copyFromBin(pMem);
00326     }
00327 
00328     if(FieldBits::NoField != (EndFieldMask & whichField))
00329     {
00330         _sfEnd.copyFromBin(pMem);
00331     }
00332 
00333     if(FieldBits::NoField != (DensityFieldMask & whichField))
00334     {
00335         _sfDensity.copyFromBin(pMem);
00336     }
00337 
00338 
00339 }

FogChunkPtr osg::FogChunkBase::create ( void   )  [inline, static, inherited]

Definition at line 72 of file OSGFogChunkBase.inl.

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

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

FogChunkPtr osg::FogChunkBase::createEmpty ( void   )  [inline, static, inherited]

Definition at line 87 of file OSGFogChunkBase.inl.

References osg::FieldContainer::newPtr().

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

FieldContainerPtr osg::FogChunkBase::shallowCopy ( void   )  const [virtual, inherited]

Implements osg::FieldContainer.

Definition at line 162 of file OSGFogChunkBase.cpp.

References osg::FieldContainer::newPtr().

Referenced by osg::FogChunkBase::create().

00163 { 
00164     FogChunkPtr returnValue; 
00165 
00166     newPtr(returnValue, dynamic_cast<const FogChunk *>(this)); 
00167 
00168     return returnValue; 
00169 }

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

Reimplemented from osg::StateChunkBase.

Definition at line 342 of file OSGFogChunkBase.cpp.

References osg::FogChunkBase::_sfColor, osg::FogChunkBase::_sfDensity, osg::FogChunkBase::_sfEnd, osg::FogChunkBase::_sfMode, osg::FogChunkBase::_sfStart, osg::FogChunkBase::ColorFieldMask, osg::FogChunkBase::DensityFieldMask, osg::FogChunkBase::EndFieldMask, osg::StateChunkBase::executeSyncImpl(), osg::FogChunkBase::ModeFieldMask, osg::FieldBits::NoField, osg::FogChunkBase::StartFieldMask, and osg::SField< FieldTypeT, fieldNameSpace >::syncWith().

Referenced by osg::FogChunkBase::executeSync().

00344 {
00345 
00346     Inherited::executeSyncImpl(pOther, whichField);
00347 
00348     if(FieldBits::NoField != (ModeFieldMask & whichField))
00349         _sfMode.syncWith(pOther->_sfMode);
00350 
00351     if(FieldBits::NoField != (ColorFieldMask & whichField))
00352         _sfColor.syncWith(pOther->_sfColor);
00353 
00354     if(FieldBits::NoField != (StartFieldMask & whichField))
00355         _sfStart.syncWith(pOther->_sfStart);
00356 
00357     if(FieldBits::NoField != (EndFieldMask & whichField))
00358         _sfEnd.syncWith(pOther->_sfEnd);
00359 
00360     if(FieldBits::NoField != (DensityFieldMask & whichField))
00361         _sfDensity.syncWith(pOther->_sfDensity);
00362 
00363 
00364 }

void osg::FogChunkBase::executeSync ( FieldContainer other,
const BitVector whichField 
) [protected, virtual, inherited]

Reimplemented from osg::StateChunkBase.

Definition at line 178 of file OSGFogChunkBase.cpp.

References osg::FogChunkBase::executeSyncImpl().

00180 {
00181     this->executeSyncImpl(static_cast<FogChunkBase *>(&other),
00182                           whichField);
00183 }

virtual void osg::FieldContainer::executeSync ( FieldContainer other,
const BitVector whichField 
) [protected, pure virtual, inherited]
UInt32 osg::StateChunk::getClassId ( void   )  const [inline, inherited]

Definition at line 48 of file OSGStateChunk.inl.

References osg::StateChunk::getClass(), and osg::StateChunkClass::getId().

00049 {
00050     return getClass()->getId();
00051 }

void StateChunk::update ( DrawActionBase action  )  [virtual, inherited]

Reimplemented in osg::SHLChunk.

Definition at line 311 of file OSGStateChunk.cpp.

00312 {
00313 }

void StateChunk::changeFrom ( DrawActionBase action,
StateChunk old,
UInt32  index = 0 
) [virtual, inherited]

Change from an old chunk of the same type to this chunk. Note that in general no type checking is done, make sure to use this on a legal combination of chunks!

Definition at line 330 of file OSGStateChunk.cpp.

References osg::StateChunk::activate(), and osg::StateChunk::deactivate().

00333 {
00334     old->deactivate(action, index);
00335     activate(action, index);
00336 }

bool StateChunk::isTransparent ( void   )  const [virtual, inherited]

Check if the chunk is transparent, i.e. needs to be rendered after the opaque objects.

Reimplemented in osg::BlendChunk, osg::MaterialChunk, osg::PointChunk, osg::ProgramChunk, osg::RegisterCombinersChunk, and osg::TextureChunk.

Definition at line 352 of file OSGStateChunk.cpp.

00353 {
00354     return false;
00355 }

Real32 StateChunk::switchCost ( StateChunk chunk  )  [virtual, inherited]

Calculate how expensive it is to switch from one instance of the chunk class to another. In most cases not implemented yet, will return 0.

Definition at line 370 of file OSGStateChunk.cpp.

00371 {
00372     return 0;
00373 }

bool StateChunk::operator< ( const StateChunk other  )  const [virtual, inherited]

Calculate how expensive it is to switch from one instance of the chunk class to another. In most cases not implemented yet, will return 0.

Definition at line 375 of file OSGStateChunk.cpp.

00376 {
00377     return this < &other;
00378 }

bool StateChunk::operator== ( const StateChunk other  )  const [virtual, inherited]

Compare two chunks. In most cases not implemented yet, will return false.

Definition at line 383 of file OSGStateChunk.cpp.

00384 {
00385     return false;
00386 }

bool StateChunk::operator!= ( const StateChunk other  )  const [virtual, inherited]

Calculate how expensive it is to switch from one instance of the chunk class to another. In most cases not implemented yet, will return 0.

Definition at line 388 of file OSGStateChunk.cpp.

00389 {
00390     return !(*this == other);
00391 }

SFBool * osg::StateChunkBase::editSFIgnore ( void   )  [inline, inherited]

Definition at line 82 of file OSGStateChunkBase.inl.

References osg::StateChunkBase::_sfIgnore.

00083 {
00084     return &_sfIgnore;
00085 }

const SFBool * osg::StateChunkBase::getSFIgnore ( void   )  const [inline, inherited]

Definition at line 75 of file OSGStateChunkBase.inl.

References osg::StateChunkBase::_sfIgnore.

00076 {
00077     return &_sfIgnore;
00078 }

SFBool * osg::StateChunkBase::getSFIgnore ( void   )  [inline, inherited]

Definition at line 90 of file OSGStateChunkBase.inl.

References osg::StateChunkBase::_sfIgnore.

00091 {
00092     return &_sfIgnore;
00093 }

bool & osg::StateChunkBase::editIgnore ( void   )  [inline, inherited]

Definition at line 99 of file OSGStateChunkBase.inl.

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

00100 {
00101     return _sfIgnore.getValue();
00102 }

const bool & osg::StateChunkBase::getIgnore ( void   )  const [inline, inherited]

Definition at line 106 of file OSGStateChunkBase.inl.

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

00107 {
00108     return _sfIgnore.getValue();
00109 }

bool & osg::StateChunkBase::getIgnore ( void   )  [inline, inherited]

Definition at line 114 of file OSGStateChunkBase.inl.

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

00115 {
00116     return _sfIgnore.getValue();
00117 }

void osg::StateChunkBase::setIgnore ( const bool &  value  )  [inline, inherited]

Definition at line 122 of file OSGStateChunkBase.inl.

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

00123 {
00124     _sfIgnore.setValue(value);
00125 }

MFFieldContainerPtr & Attachment::getParents ( void   )  [inherited]

Definition at line 95 of file OSGAttachment.cpp.

00096 {
00097     return _parents;
00098 }

const MFFieldContainerPtr & Attachment::getParents ( void   )  const [inherited]

Definition at line 100 of file OSGAttachment.cpp.

References osg::Attachment::_parents.

00101 {
00102     return _parents;
00103 }

MFFieldContainerPtr * Attachment::getMFParents ( void   )  [inherited]

Definition at line 105 of file OSGAttachment.cpp.

References osg::Attachment::_parents.

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

00106 {
00107     return &_parents;
00108 }

void Attachment::addParent ( FieldContainerPtr  parent  )  [inherited]

Definition at line 110 of file OSGAttachment.cpp.

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

00111 {
00112     _parents.push_back(parent);
00113 }

void Attachment::subParent ( FieldContainerPtr  parent  )  [inherited]
Int32 Attachment::findParent ( FieldContainerPtr  parent  )  [inherited]

Definition at line 125 of file OSGAttachment.cpp.

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

00126 {
00127     MFFieldContainerPtr::iterator parentIt = _parents.find(parent);
00128 
00129     if(parentIt != _parents.end())
00130     {
00131         return parentIt - _parents.begin();
00132     }
00133     else
00134     {
00135         return -1;
00136     }
00137 }

SFBool & Attachment::getInternal ( void   )  [inherited]

Definition at line 142 of file OSGAttachment.cpp.

References osg::Attachment::_sfInternal.

00143 {
00144     return _sfInternal;
00145 }

const SFBool & Attachment::getInternal ( void   )  const [inherited]

Definition at line 147 of file OSGAttachment.cpp.

References osg::Attachment::_sfInternal.

00148 {
00149     return _sfInternal;
00150 }

SFBool * Attachment::getSFInternal ( void   )  [inherited]

Definition at line 152 of file OSGAttachment.cpp.

References osg::Attachment::_sfInternal.

00153 {
00154     return &_sfInternal;
00155 }

void Attachment::setInternal ( bool  bVal  )  [inherited]

Definition at line 157 of file OSGAttachment.cpp.

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

00158 {
00159     _sfInternal.setValue(bVal);
00160 }

void Attachment::onDestroy ( void   )  [protected, virtual, inherited]
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]

Definition at line 83 of file OSGFieldContainerImpl.inl.

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

Referenced by osg::Image::setAttachmentField().

00084 {
00085     return getType().getGroupId();
00086 }

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::ShadeModelChunkBase::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::OffsetCameraDecoratorBase::createEmpty(), osg::OffCenterPerspectiveCameraBase::createEmpty(), osg::MultiSwitchBase::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::FogChunkBase::createEmpty(), osg::FogBase::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::ShadeModelChunkBase::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::OffsetCameraDecoratorBase::shallowCopy(), osg::OffCenterPerspectiveCameraBase::shallowCopy(), osg::MultiSwitchBase::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::FogChunkBase::shallowCopy(), osg::FogBase::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 #ifdef OSG_INVALID_PTR_CHECK
00168     result._id = *(reinterpret_cast<UInt32 *>(pTmp));
00169 #endif
00170 
00171     Thread::getCurrentChangeList()->addCreated(
00172         *(reinterpret_cast<UInt32 *>(pTmp)));
00173     
00174     pTmp += sizeof(UInt32);
00175     
00176     ObjectType *aObject = reinterpret_cast<ObjectType *>(pTmp);
00177 
00178     for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++)
00179     {
00180         pTmp = 
00181             reinterpret_cast<UInt8 *>(new (pTmp) ObjectType(*prototypeP));
00182         
00183         pTmp += sizeof(ObjectType);
00184     }
00185     
00186     result->onCreate(prototypeP);
00187 
00188     for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++)
00189     {
00190         aObject[i].onCreateAspect(aObject, prototypeP);
00191     }
00192 
00193 #if defined(OSG_GV_BETA) && defined(OSG_DBG_MEM)
00194 
00195     fprintf(stderr, "GV_MEM_FC_DBG : (%u) cc (%p|%u)\n", 
00196             Thread::getAspect(),
00197             result._storeP,
00198 //            ObjectType::getClassType().getCName(),
00199             ObjectType::getClassType().getId());
00200 #endif
00201 
00202 #ifdef OSG_DEBUG_TYPED_FCPTR
00203     result.updateTypedStore();
00204 #endif
00205 }

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

Definition at line 208 of file OSGFieldContainerImpl.inl.

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

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

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

Definition at line 293 of file OSGFieldContainerImpl.inl.

00294 {
00295 //    fieldR.beginEdit();
00296 }

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

Definition at line 299 of file OSGFieldContainerImpl.inl.

References osg::endEditCP().

00300 {
00301     FieldContainerPtr tmpPtr(this);
00302     endEditCP(tmpPtr, whichField);
00303 }

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

Reimplemented in osg::Window.

Definition at line 331 of file OSGFieldContainerImpl.inl.

00333 {
00334 }


Friends And Related Function Documentation

friend class FieldContainer [friend]

Reimplemented from osg::FogChunkBase.

Definition at line 143 of file OSGFogChunk.h.

friend class FogChunkBase [friend]

Definition at line 144 of file OSGFogChunk.h.


Member Data Documentation

Definition at line 147 of file OSGFogChunk.h.

Referenced by getClass(), and getStaticClass().

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

Reimplemented from osg::StateChunkBase.

Definition at line 113 of file OSGFogChunkBase.h.

GLenum osg::FogChunkBase::_sfMode [protected, inherited]
Color4f osg::FogChunkBase::_sfColor [protected, inherited]
Real32 osg::FogChunkBase::_sfStart [protected, inherited]
Real32 osg::FogChunkBase::_sfEnd [protected, inherited]
Real32 osg::FogChunkBase::_sfDensity [protected, inherited]
bool osg::StateChunkBase::_sfIgnore [protected, inherited]
const BitVector Attachment::InternalFieldMask = (1 << Attachment::InternalFieldId) [static, inherited]
const BitVector Attachment::ParentsFieldMask = (1 << Attachment::ParentsFieldId) [static, inherited]
SFBool osg::Attachment::_sfInternal [protected, inherited]
const BitVector osg::FieldContainer::NextFieldMask [static, inherited]
Initial value:
 
                    (TypeTraits<BitVector>::One << NextFieldId)

Definition at line 75 of file OSGFieldContainerImpl.h.

const bool osg::FieldContainer::isNodeCore = false [static, inherited]

Reimplemented in osg::NodeCore.

Definition at line 181 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 8 Feb 2010 for OpenSG by  doxygen 1.6.1