osg::FresnelMaterialBase Class Reference

FresnelMaterial Base Class.

#include <OSGFresnelMaterialBase.h>

Inheritance diagram for osg::FresnelMaterialBase:

osg::ChunkMaterial osg::ChunkMaterialBase osg::Material osg::MaterialBase osg::AttachmentContainer osg::FieldContainer osg::FresnelMaterial

List of all members.

Rendering



typedef TypedFunctor1Base
< Action::ResultE, PtrCallArg
< DrawActionBase > > 
DrawFunctor
virtual StatePtr getState (UInt32 index=0)
virtual bool isMultiPass (void) const
virtual UInt32 getNPasses (void) const
virtual Int32 getRealSortKey (void) const

Public Types

enum  {
  AmbientFieldId = Inherited::NextFieldId, DiffuseFieldId = AmbientFieldId + 1, SpecularFieldId = DiffuseFieldId + 1, ShininessFieldId = SpecularFieldId + 1,
  EmissionFieldId = ShininessFieldId + 1, TransparencyFieldId = EmissionFieldId + 1, LitFieldId = TransparencyFieldId + 1, ColorMaterialFieldId = LitFieldId + 1,
  IndexFieldId = ColorMaterialFieldId + 1, ScaleFieldId = IndexFieldId + 1, BiasFieldId = ScaleFieldId + 1, ImageFieldId = BiasFieldId + 1,
  NextFieldId = ImageFieldId + 1
}
typedef FresnelMaterialPtr Ptr
enum  { ChunksFieldId = Inherited::NextFieldId, SlotsFieldId = ChunksFieldId + 1, NextFieldId = SlotsFieldId + 1 }
enum  { SortKeyFieldId = Inherited::NextFieldId, TransparencyModeFieldId = SortKeyFieldId + 1, NextFieldId = TransparencyModeFieldId + 1 }
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


SFColor3fgetSFAmbient (void)
 Get the FresnelMaterial::_sfAmbient field.
SFColor3fgetSFDiffuse (void)
 Get the FresnelMaterial::_sfDiffuse field.
SFColor3fgetSFSpecular (void)
 Get the FresnelMaterial::_sfSpecular field.
SFReal32getSFShininess (void)
 Get the FresnelMaterial::_sfShininess field.
SFColor3fgetSFEmission (void)
 Get the FresnelMaterial::_sfEmission field.
SFReal32getSFTransparency (void)
 Get the FresnelMaterial::_sfTransparency field.
SFBoolgetSFLit (void)
 Get the FresnelMaterial::_sfLit field.
SFGLenumgetSFColorMaterial (void)
 Get the FresnelMaterial::_sfColorMaterial field.
SFReal32getSFIndex (void)
 Get the FresnelMaterial::_sfIndex field.
SFReal32getSFScale (void)
 Get the FresnelMaterial::_sfScale field.
SFReal32getSFBias (void)
 Get the FresnelMaterial::_sfBias field.
SFImagePtrgetSFImage (void)
 Get the FresnelMaterial::_sfImage field.
Color3fgetAmbient (void)
 Get the value of the FresnelMaterial::_sfAmbient field.
const Color3fgetAmbient (void) const
 Get the value of the FresnelMaterial::_sfAmbient field.
Color3fgetDiffuse (void)
 Get the value of the FresnelMaterial::_sfDiffuse field.
const Color3fgetDiffuse (void) const
 Get the value of the FresnelMaterial::_sfDiffuse field.
Color3fgetSpecular (void)
 Get the value of the FresnelMaterial::_sfSpecular field.
const Color3fgetSpecular (void) const
 Get the value of the FresnelMaterial::_sfSpecular field.
Real32getShininess (void)
 Get the value of the FresnelMaterial::_sfShininess field.
const Real32getShininess (void) const
 Get the value of the FresnelMaterial::_sfShininess field.
Color3fgetEmission (void)
 Get the value of the FresnelMaterial::_sfEmission field.
const Color3fgetEmission (void) const
 Get the value of the FresnelMaterial::_sfEmission field.
Real32getTransparency (void)
 Get the value of the FresnelMaterial::_sfTransparency field.
const Real32getTransparency (void) const
 Get the value of the FresnelMaterial::_sfTransparency field.
bool & getLit (void)
 Get the value of the FresnelMaterial::_sfLit field.
const bool & getLit (void) const
 Get the value of the FresnelMaterial::_sfLit field.
GLenum & getColorMaterial (void)
 Get the value of the FresnelMaterial::_sfColorMaterial field.
const GLenum & getColorMaterial (void) const
 Get the value of the FresnelMaterial::_sfColorMaterial field.
Real32getIndex (void)
 Get the value of the FresnelMaterial::_sfIndex field.
const Real32getIndex (void) const
 Get the value of the FresnelMaterial::_sfIndex field.
Real32getScale (void)
 Get the value of the FresnelMaterial::_sfScale field.
const Real32getScale (void) const
 Get the value of the FresnelMaterial::_sfScale field.
Real32getBias (void)
 Get the value of the FresnelMaterial::_sfBias field.
const Real32getBias (void) const
 Get the value of the FresnelMaterial::_sfBias field.
ImagePtrgetImage (void)
 Get the value of the FresnelMaterial::_sfImage field.
const ImagePtrgetImage (void) const
 Get the value of the FresnelMaterial::_sfImage field.
Field Set


void setAmbient (const Color3f &value)
 Set the value of the FresnelMaterial::_sfAmbient field.
void setDiffuse (const Color3f &value)
 Set the value of the FresnelMaterial::_sfDiffuse field.
void setSpecular (const Color3f &value)
 Set the value of the FresnelMaterial::_sfSpecular field.
void setShininess (const Real32 &value)
 Set the value of the FresnelMaterial::_sfShininess field.
void setEmission (const Color3f &value)
 Set the value of the FresnelMaterial::_sfEmission field.
void setTransparency (const Real32 &value)
 Set the value of the FresnelMaterial::_sfTransparency field.
void setLit (const bool &value)
 Set the value of the FresnelMaterial::_sfLit field.
void setColorMaterial (const GLenum &value)
 Set the value of the FresnelMaterial::_sfColorMaterial field.
void setIndex (const Real32 &value)
 Set the value of the FresnelMaterial::_sfIndex field.
void setScale (const Real32 &value)
 Set the value of the FresnelMaterial::_sfScale field.
void setBias (const Real32 &value)
 Set the value of the FresnelMaterial::_sfBias field.
void setImage (const ImagePtr &value)
 Set the value of the FresnelMaterial::_sfImage 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)
Output


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


virtual void draw (DrawFunctor &func, DrawActionBase *action)
virtual void draw (Geometry *geo, DrawActionBase *action)
virtual StatePtr makeState (void)
virtual void rebuildState (void)
virtual bool isTransparent (void) const
Access


bool addChunk (StateChunkPtr chunk, Int32 slot=State::AutoSlotReplace)
bool subChunk (StateChunkPtr chunk, Int32 slot=State::AutoSlotReplace)
Int32 find (StateChunkPtr chunk)
StateChunkPtr find (const FieldContainerType &type, Int32 slot=State::AutoSlotReplace)
void clearChunks (void)
virtual bool operator== (const Material &other)
Comparison


virtual bool operator== (const Material &other) const
virtual bool operator< (const Material &other) const
virtual bool operator!= (const Material &other) const
Field Get


MFStateChunkPtrgetMFChunks (void)
 Get the ChunkMaterial::_mfChunks field.
MFInt32getMFSlots (void)
 Get the ChunkMaterial::_mfSlots field.
StateChunkPtrgetChunks (const UInt32 index)
 Get the value of the index element the ChunkMaterial::_mfChunks field.
MFStateChunkPtrgetChunks (void)
 Get the ChunkMaterial::_mfChunks field.
const MFStateChunkPtrgetChunks (void) const
 Get the ChunkMaterial::_mfChunks field.
Int32getSlots (const UInt32 index)
 Get the value of the index element the ChunkMaterial::_mfSlots field.
MFInt32getSlots (void)
 Get the ChunkMaterial::_mfSlots field.
const MFInt32getSlots (void) const
 Get the ChunkMaterial::_mfSlots field.
Field Get


SFInt32getSFSortKey (void)
 Get the Material::_sfSortKey field.
SFInt32getSFTransparencyMode (void)
 Get the Material::_sfTransparencyMode field.
Int32getSortKey (void)
 Get the value of the Material::_sfSortKey field.
const Int32getSortKey (void) const
 Get the value of the Material::_sfSortKey field.
Int32getTransparencyMode (void)
 Get the value of the Material::_sfTransparencyMode field.
const Int32getTransparencyMode (void) const
 Get the value of the Material::_sfTransparencyMode field.
Field Set


void setSortKey (const Int32 &value)
 Set the value of the Material::_sfSortKey field.
void setTransparencyMode (const Int32 &value)
 Set the value of the Material::_sfTransparencyMode field.
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 FresnelMaterialPtr create (void)
 create a new instance of the class
static FresnelMaterialPtr createEmpty (void)
 create an empty new instance of the class, do not copy the prototype
Class Get


static const char * getClassname (void)
Get Class Type Information


static UInt16 getClassGroupId (void)

Static Public Attributes

static const osg::BitVector AmbientFieldMask
static const osg::BitVector DiffuseFieldMask
static const osg::BitVector SpecularFieldMask
static const osg::BitVector ShininessFieldMask
static const osg::BitVector EmissionFieldMask
static const osg::BitVector TransparencyFieldMask
static const osg::BitVector LitFieldMask
static const osg::BitVector ColorMaterialFieldMask
static const osg::BitVector IndexFieldMask
static const osg::BitVector ScaleFieldMask
static const osg::BitVector BiasFieldMask
static const osg::BitVector ImageFieldMask
static const osg::BitVector MTInfluenceMask
static const osg::BitVector ChunksFieldMask
static const osg::BitVector SlotsFieldMask
static const osg::BitVector SortKeyFieldMask
static const osg::BitVector TransparencyModeFieldMask
static const BitVector AttachmentsFieldMask
static const BitVector NextFieldMask
Constants


static const Int32 NoStateSorting = 0x7fffffff
static const Int32 TransparencyAutoDetection = 0
static const Int32 TransparencyForceTransparent = 1
static const Int32 TransparencyForceOpaque = 2
CoredNodePtr helper


static const bool isNodeCore = false

Protected Member Functions

Constructors


 FresnelMaterialBase (void)
 FresnelMaterialBase (const FresnelMaterialBase &source)
Destructors


virtual ~FresnelMaterialBase (void)
Sync


void executeSyncImpl (FresnelMaterialBase *pOther, const BitVector &whichField)
virtual void executeSync (FieldContainer &other, const BitVector &whichField)
Destructor


void addChunks (StatePtr state)
Sync


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


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


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


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


AttachmentContainerPtr getPtr (void)
MT Edit


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


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


virtual void onDestroy (void)

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

StatePtr _pState
Fields


SFColor3f _sfAmbient
SFColor3f _sfDiffuse
SFColor3f _sfSpecular
SFReal32 _sfShininess
SFColor3f _sfEmission
SFReal32 _sfTransparency
SFBool _sfLit
SFGLenum _sfColorMaterial
SFReal32 _sfIndex
SFReal32 _sfScale
SFReal32 _sfBias
SFImagePtr _sfImage
Fields


MFStateChunkPtr _mfChunks
MFInt32 _mfSlots
Fields


SFInt32 _sfSortKey
SFInt32 _sfTransparencyMode
Fields


SFAttachmentMap _attachmentMap
Member


UInt32 _shares

Private Types

typedef ChunkMaterial Inherited

Private Member Functions

void operator= (const FresnelMaterialBase &source)

Static Private Attributes

static FieldDescription_desc []
 FresnelMaterial description.
static FieldContainerType _type

Friends

class FieldContainer


Detailed Description

Definition at line 92 of file OSGFresnelMaterialBase.h.


Member Typedef Documentation

Reimplemented from osg::ChunkMaterial.

Reimplemented in osg::FresnelMaterial.

Definition at line 96 of file OSGFresnelMaterialBase.h.

Reimplemented from osg::ChunkMaterialBase.

Definition at line 101 of file OSGFresnelMaterialBase.h.

Definition at line 107 of file OSGMaterial.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
AmbientFieldId 
DiffuseFieldId 
SpecularFieldId 
ShininessFieldId 
EmissionFieldId 
TransparencyFieldId 
LitFieldId 
ColorMaterialFieldId 
IndexFieldId 
ScaleFieldId 
BiasFieldId 
ImageFieldId 
NextFieldId 

Definition at line 103 of file OSGFresnelMaterialBase.h.

00104     {
00105         AmbientFieldId       = Inherited::NextFieldId,
00106         DiffuseFieldId       = AmbientFieldId       + 1,
00107         SpecularFieldId      = DiffuseFieldId       + 1,
00108         ShininessFieldId     = SpecularFieldId      + 1,
00109         EmissionFieldId      = ShininessFieldId     + 1,
00110         TransparencyFieldId  = EmissionFieldId      + 1,
00111         LitFieldId           = TransparencyFieldId  + 1,
00112         ColorMaterialFieldId = LitFieldId           + 1,
00113         IndexFieldId         = ColorMaterialFieldId + 1,
00114         ScaleFieldId         = IndexFieldId         + 1,
00115         BiasFieldId          = ScaleFieldId         + 1,
00116         ImageFieldId         = BiasFieldId          + 1,
00117         NextFieldId          = ImageFieldId         + 1
00118     };

anonymous enum [inherited]

Enumerator:
ChunksFieldId 
SlotsFieldId 
NextFieldId 

Definition at line 93 of file OSGChunkMaterialBase.h.

00094     {
00095         ChunksFieldId = Inherited::NextFieldId,
00096         SlotsFieldId  = ChunksFieldId + 1,
00097         NextFieldId   = SlotsFieldId  + 1
00098     };

anonymous enum [inherited]

Enumerator:
SortKeyFieldId 
TransparencyModeFieldId 
NextFieldId 

Definition at line 93 of file OSGMaterialBase.h.

00094     {
00095         SortKeyFieldId          = Inherited::NextFieldId,
00096         TransparencyModeFieldId = SortKeyFieldId          + 1,
00097         NextFieldId             = TransparencyModeFieldId + 1
00098     };

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

FresnelMaterialBase::FresnelMaterialBase ( void   )  [protected]

Definition at line 286 of file OSGFresnelMaterialBase.cpp.

00286                                              :
00287     _sfAmbient                (Color3f(0,0,0)), 
00288     _sfDiffuse                (Color3f(0,0,0)), 
00289     _sfSpecular               (Color3f(0,0,0)), 
00290     _sfShininess              (Real32(1)), 
00291     _sfEmission               (Color3f(0,0,0)), 
00292     _sfTransparency           (Real32(0)), 
00293     _sfLit                    (bool(true)), 
00294     _sfColorMaterial          (GLenum(GL_DIFFUSE)), 
00295     _sfIndex                  (Real32(0)), 
00296     _sfScale                  (Real32(1)), 
00297     _sfBias                   (Real32(1)), 
00298     _sfImage                  (), 
00299     Inherited() 
00300 {
00301 }

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

Definition at line 307 of file OSGFresnelMaterialBase.cpp.

00307                                                                           :
00308     _sfAmbient                (source._sfAmbient                ), 
00309     _sfDiffuse                (source._sfDiffuse                ), 
00310     _sfSpecular               (source._sfSpecular               ), 
00311     _sfShininess              (source._sfShininess              ), 
00312     _sfEmission               (source._sfEmission               ), 
00313     _sfTransparency           (source._sfTransparency           ), 
00314     _sfLit                    (source._sfLit                    ), 
00315     _sfColorMaterial          (source._sfColorMaterial          ), 
00316     _sfIndex                  (source._sfIndex                  ), 
00317     _sfScale                  (source._sfScale                  ), 
00318     _sfBias                   (source._sfBias                   ), 
00319     _sfImage                  (source._sfImage                  ), 
00320     Inherited                 (source)
00321 {
00322 }

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

Definition at line 326 of file OSGFresnelMaterialBase.cpp.

00327 {
00328 }


Member Function Documentation

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

Reimplemented from osg::ChunkMaterialBase.

Definition at line 58 of file OSGFresnelMaterialBase.inl.

References _type.

Referenced by create().

00059 {
00060     return _type; 
00061 } 

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

Reimplemented from osg::ChunkMaterialBase.

Definition at line 65 of file OSGFresnelMaterialBase.inl.

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

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

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

Reimplemented from osg::ChunkMaterialBase.

Definition at line 228 of file OSGFresnelMaterialBase.cpp.

References _type.

00229 {
00230     return _type; 
00231 } 

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

Reimplemented from osg::ChunkMaterialBase.

Definition at line 233 of file OSGFresnelMaterialBase.cpp.

References _type.

00234 {
00235     return _type;
00236 } 

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

Reimplemented from osg::ChunkMaterialBase.

Definition at line 248 of file OSGFresnelMaterialBase.cpp.

00249 { 
00250     return sizeof(FresnelMaterial); 
00251 }

SFColor3f * osg::FresnelMaterialBase::getSFAmbient ( void   )  [inline]

Definition at line 101 of file OSGFresnelMaterialBase.inl.

References _sfAmbient.

00102 {
00103     return &_sfAmbient;
00104 }

SFColor3f * osg::FresnelMaterialBase::getSFDiffuse ( void   )  [inline]

Definition at line 108 of file OSGFresnelMaterialBase.inl.

References _sfDiffuse.

00109 {
00110     return &_sfDiffuse;
00111 }

SFColor3f * osg::FresnelMaterialBase::getSFSpecular ( void   )  [inline]

Definition at line 115 of file OSGFresnelMaterialBase.inl.

References _sfSpecular.

00116 {
00117     return &_sfSpecular;
00118 }

SFReal32 * osg::FresnelMaterialBase::getSFShininess ( void   )  [inline]

Definition at line 122 of file OSGFresnelMaterialBase.inl.

References _sfShininess.

00123 {
00124     return &_sfShininess;
00125 }

SFColor3f * osg::FresnelMaterialBase::getSFEmission ( void   )  [inline]

Definition at line 129 of file OSGFresnelMaterialBase.inl.

References _sfEmission.

00130 {
00131     return &_sfEmission;
00132 }

SFReal32 * osg::FresnelMaterialBase::getSFTransparency ( void   )  [inline]

Definition at line 136 of file OSGFresnelMaterialBase.inl.

References _sfTransparency.

00137 {
00138     return &_sfTransparency;
00139 }

SFBool * osg::FresnelMaterialBase::getSFLit ( void   )  [inline]

Definition at line 143 of file OSGFresnelMaterialBase.inl.

References _sfLit.

00144 {
00145     return &_sfLit;
00146 }

SFGLenum * osg::FresnelMaterialBase::getSFColorMaterial ( void   )  [inline]

Definition at line 150 of file OSGFresnelMaterialBase.inl.

References _sfColorMaterial.

00151 {
00152     return &_sfColorMaterial;
00153 }

SFReal32 * osg::FresnelMaterialBase::getSFIndex ( void   )  [inline]

Definition at line 157 of file OSGFresnelMaterialBase.inl.

References _sfIndex.

00158 {
00159     return &_sfIndex;
00160 }

SFReal32 * osg::FresnelMaterialBase::getSFScale ( void   )  [inline]

Definition at line 164 of file OSGFresnelMaterialBase.inl.

References _sfScale.

00165 {
00166     return &_sfScale;
00167 }

SFReal32 * osg::FresnelMaterialBase::getSFBias ( void   )  [inline]

Definition at line 171 of file OSGFresnelMaterialBase.inl.

References _sfBias.

00172 {
00173     return &_sfBias;
00174 }

SFImagePtr * osg::FresnelMaterialBase::getSFImage ( void   )  [inline]

Definition at line 178 of file OSGFresnelMaterialBase.inl.

References _sfImage.

00179 {
00180     return &_sfImage;
00181 }

Color3f & osg::FresnelMaterialBase::getAmbient ( void   )  [inline]

Definition at line 186 of file OSGFresnelMaterialBase.inl.

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

Referenced by osg::FresnelMaterial::makeState(), and osg::FresnelMaterial::rebuildState().

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

const Color3f & osg::FresnelMaterialBase::getAmbient ( void   )  const [inline]

Definition at line 193 of file OSGFresnelMaterialBase.inl.

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

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

Color3f & osg::FresnelMaterialBase::getDiffuse ( void   )  [inline]

Definition at line 207 of file OSGFresnelMaterialBase.inl.

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

Referenced by osg::FresnelMaterial::makeState(), and osg::FresnelMaterial::rebuildState().

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

const Color3f & osg::FresnelMaterialBase::getDiffuse ( void   )  const [inline]

Definition at line 214 of file OSGFresnelMaterialBase.inl.

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

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

Color3f & osg::FresnelMaterialBase::getSpecular ( void   )  [inline]

const Color3f & osg::FresnelMaterialBase::getSpecular ( void   )  const [inline]

Definition at line 235 of file OSGFresnelMaterialBase.inl.

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

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

Real32 & osg::FresnelMaterialBase::getShininess ( void   )  [inline]

const Real32 & osg::FresnelMaterialBase::getShininess ( void   )  const [inline]

Definition at line 256 of file OSGFresnelMaterialBase.inl.

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

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

Color3f & osg::FresnelMaterialBase::getEmission ( void   )  [inline]

const Color3f & osg::FresnelMaterialBase::getEmission ( void   )  const [inline]

Definition at line 277 of file OSGFresnelMaterialBase.inl.

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

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

Real32 & osg::FresnelMaterialBase::getTransparency ( void   )  [inline]

const Real32 & osg::FresnelMaterialBase::getTransparency ( void   )  const [inline]

Definition at line 298 of file OSGFresnelMaterialBase.inl.

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

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

bool & osg::FresnelMaterialBase::getLit ( void   )  [inline]

Definition at line 312 of file OSGFresnelMaterialBase.inl.

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

Referenced by osg::FresnelMaterial::makeState(), and osg::FresnelMaterial::rebuildState().

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

const bool & osg::FresnelMaterialBase::getLit ( void   )  const [inline]

Definition at line 319 of file OSGFresnelMaterialBase.inl.

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

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

GLenum & osg::FresnelMaterialBase::getColorMaterial ( void   )  [inline]

const GLenum & osg::FresnelMaterialBase::getColorMaterial ( void   )  const [inline]

Definition at line 340 of file OSGFresnelMaterialBase.inl.

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

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

Real32 & osg::FresnelMaterialBase::getIndex ( void   )  [inline]

Definition at line 354 of file OSGFresnelMaterialBase.inl.

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

Referenced by osg::FresnelMaterial::updateFresnel().

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

const Real32 & osg::FresnelMaterialBase::getIndex ( void   )  const [inline]

Definition at line 361 of file OSGFresnelMaterialBase.inl.

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

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

Real32 & osg::FresnelMaterialBase::getScale ( void   )  [inline]

Definition at line 375 of file OSGFresnelMaterialBase.inl.

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

Referenced by osg::FresnelMaterial::updateFresnel().

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

const Real32 & osg::FresnelMaterialBase::getScale ( void   )  const [inline]

Definition at line 382 of file OSGFresnelMaterialBase.inl.

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

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

Real32 & osg::FresnelMaterialBase::getBias ( void   )  [inline]

Definition at line 396 of file OSGFresnelMaterialBase.inl.

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

Referenced by osg::FresnelMaterial::updateFresnel().

00397 {
00398     return _sfBias.getValue();
00399 }

const Real32 & osg::FresnelMaterialBase::getBias ( void   )  const [inline]

Definition at line 403 of file OSGFresnelMaterialBase.inl.

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

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

ImagePtr & osg::FresnelMaterialBase::getImage ( void   )  [inline]

Definition at line 417 of file OSGFresnelMaterialBase.inl.

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

Referenced by osg::FresnelMaterial::changed(), and osg::FresnelMaterial::updateFresnel().

00418 {
00419     return _sfImage.getValue();
00420 }

const ImagePtr & osg::FresnelMaterialBase::getImage ( void   )  const [inline]

Definition at line 424 of file OSGFresnelMaterialBase.inl.

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

00425 {
00426     return _sfImage.getValue();
00427 }

void osg::FresnelMaterialBase::setAmbient ( const Color3f value  )  [inline]

Definition at line 200 of file OSGFresnelMaterialBase.inl.

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

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

void osg::FresnelMaterialBase::setDiffuse ( const Color3f value  )  [inline]

Definition at line 221 of file OSGFresnelMaterialBase.inl.

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

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

void osg::FresnelMaterialBase::setSpecular ( const Color3f value  )  [inline]

Definition at line 242 of file OSGFresnelMaterialBase.inl.

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

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

void osg::FresnelMaterialBase::setShininess ( const Real32 value  )  [inline]

Definition at line 263 of file OSGFresnelMaterialBase.inl.

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

00264 {
00265     _sfShininess.setValue(value);
00266 }

void osg::FresnelMaterialBase::setEmission ( const Color3f value  )  [inline]

Definition at line 284 of file OSGFresnelMaterialBase.inl.

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

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

void osg::FresnelMaterialBase::setTransparency ( const Real32 value  )  [inline]

Definition at line 305 of file OSGFresnelMaterialBase.inl.

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

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

void osg::FresnelMaterialBase::setLit ( const bool &  value  )  [inline]

Definition at line 326 of file OSGFresnelMaterialBase.inl.

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

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

void osg::FresnelMaterialBase::setColorMaterial ( const GLenum &  value  )  [inline]

Definition at line 347 of file OSGFresnelMaterialBase.inl.

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

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

void osg::FresnelMaterialBase::setIndex ( const Real32 value  )  [inline]

Definition at line 368 of file OSGFresnelMaterialBase.inl.

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

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

void osg::FresnelMaterialBase::setScale ( const Real32 value  )  [inline]

Definition at line 389 of file OSGFresnelMaterialBase.inl.

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

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

void osg::FresnelMaterialBase::setBias ( const Real32 value  )  [inline]

Definition at line 410 of file OSGFresnelMaterialBase.inl.

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

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

void osg::FresnelMaterialBase::setImage ( const ImagePtr value  )  [inline]

Definition at line 431 of file OSGFresnelMaterialBase.inl.

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

00432 {
00433     _sfImage.setValue(value);
00434 }

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

Reimplemented from osg::ChunkMaterialBase.

Definition at line 332 of file OSGFresnelMaterialBase.cpp.

References _sfAmbient, _sfBias, _sfColorMaterial, _sfDiffuse, _sfEmission, _sfImage, _sfIndex, _sfLit, _sfScale, _sfShininess, _sfSpecular, _sfTransparency, AmbientFieldMask, BiasFieldMask, ColorMaterialFieldMask, DiffuseFieldMask, EmissionFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::ChunkMaterialBase::getBinSize(), ImageFieldMask, IndexFieldMask, LitFieldMask, osg::FieldBits::NoField, ScaleFieldMask, ShininessFieldMask, SpecularFieldMask, and TransparencyFieldMask.

00333 {
00334     UInt32 returnValue = Inherited::getBinSize(whichField);
00335 
00336     if(FieldBits::NoField != (AmbientFieldMask & whichField))
00337     {
00338         returnValue += _sfAmbient.getBinSize();
00339     }
00340 
00341     if(FieldBits::NoField != (DiffuseFieldMask & whichField))
00342     {
00343         returnValue += _sfDiffuse.getBinSize();
00344     }
00345 
00346     if(FieldBits::NoField != (SpecularFieldMask & whichField))
00347     {
00348         returnValue += _sfSpecular.getBinSize();
00349     }
00350 
00351     if(FieldBits::NoField != (ShininessFieldMask & whichField))
00352     {
00353         returnValue += _sfShininess.getBinSize();
00354     }
00355 
00356     if(FieldBits::NoField != (EmissionFieldMask & whichField))
00357     {
00358         returnValue += _sfEmission.getBinSize();
00359     }
00360 
00361     if(FieldBits::NoField != (TransparencyFieldMask & whichField))
00362     {
00363         returnValue += _sfTransparency.getBinSize();
00364     }
00365 
00366     if(FieldBits::NoField != (LitFieldMask & whichField))
00367     {
00368         returnValue += _sfLit.getBinSize();
00369     }
00370 
00371     if(FieldBits::NoField != (ColorMaterialFieldMask & whichField))
00372     {
00373         returnValue += _sfColorMaterial.getBinSize();
00374     }
00375 
00376     if(FieldBits::NoField != (IndexFieldMask & whichField))
00377     {
00378         returnValue += _sfIndex.getBinSize();
00379     }
00380 
00381     if(FieldBits::NoField != (ScaleFieldMask & whichField))
00382     {
00383         returnValue += _sfScale.getBinSize();
00384     }
00385 
00386     if(FieldBits::NoField != (BiasFieldMask & whichField))
00387     {
00388         returnValue += _sfBias.getBinSize();
00389     }
00390 
00391     if(FieldBits::NoField != (ImageFieldMask & whichField))
00392     {
00393         returnValue += _sfImage.getBinSize();
00394     }
00395 
00396 
00397     return returnValue;
00398 }

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

Reimplemented from osg::ChunkMaterialBase.

Definition at line 400 of file OSGFresnelMaterialBase.cpp.

References _sfAmbient, _sfBias, _sfColorMaterial, _sfDiffuse, _sfEmission, _sfImage, _sfIndex, _sfLit, _sfScale, _sfShininess, _sfSpecular, _sfTransparency, AmbientFieldMask, BiasFieldMask, ColorMaterialFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::ChunkMaterialBase::copyToBin(), DiffuseFieldMask, EmissionFieldMask, ImageFieldMask, IndexFieldMask, LitFieldMask, osg::FieldBits::NoField, ScaleFieldMask, ShininessFieldMask, SpecularFieldMask, and TransparencyFieldMask.

00402 {
00403     Inherited::copyToBin(pMem, whichField);
00404 
00405     if(FieldBits::NoField != (AmbientFieldMask & whichField))
00406     {
00407         _sfAmbient.copyToBin(pMem);
00408     }
00409 
00410     if(FieldBits::NoField != (DiffuseFieldMask & whichField))
00411     {
00412         _sfDiffuse.copyToBin(pMem);
00413     }
00414 
00415     if(FieldBits::NoField != (SpecularFieldMask & whichField))
00416     {
00417         _sfSpecular.copyToBin(pMem);
00418     }
00419 
00420     if(FieldBits::NoField != (ShininessFieldMask & whichField))
00421     {
00422         _sfShininess.copyToBin(pMem);
00423     }
00424 
00425     if(FieldBits::NoField != (EmissionFieldMask & whichField))
00426     {
00427         _sfEmission.copyToBin(pMem);
00428     }
00429 
00430     if(FieldBits::NoField != (TransparencyFieldMask & whichField))
00431     {
00432         _sfTransparency.copyToBin(pMem);
00433     }
00434 
00435     if(FieldBits::NoField != (LitFieldMask & whichField))
00436     {
00437         _sfLit.copyToBin(pMem);
00438     }
00439 
00440     if(FieldBits::NoField != (ColorMaterialFieldMask & whichField))
00441     {
00442         _sfColorMaterial.copyToBin(pMem);
00443     }
00444 
00445     if(FieldBits::NoField != (IndexFieldMask & whichField))
00446     {
00447         _sfIndex.copyToBin(pMem);
00448     }
00449 
00450     if(FieldBits::NoField != (ScaleFieldMask & whichField))
00451     {
00452         _sfScale.copyToBin(pMem);
00453     }
00454 
00455     if(FieldBits::NoField != (BiasFieldMask & whichField))
00456     {
00457         _sfBias.copyToBin(pMem);
00458     }
00459 
00460     if(FieldBits::NoField != (ImageFieldMask & whichField))
00461     {
00462         _sfImage.copyToBin(pMem);
00463     }
00464 
00465 
00466 }

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

Reimplemented from osg::ChunkMaterialBase.

Definition at line 468 of file OSGFresnelMaterialBase.cpp.

References _sfAmbient, _sfBias, _sfColorMaterial, _sfDiffuse, _sfEmission, _sfImage, _sfIndex, _sfLit, _sfScale, _sfShininess, _sfSpecular, _sfTransparency, AmbientFieldMask, BiasFieldMask, ColorMaterialFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::ChunkMaterialBase::copyFromBin(), DiffuseFieldMask, EmissionFieldMask, ImageFieldMask, IndexFieldMask, LitFieldMask, osg::FieldBits::NoField, ScaleFieldMask, ShininessFieldMask, SpecularFieldMask, and TransparencyFieldMask.

00470 {
00471     Inherited::copyFromBin(pMem, whichField);
00472 
00473     if(FieldBits::NoField != (AmbientFieldMask & whichField))
00474     {
00475         _sfAmbient.copyFromBin(pMem);
00476     }
00477 
00478     if(FieldBits::NoField != (DiffuseFieldMask & whichField))
00479     {
00480         _sfDiffuse.copyFromBin(pMem);
00481     }
00482 
00483     if(FieldBits::NoField != (SpecularFieldMask & whichField))
00484     {
00485         _sfSpecular.copyFromBin(pMem);
00486     }
00487 
00488     if(FieldBits::NoField != (ShininessFieldMask & whichField))
00489     {
00490         _sfShininess.copyFromBin(pMem);
00491     }
00492 
00493     if(FieldBits::NoField != (EmissionFieldMask & whichField))
00494     {
00495         _sfEmission.copyFromBin(pMem);
00496     }
00497 
00498     if(FieldBits::NoField != (TransparencyFieldMask & whichField))
00499     {
00500         _sfTransparency.copyFromBin(pMem);
00501     }
00502 
00503     if(FieldBits::NoField != (LitFieldMask & whichField))
00504     {
00505         _sfLit.copyFromBin(pMem);
00506     }
00507 
00508     if(FieldBits::NoField != (ColorMaterialFieldMask & whichField))
00509     {
00510         _sfColorMaterial.copyFromBin(pMem);
00511     }
00512 
00513     if(FieldBits::NoField != (IndexFieldMask & whichField))
00514     {
00515         _sfIndex.copyFromBin(pMem);
00516     }
00517 
00518     if(FieldBits::NoField != (ScaleFieldMask & whichField))
00519     {
00520         _sfScale.copyFromBin(pMem);
00521     }
00522 
00523     if(FieldBits::NoField != (BiasFieldMask & whichField))
00524     {
00525         _sfBias.copyFromBin(pMem);
00526     }
00527 
00528     if(FieldBits::NoField != (ImageFieldMask & whichField))
00529     {
00530         _sfImage.copyFromBin(pMem);
00531     }
00532 
00533 
00534 }

FresnelMaterialPtr osg::FresnelMaterialBase::create ( void   )  [inline, static]

Reimplemented from osg::ChunkMaterialBase.

Definition at line 72 of file OSGFresnelMaterialBase.inl.

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

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

FresnelMaterialPtr osg::FresnelMaterialBase::createEmpty ( void   )  [inline, static]

Reimplemented from osg::ChunkMaterialBase.

Definition at line 87 of file OSGFresnelMaterialBase.inl.

References osg::FieldContainer::newPtr().

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

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

Reimplemented from osg::ChunkMaterialBase.

Definition at line 239 of file OSGFresnelMaterialBase.cpp.

References osg::FieldContainer::newPtr().

Referenced by create().

00240 { 
00241     FresnelMaterialPtr returnValue; 
00242 
00243     newPtr(returnValue, dynamic_cast<const FresnelMaterial *>(this)); 
00244 
00245     return returnValue; 
00246 }

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

Definition at line 537 of file OSGFresnelMaterialBase.cpp.

References _sfAmbient, _sfBias, _sfColorMaterial, _sfDiffuse, _sfEmission, _sfImage, _sfIndex, _sfLit, _sfScale, _sfShininess, _sfSpecular, _sfTransparency, AmbientFieldMask, BiasFieldMask, ColorMaterialFieldMask, DiffuseFieldMask, EmissionFieldMask, osg::ChunkMaterialBase::executeSyncImpl(), ImageFieldMask, IndexFieldMask, LitFieldMask, osg::FieldBits::NoField, ScaleFieldMask, ShininessFieldMask, SpecularFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::syncWith(), and TransparencyFieldMask.

Referenced by executeSync().

00539 {
00540 
00541     Inherited::executeSyncImpl(pOther, whichField);
00542 
00543     if(FieldBits::NoField != (AmbientFieldMask & whichField))
00544         _sfAmbient.syncWith(pOther->_sfAmbient);
00545 
00546     if(FieldBits::NoField != (DiffuseFieldMask & whichField))
00547         _sfDiffuse.syncWith(pOther->_sfDiffuse);
00548 
00549     if(FieldBits::NoField != (SpecularFieldMask & whichField))
00550         _sfSpecular.syncWith(pOther->_sfSpecular);
00551 
00552     if(FieldBits::NoField != (ShininessFieldMask & whichField))
00553         _sfShininess.syncWith(pOther->_sfShininess);
00554 
00555     if(FieldBits::NoField != (EmissionFieldMask & whichField))
00556         _sfEmission.syncWith(pOther->_sfEmission);
00557 
00558     if(FieldBits::NoField != (TransparencyFieldMask & whichField))
00559         _sfTransparency.syncWith(pOther->_sfTransparency);
00560 
00561     if(FieldBits::NoField != (LitFieldMask & whichField))
00562         _sfLit.syncWith(pOther->_sfLit);
00563 
00564     if(FieldBits::NoField != (ColorMaterialFieldMask & whichField))
00565         _sfColorMaterial.syncWith(pOther->_sfColorMaterial);
00566 
00567     if(FieldBits::NoField != (IndexFieldMask & whichField))
00568         _sfIndex.syncWith(pOther->_sfIndex);
00569 
00570     if(FieldBits::NoField != (ScaleFieldMask & whichField))
00571         _sfScale.syncWith(pOther->_sfScale);
00572 
00573     if(FieldBits::NoField != (BiasFieldMask & whichField))
00574         _sfBias.syncWith(pOther->_sfBias);
00575 
00576     if(FieldBits::NoField != (ImageFieldMask & whichField))
00577         _sfImage.syncWith(pOther->_sfImage);
00578 
00579 
00580 }

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

Reimplemented from osg::ChunkMaterialBase.

Definition at line 255 of file OSGFresnelMaterialBase.cpp.

References executeSyncImpl().

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

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

static const char* osg::ChunkMaterial::getClassname ( void   )  [inline, static, inherited]

Reimplemented from osg::Material.

Reimplemented in osg::SimpleMaterial.

Definition at line 64 of file OSGChunkMaterial.h.

00064 { return "ChunkMaterial"; };

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

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

Reimplemented from osg::Material.

Reimplemented in osg::FresnelMaterial, osg::PhongMaterial, osg::SimpleMaterial, osg::SimpleTexturedMaterial, and osg::DVRAppearance.

Definition at line 371 of file OSGChunkMaterial.cpp.

References osg::ChunkMaterialBase::_mfChunks, osg::ChunkMaterialBase::_mfSlots, osg::State::AutoSlotReplace, osg::MField< FieldTypeT, fieldNameSpace >::size(), and SLOG.

00373 {
00374     SLOG << "ChunkMaterial at " << this << std::endl;
00375     SLOG << "Chunks: " << std::endl;
00376 
00377     UInt32 i;
00378     
00379     for(i = 0; i < _mfChunks.size(); ++i)
00380         SLOG << _mfChunks[i] << " "
00381              << static_cast<Int32>((i < _mfSlots.size()) 
00382                                    ? _mfSlots[i]
00383                                    :   State::AutoSlotReplace)
00384              << std::endl;
00385 }

void ChunkMaterial::draw ( DrawFunctor func,
DrawActionBase action 
) [virtual, inherited]

Draw the function behind the functor with this material. The functored function should be very careful changing OpenGL state, better just use glBegin(), glEnd() and the standard stuff in between.

Implements osg::Material.

Definition at line 285 of file OSGChunkMaterial.cpp.

References osg::addRefCP(), osg::TypedFunctor1Base< RetT, CallArgT, SizeTraitsT >::call(), osg::ChunkMaterial::makeState(), and osg::subRefCP().

00286 {
00287     StatePtr state = makeState();
00288 
00289     addRefCP(state);
00290 
00291     state->activate(action);
00292 
00293     func.call(action);
00294 
00295     state->deactivate(action);
00296 
00297     subRefCP(state); // kill it
00298 }

void ChunkMaterial::draw ( Geometry geo,
DrawActionBase action 
) [virtual, inherited]

Draw the geometry with this material.

Implements osg::Material.

Definition at line 265 of file OSGChunkMaterial.cpp.

References osg::addRefCP(), osg::Geometry::drawPrimitives(), osg::ChunkMaterial::makeState(), and osg::subRefCP().

00266 {
00267     StatePtr state = makeState();
00268 
00269     addRefCP(state);
00270 
00271     state->activate(action);
00272 
00273     geo->drawPrimitives(action);
00274 
00275     state->deactivate(action);
00276 
00277     subRefCP(state); // kill it
00278 }

StatePtr ChunkMaterial::makeState ( void   )  [virtual, inherited]

Create a osg::State that represents this Material and return it.

Implements osg::Material.

Reimplemented in osg::FresnelMaterial, osg::PhongMaterial, osg::SimpleMaterial, and osg::SimpleTexturedMaterial.

Definition at line 317 of file OSGChunkMaterial.cpp.

References osg::ChunkMaterial::addChunks(), and osg::StateBase::create().

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

00318 {
00319     StatePtr state = State::create();
00320     
00321     addChunks(state);
00322 
00323     return state;
00324 }

void ChunkMaterial::rebuildState ( void   )  [virtual, inherited]

Rebuild the internal State. Just collects the chunks in the State.

Implements osg::Material.

Reimplemented in osg::FresnelMaterial, osg::PhongMaterial, osg::SimpleMaterial, and osg::SimpleTexturedMaterial.

Definition at line 329 of file OSGChunkMaterial.cpp.

References osg::Material::_pState, osg::ChunkMaterial::addChunks(), osg::addRefCP(), osg::StateBase::create(), and osg::NullFC.

00330 {
00331     if(_pState != NullFC)
00332     {
00333         _pState->clearChunks();
00334     }
00335     else
00336     {
00337         _pState = State::create();
00338 
00339         addRefCP(_pState);
00340     }
00341         
00342     addChunks(_pState);
00343 }

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

Check if the Material (i.e. any of its chunks) is transparent..

Implements osg::Material.

Reimplemented in osg::FresnelMaterial, osg::PhongMaterial, osg::SimpleMaterial, and osg::SimpleTexturedMaterial.

Definition at line 348 of file OSGChunkMaterial.cpp.

References osg::ChunkMaterialBase::_mfChunks, osg::MField< FieldTypeT, fieldNameSpace >::begin(), osg::MField< FieldTypeT, fieldNameSpace >::end(), osg::MaterialBase::getTransparencyMode(), osg::Material::TransparencyAutoDetection, and osg::Material::TransparencyForceTransparent.

Referenced by osg::SimpleMaterial::isTransparent(), osg::PhongMaterial::isTransparent(), and osg::FresnelMaterial::isTransparent().

00349 {
00350     Int32 tm = getTransparencyMode();
00351     if(tm != Material::TransparencyAutoDetection)
00352     {
00353         return (tm == Material::TransparencyForceTransparent);
00354     }
00355 
00356     bool returnValue = false;
00357 
00358     MFStateChunkPtr::const_iterator it        = _mfChunks.begin();
00359     MFStateChunkPtr::const_iterator chunksEnd = _mfChunks.end();
00360 
00361     for(; it != chunksEnd && returnValue == false; ++it)
00362     {
00363         returnValue =(*it)->isTransparent();
00364     }
00365 
00366     return returnValue;
00367 }

bool ChunkMaterial::addChunk ( StateChunkPtr  chunk,
Int32  slot = State::AutoSlotReplace 
) [inherited]

Add the given chunk to the material. It is possible to specify which slot this chunk should be associated with. See StateChunkClass for a general description of the slots concept. The default slot is State::AutoSlotReplace.

Definition at line 140 of file OSGChunkMaterial.cpp.

References osg::ChunkMaterialBase::_mfChunks, osg::ChunkMaterialBase::_mfSlots, osg::addRefCP(), osg::State::AutoSlotReplace, osg::MField< FieldTypeT, fieldNameSpace >::push_back(), and osg::MField< FieldTypeT, fieldNameSpace >::size().

00141 {
00142     if(slot != State::AutoSlotReplace)
00143     {
00144         while(_mfSlots.size() < _mfChunks.size())
00145             _mfSlots.push_back(State::AutoSlotReplace);
00146     }
00147     
00148     _mfChunks.push_back(chunk);
00149     
00150     if(slot != State::AutoSlotReplace)
00151         _mfSlots.push_back(slot);
00152         
00153     addRefCP(chunk);
00154 
00155     return true;
00156 }

bool ChunkMaterial::subChunk ( StateChunkPtr  chunk,
Int32  slot = State::AutoSlotReplace 
) [inherited]

Remove the given chunk from the material. If the slot is not State::AutoSlotReplace, only the given slot will be searched and removed if found. Returns true if the chunk couldn't be found.

Definition at line 162 of file OSGChunkMaterial.cpp.

References osg::ChunkMaterialBase::_mfChunks, osg::ChunkMaterialBase::_mfSlots, osg::State::AutoSlotReplace, osg::MField< FieldTypeT, fieldNameSpace >::begin(), osg::MField< FieldTypeT, fieldNameSpace >::erase(), osg::MField< FieldTypeT, fieldNameSpace >::size(), osg::subRefCP(), and SWARNING.

00163 {
00164     UInt32 i;
00165     
00166     for(i = 0; i < _mfChunks.size(); ++i)
00167     {
00168         if(_mfChunks[i] == chunk &&
00169            ((i < _mfSlots.size() && _mfSlots[i] == slot) ||
00170             slot == State::AutoSlotReplace))
00171         {
00172             subRefCP(chunk);
00173             _mfChunks.erase(_mfChunks.begin() + i);
00174             if(i < _mfSlots.size())
00175                 _mfSlots.erase(_mfSlots.begin() + i);
00176             return false;
00177         }
00178     }
00179 
00180     SWARNING << "ChunkMaterial::subChunk(" << this << ") has no chunk "
00181              << chunk << " with slot " << slot << std::endl;
00182              
00183     return true;
00184 }

Int32 ChunkMaterial::find ( StateChunkPtr  chunk  )  [inherited]

Search the list of chunks for the given chunk. Returns its index, -1 if the chunk is not used in the material.

Definition at line 190 of file OSGChunkMaterial.cpp.

References osg::ChunkMaterialBase::_mfChunks, and osg::MField< FieldTypeT, fieldNameSpace >::size().

00191 {
00192     UInt32 i;
00193     
00194     for(i = 0; i < _mfChunks.size(); ++i)
00195     {
00196         if(_mfChunks[i] == chunk)
00197             return i;
00198     }
00199              
00200     return -1;
00201 }

StateChunkPtr ChunkMaterial::find ( const FieldContainerType type,
Int32  slot = State::AutoSlotReplace 
) [inherited]

Search the list of chunks for a chunk of the given type and the given slot. If slot is State::AutoSlotReplace, all slots are searched and the first found chunk is returned. For searching a specific chunk with a AutoSlotReplace slot, the slot parameter is interpreted as a index.

Definition at line 210 of file OSGChunkMaterial.cpp.

References osg::ChunkMaterialBase::_mfChunks, osg::State::AutoSlotReplace, osg::ChunkMaterialBase::getSlots(), osg::NullFC, p, and osg::MField< FieldTypeT, fieldNameSpace >::size().

00212 {
00213     UInt32 index = 0;
00214     for(UInt32 i = 0; i < _mfChunks.size(); ++i)
00215     {
00216         StateChunkPtr p = _mfChunks[i];
00217         Int32 s = State::AutoSlotReplace;
00218 
00219         if(i < getSlots().size())
00220             s = getSlots(i);
00221 
00222         if(s == State::AutoSlotReplace)
00223             s = index;
00224 
00225         if(p->getType() == type)
00226         {           
00227             if(slot == State::AutoSlotReplace || slot == s)
00228                 return (p);
00229             ++index;
00230         }
00231     }
00232     return NullFC;
00233 }

void ChunkMaterial::clearChunks ( void   )  [inherited]

Add the given chunk to the material. It is possible to specify which slot this chunk should be associated with. See StateChunkClass for a general description of the slots concept. The default slot is State::AutoSlotReplace.

Definition at line 235 of file OSGChunkMaterial.cpp.

References osg::ChunkMaterialBase::_mfChunks, osg::MField< FieldTypeT, fieldNameSpace >::begin(), osg::MField< FieldTypeT, fieldNameSpace >::clear(), osg::MField< FieldTypeT, fieldNameSpace >::end(), and osg::subRefCP().

Referenced by osg::ChunkMaterial::~ChunkMaterial().

00236 {
00237     MFStateChunkPtr::iterator matIt  = _mfChunks.begin();
00238     MFStateChunkPtr::iterator matEnd = _mfChunks.end ();
00239     
00240     while(matIt != matEnd)
00241     {
00242         subRefCP(*matIt);
00243         ++matIt;
00244     }
00245     _mfChunks.clear();
00246 }

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

Add the given chunk to the material. It is possible to specify which slot this chunk should be associated with. See StateChunkClass for a general description of the slots concept. The default slot is State::AutoSlotReplace.

Definition at line 248 of file OSGChunkMaterial.cpp.

00249 {
00250     Material& thisBase = *this;
00251     if (!(thisBase == other))
00252         return false;
00253 
00254     const ChunkMaterial* othercm = dynamic_cast<const ChunkMaterial*>(&other);
00255     if (!othercm)
00256         return false;
00257 
00258     // ?
00259     return false;
00260 }

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

Definition at line 207 of file OSGMaterial.cpp.

References osg::Material::_pState.

00208 {
00209     return _pState == other._pState;
00210 }

void ChunkMaterial::addChunks ( StatePtr  state  )  [protected, inherited]

Add chunks to the given state. Needed for ordering in the drived materials.

Definition at line 304 of file OSGChunkMaterial.cpp.

References osg::ChunkMaterialBase::_mfChunks, osg::ChunkMaterialBase::_mfSlots, osg::State::AutoSlotReplace, and osg::MField< FieldTypeT, fieldNameSpace >::size().

Referenced by osg::SimpleMaterial::makeState(), osg::ChunkMaterial::makeState(), osg::SimpleMaterial::rebuildState(), and osg::ChunkMaterial::rebuildState().

00305 {
00306     UInt32 i;
00307     
00308     for(i = 0; i < _mfChunks.size(); ++i)
00309         state->addChunk(_mfChunks[i], 
00310                         (i < _mfSlots.size()) ? _mfSlots[i]
00311                                                 : State::AutoSlotReplace);
00312 }

MFStateChunkPtr * osg::ChunkMaterialBase::getMFChunks ( void   )  [inline, inherited]

Definition at line 101 of file OSGChunkMaterialBase.inl.

References osg::ChunkMaterialBase::_mfChunks.

00102 {
00103     return &_mfChunks;
00104 }

MFInt32 * osg::ChunkMaterialBase::getMFSlots ( void   )  [inline, inherited]

Definition at line 108 of file OSGChunkMaterialBase.inl.

References osg::ChunkMaterialBase::_mfSlots.

00109 {
00110     return &_mfSlots;
00111 }

StateChunkPtr & osg::ChunkMaterialBase::getChunks ( const UInt32  index  )  [inline, inherited]

Definition at line 117 of file OSGChunkMaterialBase.inl.

References osg::ChunkMaterialBase::_mfChunks.

00118 {
00119     return _mfChunks[index];
00120 }

MFStateChunkPtr & osg::ChunkMaterialBase::getChunks ( void   )  [inline, inherited]

Definition at line 124 of file OSGChunkMaterialBase.inl.

References osg::ChunkMaterialBase::_mfChunks.

00125 {
00126     return _mfChunks;
00127 }

const MFStateChunkPtr & osg::ChunkMaterialBase::getChunks ( void   )  const [inline, inherited]

Definition at line 131 of file OSGChunkMaterialBase.inl.

References osg::ChunkMaterialBase::_mfChunks.

00132 {
00133     return _mfChunks;
00134 }

Int32 & osg::ChunkMaterialBase::getSlots ( const UInt32  index  )  [inline, inherited]

Definition at line 138 of file OSGChunkMaterialBase.inl.

References osg::ChunkMaterialBase::_mfSlots.

00139 {
00140     return _mfSlots[index];
00141 }

MFInt32 & osg::ChunkMaterialBase::getSlots ( void   )  [inline, inherited]

Definition at line 145 of file OSGChunkMaterialBase.inl.

References osg::ChunkMaterialBase::_mfSlots.

Referenced by osg::ChunkMaterial::find().

00146 {
00147     return _mfSlots;
00148 }

const MFInt32 & osg::ChunkMaterialBase::getSlots ( void   )  const [inline, inherited]

Definition at line 152 of file OSGChunkMaterialBase.inl.

References osg::ChunkMaterialBase::_mfSlots.

00153 {
00154     return _mfSlots;
00155 }

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

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

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

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

StatePtr Material::getState ( UInt32  index = 0  )  [virtual, inherited]

Reimplemented in osg::MultiPassMaterial, and osg::SwitchMaterial.

Definition at line 164 of file OSGMaterial.cpp.

References osg::Material::_pState.

Referenced by osg::RenderAction::getMaterialStates().

00165 {
00166     return _pState;
00167 }

bool Material::isMultiPass ( void   )  const [virtual, inherited]

Reimplemented in osg::MultiPassMaterial, and osg::SwitchMaterial.

Definition at line 169 of file OSGMaterial.cpp.

Referenced by osg::RenderAction::dropFunctor(), osg::RenderAction::dropGeometry(), and osg::RenderAction::getMaterialStates().

00170 {
00171     return false;
00172 }

UInt32 Material::getNPasses ( void   )  const [virtual, inherited]

Reimplemented in osg::MultiPassMaterial, and osg::SwitchMaterial.

Definition at line 174 of file OSGMaterial.cpp.

Referenced by osg::RenderAction::getMaterialStates().

00175 {
00176     return 1;
00177 }

Int32 Material::getRealSortKey ( void   )  const [virtual, inherited]

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

Definition at line 202 of file OSGMaterial.cpp.

00203 {
00204     return this < &other;
00205 }

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

Definition at line 212 of file OSGMaterial.cpp.

00213 {
00214     return ! (*this == other);
00215 }

SFInt32 * osg::MaterialBase::getSFSortKey ( void   )  [inline, inherited]

Definition at line 75 of file OSGMaterialBase.inl.

References osg::MaterialBase::_sfSortKey.

00076 {
00077     return &_sfSortKey;
00078 }

SFInt32 * osg::MaterialBase::getSFTransparencyMode ( void   )  [inline, inherited]

Definition at line 82 of file OSGMaterialBase.inl.

References osg::MaterialBase::_sfTransparencyMode.

00083 {
00084     return &_sfTransparencyMode;
00085 }

Int32 & osg::MaterialBase::getSortKey ( void   )  [inline, inherited]

Definition at line 90 of file OSGMaterialBase.inl.

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

00091 {
00092     return _sfSortKey.getValue();
00093 }

const Int32 & osg::MaterialBase::getSortKey ( void   )  const [inline, inherited]

Definition at line 97 of file OSGMaterialBase.inl.

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

00098 {
00099     return _sfSortKey.getValue();
00100 }

Int32 & osg::MaterialBase::getTransparencyMode ( void   )  [inline, inherited]

const Int32 & osg::MaterialBase::getTransparencyMode ( void   )  const [inline, inherited]

Definition at line 118 of file OSGMaterialBase.inl.

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

00119 {
00120     return _sfTransparencyMode.getValue();
00121 }

void osg::MaterialBase::setSortKey ( const Int32 value  )  [inline, inherited]

Definition at line 104 of file OSGMaterialBase.inl.

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

00105 {
00106     _sfSortKey.setValue(value);
00107 }

void osg::MaterialBase::setTransparencyMode ( const Int32 value  )  [inline, 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 }

AttachmentContainerPtr AttachmentContainer::getPtr ( void   )  [protected, 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]

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

Definition at line 89 of file OSGFieldContainerImpl.inl.

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

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

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

Generic Field Access

Definition at line 95 of file OSGFieldContainerImpl.inl.

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

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

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

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

Generic Field Access

Definition at line 103 of file OSGFieldContainerImpl.inl.

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

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

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

Definition at line 138 of file OSGFieldContainerImpl.inl.

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

Referenced by osg::XWindowBase::createEmpty(), osg::WIN32WindowBase::createEmpty(), osg::ViewportBase::createEmpty(), osg::VertexProgramChunkBase::createEmpty(), osg::TwoSidedLightingChunkBase::createEmpty(), osg::TransformChunkBase::createEmpty(), osg::TransformBase::createEmpty(), osg::TileCameraDecoratorBase::createEmpty(), osg::TextureTransformChunkBase::createEmpty(), osg::TextureGrabForegroundBase::createEmpty(), osg::TextureGrabBackgroundBase::createEmpty(), osg::TextureChunkBase::createEmpty(), osg::TextureBackgroundBase::createEmpty(), osg::TexGenChunkBase::createEmpty(), osg::SwitchMaterialBase::createEmpty(), osg::SwitchBase::createEmpty(), osg::SurfaceBase::createEmpty(), osg::StringAttributeMapBase::createEmpty(), osg::StereoBufferViewportBase::createEmpty(), osg::StencilChunkBase::createEmpty(), osg::StateSortingGroupBase::createEmpty(), osg::StateBase::createEmpty(), osg::SpotLightBase::createEmpty(), osg::SortFirstWindowBase::createEmpty(), osg::SolidBackgroundBase::createEmpty(), osg::SlicesBase::createEmpty(), osg::SkyBackgroundBase::createEmpty(), osg::SimpleTexturedMaterialBase::createEmpty(), osg::SimpleStatisticsForegroundBase::createEmpty(), osg::SimpleMaterialBase::createEmpty(), osg::SHLParameterChunkBase::createEmpty(), osg::SHLChunkBase::createEmpty(), osg::ShearedStereoCameraDecoratorBase::createEmpty(), osg::ShaderParameterVec4fBase::createEmpty(), osg::ShaderParameterVec3fBase::createEmpty(), osg::ShaderParameterVec2fBase::createEmpty(), osg::ShaderParameterStringBase::createEmpty(), osg::ShaderParameterRealBase::createEmpty(), osg::ShaderParameterMVec4fBase::createEmpty(), osg::ShaderParameterMVec3fBase::createEmpty(), osg::ShaderParameterMVec2fBase::createEmpty(), osg::ShaderParameterMRealBase::createEmpty(), osg::ShaderParameterMMatrixBase::createEmpty(), osg::ShaderParameterMIntBase::createEmpty(), osg::ShaderParameterMatrixBase::createEmpty(), osg::ShaderParameterIntBase::createEmpty(), osg::ShaderParameterBoolBase::createEmpty(), osg::ScreenGroupBase::createEmpty(), osg::SClipPlaneChunkBase::createEmpty(), osg::ResolutionDisplayFilterBase::createEmpty(), osg::RenderOptionsBase::createEmpty(), osg::RegisterCombinersChunkBase::createEmpty(), osg::QTWindowBase::createEmpty(), osg::ProxyGroupBase::createEmpty(), osg::ProjectionCameraDecoratorBase::createEmpty(), osg::PolygonForegroundBase::createEmpty(), osg::PolygonChunkBase::createEmpty(), osg::PolygonBackgroundBase::createEmpty(), osg::PointLightBase::createEmpty(), osg::PointChunkBase::createEmpty(), osg::PhongMaterialBase::createEmpty(), osg::PerspectiveCameraBase::createEmpty(), osg::PassiveWindowBase::createEmpty(), osg::PassiveViewportBase::createEmpty(), osg::PassiveBackgroundBase::createEmpty(), osg::ParticlesBase::createEmpty(), osg::OrthographicCameraBase::createEmpty(), osg::OffCenterPerspectiveCameraBase::createEmpty(), osg::MultiPassMaterialBase::createEmpty(), osg::MultiDisplayWindowBase::createEmpty(), osg::MatrixCameraDecoratorBase::createEmpty(), osg::MatrixCameraBase::createEmpty(), osg::MaterialPoolBase::createEmpty(), osg::MaterialGroupBase::createEmpty(), osg::MaterialChunkBase::createEmpty(), osg::LogicOpChunkBase::createEmpty(), osg::LineChunkBase::createEmpty(), osg::LightModelChunkBase::createEmpty(), osg::LightEnvBase::createEmpty(), osg::LightChunkBase::createEmpty(), osg::InverseTransformBase::createEmpty(), osg::InlineBase::createEmpty(), osg::ImageForegroundBase::createEmpty(), osg::ImageBase::createEmpty(), osg::ImageBackgroundBase::createEmpty(), osg::GroupBase::createEmpty(), osg::GraphicStatisticsForegroundBase::createEmpty(), osg::GradientBackgroundBase::createEmpty(), osg::GrabForegroundBase::createEmpty(), osg::GLUTWindowBase::createEmpty(), osg::GeometryBase::createEmpty(), 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(), osg::ProxyGroupBase::shallowCopy(), osg::ProjectionCameraDecoratorBase::shallowCopy(), osg::PolygonForegroundBase::shallowCopy(), osg::PolygonChunkBase::shallowCopy(), osg::PolygonBackgroundBase::shallowCopy(), osg::PointLightBase::shallowCopy(), osg::PointChunkBase::shallowCopy(), osg::PhongMaterialBase::shallowCopy(), osg::PerspectiveCameraBase::shallowCopy(), osg::PassiveWindowBase::shallowCopy(), osg::PassiveViewportBase::shallowCopy(), osg::PassiveBackgroundBase::shallowCopy(), osg::ParticlesBase::shallowCopy(), osg::OrthographicCameraBase::shallowCopy(), osg::OffCenterPerspectiveCameraBase::shallowCopy(), osg::MultiPassMaterialBase::shallowCopy(), osg::MultiDisplayWindowBase::shallowCopy(), osg::MatrixCameraDecoratorBase::shallowCopy(), osg::MatrixCameraBase::shallowCopy(), osg::MaterialPoolBase::shallowCopy(), osg::MaterialGroupBase::shallowCopy(), osg::MaterialChunkBase::shallowCopy(), osg::LogicOpChunkBase::shallowCopy(), osg::LineChunkBase::shallowCopy(), osg::LightModelChunkBase::shallowCopy(), osg::LightEnvBase::shallowCopy(), osg::LightChunkBase::shallowCopy(), osg::InverseTransformBase::shallowCopy(), osg::InlineBase::shallowCopy(), osg::ImageForegroundBase::shallowCopy(), osg::ImageBase::shallowCopy(), osg::ImageBackgroundBase::shallowCopy(), osg::GroupBase::shallowCopy(), osg::GraphicStatisticsForegroundBase::shallowCopy(), osg::GradientBackgroundBase::shallowCopy(), osg::GrabForegroundBase::shallowCopy(), osg::GLUTWindowBase::shallowCopy(), osg::GeometryBase::shallowCopy(), 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 }

void FieldContainer::onDestroy ( void   )  [protected, virtual, inherited]


Friends And Related Function Documentation

friend class FieldContainer [friend]

Reimplemented from osg::ChunkMaterial.

Reimplemented in osg::FresnelMaterial.

Definition at line 318 of file OSGFresnelMaterialBase.h.


Member Data Documentation

Initial value:

 
    (TypeTraits<BitVector>::One << FresnelMaterialBase::AmbientFieldId)

Definition at line 120 of file OSGFresnelMaterialBase.h.

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

Initial value:

 
    (TypeTraits<BitVector>::One << FresnelMaterialBase::DiffuseFieldId)

Definition at line 121 of file OSGFresnelMaterialBase.h.

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

Initial value:

 
    (TypeTraits<BitVector>::One << FresnelMaterialBase::SpecularFieldId)

Definition at line 122 of file OSGFresnelMaterialBase.h.

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

Initial value:

 
    (TypeTraits<BitVector>::One << FresnelMaterialBase::ShininessFieldId)

Definition at line 123 of file OSGFresnelMaterialBase.h.

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

Initial value:

 
    (TypeTraits<BitVector>::One << FresnelMaterialBase::EmissionFieldId)

Definition at line 124 of file OSGFresnelMaterialBase.h.

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

Initial value:

 
    (TypeTraits<BitVector>::One << FresnelMaterialBase::TransparencyFieldId)

Definition at line 125 of file OSGFresnelMaterialBase.h.

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

Initial value:

 
    (TypeTraits<BitVector>::One << FresnelMaterialBase::LitFieldId)

Definition at line 126 of file OSGFresnelMaterialBase.h.

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

Initial value:

 
    (TypeTraits<BitVector>::One << FresnelMaterialBase::ColorMaterialFieldId)

Definition at line 127 of file OSGFresnelMaterialBase.h.

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

Initial value:

 
    (TypeTraits<BitVector>::One << FresnelMaterialBase::IndexFieldId)

Definition at line 128 of file OSGFresnelMaterialBase.h.

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

Initial value:

 
    (TypeTraits<BitVector>::One << FresnelMaterialBase::ScaleFieldId)

Definition at line 129 of file OSGFresnelMaterialBase.h.

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

Initial value:

 
    (TypeTraits<BitVector>::One << FresnelMaterialBase::BiasFieldId)

Definition at line 130 of file OSGFresnelMaterialBase.h.

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

Initial value:

 
    (TypeTraits<BitVector>::One << FresnelMaterialBase::ImageFieldId)

Definition at line 131 of file OSGFresnelMaterialBase.h.

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

Initial value:

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

Reimplemented from osg::ChunkMaterialBase.

Definition at line 134 of file OSGFresnelMaterialBase.h.

bool FresnelMaterialBase::_sfLit [protected]

Reimplemented from osg::ChunkMaterialBase.

Definition at line 320 of file OSGFresnelMaterialBase.h.

Reimplemented from osg::ChunkMaterialBase.

Definition at line 321 of file OSGFresnelMaterialBase.h.

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

Int32 osg::ChunkMaterialBase::_mfSlots [protected, inherited]

const Int32 Material::NoStateSorting = 0x7fffffff [static, inherited]

const Int32 Material::TransparencyAutoDetection = 0 [static, inherited]

const Int32 Material::TransparencyForceTransparent = 1 [static, inherited]

const Int32 Material::TransparencyForceOpaque = 2 [static, inherited]

Definition at line 81 of file OSGMaterial.h.

StatePtr osg::Material::_pState [protected, inherited]

Int32 osg::MaterialBase::_sfSortKey [protected, inherited]

Set the transparency mode, possible values are TransparencyAutoDetection, TransparencyForceTransparent and TransparencyForceOpaque

Definition at line 170 of file OSGMaterialBase.h.

Referenced by osg::MaterialBase::copyFromBin(), osg::MaterialBase::copyToBin(), osg::MaterialBase::executeSyncImpl(), osg::MaterialBase::getBinSize(), osg::MaterialBase::getSFTransparencyMode(), osg::MaterialBase::getTransparencyMode(), and osg::MaterialBase::setTransparencyMode().

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 Mon Mar 17 12:06:06 2008 for OpenSG by  doxygen 1.5.5