osg::PolygonBackground Class Reference

PolygonBackground class. See PageSystemPolygonBackground for a description. More...

#include <OSGPolygonBackground.h>

Inheritance diagram for osg::PolygonBackground:

osg::PolygonBackgroundBase osg::Background osg::BackgroundBase osg::AttachmentContainer osg::FieldContainer

List of all members.

Public Types

enum  {
  MaterialFieldId = Inherited::NextFieldId, TexCoordsFieldId = MaterialFieldId + 1, PositionsFieldId = TexCoordsFieldId + 1, NormalizedXFieldId = PositionsFieldId + 1,
  NormalizedYFieldId = NormalizedXFieldId + 1, AspectHeightFieldId = NormalizedYFieldId + 1, AspectWidthFieldId = AspectHeightFieldId + 1, ScaleFieldId = AspectWidthFieldId + 1,
  ClearStencilBitFieldId = ScaleFieldId + 1, CleanupFieldId = ClearStencilBitFieldId + 1, TileFieldId = CleanupFieldId + 1, NextFieldId = TileFieldId + 1
}
typedef PolygonBackgroundPtr Ptr
enum  { AttachmentsFieldId = Inherited::NextFieldId, NextFieldId = AttachmentsFieldId + 1 }
enum  { NextFieldId = 1 }

Public Member Functions

Clear


virtual void clear (DrawActionBase *act, Viewport *port)
Sync


virtual void changed (BitVector whichField, UInt32 origin)
Output


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


Real32 mapCoordinate (Real32 val, Real32 max, bool norm)
FieldContainer Get


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


SFMaterialPtrgetSFMaterial (void)
 Get the PolygonBackground::_sfMaterial field.
MFVec3fgetMFTexCoords (void)
 Get the PolygonBackground::_mfTexCoords field.
MFPnt2fgetMFPositions (void)
 Get the PolygonBackground::_mfPositions field.
SFBoolgetSFNormalizedX (void)
 Get the PolygonBackground::_sfNormalizedX field.
SFBoolgetSFNormalizedY (void)
 Get the PolygonBackground::_sfNormalizedY field.
SFUInt16getSFAspectHeight (void)
 Get the PolygonBackground::_sfAspectHeight field.
SFUInt16getSFAspectWidth (void)
 Get the PolygonBackground::_sfAspectWidth field.
SFReal32getSFScale (void)
 Get the PolygonBackground::_sfScale field.
SFInt32getSFClearStencilBit (void)
 Get the PolygonBackground::_sfClearStencilBit field.
SFBoolgetSFCleanup (void)
 Get the PolygonBackground::_sfCleanup field.
SFBoolgetSFTile (void)
 Get the PolygonBackground::_sfTile field.
MaterialPtrgetMaterial (void)
 Get the value of the PolygonBackground::_sfMaterial field.
const MaterialPtrgetMaterial (void) const
 Get the value of the PolygonBackground::_sfMaterial field.
bool & getNormalizedX (void)
 Get the value of the PolygonBackground::_sfNormalizedX field.
const bool & getNormalizedX (void) const
 Get the value of the PolygonBackground::_sfNormalizedX field.
bool & getNormalizedY (void)
 Get the value of the PolygonBackground::_sfNormalizedY field.
const bool & getNormalizedY (void) const
 Get the value of the PolygonBackground::_sfNormalizedY field.
UInt16getAspectHeight (void)
 Get the value of the PolygonBackground::_sfAspectHeight field.
const UInt16getAspectHeight (void) const
 Get the value of the PolygonBackground::_sfAspectHeight field.
UInt16getAspectWidth (void)
 Get the value of the PolygonBackground::_sfAspectWidth field.
const UInt16getAspectWidth (void) const
 Get the value of the PolygonBackground::_sfAspectWidth field.
Real32getScale (void)
 Get the value of the PolygonBackground::_sfScale field.
const Real32getScale (void) const
 Get the value of the PolygonBackground::_sfScale field.
Int32getClearStencilBit (void)
 Get the value of the PolygonBackground::_sfClearStencilBit field.
const Int32getClearStencilBit (void) const
 Get the value of the PolygonBackground::_sfClearStencilBit field.
bool & getCleanup (void)
 Get the value of the PolygonBackground::_sfCleanup field.
const bool & getCleanup (void) const
 Get the value of the PolygonBackground::_sfCleanup field.
bool & getTile (void)
 Get the value of the PolygonBackground::_sfTile field.
const bool & getTile (void) const
 Get the value of the PolygonBackground::_sfTile field.
Vec3fgetTexCoords (const UInt32 index)
 Get the value of the index element the PolygonBackground::_mfTexCoords field.
MFVec3fgetTexCoords (void)
 Get the PolygonBackground::_mfTexCoords field.
const MFVec3fgetTexCoords (void) const
 Get the PolygonBackground::_mfTexCoords field.
Pnt2fgetPositions (const UInt32 index)
 Get the value of the index element the PolygonBackground::_mfPositions field.
MFPnt2fgetPositions (void)
 Get the PolygonBackground::_mfPositions field.
const MFPnt2fgetPositions (void) const
 Get the PolygonBackground::_mfPositions field.
Field Set


void setMaterial (const MaterialPtr &value)
 Set the value of the PolygonBackground::_sfMaterial field.
void setNormalizedX (const bool &value)
 Set the value of the PolygonBackground::_sfNormalizedX field.
void setNormalizedY (const bool &value)
 Set the value of the PolygonBackground::_sfNormalizedY field.
void setAspectHeight (const UInt16 &value)
 Set the value of the PolygonBackground::_sfAspectHeight field.
void setAspectWidth (const UInt16 &value)
 Set the value of the PolygonBackground::_sfAspectWidth field.
void setScale (const Real32 &value)
 Set the value of the PolygonBackground::_sfScale field.
void setClearStencilBit (const Int32 &value)
 Set the value of the PolygonBackground::_sfClearStencilBit field.
void setCleanup (const bool &value)
 Set the value of the PolygonBackground::_sfCleanup field.
void setTile (const bool &value)
 Set the value of the PolygonBackground::_sfTile 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
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 PolygonBackgroundPtr create (void)
 create a new instance of the class
static PolygonBackgroundPtr createEmpty (void)
 create an empty new instance of the class, do not copy the prototype
Class Get


static const Char8getClassname (void)
Get Class Type Information


static UInt16 getClassGroupId (void)

Static Public Attributes

static const osg::BitVector MaterialFieldMask
static const osg::BitVector TexCoordsFieldMask
static const osg::BitVector PositionsFieldMask
static const osg::BitVector NormalizedXFieldMask
static const osg::BitVector NormalizedYFieldMask
static const osg::BitVector AspectHeightFieldMask
static const osg::BitVector AspectWidthFieldMask
static const osg::BitVector ScaleFieldMask
static const osg::BitVector ClearStencilBitFieldMask
static const osg::BitVector CleanupFieldMask
static const osg::BitVector TileFieldMask
static const osg::BitVector MTInfluenceMask
static const BitVector AttachmentsFieldMask
static const BitVector NextFieldMask
CoredNodePtr helper


static const bool isNodeCore = false

Protected Member Functions

Constructors


 PolygonBackground (void)
 PolygonBackground (const PolygonBackground &source)
Destructors


virtual ~PolygonBackground (void)
Sync


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


void executeSyncImpl (BackgroundBase *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

Fields


SFMaterialPtr _sfMaterial
MFVec3f _mfTexCoords
MFPnt2f _mfPositions
SFBool _sfNormalizedX
SFBool _sfNormalizedY
SFUInt16 _sfAspectHeight
SFUInt16 _sfAspectWidth
SFReal32 _sfScale
SFInt32 _sfClearStencilBit
SFBool _sfCleanup
SFBool _sfTile
Fields


SFAttachmentMap _attachmentMap
Member


UInt32 _shares

Private Types

typedef PolygonBackgroundBase Inherited

Private Member Functions

void operator= (const PolygonBackground &source)

Static Private Member Functions

static void initMethod (void)

Friends

class FieldContainer
class PolygonBackgroundBase


Detailed Description

A Background that renders a single polygon using the specified material.

Definition at line 56 of file OSGPolygonBackground.h.


Member Typedef Documentation

Reimplemented from osg::PolygonBackgroundBase.

Definition at line 60 of file OSGPolygonBackground.h.

Reimplemented from osg::BackgroundBase.

Definition at line 100 of file OSGPolygonBackgroundBase.h.


Member Enumeration Documentation

anonymous enum [inherited]

Enumerator:
MaterialFieldId 
TexCoordsFieldId 
PositionsFieldId 
NormalizedXFieldId 
NormalizedYFieldId 
AspectHeightFieldId 
AspectWidthFieldId 
ScaleFieldId 
ClearStencilBitFieldId 
CleanupFieldId 
TileFieldId 
NextFieldId 

Definition at line 102 of file OSGPolygonBackgroundBase.h.

00103     {
00104         MaterialFieldId        = Inherited::NextFieldId,
00105         TexCoordsFieldId       = MaterialFieldId        + 1,
00106         PositionsFieldId       = TexCoordsFieldId       + 1,
00107         NormalizedXFieldId     = PositionsFieldId       + 1,
00108         NormalizedYFieldId     = NormalizedXFieldId     + 1,
00109         AspectHeightFieldId    = NormalizedYFieldId     + 1,
00110         AspectWidthFieldId     = AspectHeightFieldId    + 1,
00111         ScaleFieldId           = AspectWidthFieldId     + 1,
00112         ClearStencilBitFieldId = ScaleFieldId           + 1,
00113         CleanupFieldId         = ClearStencilBitFieldId + 1,
00114         TileFieldId            = CleanupFieldId         + 1,
00115         NextFieldId            = TileFieldId            + 1
00116     };

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

PolygonBackground::PolygonBackground ( void   )  [protected]

Definition at line 86 of file OSGPolygonBackground.cpp.

00086                                          :
00087     Inherited()
00088 {
00089 }

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

Definition at line 91 of file OSGPolygonBackground.cpp.

00091                                                                     :
00092     Inherited(source)
00093 {
00094 }

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

Definition at line 96 of file OSGPolygonBackground.cpp.

00097 {
00098 }


Member Function Documentation

void PolygonBackground::clear ( DrawActionBase act,
Viewport port 
) [virtual]

Implements osg::Background.

Definition at line 122 of file OSGPolygonBackground.cpp.

References FWARNING, osg::PolygonBackgroundBase::getAspectHeight(), osg::PolygonBackgroundBase::getAspectWidth(), osg::TileCameraDecoratorBase::getBottom(), osg::DrawActionBase::getCamera(), osg::PolygonBackgroundBase::getCleanup(), osg::PolygonBackgroundBase::getClearStencilBit(), osg::AttachmentContainerPtr::getCPtr(), osg::CameraDecoratorBase::getDecoratee(), osg::Camera::getDecoration(), osg::TileCameraDecoratorBase::getFullHeight(), osg::TileCameraDecoratorBase::getFullWidth(), osg::TileCameraDecoratorBase::getLeft(), osg::PolygonBackgroundBase::getMaterial(), osg::PolygonBackgroundBase::getNormalizedX(), osg::PolygonBackgroundBase::getNormalizedY(), osg::Viewport::getPixelHeight(), osg::Viewport::getPixelWidth(), osg::PolygonBackgroundBase::getPositions(), osg::TileCameraDecoratorBase::getRight(), osg::PolygonBackgroundBase::getScale(), osg::PolygonBackgroundBase::getTexCoords(), osg::PolygonBackgroundBase::getTile(), osg::TileCameraDecoratorBase::getTop(), osg::TransformationMatrix< ValueTypeT >::getValues(), mapCoordinate(), and osg::MField< FieldTypeT, fieldNameSpace >::size().

00123 {
00124     if (port->getPixelWidth()  == 0 ||
00125         port->getPixelHeight() == 0 ) 
00126     {   
00127         FWARNING(("PolygonBackground::clear: "
00128                   "Port has zero size: nothing to render to!\n"));
00129         return;
00130     }
00131         
00132     if (getPositions().getSize() == 0 ||
00133         getPositions().getSize() != getTexCoords().getSize())
00134     {
00135         FWARNING(("PolygonBackground::clear: positions and texcoords have "
00136                   "different/ invalid sizes (%d vs. %d)!\n", 
00137                   getPositions().getSize(), getTexCoords().getSize()));
00138         return;
00139     }
00140 
00141     Int32 bit = getClearStencilBit();      // 0x0
00142     
00143     if (bit >= 0)
00144     {
00145         glClearStencil(bit);
00146         glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
00147     }
00148     else
00149     {
00150         glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
00151     }
00152 
00153     glPushAttrib(GL_ALL_ATTRIB_BITS);
00154 
00155     glDisable(GL_DEPTH_TEST);
00156     glDepthFunc(GL_ALWAYS);
00157 
00158     if ( getCleanup() )
00159         glDepthMask(GL_FALSE);
00160 
00161     Real32 aspectX = 1.0f, aspectY = 1.0f;
00162     
00163     if (getAspectHeight() && getAspectWidth())
00164     {
00165         aspectX = ((Real32)port->getPixelHeight()/getAspectHeight()) /
00166                   ((Real32)port->getPixelWidth() / getAspectWidth());
00167     }
00168     
00169     glMatrixMode(GL_TEXTURE);
00170     glPushMatrix();
00171     glLoadIdentity();
00172  
00173     glMatrixMode(GL_MODELVIEW);
00174     glPushMatrix();
00175     glLoadIdentity();
00176 
00177     glMatrixMode(GL_PROJECTION);
00178     glPushMatrix();
00179     glLoadIdentity();
00180     
00181     Real32 sFac = getScale() > 0 ? getScale() : 1.0f;
00182     
00183     UInt32 width  = port->getPixelWidth(),
00184            height = port->getPixelHeight();
00185     
00186     Camera *cP = act->getCamera();
00187     TileCameraDecorator *cdP = dynamic_cast<TileCameraDecorator*>(cP);
00188     
00189     while (cdP != NULL)
00190     {
00191         width  = cdP->getFullWidth()  ? cdP->getFullWidth()  : width;
00192         height = cdP->getFullHeight() ? cdP->getFullHeight() : height;
00193         
00194         cP  = cdP->getDecoratee().getCPtr();
00195         cdP = dynamic_cast<TileCameraDecorator*>(cP);
00196     }
00197     
00198     cP = act->getCamera();
00199     cdP = dynamic_cast<TileCameraDecorator*>(cP);
00200     
00201     if (cdP && !getTile())
00202     {
00203         Real32 t = 0,
00204                left   = cdP->getLeft(),
00205                right  = cdP->getRight(),
00206                top    = cdP->getTop(),
00207                bottom = cdP->getBottom();
00208         
00209         if (getAspectHeight() && getAspectWidth() &&
00210             height != 0 && width != 0)
00211         {
00212             aspectX = ((Real32)height/getAspectHeight()) /
00213                       ((Real32)width / getAspectWidth());
00214             t  = (Real32)width * (1 - aspectX) * 0.5f;
00215             t *= (Real32)port->getPixelWidth() / width;
00216         }
00217         
00218         Matrix sm;
00219         cP->getDecoration(sm, width, height);
00220         
00221         glLoadMatrixf(sm.getValues());
00222         glOrtho(0, port->getPixelWidth(), 0, port->getPixelHeight(), 0, 1);
00223         
00224         glTranslatef(t, 0, 0);
00225         glScalef(aspectX, aspectY, 1);
00226         
00227         float t1 = (1 - sFac) * 0.5f * (Real32)port->getPixelWidth();
00228         float t2 = (1 - sFac) * 0.5f * (Real32)port->getPixelHeight();
00229         glTranslatef(t1, t2, 0);
00230         glScalef(sFac,sFac,1);
00231     }
00232     else
00233     {
00234         glScalef(sFac,sFac,1);
00235         
00236         glScalef(aspectX, aspectY, 1);
00237         glOrtho(0, port->getPixelWidth(), 0, port->getPixelHeight(), 0, 1);    
00238     }
00239     
00240     getMaterial()->getState()->activate(act);
00241     
00242     Vec3f *tc  = &getTexCoords()[0];
00243     Pnt2f *pos = &getPositions()[0];
00244     
00245     glBegin(GL_POLYGON);
00246     
00247     for (UInt16 i=0; i<getPositions().size(); i++)
00248     {
00249         glTexCoord3fv( tc[i].getValues() );
00250         glVertex2f( mapCoordinate(pos[i][0], Real32(port->getPixelWidth()),
00251                                              getNormalizedX()),
00252                     mapCoordinate(pos[i][1], Real32(port->getPixelHeight()),
00253                                              getNormalizedY()) );
00254     }
00255 
00256     glEnd();
00257     
00258     getMaterial()->getState()->deactivate(act);
00259 
00260     glScalef(1, 1, 1);
00261 
00262     if ( getCleanup() )
00263     {
00264         if (bit >= 0)
00265             glClear(GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
00266         else
00267             glClear(GL_DEPTH_BUFFER_BIT);
00268     }
00269     
00270     glMatrixMode(GL_PROJECTION);
00271     glPopMatrix();
00272     glMatrixMode(GL_MODELVIEW);
00273     glPopMatrix();
00274     glMatrixMode(GL_TEXTURE);
00275     glPopMatrix();
00276 
00277     glPopAttrib();
00278 }

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

Reimplemented from osg::Background.

Definition at line 280 of file OSGPolygonBackground.cpp.

References osg::Background::changed().

00281 {
00282     Inherited::changed(whichField, origin);
00283 }

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

Reimplemented from osg::Background.

Definition at line 285 of file OSGPolygonBackground.cpp.

References SLOG.

00287 {
00288     SLOG << "Dump PolygonBackground NI" << std::endl;
00289 }

Real32 PolygonBackground::mapCoordinate ( Real32  val,
Real32  max,
bool  norm 
)

Definition at line 102 of file OSGPolygonBackground.cpp.

Referenced by clear().

00103 {
00104     if(val >= 0)
00105     {
00106         if (norm)
00107             val *= max;
00108     }
00109     else
00110     {
00111         val += 1;
00112         
00113         if (norm)
00114             val *= max;
00115         
00116         val = max + val;
00117     }
00118    
00119     return val;
00120 }

void PolygonBackground::initMethod ( void   )  [static, private]

Reimplemented from osg::Background.

Definition at line 71 of file OSGPolygonBackground.cpp.

00072 {
00073 }

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

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

Reimplemented from osg::BackgroundBase.

Definition at line 58 of file OSGPolygonBackgroundBase.inl.

References osg::PolygonBackgroundBase::_type.

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

00059 {
00060     return _type; 
00061 } 

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

Reimplemented from osg::BackgroundBase.

Definition at line 65 of file OSGPolygonBackgroundBase.inl.

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

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

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

Reimplemented from osg::BackgroundBase.

Definition at line 216 of file OSGPolygonBackgroundBase.cpp.

References osg::PolygonBackgroundBase::_type.

00217 {
00218     return _type; 
00219 } 

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

Reimplemented from osg::BackgroundBase.

Definition at line 221 of file OSGPolygonBackgroundBase.cpp.

References osg::PolygonBackgroundBase::_type.

00222 {
00223     return _type;
00224 } 

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

Reimplemented from osg::BackgroundBase.

Definition at line 236 of file OSGPolygonBackgroundBase.cpp.

00237 { 
00238     return sizeof(PolygonBackground); 
00239 }

SFMaterialPtr * osg::PolygonBackgroundBase::getSFMaterial ( void   )  [inline, inherited]

Definition at line 101 of file OSGPolygonBackgroundBase.inl.

References osg::PolygonBackgroundBase::_sfMaterial.

00102 {
00103     return &_sfMaterial;
00104 }

MFVec3f * osg::PolygonBackgroundBase::getMFTexCoords ( void   )  [inline, inherited]

Definition at line 108 of file OSGPolygonBackgroundBase.inl.

References osg::PolygonBackgroundBase::_mfTexCoords.

00109 {
00110     return &_mfTexCoords;
00111 }

MFPnt2f * osg::PolygonBackgroundBase::getMFPositions ( void   )  [inline, inherited]

Definition at line 115 of file OSGPolygonBackgroundBase.inl.

References osg::PolygonBackgroundBase::_mfPositions.

00116 {
00117     return &_mfPositions;
00118 }

SFBool * osg::PolygonBackgroundBase::getSFNormalizedX ( void   )  [inline, inherited]

Definition at line 122 of file OSGPolygonBackgroundBase.inl.

References osg::PolygonBackgroundBase::_sfNormalizedX.

00123 {
00124     return &_sfNormalizedX;
00125 }

SFBool * osg::PolygonBackgroundBase::getSFNormalizedY ( void   )  [inline, inherited]

Definition at line 129 of file OSGPolygonBackgroundBase.inl.

References osg::PolygonBackgroundBase::_sfNormalizedY.

00130 {
00131     return &_sfNormalizedY;
00132 }

SFUInt16 * osg::PolygonBackgroundBase::getSFAspectHeight ( void   )  [inline, inherited]

Definition at line 136 of file OSGPolygonBackgroundBase.inl.

References osg::PolygonBackgroundBase::_sfAspectHeight.

00137 {
00138     return &_sfAspectHeight;
00139 }

SFUInt16 * osg::PolygonBackgroundBase::getSFAspectWidth ( void   )  [inline, inherited]

Definition at line 143 of file OSGPolygonBackgroundBase.inl.

References osg::PolygonBackgroundBase::_sfAspectWidth.

00144 {
00145     return &_sfAspectWidth;
00146 }

SFReal32 * osg::PolygonBackgroundBase::getSFScale ( void   )  [inline, inherited]

Definition at line 150 of file OSGPolygonBackgroundBase.inl.

References osg::PolygonBackgroundBase::_sfScale.

00151 {
00152     return &_sfScale;
00153 }

SFInt32 * osg::PolygonBackgroundBase::getSFClearStencilBit ( void   )  [inline, inherited]

Definition at line 157 of file OSGPolygonBackgroundBase.inl.

References osg::PolygonBackgroundBase::_sfClearStencilBit.

00158 {
00159     return &_sfClearStencilBit;
00160 }

SFBool * osg::PolygonBackgroundBase::getSFCleanup ( void   )  [inline, inherited]

Definition at line 164 of file OSGPolygonBackgroundBase.inl.

References osg::PolygonBackgroundBase::_sfCleanup.

00165 {
00166     return &_sfCleanup;
00167 }

SFBool * osg::PolygonBackgroundBase::getSFTile ( void   )  [inline, inherited]

Definition at line 171 of file OSGPolygonBackgroundBase.inl.

References osg::PolygonBackgroundBase::_sfTile.

00172 {
00173     return &_sfTile;
00174 }

MaterialPtr & osg::PolygonBackgroundBase::getMaterial ( void   )  [inline, inherited]

Definition at line 179 of file OSGPolygonBackgroundBase.inl.

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

Referenced by clear().

00180 {
00181     return _sfMaterial.getValue();
00182 }

const MaterialPtr & osg::PolygonBackgroundBase::getMaterial ( void   )  const [inline, inherited]

Definition at line 186 of file OSGPolygonBackgroundBase.inl.

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

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

bool & osg::PolygonBackgroundBase::getNormalizedX ( void   )  [inline, inherited]

Definition at line 200 of file OSGPolygonBackgroundBase.inl.

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

Referenced by clear().

00201 {
00202     return _sfNormalizedX.getValue();
00203 }

const bool & osg::PolygonBackgroundBase::getNormalizedX ( void   )  const [inline, inherited]

bool & osg::PolygonBackgroundBase::getNormalizedY ( void   )  [inline, inherited]

Definition at line 221 of file OSGPolygonBackgroundBase.inl.

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

Referenced by clear().

00222 {
00223     return _sfNormalizedY.getValue();
00224 }

const bool & osg::PolygonBackgroundBase::getNormalizedY ( void   )  const [inline, inherited]

UInt16 & osg::PolygonBackgroundBase::getAspectHeight ( void   )  [inline, inherited]

Definition at line 242 of file OSGPolygonBackgroundBase.inl.

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

Referenced by clear().

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

const UInt16 & osg::PolygonBackgroundBase::getAspectHeight ( void   )  const [inline, inherited]

UInt16 & osg::PolygonBackgroundBase::getAspectWidth ( void   )  [inline, inherited]

Definition at line 263 of file OSGPolygonBackgroundBase.inl.

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

Referenced by clear().

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

const UInt16 & osg::PolygonBackgroundBase::getAspectWidth ( void   )  const [inline, inherited]

Real32 & osg::PolygonBackgroundBase::getScale ( void   )  [inline, inherited]

Definition at line 284 of file OSGPolygonBackgroundBase.inl.

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

Referenced by clear().

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

const Real32 & osg::PolygonBackgroundBase::getScale ( void   )  const [inline, inherited]

Definition at line 291 of file OSGPolygonBackgroundBase.inl.

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

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

Int32 & osg::PolygonBackgroundBase::getClearStencilBit ( void   )  [inline, inherited]

Definition at line 305 of file OSGPolygonBackgroundBase.inl.

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

Referenced by clear().

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

const Int32 & osg::PolygonBackgroundBase::getClearStencilBit ( void   )  const [inline, inherited]

bool & osg::PolygonBackgroundBase::getCleanup ( void   )  [inline, inherited]

Definition at line 326 of file OSGPolygonBackgroundBase.inl.

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

Referenced by clear().

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

const bool & osg::PolygonBackgroundBase::getCleanup ( void   )  const [inline, inherited]

Definition at line 333 of file OSGPolygonBackgroundBase.inl.

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

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

bool & osg::PolygonBackgroundBase::getTile ( void   )  [inline, inherited]

Definition at line 347 of file OSGPolygonBackgroundBase.inl.

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

Referenced by clear().

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

const bool & osg::PolygonBackgroundBase::getTile ( void   )  const [inline, inherited]

Definition at line 354 of file OSGPolygonBackgroundBase.inl.

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

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

Vec3f & osg::PolygonBackgroundBase::getTexCoords ( const UInt32  index  )  [inline, inherited]

Definition at line 369 of file OSGPolygonBackgroundBase.inl.

References osg::PolygonBackgroundBase::_mfTexCoords.

00370 {
00371     return _mfTexCoords[index];
00372 }

MFVec3f & osg::PolygonBackgroundBase::getTexCoords ( void   )  [inline, inherited]

Definition at line 376 of file OSGPolygonBackgroundBase.inl.

References osg::PolygonBackgroundBase::_mfTexCoords.

Referenced by clear().

00377 {
00378     return _mfTexCoords;
00379 }

const MFVec3f & osg::PolygonBackgroundBase::getTexCoords ( void   )  const [inline, inherited]

Definition at line 383 of file OSGPolygonBackgroundBase.inl.

References osg::PolygonBackgroundBase::_mfTexCoords.

00384 {
00385     return _mfTexCoords;
00386 }

Pnt2f & osg::PolygonBackgroundBase::getPositions ( const UInt32  index  )  [inline, inherited]

Definition at line 390 of file OSGPolygonBackgroundBase.inl.

References osg::PolygonBackgroundBase::_mfPositions.

00391 {
00392     return _mfPositions[index];
00393 }

MFPnt2f & osg::PolygonBackgroundBase::getPositions ( void   )  [inline, inherited]

Definition at line 397 of file OSGPolygonBackgroundBase.inl.

References osg::PolygonBackgroundBase::_mfPositions.

Referenced by clear().

00398 {
00399     return _mfPositions;
00400 }

const MFPnt2f & osg::PolygonBackgroundBase::getPositions ( void   )  const [inline, inherited]

Definition at line 404 of file OSGPolygonBackgroundBase.inl.

References osg::PolygonBackgroundBase::_mfPositions.

00405 {
00406     return _mfPositions;
00407 }

void osg::PolygonBackgroundBase::setMaterial ( const MaterialPtr value  )  [inline, inherited]

void osg::PolygonBackgroundBase::setNormalizedX ( const bool &  value  )  [inline, inherited]

void osg::PolygonBackgroundBase::setNormalizedY ( const bool &  value  )  [inline, inherited]

void osg::PolygonBackgroundBase::setAspectHeight ( const UInt16 value  )  [inline, inherited]

void osg::PolygonBackgroundBase::setAspectWidth ( const UInt16 value  )  [inline, inherited]

void osg::PolygonBackgroundBase::setScale ( const Real32 value  )  [inline, inherited]

void osg::PolygonBackgroundBase::setClearStencilBit ( const Int32 value  )  [inline, inherited]

void osg::PolygonBackgroundBase::setCleanup ( const bool &  value  )  [inline, inherited]

void osg::PolygonBackgroundBase::setTile ( const bool &  value  )  [inline, inherited]

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

Reimplemented from osg::BackgroundBase.

Definition at line 320 of file OSGPolygonBackgroundBase.cpp.

References osg::PolygonBackgroundBase::_mfPositions, osg::PolygonBackgroundBase::_mfTexCoords, osg::PolygonBackgroundBase::_sfAspectHeight, osg::PolygonBackgroundBase::_sfAspectWidth, osg::PolygonBackgroundBase::_sfCleanup, osg::PolygonBackgroundBase::_sfClearStencilBit, osg::PolygonBackgroundBase::_sfMaterial, osg::PolygonBackgroundBase::_sfNormalizedX, osg::PolygonBackgroundBase::_sfNormalizedY, osg::PolygonBackgroundBase::_sfScale, osg::PolygonBackgroundBase::_sfTile, osg::PolygonBackgroundBase::AspectHeightFieldMask, osg::PolygonBackgroundBase::AspectWidthFieldMask, osg::PolygonBackgroundBase::CleanupFieldMask, osg::PolygonBackgroundBase::ClearStencilBitFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::SField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::BackgroundBase::getBinSize(), osg::PolygonBackgroundBase::MaterialFieldMask, osg::FieldBits::NoField, osg::PolygonBackgroundBase::NormalizedXFieldMask, osg::PolygonBackgroundBase::NormalizedYFieldMask, osg::PolygonBackgroundBase::PositionsFieldMask, osg::PolygonBackgroundBase::ScaleFieldMask, osg::PolygonBackgroundBase::TexCoordsFieldMask, and osg::PolygonBackgroundBase::TileFieldMask.

00321 {
00322     UInt32 returnValue = Inherited::getBinSize(whichField);
00323 
00324     if(FieldBits::NoField != (MaterialFieldMask & whichField))
00325     {
00326         returnValue += _sfMaterial.getBinSize();
00327     }
00328 
00329     if(FieldBits::NoField != (TexCoordsFieldMask & whichField))
00330     {
00331         returnValue += _mfTexCoords.getBinSize();
00332     }
00333 
00334     if(FieldBits::NoField != (PositionsFieldMask & whichField))
00335     {
00336         returnValue += _mfPositions.getBinSize();
00337     }
00338 
00339     if(FieldBits::NoField != (NormalizedXFieldMask & whichField))
00340     {
00341         returnValue += _sfNormalizedX.getBinSize();
00342     }
00343 
00344     if(FieldBits::NoField != (NormalizedYFieldMask & whichField))
00345     {
00346         returnValue += _sfNormalizedY.getBinSize();
00347     }
00348 
00349     if(FieldBits::NoField != (AspectHeightFieldMask & whichField))
00350     {
00351         returnValue += _sfAspectHeight.getBinSize();
00352     }
00353 
00354     if(FieldBits::NoField != (AspectWidthFieldMask & whichField))
00355     {
00356         returnValue += _sfAspectWidth.getBinSize();
00357     }
00358 
00359     if(FieldBits::NoField != (ScaleFieldMask & whichField))
00360     {
00361         returnValue += _sfScale.getBinSize();
00362     }
00363 
00364     if(FieldBits::NoField != (ClearStencilBitFieldMask & whichField))
00365     {
00366         returnValue += _sfClearStencilBit.getBinSize();
00367     }
00368 
00369     if(FieldBits::NoField != (CleanupFieldMask & whichField))
00370     {
00371         returnValue += _sfCleanup.getBinSize();
00372     }
00373 
00374     if(FieldBits::NoField != (TileFieldMask & whichField))
00375     {
00376         returnValue += _sfTile.getBinSize();
00377     }
00378 
00379 
00380     return returnValue;
00381 }

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

Reimplemented from osg::BackgroundBase.

Definition at line 383 of file OSGPolygonBackgroundBase.cpp.

References osg::PolygonBackgroundBase::_mfPositions, osg::PolygonBackgroundBase::_mfTexCoords, osg::PolygonBackgroundBase::_sfAspectHeight, osg::PolygonBackgroundBase::_sfAspectWidth, osg::PolygonBackgroundBase::_sfCleanup, osg::PolygonBackgroundBase::_sfClearStencilBit, osg::PolygonBackgroundBase::_sfMaterial, osg::PolygonBackgroundBase::_sfNormalizedX, osg::PolygonBackgroundBase::_sfNormalizedY, osg::PolygonBackgroundBase::_sfScale, osg::PolygonBackgroundBase::_sfTile, osg::PolygonBackgroundBase::AspectHeightFieldMask, osg::PolygonBackgroundBase::AspectWidthFieldMask, osg::PolygonBackgroundBase::CleanupFieldMask, osg::PolygonBackgroundBase::ClearStencilBitFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::SField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::BackgroundBase::copyToBin(), osg::PolygonBackgroundBase::MaterialFieldMask, osg::FieldBits::NoField, osg::PolygonBackgroundBase::NormalizedXFieldMask, osg::PolygonBackgroundBase::NormalizedYFieldMask, osg::PolygonBackgroundBase::PositionsFieldMask, osg::PolygonBackgroundBase::ScaleFieldMask, osg::PolygonBackgroundBase::TexCoordsFieldMask, and osg::PolygonBackgroundBase::TileFieldMask.

00385 {
00386     Inherited::copyToBin(pMem, whichField);
00387 
00388     if(FieldBits::NoField != (MaterialFieldMask & whichField))
00389     {
00390         _sfMaterial.copyToBin(pMem);
00391     }
00392 
00393     if(FieldBits::NoField != (TexCoordsFieldMask & whichField))
00394     {
00395         _mfTexCoords.copyToBin(pMem);
00396     }
00397 
00398     if(FieldBits::NoField != (PositionsFieldMask & whichField))
00399     {
00400         _mfPositions.copyToBin(pMem);
00401     }
00402 
00403     if(FieldBits::NoField != (NormalizedXFieldMask & whichField))
00404     {
00405         _sfNormalizedX.copyToBin(pMem);
00406     }
00407 
00408     if(FieldBits::NoField != (NormalizedYFieldMask & whichField))
00409     {
00410         _sfNormalizedY.copyToBin(pMem);
00411     }
00412 
00413     if(FieldBits::NoField != (AspectHeightFieldMask & whichField))
00414     {
00415         _sfAspectHeight.copyToBin(pMem);
00416     }
00417 
00418     if(FieldBits::NoField != (AspectWidthFieldMask & whichField))
00419     {
00420         _sfAspectWidth.copyToBin(pMem);
00421     }
00422 
00423     if(FieldBits::NoField != (ScaleFieldMask & whichField))
00424     {
00425         _sfScale.copyToBin(pMem);
00426     }
00427 
00428     if(FieldBits::NoField != (ClearStencilBitFieldMask & whichField))
00429     {
00430         _sfClearStencilBit.copyToBin(pMem);
00431     }
00432 
00433     if(FieldBits::NoField != (CleanupFieldMask & whichField))
00434     {
00435         _sfCleanup.copyToBin(pMem);
00436     }
00437 
00438     if(FieldBits::NoField != (TileFieldMask & whichField))
00439     {
00440         _sfTile.copyToBin(pMem);
00441     }
00442 
00443 
00444 }

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

Reimplemented from osg::BackgroundBase.

Definition at line 446 of file OSGPolygonBackgroundBase.cpp.

References osg::PolygonBackgroundBase::_mfPositions, osg::PolygonBackgroundBase::_mfTexCoords, osg::PolygonBackgroundBase::_sfAspectHeight, osg::PolygonBackgroundBase::_sfAspectWidth, osg::PolygonBackgroundBase::_sfCleanup, osg::PolygonBackgroundBase::_sfClearStencilBit, osg::PolygonBackgroundBase::_sfMaterial, osg::PolygonBackgroundBase::_sfNormalizedX, osg::PolygonBackgroundBase::_sfNormalizedY, osg::PolygonBackgroundBase::_sfScale, osg::PolygonBackgroundBase::_sfTile, osg::PolygonBackgroundBase::AspectHeightFieldMask, osg::PolygonBackgroundBase::AspectWidthFieldMask, osg::PolygonBackgroundBase::CleanupFieldMask, osg::PolygonBackgroundBase::ClearStencilBitFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::SField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::BackgroundBase::copyFromBin(), osg::PolygonBackgroundBase::MaterialFieldMask, osg::FieldBits::NoField, osg::PolygonBackgroundBase::NormalizedXFieldMask, osg::PolygonBackgroundBase::NormalizedYFieldMask, osg::PolygonBackgroundBase::PositionsFieldMask, osg::PolygonBackgroundBase::ScaleFieldMask, osg::PolygonBackgroundBase::TexCoordsFieldMask, and osg::PolygonBackgroundBase::TileFieldMask.

00448 {
00449     Inherited::copyFromBin(pMem, whichField);
00450 
00451     if(FieldBits::NoField != (MaterialFieldMask & whichField))
00452     {
00453         _sfMaterial.copyFromBin(pMem);
00454     }
00455 
00456     if(FieldBits::NoField != (TexCoordsFieldMask & whichField))
00457     {
00458         _mfTexCoords.copyFromBin(pMem);
00459     }
00460 
00461     if(FieldBits::NoField != (PositionsFieldMask & whichField))
00462     {
00463         _mfPositions.copyFromBin(pMem);
00464     }
00465 
00466     if(FieldBits::NoField != (NormalizedXFieldMask & whichField))
00467     {
00468         _sfNormalizedX.copyFromBin(pMem);
00469     }
00470 
00471     if(FieldBits::NoField != (NormalizedYFieldMask & whichField))
00472     {
00473         _sfNormalizedY.copyFromBin(pMem);
00474     }
00475 
00476     if(FieldBits::NoField != (AspectHeightFieldMask & whichField))
00477     {
00478         _sfAspectHeight.copyFromBin(pMem);
00479     }
00480 
00481     if(FieldBits::NoField != (AspectWidthFieldMask & whichField))
00482     {
00483         _sfAspectWidth.copyFromBin(pMem);
00484     }
00485 
00486     if(FieldBits::NoField != (ScaleFieldMask & whichField))
00487     {
00488         _sfScale.copyFromBin(pMem);
00489     }
00490 
00491     if(FieldBits::NoField != (ClearStencilBitFieldMask & whichField))
00492     {
00493         _sfClearStencilBit.copyFromBin(pMem);
00494     }
00495 
00496     if(FieldBits::NoField != (CleanupFieldMask & whichField))
00497     {
00498         _sfCleanup.copyFromBin(pMem);
00499     }
00500 
00501     if(FieldBits::NoField != (TileFieldMask & whichField))
00502     {
00503         _sfTile.copyFromBin(pMem);
00504     }
00505 
00506 
00507 }

PolygonBackgroundPtr osg::PolygonBackgroundBase::create ( void   )  [inline, static, inherited]

Definition at line 72 of file OSGPolygonBackgroundBase.inl.

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

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

PolygonBackgroundPtr osg::PolygonBackgroundBase::createEmpty ( void   )  [inline, static, inherited]

Definition at line 87 of file OSGPolygonBackgroundBase.inl.

References osg::FieldContainer::newPtr().

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

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

Implements osg::FieldContainer.

Definition at line 227 of file OSGPolygonBackgroundBase.cpp.

References osg::FieldContainer::newPtr().

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

00228 { 
00229     PolygonBackgroundPtr returnValue; 
00230 
00231     newPtr(returnValue, dynamic_cast<const PolygonBackground *>(this)); 
00232 
00233     return returnValue; 
00234 }

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

Definition at line 510 of file OSGPolygonBackgroundBase.cpp.

References osg::PolygonBackgroundBase::_mfPositions, osg::PolygonBackgroundBase::_mfTexCoords, osg::PolygonBackgroundBase::_sfAspectHeight, osg::PolygonBackgroundBase::_sfAspectWidth, osg::PolygonBackgroundBase::_sfCleanup, osg::PolygonBackgroundBase::_sfClearStencilBit, osg::PolygonBackgroundBase::_sfMaterial, osg::PolygonBackgroundBase::_sfNormalizedX, osg::PolygonBackgroundBase::_sfNormalizedY, osg::PolygonBackgroundBase::_sfScale, osg::PolygonBackgroundBase::_sfTile, osg::PolygonBackgroundBase::AspectHeightFieldMask, osg::PolygonBackgroundBase::AspectWidthFieldMask, osg::PolygonBackgroundBase::CleanupFieldMask, osg::PolygonBackgroundBase::ClearStencilBitFieldMask, osg::BackgroundBase::executeSyncImpl(), osg::PolygonBackgroundBase::MaterialFieldMask, osg::FieldBits::NoField, osg::PolygonBackgroundBase::NormalizedXFieldMask, osg::PolygonBackgroundBase::NormalizedYFieldMask, osg::PolygonBackgroundBase::PositionsFieldMask, osg::PolygonBackgroundBase::ScaleFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::syncWith(), osg::SField< FieldTypeT, fieldNameSpace >::syncWith(), osg::PolygonBackgroundBase::TexCoordsFieldMask, and osg::PolygonBackgroundBase::TileFieldMask.

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

00512 {
00513 
00514     Inherited::executeSyncImpl(pOther, whichField);
00515 
00516     if(FieldBits::NoField != (MaterialFieldMask & whichField))
00517         _sfMaterial.syncWith(pOther->_sfMaterial);
00518 
00519     if(FieldBits::NoField != (TexCoordsFieldMask & whichField))
00520         _mfTexCoords.syncWith(pOther->_mfTexCoords);
00521 
00522     if(FieldBits::NoField != (PositionsFieldMask & whichField))
00523         _mfPositions.syncWith(pOther->_mfPositions);
00524 
00525     if(FieldBits::NoField != (NormalizedXFieldMask & whichField))
00526         _sfNormalizedX.syncWith(pOther->_sfNormalizedX);
00527 
00528     if(FieldBits::NoField != (NormalizedYFieldMask & whichField))
00529         _sfNormalizedY.syncWith(pOther->_sfNormalizedY);
00530 
00531     if(FieldBits::NoField != (AspectHeightFieldMask & whichField))
00532         _sfAspectHeight.syncWith(pOther->_sfAspectHeight);
00533 
00534     if(FieldBits::NoField != (AspectWidthFieldMask & whichField))
00535         _sfAspectWidth.syncWith(pOther->_sfAspectWidth);
00536 
00537     if(FieldBits::NoField != (ScaleFieldMask & whichField))
00538         _sfScale.syncWith(pOther->_sfScale);
00539 
00540     if(FieldBits::NoField != (ClearStencilBitFieldMask & whichField))
00541         _sfClearStencilBit.syncWith(pOther->_sfClearStencilBit);
00542 
00543     if(FieldBits::NoField != (CleanupFieldMask & whichField))
00544         _sfCleanup.syncWith(pOther->_sfCleanup);
00545 
00546     if(FieldBits::NoField != (TileFieldMask & whichField))
00547         _sfTile.syncWith(pOther->_sfTile);
00548 
00549 
00550 }

void BackgroundBase::executeSyncImpl ( BackgroundBase 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]

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

Reimplemented from osg::BackgroundBase.

Definition at line 243 of file OSGPolygonBackgroundBase.cpp.

References osg::PolygonBackgroundBase::executeSyncImpl().

00245 {
00246     this->executeSyncImpl((PolygonBackgroundBase *) &other, whichField);
00247 }

static const Char8* osg::Background::getClassname ( void   )  [inline, static, inherited]

Reimplemented in osg::GradientBackground, and osg::SolidBackground.

Definition at line 70 of file OSGBackground.h.

00070 { return "Background"; };

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

Definition at line 118 of file OSGPolygonBackground.h.

friend class PolygonBackgroundBase [friend]

Definition at line 119 of file OSGPolygonBackground.h.


Member Data Documentation

Initial value:

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

Reimplemented from osg::BackgroundBase.

Definition at line 131 of file OSGPolygonBackgroundBase.h.

bool osg::PolygonBackgroundBase::_sfNormalizedX [protected, inherited]

bool osg::PolygonBackgroundBase::_sfNormalizedY [protected, inherited]

bool osg::PolygonBackgroundBase::_sfCleanup [protected, inherited]

bool osg::PolygonBackgroundBase::_sfTile [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 Mon Mar 17 11:23:00 2008 for OpenSG by  doxygen 1.5.5