Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

osg::ImageForegroundBase Class Reference

ImageForeground Base Class.

#include <OSGImageForegroundBase.h>

Inheritance diagram for osg::ImageForegroundBase:

osg::Foreground osg::ForegroundBase osg::AttachmentContainer osg::FieldContainer osg::ImageForeground List of all members.

Public Types

typedef ImageForegroundPtr Ptr
enum  { ImagesFieldId = Inherited::NextFieldId, PositionsFieldId = ImagesFieldId + 1, NextFieldId = PositionsFieldId + 1 }

Public Member Functions

transformation
*virtual void changed (BitVector whichField, UInt32 origin)
dump
*virtual void dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const
draw
*virtual void draw (DrawActionBase *action, Viewport *port)=0
Field Get
*SFBoolgetSFActive (void)
 Get the Foreground::_sfActive field.
bool & getActive (void)
 Get the value of the Foreground::_sfActive field.
const bool & getActive (void) const
 Get the value of the Foreground::_sfActive field.
Field Set
*void setActive (const bool &value)
 Set the value of the Foreground::_sfActive field.
FieldContainer Get
*virtual FieldContainerTypegetType (void)
virtual const FieldContainerTypegetType (void) const
virtual UInt32 getContainerSize (void) const
Field Get
*MFImagePtrgetMFImages (void)
 Get the ImageForeground::_mfImages field.
MFPnt2fgetMFPositions (void)
 Get the ImageForeground::_mfPositions field.
ImagePtrgetImages (const UInt32 index)
 Get the value of the index element the ImageForeground::_mfImages field.
MFImagePtrgetImages (void)
 Get the ImageForeground::_mfImages field.
const MFImagePtrgetImages (void) const
 Get the ImageForeground::_mfImages field.
Pnt2fgetPositions (const UInt32 index)
 Get the value of the index element the ImageForeground::_mfPositions field.
MFPnt2fgetPositions (void)
 Get the ImageForeground::_mfPositions field.
const MFPnt2fgetPositions (void) const
 Get the ImageForeground::_mfPositions 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
transformation
*virtual void changed (BitVector whichField, UInt32 origin)
dump
*virtual void dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const
draw
*virtual void draw (DrawActionBase *action, Viewport *port)=0
Field Get
*SFBoolgetSFActive (void)
 Get the Foreground::_sfActive field.
bool & getActive (void)
 Get the value of the Foreground::_sfActive field.
const bool & getActive (void) const
 Get the value of the Foreground::_sfActive field.
Field Set
*void setActive (const bool &value)
 Set the value of the Foreground::_sfActive field.
transformation
*virtual void changed (BitVector whichField, UInt32 origin)
dump
*virtual void dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const
draw
*virtual void draw (DrawActionBase *action, Viewport *port)=0
Field Get
*SFBoolgetSFActive (void)
 Get the Foreground::_sfActive field.
bool & getActive (void)
 Get the value of the Foreground::_sfActive field.
const bool & getActive (void) const
 Get the value of the Foreground::_sfActive field.
Field Set
*void setActive (const bool &value)
 Set the value of the Foreground::_sfActive field.

Static Public Member Functions

Class Get
*static const char * getClassname (void)
Class Get
*static FieldContainerTypegetClassType (void)
 access the type of the class
static UInt32 getClassTypeId (void)
 access the numerical type of the class
Construction
*static ImageForegroundPtr create (void)
 create a new instance of the class
static ImageForegroundPtr createEmpty (void)
 create an empty new instance of the class, do not copy the prototype
Class Get
*static const char * getClassname (void)
Class Get
*static const char * getClassname (void)

Static Public Attributes

static const osg::BitVector ImagesFieldMask
static const osg::BitVector PositionsFieldMask
static const osg::BitVector MTInfluenceMask
static const osg::BitVector ActiveFieldMask
static const BitVector AttachmentsFieldMask
static const BitVector NextFieldMask

Protected Member Functions

Sync
*void executeSyncImpl (ForegroundBase *pOther, const BitVector &whichField)
Constructors
ImageForegroundBase (void)
 ImageForegroundBase (const ImageForegroundBase &source)
Destructors
*virtual ~ImageForegroundBase (void)
Sync
*void executeSyncImpl (ImageForegroundBase *pOther, const BitVector &whichField)
virtual void executeSync (FieldContainer &other, const BitVector &whichField)
Sync
*void executeSyncImpl (ForegroundBase *pOther, const BitVector &whichField)
Sync
*void executeSyncImpl (ForegroundBase *pOther, const BitVector &whichField)

Protected Attributes

Fields
*SFBool _sfActive
Fields
*MFImagePtr _mfImages
MFPnt2f _mfPositions
Fields
*SFBool _sfActive
Fields
*SFBool _sfActive

Private Types

typedef Foreground Inherited

Private Member Functions

void operator= (const ImageForegroundBase &source)

Static Private Attributes

static FieldDescription_desc []
 ImageForeground description.
static FieldContainerType _type

Friends

class FieldContainer

Detailed Description

Definition at line 82 of file OSGImageForegroundBase.h.


Member Typedef Documentation

typedef Foreground osg::ImageForegroundBase::Inherited [private]
 

Reimplemented from osg::Foreground.

Reimplemented in osg::ImageForeground.

Definition at line 86 of file OSGImageForegroundBase.h.

typedef ImageForegroundPtr osg::ImageForegroundBase::Ptr
 

Reimplemented from osg::ForegroundBase.

Definition at line 91 of file OSGImageForegroundBase.h.


Member Enumeration Documentation

anonymous enum
 

Enumerator:
ImagesFieldId 
PositionsFieldId 
NextFieldId 

Reimplemented from osg::ForegroundBase.

Definition at line 93 of file OSGImageForegroundBase.h.

00094     {
00095         ImagesFieldId    = Inherited::NextFieldId,
00096         PositionsFieldId = ImagesFieldId    + 1,
00097         NextFieldId      = PositionsFieldId + 1
00098     };


Constructor & Destructor Documentation

ImageForegroundBase::ImageForegroundBase void   )  [protected]
 

Definition at line 177 of file OSGImageForegroundBase.cpp.

00177                                              :
00178     _mfImages                 (), 
00179     _mfPositions              (), 
00180     Inherited() 
00181 {
00182 }

ImageForegroundBase::ImageForegroundBase const ImageForegroundBase source  )  [protected]
 

Definition at line 188 of file OSGImageForegroundBase.cpp.

00188                                                                           :
00189     _mfImages                 (source._mfImages                 ), 
00190     _mfPositions              (source._mfPositions              ), 
00191     Inherited                 (source)
00192 {
00193 }

ImageForegroundBase::~ImageForegroundBase void   )  [protected, virtual]
 

Definition at line 197 of file OSGImageForegroundBase.cpp.

00198 {
00199 }


Member Function Documentation

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

Reimplemented from osg::ForegroundBase.

Definition at line 58 of file OSGImageForegroundBase.inl.

References _type.

Referenced by create().

00059 {
00060     return _type; 
00061 } 

osg::UInt32 osg::ImageForegroundBase::getClassTypeId void   )  [inline, static]
 

Reimplemented from osg::ForegroundBase.

Definition at line 65 of file OSGImageForegroundBase.inl.

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

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

FieldContainerType & ImageForegroundBase::getType void   )  [virtual]
 

Reimplemented from osg::ForegroundBase.

Definition at line 117 of file OSGImageForegroundBase.cpp.

References _type.

00118 {
00119     return _type; 
00120 } 

const FieldContainerType & ImageForegroundBase::getType void   )  const [virtual]
 

Reimplemented from osg::ForegroundBase.

Definition at line 122 of file OSGImageForegroundBase.cpp.

References _type.

00123 {
00124     return _type;
00125 } 

UInt32 ImageForegroundBase::getContainerSize void   )  const [virtual]
 

Reimplemented from osg::ForegroundBase.

Definition at line 137 of file OSGImageForegroundBase.cpp.

00138 { 
00139     return sizeof(ImageForeground); 
00140 }

MFImagePtr * osg::ImageForegroundBase::getMFImages void   )  [inline]
 

Definition at line 101 of file OSGImageForegroundBase.inl.

References _mfImages.

00102 {
00103     return &_mfImages;
00104 }

MFPnt2f * osg::ImageForegroundBase::getMFPositions void   )  [inline]
 

Definition at line 108 of file OSGImageForegroundBase.inl.

References _mfPositions.

00109 {
00110     return &_mfPositions;
00111 }

ImagePtr & osg::ImageForegroundBase::getImages const UInt32  index  )  [inline]
 

Definition at line 117 of file OSGImageForegroundBase.inl.

References _mfImages.

00118 {
00119     return _mfImages[index];
00120 }

MFImagePtr & osg::ImageForegroundBase::getImages void   )  [inline]
 

Definition at line 124 of file OSGImageForegroundBase.inl.

References _mfImages.

Referenced by osg::ImageForeground::addImage(), and osg::ImageForeground::draw().

00125 {
00126     return _mfImages;
00127 }

const MFImagePtr & osg::ImageForegroundBase::getImages void   )  const [inline]
 

Definition at line 131 of file OSGImageForegroundBase.inl.

References _mfImages.

00132 {
00133     return _mfImages;
00134 }

Pnt2f & osg::ImageForegroundBase::getPositions const UInt32  index  )  [inline]
 

Definition at line 138 of file OSGImageForegroundBase.inl.

References _mfPositions.

00139 {
00140     return _mfPositions[index];
00141 }

MFPnt2f & osg::ImageForegroundBase::getPositions void   )  [inline]
 

Definition at line 145 of file OSGImageForegroundBase.inl.

References _mfPositions.

Referenced by osg::ImageForeground::addImage(), and osg::ImageForeground::draw().

00146 {
00147     return _mfPositions;
00148 }

const MFPnt2f & osg::ImageForegroundBase::getPositions void   )  const [inline]
 

Definition at line 152 of file OSGImageForegroundBase.inl.

References _mfPositions.

00153 {
00154     return _mfPositions;
00155 }

UInt32 ImageForegroundBase::getBinSize const BitVector whichField  )  [virtual]
 

Reimplemented from osg::ForegroundBase.

Definition at line 203 of file OSGImageForegroundBase.cpp.

References _mfImages, _mfPositions, osg::MField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::ForegroundBase::getBinSize(), ImagesFieldMask, osg::FieldBits::NoField, and PositionsFieldMask.

00204 {
00205     UInt32 returnValue = Inherited::getBinSize(whichField);
00206 
00207     if(FieldBits::NoField != (ImagesFieldMask & whichField))
00208     {
00209         returnValue += _mfImages.getBinSize();
00210     }
00211 
00212     if(FieldBits::NoField != (PositionsFieldMask & whichField))
00213     {
00214         returnValue += _mfPositions.getBinSize();
00215     }
00216 
00217 
00218     return returnValue;
00219 }

void ImageForegroundBase::copyToBin BinaryDataHandler pMem,
const BitVector whichField
[virtual]
 

Reimplemented from osg::ForegroundBase.

Definition at line 221 of file OSGImageForegroundBase.cpp.

References _mfImages, _mfPositions, osg::MField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::ForegroundBase::copyToBin(), ImagesFieldMask, osg::FieldBits::NoField, and PositionsFieldMask.

00223 {
00224     Inherited::copyToBin(pMem, whichField);
00225 
00226     if(FieldBits::NoField != (ImagesFieldMask & whichField))
00227     {
00228         _mfImages.copyToBin(pMem);
00229     }
00230 
00231     if(FieldBits::NoField != (PositionsFieldMask & whichField))
00232     {
00233         _mfPositions.copyToBin(pMem);
00234     }
00235 
00236 
00237 }

void ImageForegroundBase::copyFromBin BinaryDataHandler pMem,
const BitVector whichField
[virtual]
 

Reimplemented from osg::ForegroundBase.

Definition at line 239 of file OSGImageForegroundBase.cpp.

References _mfImages, _mfPositions, osg::MField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::ForegroundBase::copyFromBin(), ImagesFieldMask, osg::FieldBits::NoField, and PositionsFieldMask.

00241 {
00242     Inherited::copyFromBin(pMem, whichField);
00243 
00244     if(FieldBits::NoField != (ImagesFieldMask & whichField))
00245     {
00246         _mfImages.copyFromBin(pMem);
00247     }
00248 
00249     if(FieldBits::NoField != (PositionsFieldMask & whichField))
00250     {
00251         _mfPositions.copyFromBin(pMem);
00252     }
00253 
00254 
00255 }

ImageForegroundPtr osg::ImageForegroundBase::create void   )  [inline, static]
 

Definition at line 72 of file OSGImageForegroundBase.inl.

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

Referenced by osg::SimpleSceneManager::initialize().

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

ImageForegroundPtr osg::ImageForegroundBase::createEmpty void   )  [inline, static]
 

Definition at line 87 of file OSGImageForegroundBase.inl.

References osg::FieldContainer::newPtr().

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

FieldContainerPtr ImageForegroundBase::shallowCopy void   )  const [virtual]
 

Implements osg::FieldContainer.

Definition at line 128 of file OSGImageForegroundBase.cpp.

References osg::FieldContainer::newPtr().

Referenced by create().

00129 { 
00130     ImageForegroundPtr returnValue; 
00131 
00132     newPtr(returnValue, dynamic_cast<const ImageForeground *>(this)); 
00133 
00134     return returnValue; 
00135 }

void ImageForegroundBase::executeSyncImpl ImageForegroundBase pOther,
const BitVector whichField
[protected]
 

Definition at line 258 of file OSGImageForegroundBase.cpp.

References _mfImages, _mfPositions, osg::ForegroundBase::executeSyncImpl(), ImagesFieldMask, osg::FieldBits::NoField, PositionsFieldMask, and osg::MField< FieldTypeT, fieldNameSpace >::syncWith().

Referenced by executeSync().

00260 {
00261 
00262     Inherited::executeSyncImpl(pOther, whichField);
00263 
00264     if(FieldBits::NoField != (ImagesFieldMask & whichField))
00265         _mfImages.syncWith(pOther->_mfImages);
00266 
00267     if(FieldBits::NoField != (PositionsFieldMask & whichField))
00268         _mfPositions.syncWith(pOther->_mfPositions);
00269 
00270 
00271 }

void ImageForegroundBase::executeSync FieldContainer other,
const BitVector whichField
[protected, virtual]
 

Reimplemented from osg::ForegroundBase.

Definition at line 144 of file OSGImageForegroundBase.cpp.

References executeSyncImpl().

00146 {
00147     this->executeSyncImpl((ImageForegroundBase *) &other, whichField);
00148 }

void osg::ImageForegroundBase::operator= const ImageForegroundBase source  )  [private]
 

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

Reimplemented in osg::ImageForeground.

Definition at line 74 of file OSGForeground.h.

00074 { return "Foreground"; };

void Foreground::changed BitVector  whichField,
UInt32  origin
[virtual, inherited]
 

Reimplemented from osg::AttachmentContainer.

Reimplemented in osg::GraphicStatisticsForeground, osg::SimpleStatisticsForeground, osg::StatisticsForeground, osg::FileGrabForeground, osg::GrabForeground, osg::ImageForeground, osg::PolygonForeground, and osg::TextureGrabForeground.

Definition at line 105 of file OSGForeground.cpp.

References osg::AttachmentContainer::changed().

Referenced by osg::TextureGrabForeground::changed(), osg::StatisticsForeground::changed(), osg::PolygonForeground::changed(), osg::ImageForeground::changed(), and osg::GrabForeground::changed().

00106 {
00107     Inherited::changed(whichField, origin);
00108 }

void Foreground::dump UInt32  uiIndent = 0,
const BitVector  bvFlags = 0
const [virtual, inherited]
 

Reimplemented from osg::AttachmentContainer.

Reimplemented in osg::GraphicStatisticsForeground, osg::SimpleStatisticsForeground, osg::StatisticsForeground, osg::FileGrabForeground, osg::GrabForeground, osg::ImageForeground, osg::PolygonForeground, and osg::TextureGrabForeground.

Definition at line 112 of file OSGForeground.cpp.

References SLOG.

00114 {
00115     SLOG << "Dump Foreground NI" << std::endl;
00116 }

* virtual void osg::Foreground::draw DrawActionBase action,
Viewport port
[pure virtual, inherited]
 

Implemented in osg::GraphicStatisticsForeground, osg::SimpleStatisticsForeground, osg::StatisticsForeground, osg::FileGrabForeground, osg::GrabForeground, osg::ImageForeground, osg::PolygonForeground, and osg::TextureGrabForeground.

SFBool * osg::ForegroundBase::getSFActive void   )  [inline, inherited]
 

Definition at line 75 of file OSGForegroundBase.inl.

References osg::ForegroundBase::_sfActive.

00076 {
00077     return &_sfActive;
00078 }

bool & osg::ForegroundBase::getActive void   )  [inline, inherited]
 

Definition at line 83 of file OSGForegroundBase.inl.

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

Referenced by osg::ImageForeground::draw(), osg::GrabForeground::draw(), and osg::FileGrabForeground::draw().

00084 {
00085     return _sfActive.getValue();
00086 }

const bool & osg::ForegroundBase::getActive void   )  const [inline, inherited]
 

Definition at line 90 of file OSGForegroundBase.inl.

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

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

void osg::ForegroundBase::setActive const bool &  value  )  [inline, inherited]
 

Definition at line 97 of file OSGForegroundBase.inl.

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

Referenced by osg::GrabForeground::GrabForeground().

00098 {
00099     _sfActive.setValue(value);
00100 }

void ForegroundBase::executeSyncImpl ForegroundBase pOther,
const BitVector whichField
[protected, inherited]
 

Definition at line 219 of file OSGForegroundBase.cpp.

References osg::ForegroundBase::_sfActive, osg::ForegroundBase::ActiveFieldMask, osg::AttachmentContainer::executeSyncImpl(), osg::FieldBits::NoField, and osg::SField< FieldTypeT, fieldNameSpace >::syncWith().

Referenced by osg::ForegroundBase::executeSync(), osg::TextureGrabForegroundBase::executeSyncImpl(), osg::StatisticsForegroundBase::executeSyncImpl(), osg::PolygonForegroundBase::executeSyncImpl(), executeSyncImpl(), and osg::GrabForegroundBase::executeSyncImpl().

00221 {
00222 
00223     Inherited::executeSyncImpl(pOther, whichField);
00224 
00225     if(FieldBits::NoField != (ActiveFieldMask & whichField))
00226         _sfActive.syncWith(pOther->_sfActive);
00227 
00228 
00229 }

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

Definition at line 316 of file OSGAttachmentContainer.cpp.

References osg::AttachmentContainer::_attachmentMap, osg::AttachmentContainer::AttachmentsFieldMask, osg::FieldContainer::executeSyncImpl(), osg::FieldBits::NoField, and osg::SField< FieldTypeT, fieldNameSpace >::syncWith().

Referenced by osg::AttachmentContainer::executeSync(), osg::WindowBase::executeSyncImpl(), osg::ViewportBase::executeSyncImpl(), osg::ShaderParameterBase::executeSyncImpl(), osg::Node::executeSyncImpl(), osg::NodeCore::executeSyncImpl(), osg::MaterialBase::executeSyncImpl(), osg::ImageComposerBase::executeSyncImpl(), osg::ImageBase::executeSyncImpl(), osg::ForegroundBase::executeSyncImpl(), osg::DisplayCalibrationBase::executeSyncImpl(), osg::CameraBase::executeSyncImpl(), and osg::BackgroundBase::executeSyncImpl().

00319 {
00320     Inherited::executeSyncImpl(pOther, whichField);
00321 
00322     if (FieldBits::NoField != (AttachmentsFieldMask & whichField))
00323     {
00324         _attachmentMap.syncWith(pOther->_attachmentMap);
00325     }
00326 }

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

Definition at line 333 of file OSGFieldContainerImpl.inl.

Referenced by osg::StateBase::executeSyncImpl(), osg::DVRShaderBase::executeSyncImpl(), osg::DVRClipGeometryBase::executeSyncImpl(), osg::AttachmentContainer::executeSyncImpl(), and osg::Attachment::executeSyncImpl().

00335 {
00336 }

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()