#include <OSGState.h>

Public Types | |
| enum | { ChunksFieldId = Inherited::NextFieldId, NextFieldId = ChunksFieldId + 1 } |
| typedef StatePtr | Ptr |
| enum | { NextFieldId = 1 } |
Enums | |
| enum | { AutoSlot = -1, AutoSlotReplace = -2 } |
Public Member Functions | |
Sync | |
| virtual void | changed (BitVector whichField, UInt32 origin) |
Output | |
| virtual void | dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const |
OpenGL State Management | |
| void | activate (DrawActionBase *action) |
| void | changeFrom (DrawActionBase *action, State *old) |
| void | deactivate (DrawActionBase *action) |
Access | |
| StateChunkPtr | getChunk (UInt32 chunkId) |
| bool | chunkPresent (UInt32 chunkId) |
| bool | chunkPresent (StateChunkPtr chunk) |
| bool | addChunk (StateChunkPtr chunk, Int32 index=AutoSlotReplace) |
| bool | subChunk (StateChunkPtr chunk) |
| bool | subChunk (UInt32 classid, Int32 index) |
| void | clearChunks (void) |
Comparison | |
| virtual Real32 | switchCost (State *state) |
| virtual bool | operator< (const State &other) const |
| virtual bool | operator== (const State &other) const |
| virtual bool | operator!= (const State &other) const |
FieldContainer Get | |
| virtual FieldContainerType & | getType (void) |
| virtual const FieldContainerType & | getType (void) const |
| virtual UInt32 | getContainerSize (void) const |
Field Get | |
| MFStateChunkPtr * | getMFChunks (void) |
| Get the State::_mfChunks field. | |
| StateChunkPtr & | getChunks (const UInt32 index) |
| Get the value of the index element the State::_mfChunks field. | |
| MFStateChunkPtr & | getChunks (void) |
| Get the State::_mfChunks field. | |
| const MFStateChunkPtr & | getChunks (void) const |
| Get the State::_mfChunks 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 |
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 const char * | getClassname (void) |
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 StatePtr | create (void) |
| create a new instance of the class | |
| static StatePtr | createEmpty (void) |
| create an empty new instance of the class, do not copy the prototype | |
Get Class Type Information | |
| static UInt16 | getClassGroupId (void) |
Static Public Attributes | |
| static const osg::BitVector | ChunksFieldMask |
| static const osg::BitVector | MTInfluenceMask |
| static const BitVector | NextFieldMask |
CoredNodePtr helper | |
| static const bool | isNodeCore = false |
Protected Member Functions | |
Constructors | |
| State (void) | |
| State (const State &source) | |
Destructors | |
| virtual | ~State (void) |
Sync | |
| void | executeSyncImpl (StateBase *pOther, const BitVector &whichField) |
| virtual void | executeSync (FieldContainer &other, const BitVector &whichField) |
Sync | |
| void | executeSyncImpl (FieldContainer *pOther, const BitVector &whichField) |
MT Edit | |
| template<class FieldTypeT> | |
| void | beginEditX (const BitVector &whichField, FieldTypeT &field) |
| template<class FieldTypeT> | |
| void | endEditX (const BitVector &whichField, FieldTypeT &field) |
MT Construction | |
| void | onCreate (const FieldContainer *source=NULL) |
| void | onCreateAspect (const FieldContainer *aspect0, const FieldContainer *source=NULL) |
MT Destruction | |
| virtual void | onDestroy (void) |
Static Protected Member Functions | |
Create Fieldcontainer | |
| template<class ObjectPtrT> | |
| static void | newPtr (ObjectPtrT &result, const typename ObjectPtrT::StoredObjectType *prototypeP) |
| template<class ObjectPtrT> | |
| static void | newPtr (ObjectPtrT &result) |
Protected Attributes | |
Fields | |
| MFStateChunkPtr | _mfChunks |
Member | |
| UInt32 | _shares |
Private Types | |
| typedef StateBase | Inherited |
Private Member Functions | |
| void | operator= (const State &source) |
Static Private Member Functions | |
| static void | initMethod (void) |
Static Private Attributes | |
| static char | cvsid [] = "@(#)$Id: $" |
Friends | |
| class | FieldContainer |
| class | StateBase |
Definition at line 56 of file OSGState.h.
typedef StateBase osg::State::Inherited [private] |
typedef StatePtr osg::StateBase::Ptr [inherited] |
Definition at line 90 of file OSGStateBase.h.
| anonymous enum |
anonymous enum [inherited] |
Definition at line 92 of file OSGStateBase.h.
00093 { 00094 ChunksFieldId = Inherited::NextFieldId, 00095 NextFieldId = ChunksFieldId + 1 00096 };
anonymous enum [inherited] |
| State::State | ( | void | ) | [protected] |
| State::State | ( | const State & | source | ) | [protected] |
| State::~State | ( | void | ) | [protected, virtual] |
Definition at line 133 of file OSGState.cpp.
References clearChunks().
00134 { 00135 clearChunks(); 00136 }
| static const char* osg::State::getClassname | ( | void | ) | [inline, static] |
Reimplemented from osg::FieldContainer.
Definition at line 147 of file OSGState.cpp.
References osg::FieldContainer::changed().
00148 { 00149 Inherited::changed(whichField, origin); 00150 }
Implements osg::FieldContainer.
Definition at line 154 of file OSGState.cpp.
References osg::StateBase::_mfChunks, osg::MField< FieldTypeT, fieldNameSpace >::begin(), osg::MField< FieldTypeT, fieldNameSpace >::end(), osg::getName(), and osg::NullFC.
00156 { 00157 std::cerr << "State at " << this << std::endl; 00158 00159 MFStateChunkPtr::const_iterator it; 00160 UInt32 cind; 00161 00162 for(it = _mfChunks.begin(), cind = 0; it != _mfChunks.end(); it++, cind++) 00163 { 00164 std::cerr << StateChunkClass::getName(cind) << "\t"; 00165 if(*it == NullFC) 00166 std::cerr << "NullChunk" << std::endl; 00167 else 00168 std::cerr << *it << std::endl; 00169 } 00170 }
| void State::activate | ( | DrawActionBase * | action | ) |
Activate (i.e. call all their OpenGL commands) the current set of StateChunks. Activate will simply overwrite whatever was set before.
Definition at line 178 of file OSGState.cpp.
References osg::StateBase::_mfChunks, osg::MField< FieldTypeT, fieldNameSpace >::begin(), osg::MField< FieldTypeT, fieldNameSpace >::end(), osg::StateChunkClass::getNumSlots(), and osg::NullFC.
Referenced by osg::RenderAction::draw().
00179 { 00180 MFStateChunkPtr::iterator it; 00181 Int32 ind = 0; 00182 UInt32 cind; 00183 00184 for(it = _mfChunks.begin(), cind = 0; it != _mfChunks.end(); 00185 ++it, ++cind) 00186 { 00187 if(*it != NullFC && !(*it)->getIgnore()) 00188 { 00189 (*it)->activate(action, UInt32(ind)); 00190 } 00191 if(++ind >= StateChunkClass::getNumSlots(cind)) 00192 ind = 0; 00193 } 00194 }
| void State::changeFrom | ( | DrawActionBase * | action, | |
| State * | old | |||
| ) |
Switch to this state from the given old State. The chunks will try to optimize the transition.
Definition at line 201 of file OSGState.cpp.
References osg::StateBase::_mfChunks, osg::MField< FieldTypeT, fieldNameSpace >::begin(), osg::MField< FieldTypeT, fieldNameSpace >::end(), getChunk(), osg::StateBase::getChunks(), osg::AttachmentPtr::getCPtr(), osg::StateChunkClass::getNumSlots(), and osg::NullFC.
Referenced by osg::RenderAction::draw().
00202 { 00203 MFStateChunkPtr::iterator it; 00204 Int32 ind = 0; 00205 UInt32 i; 00206 UInt32 cind; 00207 00208 for(it = _mfChunks.begin(), cind = 0; it != _mfChunks.end(); 00209 ++it, ++cind) 00210 { 00211 StateChunkPtr o = old->getChunk(cind); 00212 StateChunkPtr n = *it; 00213 00214 if(n != NullFC && !n->getIgnore()) 00215 { 00216 if(o != NullFC && !o->getIgnore()) 00217 n->changeFrom(action, o.getCPtr(), UInt32(ind)); 00218 else 00219 n->activate(action, UInt32(ind)); 00220 } 00221 else if(o != NullFC && !o->getIgnore()) 00222 { 00223 o->deactivate(action, UInt32(ind)); 00224 } 00225 00226 if(++ind >= StateChunkClass::getNumSlots(cind)) 00227 ind = 0; 00228 } 00229 00230 if(ind >= StateChunkClass::getNumSlots(cind)) 00231 ind = 0; 00232 00233 for(i = cind; i < old->getChunks().size(); ++i) 00234 { 00235 StateChunkPtr o = old->getChunk(i); 00236 00237 if(o != NullFC && !o->getIgnore()) 00238 { 00239 o->deactivate(action, UInt32(ind)); 00240 } 00241 00242 if(++ind >= StateChunkClass::getNumSlots(i)) 00243 { 00244 ind = 0; 00245 } 00246 } 00247 }
| void State::deactivate | ( | DrawActionBase * | action | ) |
Deactivate the current set of StateChunks, i.e. switch everything back to the default state for the OpenGL state covered by the given chunks.
Definition at line 254 of file OSGState.cpp.
References osg::StateBase::_mfChunks, osg::MField< FieldTypeT, fieldNameSpace >::begin(), osg::MField< FieldTypeT, fieldNameSpace >::end(), osg::StateChunkClass::getNumSlots(), and osg::NullFC.
Referenced by osg::RenderAction::draw(), and osg::RenderAction::stop().
00255 { 00256 MFStateChunkPtr::iterator it; 00257 Int32 ind = 0; 00258 UInt32 cind; 00259 00260 for(it = _mfChunks.begin(), cind = 0; it != _mfChunks.end(); 00261 ++it, ++cind) 00262 { 00263 if(*it != NullFC && !(*it)->getIgnore()) 00264 (*it)->deactivate(action, UInt32(ind)); 00265 if(++ind >= StateChunkClass::getNumSlots(cind)) 00266 ind = 0; 00267 } 00268 }
| StateChunkPtr osg::State::getChunk | ( | UInt32 | chunkId | ) | [inline] |
Return the chunk with the given id. Returns NullFC if no such chunk is in the State.
Definition at line 51 of file OSGState.inl.
References osg::StateBase::_mfChunks, osg::NullFC, and osg::MField< FieldTypeT, fieldNameSpace >::size().
Referenced by changeFrom(), osg::RenderAction::draw(), and osg::RenderAction::updateShader().
00052 { 00053 if(chunkId < _mfChunks.size()) 00054 return _mfChunks[chunkId]; 00055 00056 return NullFC; 00057 }
| bool osg::State::chunkPresent | ( | UInt32 | chunkId | ) | [inline] |
Checks if a chunk with the given id is in the current state.
Definition at line 63 of file OSGState.inl.
References osg::StateBase::_mfChunks, osg::NullFC, and osg::MField< FieldTypeT, fieldNameSpace >::size().
Referenced by chunkPresent().
| bool osg::State::chunkPresent | ( | StateChunkPtr | chunk | ) | [inline] |
Checks if a chunk of the same type like the given one is in the current state.
Definition at line 74 of file OSGState.inl.
References chunkPresent(), osg::StateChunkClass::getId(), and osg::StateChunkClass::getNumSlots().
00075 { 00076 const StateChunkClass * cls = chunk->getClass(); 00077 00078 for(UInt16 i = 0; i < cls->getNumSlots(); ++i) 00079 { 00080 if(chunkPresent(cls->getId() + i)) 00081 return true; 00082 } 00083 00084 return false; 00085 }
| bool State::addChunk | ( | StateChunkPtr | chunk, | |
| Int32 | index = AutoSlotReplace | |||
| ) |
Add the given chunk to the State. The index defines the behaviour, especially for multi-slot chunks.
If it is set to AutoSlotReplace (the default), addChunk will try to find an empty slot for the chunk class, if it doesn't find one the last one will be replaced with the new entry. This is also useful for chunk classes with only a single slot, as it will override an old instance of the chunk class, which is usually the desired behaviour.
If it is set to AutoSlot, the new chunk will only be added to the State if there is a free slot. If there is no free slot true will be returned, in all other cases it will be false.
If the index is explicitly given (i.e. it is >=0) the chunk will be set into the given slot, possibly overwriting an old entry. If the index is larger than the number of slots for the given chunck class true will be returned.
Definition at line 292 of file OSGState.cpp.
References osg::StateBase::_mfChunks, AutoSlot, AutoSlotReplace, osg::NullFC, osg::MField< FieldTypeT, fieldNameSpace >::resize(), osg::setRefdCP(), osg::MField< FieldTypeT, fieldNameSpace >::size(), and SWARNING.
00293 { 00294 if(index > 0 && index > chunk->getClass()->getNumSlots()) 00295 { 00296 SWARNING << "addChunk: index " 00297 << index 00298 << " > Numslots " 00299 << chunk->getClass()->getNumSlots() 00300 << ", ignored!" 00301 << std::endl; 00302 return true; 00303 } 00304 00305 UInt32 cindex = chunk->getClassId(); 00306 UInt32 csize = _mfChunks.size(); 00307 00308 // special case: find empty slot automatically 00309 if(index == AutoSlot || index == AutoSlotReplace) 00310 { 00311 UInt8 nslots = chunk->getClass()->getNumSlots(); 00312 UInt8 ci; 00313 00314 for(ci = cindex; ci < cindex + nslots && ci < csize; ++ci) 00315 { 00316 if(_mfChunks[ci] == NullFC) 00317 { 00318 break; 00319 } 00320 } 00321 00322 if(ci >= cindex + nslots) // no free slot found 00323 { 00324 if(index == AutoSlot) 00325 { 00326 SWARNING << "addChunk: no free slot found for " 00327 << chunk->getClass()->getName() 00328 << " class, ignored!" << std::endl; 00329 return true; 00330 } 00331 // use last slot 00332 --ci; 00333 } 00334 00335 cindex = ci; 00336 } 00337 else 00338 { 00339 cindex += index; 00340 } 00341 00342 // add the chunk to the state at cindex 00343 if(cindex >= csize) 00344 { 00345 UInt32 oldsize = csize; 00346 UInt32 newsize = cindex + 1; 00347 00348 _mfChunks.resize(newsize); 00349 00350 for(UInt32 i = oldsize; i < newsize; i++) 00351 { 00352 _mfChunks[i] = NullFC; 00353 } 00354 } 00355 00356 setRefdCP(_mfChunks[cindex], chunk); 00357 00358 return false; 00359 }
| bool State::subChunk | ( | StateChunkPtr | chunk | ) |
Remove the given chunk from the State. Returns false if successful, true if the chunk wasn't found.
Definition at line 365 of file OSGState.cpp.
References osg::StateBase::_mfChunks, osg::NullFC, osg::MField< FieldTypeT, fieldNameSpace >::size(), osg::subRefCP(), and SWARNING.
00366 { 00367 if(chunk == NullFC) 00368 return true; 00369 00370 UInt32 cindex = chunk->getClassId(); 00371 UInt32 csize = _mfChunks.size(); 00372 00373 // special case: find it in the slots 00374 UInt8 nslots = chunk->getClass()->getNumSlots(); 00375 UInt8 ci; 00376 00377 for(ci = cindex; ci < cindex + nslots && ci < csize; ci++) 00378 { 00379 if(_mfChunks[ci] == chunk) 00380 { 00381 break; 00382 } 00383 } 00384 00385 if(ci >= cindex + nslots) // chunk not found 00386 { 00387 SWARNING << "subChunk: chunk " 00388 << chunk 00389 << " of class " 00390 << chunk->getClass()->getName() 00391 << " not found!" 00392 << std::endl; 00393 return true; 00394 } 00395 00396 // remove the chunk from the state 00397 00398 subRefCP(_mfChunks[ci]); 00399 00400 _mfChunks[ci] = NullFC; 00401 00402 return false; 00403 }
Remove the chunk defined by the class id and the slot index from the State. Returns false if successful, true if the chunk wasn't found.
Definition at line 410 of file OSGState.cpp.
References osg::StateBase::_mfChunks, osg::StateChunkClass::getNumSlots(), osg::NullFC, osg::subRefCP(), and SWARNING.
00411 { 00412 if(index < 0 || index > StateChunkClass::getNumSlots(classid)) 00413 { 00414 SWARNING << "subChunk: index " << index << " > Numslots " 00415 << StateChunkClass::getNumSlots(classid) 00416 << ", ignored!" << std::endl; 00417 return true; 00418 } 00419 00420 if(_mfChunks[classid + index] == NullFC) 00421 return true; 00422 00423 // remove the chunk from the state 00424 00425 subRefCP(_mfChunks[classid + index]); 00426 00427 _mfChunks[classid + index] = NullFC; 00428 00429 return false; 00430 }
| void State::clearChunks | ( | void | ) |
Remove all chunks from the state
Definition at line 435 of file OSGState.cpp.
References osg::StateBase::_mfChunks, osg::MField< FieldTypeT, fieldNameSpace >::begin(), and osg::MField< FieldTypeT, fieldNameSpace >::end().
Referenced by ~State().
00436 { 00437 std::transform(_mfChunks.begin(), 00438 _mfChunks.end (), 00439 _mfChunks.begin(), 00440 ClearSlot()); 00441 }
Calculate the switch cost for the whole state, which is the sum of the switch cost of all its chunks. Right now it's always 0.
Definition at line 450 of file OSGState.cpp.
| bool State::operator< | ( | const State & | other | ) | const [virtual] |
Calculate the switch cost for the whole state, which is the sum of the switch cost of all its chunks. Right now it's always 0.
Definition at line 455 of file OSGState.cpp.
| bool State::operator== | ( | const State & | other | ) | const [virtual] |
Compare the two states. Not implemented yet, always false.
Definition at line 463 of file OSGState.cpp.
| bool State::operator!= | ( | const State & | other | ) | const [virtual] |
Calculate the switch cost for the whole state, which is the sum of the switch cost of all its chunks. Right now it's always 0.
Definition at line 468 of file OSGState.cpp.
| void State::initMethod | ( | void | ) | [static, private] |
| void osg::State::operator= | ( | const State & | source | ) | [private] |
| osg::FieldContainerType & osg::StateBase::getClassType | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::FieldContainer.
Definition at line 58 of file OSGStateBase.inl.
References osg::StateBase::_type.
Referenced by osg::StateBase::create().
00059 { 00060 return _type; 00061 }
| osg::UInt32 osg::StateBase::getClassTypeId | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::FieldContainer.
Definition at line 65 of file OSGStateBase.inl.
References osg::StateBase::_type, and osg::TypeBase::getId().
00066 { 00067 return _type.getId(); 00068 }
| FieldContainerType & StateBase::getType | ( | void | ) | [virtual, inherited] |
Reimplemented from osg::FieldContainer.
Definition at line 106 of file OSGStateBase.cpp.
References osg::StateBase::_type.
00107 { 00108 return _type; 00109 }
| const FieldContainerType & StateBase::getType | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::FieldContainer.
Definition at line 111 of file OSGStateBase.cpp.
References osg::StateBase::_type.
00112 { 00113 return _type; 00114 }
| UInt32 StateBase::getContainerSize | ( | void | ) | const [virtual, inherited] |
Implements osg::FieldContainer.
Definition at line 126 of file OSGStateBase.cpp.
00127 { 00128 return sizeof(State); 00129 }
| MFStateChunkPtr * osg::StateBase::getMFChunks | ( | void | ) | [inline, inherited] |
Definition at line 101 of file OSGStateBase.inl.
References osg::StateBase::_mfChunks.
00102 { 00103 return &_mfChunks; 00104 }
| StateChunkPtr & osg::StateBase::getChunks | ( | const UInt32 | index | ) | [inline, inherited] |
Definition at line 110 of file OSGStateBase.inl.
References osg::StateBase::_mfChunks.
Referenced by changeFrom().
00111 { 00112 return _mfChunks[index]; 00113 }
| MFStateChunkPtr & osg::StateBase::getChunks | ( | void | ) | [inline, inherited] |
Definition at line 117 of file OSGStateBase.inl.
References osg::StateBase::_mfChunks.
00118 { 00119 return _mfChunks; 00120 }
| const MFStateChunkPtr & osg::StateBase::getChunks | ( | void | ) | const [inline, inherited] |
Definition at line 124 of file OSGStateBase.inl.
References osg::StateBase::_mfChunks.
00125 { 00126 return _mfChunks; 00127 }
Reimplemented from osg::FieldContainer.
Definition at line 189 of file OSGStateBase.cpp.
References osg::StateBase::_mfChunks, osg::StateBase::ChunksFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::FieldContainer::getBinSize(), and osg::FieldBits::NoField.
00190 { 00191 UInt32 returnValue = Inherited::getBinSize(whichField); 00192 00193 if(FieldBits::NoField != (ChunksFieldMask & whichField)) 00194 { 00195 returnValue += _mfChunks.getBinSize(); 00196 } 00197 00198 00199 return returnValue; 00200 }
| void StateBase::copyToBin | ( | BinaryDataHandler & | pMem, | |
| const BitVector & | whichField | |||
| ) | [virtual, inherited] |
Reimplemented from osg::FieldContainer.
Definition at line 202 of file OSGStateBase.cpp.
References osg::StateBase::_mfChunks, osg::StateBase::ChunksFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::FieldContainer::copyToBin(), and osg::FieldBits::NoField.
00204 { 00205 Inherited::copyToBin(pMem, whichField); 00206 00207 if(FieldBits::NoField != (ChunksFieldMask & whichField)) 00208 { 00209 _mfChunks.copyToBin(pMem); 00210 } 00211 00212 00213 }
| void StateBase::copyFromBin | ( | BinaryDataHandler & | pMem, | |
| const BitVector & | whichField | |||
| ) | [virtual, inherited] |
Reimplemented from osg::FieldContainer.
Definition at line 215 of file OSGStateBase.cpp.
References osg::StateBase::_mfChunks, osg::StateBase::ChunksFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::FieldContainer::copyFromBin(), and osg::FieldBits::NoField.
00217 { 00218 Inherited::copyFromBin(pMem, whichField); 00219 00220 if(FieldBits::NoField != (ChunksFieldMask & whichField)) 00221 { 00222 _mfChunks.copyFromBin(pMem); 00223 } 00224 00225 00226 }
| StatePtr osg::StateBase::create | ( | void | ) | [inline, static, inherited] |
Definition at line 72 of file OSGStateBase.inl.
References osg::StateBase::getClassType(), osg::NullFC, and osg::StateBase::shallowCopy().
Referenced by osg::SimpleMaterial::makeState(), osg::PhongMaterial::makeState(), osg::FresnelMaterial::makeState(), osg::ChunkMaterial::makeState(), osg::SimpleMaterial::rebuildState(), osg::PhongMaterial::rebuildState(), osg::FresnelMaterial::rebuildState(), and osg::ChunkMaterial::rebuildState().
00073 { 00074 StatePtr fc; 00075 00076 if(getClassType().getPrototype() != OSG::NullFC) 00077 { 00078 fc = StatePtr::dcast( 00079 getClassType().getPrototype()-> shallowCopy()); 00080 } 00081 00082 return fc; 00083 }
| StatePtr osg::StateBase::createEmpty | ( | void | ) | [inline, static, inherited] |
Definition at line 87 of file OSGStateBase.inl.
References osg::FieldContainer::newPtr().
00088 { 00089 StatePtr returnValue; 00090 00091 newPtr(returnValue); 00092 00093 return returnValue; 00094 }
| FieldContainerPtr StateBase::shallowCopy | ( | void | ) | const [virtual, inherited] |
Implements osg::FieldContainer.
Definition at line 117 of file OSGStateBase.cpp.
References osg::FieldContainer::newPtr().
Referenced by osg::StateBase::create().
00118 { 00119 StatePtr returnValue; 00120 00121 newPtr(returnValue, dynamic_cast<const State *>(this)); 00122 00123 return returnValue; 00124 }
| void StateBase::executeSyncImpl | ( | StateBase * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Definition at line 229 of file OSGStateBase.cpp.
References osg::StateBase::_mfChunks, osg::StateBase::ChunksFieldMask, osg::FieldContainer::executeSyncImpl(), osg::FieldBits::NoField, and osg::MField< FieldTypeT, fieldNameSpace >::syncWith().
Referenced by osg::StateBase::executeSync().
00231 { 00232 00233 Inherited::executeSyncImpl(pOther, whichField); 00234 00235 if(FieldBits::NoField != (ChunksFieldMask & whichField)) 00236 _mfChunks.syncWith(pOther->_mfChunks); 00237 00238 00239 }
| 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 StateBase::executeSync | ( | FieldContainer & | other, | |
| const BitVector & | whichField | |||
| ) | [protected, virtual, inherited] |
Implements osg::FieldContainer.
Definition at line 133 of file OSGStateBase.cpp.
References osg::StateBase::executeSyncImpl().
00135 { 00136 this->executeSyncImpl((StateBase *) &other, whichField); 00137 }
| 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] |
friend class StateBase [friend] |
Definition at line 163 of file OSGState.h.
char State::cvsid = "@(#)$Id: $" [static, private] |
Definition at line 165 of file OSGState.h.
const osg::BitVector StateBase::ChunksFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << StateBase::ChunksFieldId)
Definition at line 98 of file OSGStateBase.h.
Referenced by osg::StateBase::copyFromBin(), osg::StateBase::copyToBin(), osg::StateBase::executeSyncImpl(), and osg::StateBase::getBinSize().
const osg::BitVector StateBase::MTInfluenceMask [static, inherited] |
Initial value:
(Inherited::MTInfluenceMask) |
(static_cast<BitVector>(0x0) << Inherited::NextFieldId)
Reimplemented from osg::FieldContainer.
Definition at line 101 of file OSGStateBase.h.
StateChunkPtr StateBase::_mfChunks [protected, inherited] |
Definition at line 178 of file OSGStateBase.h.
Referenced by activate(), addChunk(), changeFrom(), chunkPresent(), clearChunks(), osg::StateBase::copyFromBin(), osg::StateBase::copyToBin(), deactivate(), dump(), osg::StateBase::executeSyncImpl(), osg::StateBase::getBinSize(), getChunk(), osg::StateBase::getChunks(), osg::StateBase::getMFChunks(), and subChunk().
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