#include <OSGMultiPassMaterial.h>

Rendering | |
| virtual Int32 | getRealSortKey (void) const |
| typedef TypedFunctor1Base < Action::ResultE, PtrCallArg < DrawActionBase > > | DrawFunctor |
Public Types | |
| enum | { MaterialsFieldId = Inherited::NextFieldId, NextFieldId = MaterialsFieldId + 1 } |
| typedef MultiPassMaterialPtr | Ptr |
| enum | { SortKeyFieldId = Inherited::NextFieldId, TransparencyModeFieldId = SortKeyFieldId + 1, NextFieldId = TransparencyModeFieldId + 1 } |
| 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 |
Rendering | |
| virtual void | draw (DrawFunctor &func, DrawActionBase *action) |
| virtual void | draw (Geometry *geo, DrawActionBase *action) |
| virtual StatePtr | makeState (void) |
| virtual void | rebuildState (void) |
| virtual StatePtr | getState (UInt32 index=0) |
| virtual bool | isMultiPass (void) const |
| virtual UInt32 | getNPasses (void) const |
| virtual bool | isTransparent (void) const |
Access | |
| void | addMaterial (MaterialPtr mat) |
| void | subMaterial (MaterialPtr mat) |
| bool | hasMaterial (MaterialPtr mat) |
FieldContainer Get | |
| virtual FieldContainerType & | getType (void) |
| virtual const FieldContainerType & | getType (void) const |
| virtual UInt32 | getContainerSize (void) const |
Field Get | |
| MFMaterialPtr * | getMFMaterials (void) |
| Get the MultiPassMaterial::_mfMaterials field. | |
| MaterialPtr & | getMaterials (const UInt32 index) |
| Get the value of the index element the MultiPassMaterial::_mfMaterials field. | |
| MFMaterialPtr & | getMaterials (void) |
| Get the MultiPassMaterial::_mfMaterials field. | |
| const MFMaterialPtr & | getMaterials (void) const |
| Get the MultiPassMaterial::_mfMaterials 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 |
Comparison | |
| virtual bool | operator< (const Material &other) const |
| virtual bool | operator== (const Material &other) const |
| virtual bool | operator!= (const Material &other) const |
Field Get | |
| SFInt32 * | getSFSortKey (void) |
| Get the Material::_sfSortKey field. | |
| SFInt32 * | getSFTransparencyMode (void) |
| Get the Material::_sfTransparencyMode field. | |
| Int32 & | getSortKey (void) |
| Get the value of the Material::_sfSortKey field. | |
| const Int32 & | getSortKey (void) const |
| Get the value of the Material::_sfSortKey field. | |
| Int32 & | getTransparencyMode (void) |
| Get the value of the Material::_sfTransparencyMode field. | |
| const Int32 & | getTransparencyMode (void) const |
| Get the value of the Material::_sfTransparencyMode field. | |
Field Set | |
| void | setSortKey (const Int32 &value) |
| Set the value of the Material::_sfSortKey field. | |
| void | setTransparencyMode (const Int32 &value) |
| Set the value of the Material::_sfTransparencyMode field. | |
Handle Attachments | |
| void | addAttachment (const AttachmentPtr &fieldContainerP, UInt16 binding=0) |
| void | subAttachment (const AttachmentPtr &fieldContainerP, UInt16 binding=0) |
| AttachmentPtr | findAttachment (UInt32 groupId, UInt16 binding=0) |
| AttachmentPtr | findAttachment (const FieldContainerType &type, UInt16 binding=0) |
| 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) |
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 | |
Construction | |
| static MultiPassMaterialPtr | create (void) |
| create a new instance of the class | |
| static MultiPassMaterialPtr | createEmpty (void) |
| create an empty new instance of the class, do not copy the prototype | |
Class Get | |
| static const char * | getClassname (void) |
Get Class Type Information | |
| static UInt16 | getClassGroupId (void) |
Static Public Attributes | |
| static const osg::BitVector | MaterialsFieldMask |
| static const osg::BitVector | MTInfluenceMask |
| static const osg::BitVector | SortKeyFieldMask |
| static const osg::BitVector | TransparencyModeFieldMask |
| static const BitVector | AttachmentsFieldMask |
| static const BitVector | NextFieldMask |
Constants | |
| static const Int32 | NoStateSorting = 0x7fffffff |
| static const Int32 | TransparencyAutoDetection = 0 |
| static const Int32 | TransparencyForceTransparent = 1 |
| static const Int32 | TransparencyForceOpaque = 2 |
CoredNodePtr helper | |
| static const bool | isNodeCore = false |
Protected Member Functions | |
Constructors | |
| MultiPassMaterial (void) | |
| MultiPassMaterial (const MultiPassMaterial &source) | |
Destructors | |
| virtual | ~MultiPassMaterial (void) |
Sync | |
| void | executeSyncImpl (MultiPassMaterialBase *pOther, const BitVector &whichField) |
| virtual void | executeSync (FieldContainer &other, const BitVector &whichField) |
Sync | |
| void | executeSyncImpl (MaterialBase *pOther, const BitVector &whichField) |
Sync | |
| void | executeSyncImpl (AttachmentContainer *pOther, const BitVector &whichField) |
Sync | |
| void | executeSyncImpl (FieldContainer *pOther, const BitVector &whichField) |
Pointer | |
| AttachmentContainerPtr | getPtr (void) |
MT Edit | |
| template<class FieldTypeT> | |
| void | beginEditX (const BitVector &whichField, FieldTypeT &field) |
| template<class FieldTypeT> | |
| void | endEditX (const BitVector &whichField, FieldTypeT &field) |
MT Construction | |
| void | onCreate (const FieldContainer *source=NULL) |
| void | onCreateAspect (const FieldContainer *aspect0, const FieldContainer *source=NULL) |
MT Destruction | |
| virtual void | onDestroy (void) |
Static Protected Member Functions | |
Create Fieldcontainer | |
| template<class ObjectPtrT> | |
| static void | newPtr (ObjectPtrT &result, const typename ObjectPtrT::StoredObjectType *prototypeP) |
| template<class ObjectPtrT> | |
| static void | newPtr (ObjectPtrT &result) |
Protected Attributes | |
| StatePtr | _pState |
Fields | |
| MFMaterialPtr | _mfMaterials |
Fields | |
| SFInt32 | _sfSortKey |
| SFInt32 | _sfTransparencyMode |
Fields | |
| SFAttachmentMap | _attachmentMap |
Member | |
| UInt32 | _shares |
Private Types | |
| typedef MultiPassMaterialBase | Inherited |
Private Member Functions | |
| void | operator= (const MultiPassMaterial &source) |
Static Private Member Functions | |
| static void | initMethod (void) |
Friends | |
| class | FieldContainer |
| class | MultiPassMaterialBase |
Definition at line 55 of file OSGMultiPassMaterial.h.
typedef MultiPassMaterialBase osg::MultiPassMaterial::Inherited [private] |
Reimplemented from osg::MultiPassMaterialBase.
Definition at line 59 of file OSGMultiPassMaterial.h.
typedef MultiPassMaterialPtr osg::MultiPassMaterialBase::Ptr [inherited] |
typedef TypedFunctor1Base<Action::ResultE, PtrCallArg<DrawActionBase> > osg::Material::DrawFunctor [inherited] |
Definition at line 107 of file OSGMaterial.h.
anonymous enum [inherited] |
Definition at line 92 of file OSGMultiPassMaterialBase.h.
00093 { 00094 MaterialsFieldId = Inherited::NextFieldId, 00095 NextFieldId = MaterialsFieldId + 1 00096 };
anonymous enum [inherited] |
Definition at line 93 of file OSGMaterialBase.h.
00094 { 00095 SortKeyFieldId = Inherited::NextFieldId, 00096 TransparencyModeFieldId = SortKeyFieldId + 1, 00097 NextFieldId = TransparencyModeFieldId + 1 00098 };
anonymous enum [inherited] |
Definition at line 78 of file OSGAttachmentContainerImpl.h.
00079 { 00080 AttachmentsFieldId = Inherited::NextFieldId, 00081 NextFieldId = AttachmentsFieldId + 1 00082 };
anonymous enum [inherited] |
| MultiPassMaterial::MultiPassMaterial | ( | void | ) | [protected] |
| MultiPassMaterial::MultiPassMaterial | ( | const MultiPassMaterial & | source | ) | [protected] |
Definition at line 88 of file OSGMultiPassMaterial.cpp.
00088 : 00089 Inherited(source) 00090 { 00091 }
| MultiPassMaterial::~MultiPassMaterial | ( | void | ) | [protected, virtual] |
Definition at line 93 of file OSGMultiPassMaterial.cpp.
References osg::MultiPassMaterialBase::_mfMaterials, osg::MField< FieldTypeT, fieldNameSpace >::begin(), osg::MField< FieldTypeT, fieldNameSpace >::end(), and osg::subRefCP().
00094 { 00095 MFMaterialPtr::iterator matIt = _mfMaterials.begin(); 00096 MFMaterialPtr::iterator matEnd = _mfMaterials.end (); 00097 00098 while(matIt != matEnd) 00099 { 00100 subRefCP(*matIt); 00101 00102 ++matIt; 00103 } 00104 }
Reimplemented from osg::Material.
Definition at line 108 of file OSGMultiPassMaterial.cpp.
References osg::MultiPassMaterialBase::_mfMaterials, osg::ChangedOrigin::Abstract, osg::addRefCP(), osg::MField< FieldTypeT, fieldNameSpace >::begin(), osg::Material::changed(), and osg::MField< FieldTypeT, fieldNameSpace >::end().
00109 { 00110 if(origin & ChangedOrigin::Abstract) 00111 { 00112 MFMaterialPtr::iterator matIt = _mfMaterials.begin(); 00113 MFMaterialPtr::iterator matEnd = _mfMaterials.end (); 00114 00115 while(matIt != matEnd) 00116 { 00117 addRefCP(*matIt); 00118 00119 ++matIt; 00120 } 00121 } 00122 00123 Inherited::changed(whichField, origin); 00124 }
Reimplemented from osg::Material.
Definition at line 250 of file OSGMultiPassMaterial.cpp.
References SLOG.
00252 { 00253 SLOG << "Dump MultiPassMaterial NI" << std::endl; 00254 }
| void MultiPassMaterial::draw | ( | DrawFunctor & | func, | |
| DrawActionBase * | action | |||
| ) | [virtual] |
Draw the function behind the functor with this material. The functored function should be very careful changing OpenGL state, better just use glBegin(), glEnd() and the standard stuff in between.
Implements osg::Material.
Definition at line 182 of file OSGMultiPassMaterial.cpp.
| void MultiPassMaterial::draw | ( | Geometry * | geo, | |
| DrawActionBase * | action | |||
| ) | [virtual] |
Draw the geometry with this material.
Implements osg::Material.
Definition at line 173 of file OSGMultiPassMaterial.cpp.
| StatePtr MultiPassMaterial::makeState | ( | void | ) | [virtual] |
Create a osg::State that represents this Material and return it.
Implements osg::Material.
Definition at line 189 of file OSGMultiPassMaterial.cpp.
References osg::NullFC.
00190 { 00191 return NullFC; 00192 }
| void MultiPassMaterial::rebuildState | ( | void | ) | [virtual] |
Rebuild the internal State. Just collects the chunks in the State.
Implements osg::Material.
Definition at line 197 of file OSGMultiPassMaterial.cpp.
References osg::MultiPassMaterialBase::_mfMaterials, osg::NullFC, and osg::MField< FieldTypeT, fieldNameSpace >::size().
00198 { 00199 for(UInt32 i = 0; i < _mfMaterials.size(); ++i) 00200 { 00201 if(_mfMaterials[i] != NullFC) 00202 _mfMaterials[i]->rebuildState(); 00203 } 00204 }
Draw the function behind the functor with this material. The functored function should be very careful changing OpenGL state, better just use glBegin(), glEnd() and the standard stuff in between.
Reimplemented from osg::Material.
Definition at line 206 of file OSGMultiPassMaterial.cpp.
References osg::MultiPassMaterialBase::_mfMaterials, osg::NullFC, osg::MField< FieldTypeT, fieldNameSpace >::size(), and SWARNING.
Referenced by osg::RenderAction::getMaterialStates().
00207 { 00208 if(index >= _mfMaterials.size()) 00209 { 00210 SWARNING << "MultiPassMaterial::getState: index out of range!" << std::endl; 00211 return NullFC; 00212 } 00213 00214 if(_mfMaterials[index] != NullFC) 00215 return _mfMaterials[index]->getState(); 00216 00217 return NullFC; 00218 }
| bool MultiPassMaterial::isMultiPass | ( | void | ) | const [virtual] |
Draw the function behind the functor with this material. The functored function should be very careful changing OpenGL state, better just use glBegin(), glEnd() and the standard stuff in between.
Reimplemented from osg::Material.
Definition at line 220 of file OSGMultiPassMaterial.cpp.
| UInt32 MultiPassMaterial::getNPasses | ( | void | ) | const [virtual] |
Draw the function behind the functor with this material. The functored function should be very careful changing OpenGL state, better just use glBegin(), glEnd() and the standard stuff in between.
Reimplemented from osg::Material.
Definition at line 225 of file OSGMultiPassMaterial.cpp.
References osg::MultiPassMaterialBase::_mfMaterials, and osg::MField< FieldTypeT, fieldNameSpace >::size().
Referenced by osg::RenderAction::getMaterialStates().
00226 { 00227 return _mfMaterials.size(); 00228 }
| bool MultiPassMaterial::isTransparent | ( | void | ) | const [virtual] |
Check if the Material (i.e. any of its materials) is transparent..
Implements osg::Material.
Definition at line 232 of file OSGMultiPassMaterial.cpp.
References osg::MultiPassMaterialBase::_mfMaterials, osg::MField< FieldTypeT, fieldNameSpace >::begin(), osg::MField< FieldTypeT, fieldNameSpace >::end(), osg::MaterialBase::getTransparencyMode(), osg::NullFC, osg::Material::TransparencyAutoDetection, and osg::Material::TransparencyForceTransparent.
00233 { 00234 Int32 tm = getTransparencyMode(); 00235 if(tm != Material::TransparencyAutoDetection) 00236 { 00237 return (tm == Material::TransparencyForceTransparent); 00238 } 00239 00240 MFMaterialPtr::const_iterator it = _mfMaterials.begin(); 00241 MFMaterialPtr::const_iterator matsEnd = _mfMaterials.end(); 00242 00243 // ok just check the first (base) material. 00244 if(it != matsEnd && (*it) != NullFC && (*it)->isTransparent()) 00245 return true; 00246 00247 return false; 00248 }
| void MultiPassMaterial::addMaterial | ( | MaterialPtr | mat | ) |
Definition at line 126 of file OSGMultiPassMaterial.cpp.
References osg::MultiPassMaterialBase::_mfMaterials, osg::addRefCP(), osg::NullFC, and osg::MField< FieldTypeT, fieldNameSpace >::push_back().
00127 { 00128 if(mat == NullFC) 00129 return; 00130 00131 _mfMaterials.push_back(mat); 00132 addRefCP(mat); 00133 }
| void MultiPassMaterial::subMaterial | ( | MaterialPtr | mat | ) |
Definition at line 135 of file OSGMultiPassMaterial.cpp.
References osg::MultiPassMaterialBase::_mfMaterials, osg::MField< FieldTypeT, fieldNameSpace >::begin(), osg::MField< FieldTypeT, fieldNameSpace >::erase(), osg::NullFC, osg::MField< FieldTypeT, fieldNameSpace >::size(), osg::subRefCP(), and SWARNING.
00136 { 00137 if(mat == NullFC) 00138 return; 00139 00140 UInt32 i; 00141 00142 for(i = 0; i < _mfMaterials.size(); ++i) 00143 { 00144 if(_mfMaterials[i] == mat) 00145 { 00146 subRefCP(mat); 00147 _mfMaterials.erase(_mfMaterials.begin() + i); 00148 return; 00149 } 00150 } 00151 00152 SWARNING << "MultiPassMaterial::subMaterial(" << this << ") has no material " 00153 << mat << std::endl; 00154 }
| bool MultiPassMaterial::hasMaterial | ( | MaterialPtr | mat | ) |
Definition at line 156 of file OSGMultiPassMaterial.cpp.
References osg::MultiPassMaterialBase::_mfMaterials, and osg::MField< FieldTypeT, fieldNameSpace >::size().
00157 { 00158 UInt32 i; 00159 00160 for(i = 0; i < _mfMaterials.size(); ++i) 00161 { 00162 if(_mfMaterials[i] == mat) 00163 return true; 00164 } 00165 00166 return false; 00167 }
| void MultiPassMaterial::initMethod | ( | void | ) | [static, private] |
| void osg::MultiPassMaterial::operator= | ( | const MultiPassMaterial & | source | ) | [private] |
| osg::FieldContainerType & osg::MultiPassMaterialBase::getClassType | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::MaterialBase.
Definition at line 58 of file OSGMultiPassMaterialBase.inl.
References osg::MultiPassMaterialBase::_type.
Referenced by osg::MultiPassMaterialBase::create().
00059 { 00060 return _type; 00061 }
| osg::UInt32 osg::MultiPassMaterialBase::getClassTypeId | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::MaterialBase.
Definition at line 65 of file OSGMultiPassMaterialBase.inl.
References osg::MultiPassMaterialBase::_type, and osg::TypeBase::getId().
00066 { 00067 return _type.getId(); 00068 }
| FieldContainerType & MultiPassMaterialBase::getType | ( | void | ) | [virtual, inherited] |
Reimplemented from osg::MaterialBase.
Definition at line 106 of file OSGMultiPassMaterialBase.cpp.
References osg::MultiPassMaterialBase::_type.
00107 { 00108 return _type; 00109 }
| const FieldContainerType & MultiPassMaterialBase::getType | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::MaterialBase.
Definition at line 111 of file OSGMultiPassMaterialBase.cpp.
References osg::MultiPassMaterialBase::_type.
00112 { 00113 return _type; 00114 }
| UInt32 MultiPassMaterialBase::getContainerSize | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::MaterialBase.
Definition at line 126 of file OSGMultiPassMaterialBase.cpp.
00127 { 00128 return sizeof(MultiPassMaterial); 00129 }
| MFMaterialPtr * osg::MultiPassMaterialBase::getMFMaterials | ( | void | ) | [inline, inherited] |
Definition at line 101 of file OSGMultiPassMaterialBase.inl.
References osg::MultiPassMaterialBase::_mfMaterials.
00102 { 00103 return &_mfMaterials; 00104 }
| MaterialPtr & osg::MultiPassMaterialBase::getMaterials | ( | const UInt32 | index | ) | [inline, inherited] |
Definition at line 110 of file OSGMultiPassMaterialBase.inl.
References osg::MultiPassMaterialBase::_mfMaterials.
Referenced by osg::RenderAction::getMaterialStates().
00111 { 00112 return _mfMaterials[index]; 00113 }
| MFMaterialPtr & osg::MultiPassMaterialBase::getMaterials | ( | void | ) | [inline, inherited] |
Definition at line 117 of file OSGMultiPassMaterialBase.inl.
References osg::MultiPassMaterialBase::_mfMaterials.
00118 { 00119 return _mfMaterials; 00120 }
| const MFMaterialPtr & osg::MultiPassMaterialBase::getMaterials | ( | void | ) | const [inline, inherited] |
Definition at line 124 of file OSGMultiPassMaterialBase.inl.
References osg::MultiPassMaterialBase::_mfMaterials.
00125 { 00126 return _mfMaterials; 00127 }
Reimplemented from osg::MaterialBase.
Definition at line 189 of file OSGMultiPassMaterialBase.cpp.
References osg::MultiPassMaterialBase::_mfMaterials, osg::MField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::MaterialBase::getBinSize(), osg::MultiPassMaterialBase::MaterialsFieldMask, and osg::FieldBits::NoField.
00190 { 00191 UInt32 returnValue = Inherited::getBinSize(whichField); 00192 00193 if(FieldBits::NoField != (MaterialsFieldMask & whichField)) 00194 { 00195 returnValue += _mfMaterials.getBinSize(); 00196 } 00197 00198 00199 return returnValue; 00200 }
| void MultiPassMaterialBase::copyToBin | ( | BinaryDataHandler & | pMem, | |
| const BitVector & | whichField | |||
| ) | [virtual, inherited] |
Reimplemented from osg::MaterialBase.
Definition at line 202 of file OSGMultiPassMaterialBase.cpp.
References osg::MultiPassMaterialBase::_mfMaterials, osg::MField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::MaterialBase::copyToBin(), osg::MultiPassMaterialBase::MaterialsFieldMask, and osg::FieldBits::NoField.
00204 { 00205 Inherited::copyToBin(pMem, whichField); 00206 00207 if(FieldBits::NoField != (MaterialsFieldMask & whichField)) 00208 { 00209 _mfMaterials.copyToBin(pMem); 00210 } 00211 00212 00213 }
| void MultiPassMaterialBase::copyFromBin | ( | BinaryDataHandler & | pMem, | |
| const BitVector & | whichField | |||
| ) | [virtual, inherited] |
Reimplemented from osg::MaterialBase.
Definition at line 215 of file OSGMultiPassMaterialBase.cpp.
References osg::MultiPassMaterialBase::_mfMaterials, osg::MField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::MaterialBase::copyFromBin(), osg::MultiPassMaterialBase::MaterialsFieldMask, and osg::FieldBits::NoField.
00217 { 00218 Inherited::copyFromBin(pMem, whichField); 00219 00220 if(FieldBits::NoField != (MaterialsFieldMask & whichField)) 00221 { 00222 _mfMaterials.copyFromBin(pMem); 00223 } 00224 00225 00226 }
| MultiPassMaterialPtr osg::MultiPassMaterialBase::create | ( | void | ) | [inline, static, inherited] |
Definition at line 72 of file OSGMultiPassMaterialBase.inl.
References osg::AttachmentContainerPtr::dcast(), osg::MultiPassMaterialBase::getClassType(), osg::NullFC, and osg::MultiPassMaterialBase::shallowCopy().
00073 { 00074 MultiPassMaterialPtr fc; 00075 00076 if(getClassType().getPrototype() != OSG::NullFC) 00077 { 00078 fc = MultiPassMaterialPtr::dcast( 00079 getClassType().getPrototype()-> shallowCopy()); 00080 } 00081 00082 return fc; 00083 }
| MultiPassMaterialPtr osg::MultiPassMaterialBase::createEmpty | ( | void | ) | [inline, static, inherited] |
Definition at line 87 of file OSGMultiPassMaterialBase.inl.
References osg::FieldContainer::newPtr().
00088 { 00089 MultiPassMaterialPtr returnValue; 00090 00091 newPtr(returnValue); 00092 00093 return returnValue; 00094 }
| FieldContainerPtr MultiPassMaterialBase::shallowCopy | ( | void | ) | const [virtual, inherited] |
Implements osg::FieldContainer.
Definition at line 117 of file OSGMultiPassMaterialBase.cpp.
References osg::FieldContainer::newPtr().
Referenced by osg::MultiPassMaterialBase::create().
00118 { 00119 MultiPassMaterialPtr returnValue; 00120 00121 newPtr(returnValue, dynamic_cast<const MultiPassMaterial *>(this)); 00122 00123 return returnValue; 00124 }
| void MultiPassMaterialBase::executeSyncImpl | ( | MultiPassMaterialBase * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Definition at line 229 of file OSGMultiPassMaterialBase.cpp.
References osg::MultiPassMaterialBase::_mfMaterials, osg::MaterialBase::executeSyncImpl(), osg::MultiPassMaterialBase::MaterialsFieldMask, osg::FieldBits::NoField, and osg::MField< FieldTypeT, fieldNameSpace >::syncWith().
Referenced by osg::MultiPassMaterialBase::executeSync().
00231 { 00232 00233 Inherited::executeSyncImpl(pOther, whichField); 00234 00235 if(FieldBits::NoField != (MaterialsFieldMask & whichField)) 00236 _mfMaterials.syncWith(pOther->_mfMaterials); 00237 00238 00239 }
| void osg::MaterialBase::executeSyncImpl | ( | MaterialBase * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Definition at line 247 of file OSGMaterialBase.cpp.
References osg::MaterialBase::_sfSortKey, osg::MaterialBase::_sfTransparencyMode, osg::AttachmentContainer::executeSyncImpl(), osg::FieldBits::NoField, osg::MaterialBase::SortKeyFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::syncWith(), and osg::MaterialBase::TransparencyModeFieldMask.
Referenced by osg::MaterialBase::executeSync(), osg::SwitchMaterialBase::executeSyncImpl(), osg::MultiPassMaterialBase::executeSyncImpl(), and osg::ChunkMaterialBase::executeSyncImpl().
00249 { 00250 00251 Inherited::executeSyncImpl(pOther, whichField); 00252 00253 if(FieldBits::NoField != (SortKeyFieldMask & whichField)) 00254 _sfSortKey.syncWith(pOther->_sfSortKey); 00255 00256 if(FieldBits::NoField != (TransparencyModeFieldMask & whichField)) 00257 _sfTransparencyMode.syncWith(pOther->_sfTransparencyMode); 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 MultiPassMaterialBase::executeSync | ( | FieldContainer & | other, | |
| const BitVector & | whichField | |||
| ) | [protected, virtual, inherited] |
Reimplemented from osg::MaterialBase.
Definition at line 133 of file OSGMultiPassMaterialBase.cpp.
References osg::MultiPassMaterialBase::executeSyncImpl().
00135 { 00136 this->executeSyncImpl((MultiPassMaterialBase *) &other, whichField); 00137 }
| static const char* osg::Material::getClassname | ( | void | ) | [inline, static, inherited] |
Reimplemented in osg::ChunkMaterial, and osg::SimpleMaterial.
Definition at line 71 of file OSGMaterial.h.
| Int32 Material::getRealSortKey | ( | void | ) | const [virtual, inherited] |
Reimplemented in osg::SwitchMaterial.
Definition at line 186 of file OSGMaterial.cpp.
References osg::MaterialBase::_sfSortKey, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by osg::RenderAction::dropFunctor(), osg::RenderAction::dropGeometry(), and osg::SwitchMaterial::getRealSortKey().
00187 { 00188 return _sfSortKey.getValue(); 00189 }
| bool Material::operator< | ( | const Material & | other | ) | const [virtual, inherited] |
| bool Material::operator== | ( | const Material & | other | ) | const [virtual, inherited] |
| bool Material::operator!= | ( | const Material & | other | ) | const [virtual, inherited] |
| SFInt32 * osg::MaterialBase::getSFSortKey | ( | void | ) | [inline, inherited] |
Definition at line 75 of file OSGMaterialBase.inl.
References osg::MaterialBase::_sfSortKey.
00076 { 00077 return &_sfSortKey; 00078 }
| SFInt32 * osg::MaterialBase::getSFTransparencyMode | ( | void | ) | [inline, inherited] |
Definition at line 82 of file OSGMaterialBase.inl.
References osg::MaterialBase::_sfTransparencyMode.
00083 { 00084 return &_sfTransparencyMode; 00085 }
| Int32 & osg::MaterialBase::getSortKey | ( | void | ) | [inline, inherited] |
Definition at line 90 of file OSGMaterialBase.inl.
References osg::MaterialBase::_sfSortKey, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00091 { 00092 return _sfSortKey.getValue(); 00093 }
| const Int32 & osg::MaterialBase::getSortKey | ( | void | ) | const [inline, inherited] |
Definition at line 97 of file OSGMaterialBase.inl.
References osg::MaterialBase::_sfSortKey, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00098 { 00099 return _sfSortKey.getValue(); 00100 }
| Int32 & osg::MaterialBase::getTransparencyMode | ( | void | ) | [inline, inherited] |
Definition at line 111 of file OSGMaterialBase.inl.
References osg::MaterialBase::_sfTransparencyMode, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by isTransparent(), and osg::ChunkMaterial::isTransparent().
00112 { 00113 return _sfTransparencyMode.getValue(); 00114 }
| const Int32 & osg::MaterialBase::getTransparencyMode | ( | void | ) | const [inline, inherited] |
Definition at line 118 of file OSGMaterialBase.inl.
References osg::MaterialBase::_sfTransparencyMode, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00119 { 00120 return _sfTransparencyMode.getValue(); 00121 }
| void osg::MaterialBase::setSortKey | ( | const Int32 & | value | ) | [inline, inherited] |
Definition at line 104 of file OSGMaterialBase.inl.
References osg::MaterialBase::_sfSortKey, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00105 { 00106 _sfSortKey.setValue(value); 00107 }
| void osg::MaterialBase::setTransparencyMode | ( | const Int32 & | value | ) | [inline, inherited] |
Definition at line 125 of file OSGMaterialBase.inl.
References osg::MaterialBase::_sfTransparencyMode, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00126 { 00127 _sfTransparencyMode.setValue(value); 00128 }
| 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 }
| 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] |
Reimplemented from osg::MultiPassMaterialBase.
Definition at line 134 of file OSGMultiPassMaterial.h.
friend class MultiPassMaterialBase [friend] |
Definition at line 135 of file OSGMultiPassMaterial.h.
const osg::BitVector MultiPassMaterialBase::MaterialsFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << MultiPassMaterialBase::MaterialsFieldId)
Definition at line 98 of file OSGMultiPassMaterialBase.h.
Referenced by osg::MultiPassMaterialBase::copyFromBin(), osg::MultiPassMaterialBase::copyToBin(), osg::MultiPassMaterialBase::executeSyncImpl(), and osg::MultiPassMaterialBase::getBinSize().
const osg::BitVector MultiPassMaterialBase::MTInfluenceMask [static, inherited] |
Initial value:
(Inherited::MTInfluenceMask) |
(static_cast<BitVector>(0x0) << Inherited::NextFieldId)
Reimplemented from osg::MaterialBase.
Definition at line 101 of file OSGMultiPassMaterialBase.h.
MaterialPtr MultiPassMaterialBase::_mfMaterials [protected, inherited] |
Definition at line 178 of file OSGMultiPassMaterialBase.h.
Referenced by addMaterial(), changed(), osg::MultiPassMaterialBase::copyFromBin(), osg::MultiPassMaterialBase::copyToBin(), osg::MultiPassMaterialBase::executeSyncImpl(), osg::MultiPassMaterialBase::getBinSize(), osg::MultiPassMaterialBase::getMaterials(), osg::MultiPassMaterialBase::getMFMaterials(), getNPasses(), getState(), hasMaterial(), isTransparent(), rebuildState(), subMaterial(), and ~MultiPassMaterial().
const Int32 Material::NoStateSorting = 0x7fffffff [static, inherited] |
Definition at line 78 of file OSGMaterial.h.
Referenced by osg::RenderAction::dropFunctor(), and osg::RenderAction::dropGeometry().
const Int32 Material::TransparencyAutoDetection = 0 [static, inherited] |
Definition at line 79 of file OSGMaterial.h.
Referenced by isTransparent(), and osg::ChunkMaterial::isTransparent().
const Int32 Material::TransparencyForceTransparent = 1 [static, inherited] |
Definition at line 80 of file OSGMaterial.h.
Referenced by isTransparent(), and osg::ChunkMaterial::isTransparent().
const Int32 Material::TransparencyForceOpaque = 2 [static, inherited] |
Definition at line 81 of file OSGMaterial.h.
StatePtr osg::Material::_pState [protected, inherited] |
Definition at line 142 of file OSGMaterial.h.
Referenced by osg::Material::getState(), osg::Material::operator==(), osg::SimpleTexturedMaterial::rebuildState(), osg::SimpleMaterial::rebuildState(), osg::PhongMaterial::rebuildState(), osg::FresnelMaterial::rebuildState(), osg::ChunkMaterial::rebuildState(), osg::Material::~Material(), and osg::SwitchMaterial::~SwitchMaterial().
const osg::BitVector osg::MaterialBase::SortKeyFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << MaterialBase::SortKeyFieldId)
Definition at line 100 of file OSGMaterialBase.h.
Referenced by osg::MaterialBase::copyFromBin(), osg::MaterialBase::copyToBin(), osg::MaterialBase::executeSyncImpl(), and osg::MaterialBase::getBinSize().
const osg::BitVector osg::MaterialBase::TransparencyModeFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << MaterialBase::TransparencyModeFieldId)
Definition at line 101 of file OSGMaterialBase.h.
Referenced by osg::MaterialBase::copyFromBin(), osg::MaterialBase::copyToBin(), osg::MaterialBase::executeSyncImpl(), and osg::MaterialBase::getBinSize().
Int32 osg::MaterialBase::_sfSortKey [protected, inherited] |
Definition at line 169 of file OSGMaterialBase.h.
Referenced by osg::MaterialBase::copyFromBin(), osg::MaterialBase::copyToBin(), osg::MaterialBase::executeSyncImpl(), osg::MaterialBase::getBinSize(), osg::Material::getRealSortKey(), osg::MaterialBase::getSFSortKey(), osg::MaterialBase::getSortKey(), and osg::MaterialBase::setSortKey().
Int32 osg::MaterialBase::_sfTransparencyMode [protected, inherited] |
Set the transparency mode, possible values are TransparencyAutoDetection, TransparencyForceTransparent and TransparencyForceOpaque
Definition at line 170 of file OSGMaterialBase.h.
Referenced by osg::MaterialBase::copyFromBin(), osg::MaterialBase::copyToBin(), osg::MaterialBase::executeSyncImpl(), osg::MaterialBase::getBinSize(), osg::MaterialBase::getSFTransparencyMode(), osg::MaterialBase::getTransparencyMode(), and osg::MaterialBase::setTransparencyMode().
const BitVector 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