#include <OSGImageComposer.h>

Public Types | |
| enum | { EnabledFieldId = Inherited::NextFieldId, StatisticsFieldId = EnabledFieldId + 1, NextFieldId = StatisticsFieldId + 1 } |
| typedef ImageComposerPtr | Ptr |
| enum | { AttachmentsFieldId = Inherited::NextFieldId, NextFieldId = AttachmentsFieldId + 1 } |
| enum | { NextFieldId = 1 } |
Public Member Functions | |
Sync | |
| virtual void | changed (BitVector whichField, UInt32 origin) |
Output | |
| virtual void | dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const |
setup | |
| void | setup (bool isClient, UInt32 clusterId, WindowPtr localWindow, ClusterWindowPtr clusterWindow) |
composition | |
| virtual void | open (void) |
| virtual void | startFrame (void) |
| virtual void | startViewport (ViewportPtr port) |
| virtual void | composeViewport (ViewportPtr port) |
| virtual void | composeWindow (void) |
| virtual void | close (void) |
features | |
| virtual bool | getClientRendering (void) |
| virtual UInt32 | getUsableServers (void) |
FieldContainer Get | |
| virtual FieldContainerType & | getType (void) |
| virtual const FieldContainerType & | getType (void) const |
| virtual UInt32 | getContainerSize (void) const |
Field Get | |
| SFBool * | getSFEnabled (void) |
| Get the ImageComposer::_sfEnabled field. | |
| SFBool * | getSFStatistics (void) |
| Get the ImageComposer::_sfStatistics field. | |
| bool & | getEnabled (void) |
| Get the value of the ImageComposer::_sfEnabled field. | |
| const bool & | getEnabled (void) const |
| Get the value of the ImageComposer::_sfEnabled field. | |
| bool & | getStatistics (void) |
| Get the value of the ImageComposer::_sfStatistics field. | |
| const bool & | getStatistics (void) const |
| Get the value of the ImageComposer::_sfStatistics field. | |
Field Set | |
| void | setEnabled (const bool &value) |
| Set the value of the ImageComposer::_sfEnabled field. | |
| void | setStatistics (const bool &value) |
| Set the value of the ImageComposer::_sfStatistics 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) |
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) |
| SFAttachmentMap * | getSFAttachments (void) |
Get Instance Type Information | |
| UInt32 | getTypeId (void) const |
| UInt16 | getGroupId (void) const |
| const Char8 * | getTypeName (void) const |
| Field * | getField (UInt32 fieldId) |
| Field * | getField (const Char8 *fieldName) |
Clone | |
| virtual FieldContainerPtr | shallowCopy (void) const =0 |
Static Public Member Functions | |
Class Get | |
| static FieldContainerType & | getClassType (void) |
| access the type of the class | |
| static UInt32 | getClassTypeId (void) |
| access the numerical type of the class | |
Get Class Type Information | |
| static UInt16 | getClassGroupId (void) |
Static Public Attributes | |
| static const osg::BitVector | EnabledFieldMask |
| static const osg::BitVector | StatisticsFieldMask |
| static const osg::BitVector | MTInfluenceMask |
| static const BitVector | AttachmentsFieldMask |
| static const BitVector | NextFieldMask |
CoredNodePtr helper | |
| static const bool | isNodeCore = false |
Protected Member Functions | |
get | |
| bool | isClient (void) |
| UInt32 | clusterId (void) |
| UInt32 | clusterSize (void) |
| UInt32 | serverCount (void) |
| WindowPtr | localWindow (void) |
| ClusterWindowPtr | clusterWindow (void) |
helpers | |
| bool | getScreenAlignedBBox (NodePtr root, ViewportPtr vp, UInt32 &l, UInt32 &b, UInt32 &r, UInt32 &t, UInt32 &front, UInt32 &back) |
Constructors | |
| ImageComposer (void) | |
| ImageComposer (const ImageComposer &source) | |
Destructors | |
| virtual | ~ImageComposer (void) |
Sync | |
| void | executeSyncImpl (ImageComposerBase *pOther, const BitVector &whichField) |
| virtual void | executeSync (FieldContainer &other, 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 | |
protected variables | |
| bool | _isClient |
| UInt32 | _clusterId |
| UInt32 | _clusterSize |
| UInt32 | _serverCount |
| WindowPtr | _localWindow |
| ClusterWindowPtr | _clusterWindow |
Fields | |
| SFBool | _sfEnabled |
| SFBool | _sfStatistics |
Fields | |
| SFAttachmentMap | _attachmentMap |
Member | |
| UInt32 | _shares |
Private Types | |
| typedef ImageComposerBase | Inherited |
Private Member Functions | |
| void | operator= (const ImageComposer &source) |
Static Private Member Functions | |
| static void | initMethod (void) |
Friends | |
| class | FieldContainer |
| class | ImageComposerBase |
Definition at line 54 of file OSGImageComposer.h.
typedef ImageComposerBase osg::ImageComposer::Inherited [private] |
typedef ImageComposerPtr osg::ImageComposerBase::Ptr [inherited] |
Definition at line 91 of file OSGImageComposerBase.h.
anonymous enum [inherited] |
Definition at line 93 of file OSGImageComposerBase.h.
00094 { 00095 EnabledFieldId = Inherited::NextFieldId, 00096 StatisticsFieldId = EnabledFieldId + 1, 00097 NextFieldId = StatisticsFieldId + 1 00098 };
anonymous enum [inherited] |
Definition at line 78 of file OSGAttachmentContainerImpl.h.
00079 { 00080 AttachmentsFieldId = Inherited::NextFieldId, 00081 NextFieldId = AttachmentsFieldId + 1 00082 };
anonymous enum [inherited] |
| ImageComposer::ImageComposer | ( | void | ) | [protected] |
| ImageComposer::ImageComposer | ( | const ImageComposer & | source | ) | [protected] |
| ImageComposer::~ImageComposer | ( | void | ) | [protected, virtual] |
Reimplemented from osg::AttachmentContainer.
Definition at line 98 of file OSGImageComposer.cpp.
References osg::AttachmentContainer::changed().
00099 { 00100 Inherited::changed(whichField, origin); 00101 }
Reimplemented from osg::AttachmentContainer.
Definition at line 103 of file OSGImageComposer.cpp.
References SLOG.
00105 { 00106 SLOG << "Dump ImageComposer NI" << std::endl; 00107 }
| void ImageComposer::setup | ( | bool | isClient, | |
| UInt32 | clusterId, | |||
| WindowPtr | localWindow, | |||
| ClusterWindowPtr | clusterWindow | |||
| ) |
initialize the composer
Definition at line 113 of file OSGImageComposer.cpp.
References _clusterId, _clusterSize, _clusterWindow, _isClient, _localWindow, and _serverCount.
00117 { 00118 _isClient = isClient; 00119 _clusterId = clusterId; 00120 _localWindow = localWindow; 00121 _clusterWindow = clusterWindow; 00122 _clusterSize = clusterWindow->getServers().size()+1; 00123 _serverCount = clusterWindow->getServers().size(); 00124 }
| void ImageComposer::open | ( | void | ) | [virtual] |
| void ImageComposer::startFrame | ( | void | ) | [virtual] |
| void ImageComposer::startViewport | ( | ViewportPtr | port | ) | [virtual] |
called before rendering to a viewport. This can be used to synchronize some actions during rendering
Definition at line 143 of file OSGImageComposer.cpp.
| void ImageComposer::composeViewport | ( | ViewportPtr | port | ) | [virtual] |
| void ImageComposer::composeWindow | ( | void | ) | [virtual] |
| void ImageComposer::close | ( | void | ) | [virtual] |
| bool ImageComposer::getClientRendering | ( | void | ) | [virtual] |
The default is that the cluster window should render on the client side. Overload this method if the composer is not able to handle client rendering.
Definition at line 171 of file OSGImageComposer.cpp.
| UInt32 ImageComposer::getUsableServers | ( | void | ) | [virtual] |
Return the number of Servers that can be uses by the composer
Definition at line 178 of file OSGImageComposer.cpp.
References serverCount().
00179 { 00180 return serverCount(); 00181 }
| bool osg::ImageComposer::isClient | ( | void | ) | [inline, protected] |
Definition at line 45 of file OSGImageComposer.inl.
References _isClient.
00046 { 00047 return _isClient; 00048 }
| UInt32 osg::ImageComposer::clusterId | ( | void | ) | [inline, protected] |
Definition at line 50 of file OSGImageComposer.inl.
References _clusterId.
00051 { 00052 return _clusterId; 00053 }
| UInt32 osg::ImageComposer::clusterSize | ( | void | ) | [inline, protected] |
Definition at line 55 of file OSGImageComposer.inl.
References _clusterSize.
00056 { 00057 return _clusterSize; 00058 }
| UInt32 osg::ImageComposer::serverCount | ( | void | ) | [inline, protected] |
Definition at line 60 of file OSGImageComposer.inl.
References _serverCount.
Referenced by getUsableServers().
00061 { 00062 return _serverCount; 00063 }
| WindowPtr osg::ImageComposer::localWindow | ( | void | ) | [inline, protected] |
Definition at line 65 of file OSGImageComposer.inl.
References _localWindow.
00066 { 00067 return _localWindow; 00068 }
| ClusterWindowPtr osg::ImageComposer::clusterWindow | ( | void | ) | [inline, protected] |
Definition at line 70 of file OSGImageComposer.inl.
References _clusterWindow.
00071 { 00072 return _clusterWindow; 00073 }
| bool ImageComposer::getScreenAlignedBBox | ( | NodePtr | node, | |
| ViewportPtr | vp, | |||
| UInt32 & | l, | |||
| UInt32 & | b, | |||
| UInt32 & | r, | |||
| UInt32 & | t, | |||
| UInt32 & | front, | |||
| UInt32 & | back | |||
| ) | [protected] |
get screen aligned bounding box of the given geometrie. width and hight are given in pixels. depth is given as uint32. Returns false if the node is invisible
Definition at line 189 of file OSGImageComposer.cpp.
References osg::DynamicVolume::getBounds(), osg::TransformationMatrix< ValueTypeT >::multFullMatrixPnt(), osg::TransformationMatrix< ValueTypeT >::multLeft(), p, and osg::DynamicVolume::transform().
00193 { 00194 UInt32 width = vp->getPixelWidth(); 00195 UInt32 height = vp->getPixelHeight(); 00196 Matrix viewing; 00197 Matrix projection; 00198 Real32 rNear = vp->getCamera()->getNear(); 00199 Vec3f vol[2]; 00200 Pnt3f pnt; 00201 Real32 minx=0,miny=0,minz=0; 00202 Real32 maxx=0,maxy=0,maxz=0; 00203 Matrix *p; 00204 00205 vp->getCamera()->getViewing(viewing,width,height); 00206 vp->getCamera()->getProjection(projection,width,height); 00207 00208 // default 00209 l=b=r=t=0; 00210 // get whole transformation 00211 Matrix m=node->getToWorld(); 00212 m.multLeft(viewing); 00213 // get transformed volume 00214 node->updateVolume(); 00215 DynamicVolume volume=node->getVolume(); 00216 // bug in osg base 00217 /* 00218 if(volume.isEmpty()) 00219 { 00220 _visible=false; 00221 return; 00222 } 00223 */ 00224 volume.transform(m); 00225 // get min,max 00226 volume.getBounds(vol[0], vol[1]); 00227 // min < rNear 00228 if(vol[0][2] > -rNear) 00229 return false; 00230 if(vol[1][2] > -rNear) 00231 { 00232 // volume lays on the fron clipping plane 00233 vol[1][2] = -rNear; 00234 p=&projection; 00235 } 00236 else 00237 { 00238 // volume lays on the visible side of the clipping plane 00239 node->getVolume().getBounds(vol[0], vol[1]); 00240 m.multLeft(projection); 00241 p=&m; 00242 } 00243 // create corners of a bounding box 00244 for(int i=0;i<8;++i) 00245 { 00246 p->multFullMatrixPnt(Pnt3f( vol[ (i )&1 ][0] , 00247 vol[ (i>>1)&1 ][1] , 00248 vol[ (i>>2)&1 ][2]) , pnt); 00249 if(i>0) 00250 { 00251 if(minx > pnt[0]) minx = pnt[0]; 00252 if(miny > pnt[1]) miny = pnt[1]; 00253 if(minz > pnt[2]) minz = pnt[2]; 00254 if(maxx < pnt[0]) maxx = pnt[0]; 00255 if(maxy < pnt[1]) maxy = pnt[1]; 00256 if(maxz < pnt[2]) maxz = pnt[2]; 00257 } 00258 else 00259 { 00260 maxx = minx = pnt[0]; 00261 maxy = miny = pnt[1]; 00262 maxz = minz = pnt[2]; 00263 } 00264 } 00265 00266 // visible ? 00267 if(maxx<-1 || maxy<-1 || 00268 minx> 1 || miny> 1) 00269 { 00270 return false; 00271 } 00272 else 00273 { 00274 minx=width * ( minx + 1.0 ) / 2.0 - .5; 00275 maxx=width * ( maxx + 1.0 ) / 2.0 + .5; 00276 miny=height * ( miny + 1.0 ) / 2.0 - .5; 00277 maxy=height * ( maxy + 1.0 ) / 2.0 + .5; 00278 00279 if(minx < 0 ) minx = 0; 00280 if(maxx >= width ) maxx = width-1; 00281 00282 if(miny < 0 ) miny = 0; 00283 if(maxy >= height) maxy = height-1; 00284 00285 l=(Int32)minx; 00286 b=(Int32)miny; 00287 r=(Int32)maxx; 00288 t=(Int32)maxy; 00289 00290 /* 00291 maxz = 1 / (2.0 / (maxz+1)); 00292 minz = 1 / (2.0 / (minz+1)); 00293 */ 00294 00295 front = (UInt32)( (double)(((UInt64)1)<<32) * (minz+1) / 2); 00296 back = (UInt32)( (double)(((UInt64)1)<<32) * (maxz+1) / 2); 00297 } 00298 00299 #if 0 00300 glPushMatrix(); 00301 glLoadIdentity(); 00302 glMatrixMode(GL_PROJECTION); 00303 glPushMatrix(); 00304 glLoadIdentity(); 00305 glOrtho(0,width, 00306 0,height, 00307 -1,1); 00308 glDisable(GL_DEPTH_TEST); 00309 glEnable(GL_COLOR_MATERIAL); 00310 glBegin(GL_LINE_LOOP); 00311 glColor3f(1, 1, 0); 00312 glVertex2f(l,b); 00313 glVertex2f(r,b); 00314 glVertex2f(r,t); 00315 glVertex2f(l,t); 00316 glEnd(); 00317 glDisable(GL_COLOR_MATERIAL); 00318 glEnable(GL_DEPTH_TEST); 00319 glPopMatrix(); 00320 glMatrixMode(GL_MODELVIEW); 00321 glPopMatrix(); 00322 glPopAttrib(); 00323 #endif 00324 00325 return true; 00326 }
| void ImageComposer::initMethod | ( | void | ) | [static, private] |
| void osg::ImageComposer::operator= | ( | const ImageComposer & | source | ) | [private] |
| osg::FieldContainerType & osg::ImageComposerBase::getClassType | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::AttachmentContainer.
Definition at line 58 of file OSGImageComposerBase.inl.
References osg::ImageComposerBase::_type.
00059 { 00060 return _type; 00061 }
| osg::UInt32 osg::ImageComposerBase::getClassTypeId | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::AttachmentContainer.
Definition at line 65 of file OSGImageComposerBase.inl.
References osg::ImageComposerBase::_type, and osg::TypeBase::getId().
00066 { 00067 return _type.getId(); 00068 }
| FieldContainerType & ImageComposerBase::getType | ( | void | ) | [virtual, inherited] |
Reimplemented from osg::AttachmentContainer.
Definition at line 117 of file OSGImageComposerBase.cpp.
References osg::ImageComposerBase::_type.
00118 { 00119 return _type; 00120 }
| const FieldContainerType & ImageComposerBase::getType | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::AttachmentContainer.
Definition at line 122 of file OSGImageComposerBase.cpp.
References osg::ImageComposerBase::_type.
00123 { 00124 return _type; 00125 }
| UInt32 ImageComposerBase::getContainerSize | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::AttachmentContainer.
Definition at line 128 of file OSGImageComposerBase.cpp.
00129 { 00130 return sizeof(ImageComposer); 00131 }
| SFBool * osg::ImageComposerBase::getSFEnabled | ( | void | ) | [inline, inherited] |
Definition at line 75 of file OSGImageComposerBase.inl.
References osg::ImageComposerBase::_sfEnabled.
00076 { 00077 return &_sfEnabled; 00078 }
| SFBool * osg::ImageComposerBase::getSFStatistics | ( | void | ) | [inline, inherited] |
Definition at line 82 of file OSGImageComposerBase.inl.
References osg::ImageComposerBase::_sfStatistics.
00083 { 00084 return &_sfStatistics; 00085 }
| bool & osg::ImageComposerBase::getEnabled | ( | void | ) | [inline, inherited] |
Definition at line 90 of file OSGImageComposerBase.inl.
References osg::ImageComposerBase::_sfEnabled, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00091 { 00092 return _sfEnabled.getValue(); 00093 }
| const bool & osg::ImageComposerBase::getEnabled | ( | void | ) | const [inline, inherited] |
Definition at line 97 of file OSGImageComposerBase.inl.
References osg::ImageComposerBase::_sfEnabled, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00098 { 00099 return _sfEnabled.getValue(); 00100 }
| bool & osg::ImageComposerBase::getStatistics | ( | void | ) | [inline, inherited] |
Definition at line 111 of file OSGImageComposerBase.inl.
References osg::ImageComposerBase::_sfStatistics, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00112 { 00113 return _sfStatistics.getValue(); 00114 }
| const bool & osg::ImageComposerBase::getStatistics | ( | void | ) | const [inline, inherited] |
Definition at line 118 of file OSGImageComposerBase.inl.
References osg::ImageComposerBase::_sfStatistics, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00119 { 00120 return _sfStatistics.getValue(); 00121 }
| void osg::ImageComposerBase::setEnabled | ( | const bool & | value | ) | [inline, inherited] |
Definition at line 104 of file OSGImageComposerBase.inl.
References osg::ImageComposerBase::_sfEnabled, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00105 { 00106 _sfEnabled.setValue(value); 00107 }
| void osg::ImageComposerBase::setStatistics | ( | const bool & | value | ) | [inline, inherited] |
Definition at line 125 of file OSGImageComposerBase.inl.
References osg::ImageComposerBase::_sfStatistics, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00126 { 00127 _sfStatistics.setValue(value); 00128 }
Reimplemented from osg::AttachmentContainer.
Definition at line 192 of file OSGImageComposerBase.cpp.
References osg::ImageComposerBase::_sfEnabled, osg::ImageComposerBase::_sfStatistics, osg::ImageComposerBase::EnabledFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::AttachmentContainer::getBinSize(), osg::FieldBits::NoField, and osg::ImageComposerBase::StatisticsFieldMask.
00193 { 00194 UInt32 returnValue = Inherited::getBinSize(whichField); 00195 00196 if(FieldBits::NoField != (EnabledFieldMask & whichField)) 00197 { 00198 returnValue += _sfEnabled.getBinSize(); 00199 } 00200 00201 if(FieldBits::NoField != (StatisticsFieldMask & whichField)) 00202 { 00203 returnValue += _sfStatistics.getBinSize(); 00204 } 00205 00206 00207 return returnValue; 00208 }
| void ImageComposerBase::copyToBin | ( | BinaryDataHandler & | pMem, | |
| const BitVector & | whichField | |||
| ) | [virtual, inherited] |
Reimplemented from osg::AttachmentContainer.
Definition at line 210 of file OSGImageComposerBase.cpp.
References osg::ImageComposerBase::_sfEnabled, osg::ImageComposerBase::_sfStatistics, osg::SField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::AttachmentContainer::copyToBin(), osg::ImageComposerBase::EnabledFieldMask, osg::FieldBits::NoField, and osg::ImageComposerBase::StatisticsFieldMask.
00212 { 00213 Inherited::copyToBin(pMem, whichField); 00214 00215 if(FieldBits::NoField != (EnabledFieldMask & whichField)) 00216 { 00217 _sfEnabled.copyToBin(pMem); 00218 } 00219 00220 if(FieldBits::NoField != (StatisticsFieldMask & whichField)) 00221 { 00222 _sfStatistics.copyToBin(pMem); 00223 } 00224 00225 00226 }
| void ImageComposerBase::copyFromBin | ( | BinaryDataHandler & | pMem, | |
| const BitVector & | whichField | |||
| ) | [virtual, inherited] |
Reimplemented from osg::AttachmentContainer.
Definition at line 228 of file OSGImageComposerBase.cpp.
References osg::ImageComposerBase::_sfEnabled, osg::ImageComposerBase::_sfStatistics, osg::SField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::AttachmentContainer::copyFromBin(), osg::ImageComposerBase::EnabledFieldMask, osg::FieldBits::NoField, and osg::ImageComposerBase::StatisticsFieldMask.
00230 { 00231 Inherited::copyFromBin(pMem, whichField); 00232 00233 if(FieldBits::NoField != (EnabledFieldMask & whichField)) 00234 { 00235 _sfEnabled.copyFromBin(pMem); 00236 } 00237 00238 if(FieldBits::NoField != (StatisticsFieldMask & whichField)) 00239 { 00240 _sfStatistics.copyFromBin(pMem); 00241 } 00242 00243 00244 }
| void ImageComposerBase::executeSyncImpl | ( | ImageComposerBase * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Definition at line 247 of file OSGImageComposerBase.cpp.
References osg::ImageComposerBase::_sfEnabled, osg::ImageComposerBase::_sfStatistics, osg::ImageComposerBase::EnabledFieldMask, osg::AttachmentContainer::executeSyncImpl(), osg::FieldBits::NoField, osg::ImageComposerBase::StatisticsFieldMask, and osg::SField< FieldTypeT, fieldNameSpace >::syncWith().
Referenced by osg::ImageComposerBase::executeSync().
00249 { 00250 00251 Inherited::executeSyncImpl(pOther, whichField); 00252 00253 if(FieldBits::NoField != (EnabledFieldMask & whichField)) 00254 _sfEnabled.syncWith(pOther->_sfEnabled); 00255 00256 if(FieldBits::NoField != (StatisticsFieldMask & whichField)) 00257 _sfStatistics.syncWith(pOther->_sfStatistics); 00258 00259 00260 }
| 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::DisplayFilterBase::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().
| void ImageComposerBase::executeSync | ( | FieldContainer & | other, | |
| const BitVector & | whichField | |||
| ) | [protected, virtual, inherited] |
Reimplemented from osg::AttachmentContainer.
Definition at line 135 of file OSGImageComposerBase.cpp.
References osg::ImageComposerBase::executeSyncImpl().
00137 { 00138 this->executeSyncImpl((ImageComposerBase *) &other, whichField); 00139 }
| 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] |
Definition at line 352 of file OSGAttachmentContainer.cpp.
Referenced by osg::FileGrabForeground::draw(), osg::FBOViewport::render(), osg::AttachmentContainer::subAttachment(), and osg::AttachmentContainer::~AttachmentContainer().
00353 { 00354 return AttachmentContainerPtr(*this); 00355 }
| UInt16 osg::FieldContainer::getClassGroupId | ( | void | ) | [inline, static, inherited] |
Definition at line 71 of file OSGFieldContainerImpl.inl.
References osg::FieldContainer::_type, and osg::FieldContainerType::getGroupId().
00072 { 00073 return _type.getGroupId(); 00074 }
| UInt32 osg::FieldContainer::getTypeId | ( | void | ) | const [inline, inherited] |
Definition at line 77 of file OSGFieldContainerImpl.inl.
References osg::TypeBase::getId(), and osg::FieldContainer::getType().
Referenced by osg::TextureChunk::changeFrom(), and osg::CubeTextureChunk::changeFrom().
00078 { 00079 return getType().getId(); 00080 }
| UInt16 osg::FieldContainer::getGroupId | ( | void | ) | const [inline, inherited] |
Definition at line 83 of file OSGFieldContainerImpl.inl.
References osg::FieldContainerType::getGroupId(), and osg::FieldContainer::getType().
Referenced by osg::fcptrAttributeMap(), osg::Image::setAttachmentField(), and osg::stringAttributeMap().
00084 { 00085 return getType().getGroupId(); 00086 }
| const Char8 * osg::FieldContainer::getTypeName | ( | void | ) | const [inline, inherited] |
Definition at line 89 of file OSGFieldContainerImpl.inl.
References osg::TypeBase::getCName(), and osg::FieldContainer::getType().
00090 { 00091 return getType().getCName(); 00092 }
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 }
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 }
| virtual FieldContainerPtr osg::FieldContainer::shallowCopy | ( | void | ) | const [pure virtual, inherited] |
Implemented in osg::RenderOptionsBase, osg::ClusterWindowBase, osg::DisplayCalibrationBase, osg::MultiDisplayWindowBase, osg::SortFirstWindowBase, osg::FCPtrAttributeMapBase, osg::StringAttributeMapBase, osg::Attachment, osg::SimpleAttachment< AttachmentDescT >, osg::Node, osg::ImageBase, osg::ChunkMaterialBase, osg::FresnelMaterialBase, osg::MultiPassMaterialBase, osg::PhongMaterialBase, osg::SimpleMaterialBase, osg::SimpleTexturedMaterialBase, osg::SwitchMaterialBase, osg::GeometryBase, osg::SlicesBase, osg::ParticlesBase, osg::DVRAppearanceBase, osg::DVRClipGeometryBase, osg::DVRClipObjectsBase, osg::DVRGeometryBase, osg::DVRIsoShaderBase, osg::DVRIsoSurfaceBase, osg::DVRLookupTableBase, osg::DVRMtexLUTShaderBase, osg::DVRSimpleLUTShaderBase, osg::DVRSimpleShaderBase, osg::DVRVolumeBase, osg::DVRVolumeTextureBase, osg::FatBorderChunkBase, osg::SurfaceBase, osg::GroupBase, osg::DirectionalLightBase, osg::LightEnvBase, osg::PointLightBase, osg::SpotLightBase, osg::BillboardBase, osg::ClipPlaneBase, osg::ComponentTransformBase, osg::DistanceLODBase, osg::InlineBase, osg::InverseTransformBase, osg::MaterialGroupBase, osg::MaterialPoolBase, osg::ProxyGroupBase, osg::ScreenGroupBase, osg::StateSortingGroupBase, osg::SwitchBase, osg::TransformBase, osg::BlendChunkBase, osg::ClipPlaneChunkBase, osg::ColorMaskChunkBase, osg::CubeTextureChunkBase, osg::DepthChunkBase, osg::FragmentProgramChunkBase, osg::LightChunkBase, osg::LightModelChunkBase, osg::LineChunkBase, osg::LogicOpChunkBase, osg::MaterialChunkBase, osg::PointChunkBase, osg::PolygonChunkBase, osg::RegisterCombinersChunkBase, osg::SClipPlaneChunkBase, osg::StateBase, osg::StencilChunkBase, osg::TexGenChunkBase, osg::TextureChunkBase, osg::TextureTransformChunkBase, osg::TransformChunkBase, osg::TwoSidedLightingChunkBase, osg::VertexProgramChunkBase, osg::GraphicStatisticsForegroundBase, osg::SimpleStatisticsForegroundBase, osg::ColorBufferViewportBase, osg::ColorDisplayFilterBase, osg::DepthClearBackgroundBase, osg::DisplayFilterForegroundBase, osg::DistortionDisplayFilterBase, osg::FBOViewportBase, osg::FileGrabForegroundBase, osg::GrabForegroundBase, osg::GradientBackgroundBase, osg::ImageBackgroundBase, osg::ImageForegroundBase, osg::MatrixCameraBase, osg::MatrixCameraDecoratorBase, osg::OffCenterPerspectiveCameraBase, osg::OrthographicCameraBase, osg::PassiveBackgroundBase, osg::PassiveViewportBase, osg::PassiveWindowBase, osg::PerspectiveCameraBase, osg::PolygonBackgroundBase, osg::PolygonForegroundBase, osg::ProjectionCameraDecoratorBase, osg::ResolutionDisplayFilterBase, osg::ShearedStereoCameraDecoratorBase, osg::SkyBackgroundBase, osg::SolidBackgroundBase, osg::StereoBufferViewportBase, osg::TextureBackgroundBase, osg::TextureGrabBackgroundBase, osg::TextureGrabForegroundBase, osg::TileCameraDecoratorBase, osg::ViewportBase, osg::ShaderParameterBoolBase, osg::ShaderParameterIntBase, osg::ShaderParameterMatrixBase, osg::ShaderParameterMIntBase, osg::ShaderParameterMMatrixBase, osg::ShaderParameterMRealBase, osg::ShaderParameterMVec2fBase, osg::ShaderParameterMVec3fBase, osg::ShaderParameterMVec4fBase, osg::ShaderParameterRealBase, osg::ShaderParameterStringBase, osg::ShaderParameterVec2fBase, osg::ShaderParameterVec3fBase, osg::ShaderParameterVec4fBase, osg::SHLChunkBase, osg::SHLParameterChunkBase, osg::XWindowBase, osg::WIN32WindowBase, osg::GLUTWindowBase, osg::QTWindowBase, osg::SimpleAttachment< osg::NameAttachmentDesc >, and osg::SimpleAttachment< osg::VoidPAttachmentDesc >.
| 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 }
| 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 }
| void osg::FieldContainer::beginEditX | ( | const BitVector & | whichField, | |
| FieldTypeT & | field | |||
| ) | [inline, protected, inherited] |
| 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().
| void osg::FieldContainer::onCreateAspect | ( | const FieldContainer * | aspect0, | |
| const FieldContainer * | source = NULL | |||
| ) | [inline, protected, inherited] |
| void FieldContainer::onDestroy | ( | void | ) | [protected, virtual, inherited] |
Reimplemented in osg::NodeCore, osg::Attachment, osg::Geometry, osg::Surface, osg::MaterialPool, osg::CubeTextureChunk, osg::TextureChunk, osg::FBOViewport, osg::Window, osg::ShaderParameterChunk, and osg::SHLChunk.
Definition at line 98 of file OSGFieldContainer.cpp.
friend class FieldContainer [friend] |
friend class ImageComposerBase [friend] |
Definition at line 170 of file OSGImageComposer.h.
bool osg::ImageComposer::_isClient [protected] |
UInt32 osg::ImageComposer::_clusterId [protected] |
UInt32 osg::ImageComposer::_clusterSize [protected] |
UInt32 osg::ImageComposer::_serverCount [protected] |
WindowPtr osg::ImageComposer::_localWindow [protected] |
ClusterWindowPtr osg::ImageComposer::_clusterWindow [protected] |
const osg::BitVector ImageComposerBase::EnabledFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ImageComposerBase::EnabledFieldId)
Definition at line 100 of file OSGImageComposerBase.h.
Referenced by osg::ImageComposerBase::copyFromBin(), osg::ImageComposerBase::copyToBin(), osg::ImageComposerBase::executeSyncImpl(), and osg::ImageComposerBase::getBinSize().
const osg::BitVector ImageComposerBase::StatisticsFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << ImageComposerBase::StatisticsFieldId)
Definition at line 101 of file OSGImageComposerBase.h.
Referenced by osg::ImageComposerBase::copyFromBin(), osg::ImageComposerBase::copyToBin(), osg::ImageComposerBase::executeSyncImpl(), and osg::ImageComposerBase::getBinSize().
const osg::BitVector ImageComposerBase::MTInfluenceMask [static, inherited] |
Initial value:
(Inherited::MTInfluenceMask) |
(static_cast<BitVector>(0x0) << Inherited::NextFieldId)
Reimplemented from osg::FieldContainer.
Definition at line 104 of file OSGImageComposerBase.h.
bool ImageComposerBase::_sfEnabled [protected, inherited] |
Do composition if value is true
Definition at line 169 of file OSGImageComposerBase.h.
Referenced by osg::ImageComposerBase::copyFromBin(), osg::ImageComposerBase::copyToBin(), osg::ImageComposerBase::executeSyncImpl(), osg::ImageComposerBase::getBinSize(), osg::ImageComposerBase::getEnabled(), osg::ImageComposerBase::getSFEnabled(), and osg::ImageComposerBase::setEnabled().
bool ImageComposerBase::_sfStatistics [protected, inherited] |
Do composition if value is true
Definition at line 170 of file OSGImageComposerBase.h.
Referenced by osg::ImageComposerBase::copyFromBin(), osg::ImageComposerBase::copyToBin(), osg::ImageComposerBase::executeSyncImpl(), osg::ImageComposerBase::getBinSize(), osg::ImageComposerBase::getSFStatistics(), osg::ImageComposerBase::getStatistics(), and osg::ImageComposerBase::setStatistics().
const BitVector AttachmentContainer::AttachmentsFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One <<
AttachmentContainer::AttachmentsFieldId)
Definition at line 84 of file OSGAttachmentContainerImpl.h.
Referenced by osg::VRMLFile::beginNode(), osg::AttachmentContainer::changed(), osg::AttachmentContainer::copyFromBin(), osg::AttachmentContainer::copyToBin(), osg::deepCloneAttachments(), osg::AttachmentContainer::executeSyncImpl(), osg::fcptrAttributeMap(), osg::AttachmentContainer::getBinSize(), and osg::stringAttributeMap().
SFAttachmentMap osg::AttachmentContainer::_attachmentMap [protected, inherited] |
Definition at line 161 of file OSGAttachmentContainerImpl.h.
Referenced by osg::AttachmentContainer::AttachmentContainer(), osg::AttachmentContainer::changed(), osg::AttachmentContainer::copyFromBin(), osg::AttachmentContainer::copyToBin(), osg::NodeCore::dump(), osg::Node::dump(), osg::Geometry::dump(), osg::AttachmentContainer::dump(), osg::AttachmentContainer::executeSyncImpl(), osg::AttachmentContainer::findAttachment(), osg::AttachmentContainer::getBinSize(), osg::AttachmentContainer::getSFAttachments(), osg::Node::onCreate(), osg::AttachmentContainer::subAttachment(), and osg::AttachmentContainer::~AttachmentContainer().
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] |
UInt32 osg::FieldContainer::_shares [protected, inherited] |
Definition at line 199 of file OSGFieldContainerImpl.h.
1.5.5