#include <OSGFCPtrAttributeMap.h>

Public Types | |
| enum | { KeysFieldId = Inherited::NextFieldId, ValuesFieldId = KeysFieldId + 1, NextFieldId = ValuesFieldId + 1 } |
| typedef FCPtrAttributeMapPtr | Ptr |
| enum | { ParentsFieldId = Inherited::NextFieldId, InternalFieldId = ParentsFieldId + 1, NextFieldId = InternalFieldId + 1 } |
| enum | { NextFieldId = 1 } |
Public Member Functions | |
| const MFString & | getKeys () const |
| void | setAttribute (const std::string &key, FieldContainerPtr value) |
| bool | hasAttribute (const std::string &key) const |
| bool | getAttribute (const std::string &key, FieldContainerPtr &value) const |
| FieldContainerPtr | getAttribute (const std::string &key) const |
| FieldContainerPtr & | operator[] (const std::string &key) |
Sync | |
| virtual void | changed (BitVector whichField, UInt32 origin) |
Output | |
| virtual void | dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const |
FieldContainer Get | |
| virtual FieldContainerType & | getType (void) |
| virtual const FieldContainerType & | getType (void) const |
| virtual UInt32 | getContainerSize (void) const |
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 |
Parents | |
| MFFieldContainerPtr & | getParents (void) |
| const MFFieldContainerPtr & | getParents (void) const |
| MFFieldContainerPtr * | getMFParents (void) |
| void | addParent (FieldContainerPtr parent) |
| void | subParent (FieldContainerPtr parent) |
| Int32 | findParent (FieldContainerPtr parent) |
Parents | |
| SFBool & | getInternal (void) |
| const SFBool & | getInternal (void) const |
| SFBool * | getSFInternal (void) |
| void | setInternal (bool bVal) |
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 FCPtrAttributeMapPtr | create (void) |
| create a new instance of the class | |
| static FCPtrAttributeMapPtr | 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 | KeysFieldMask |
| static const osg::BitVector | ValuesFieldMask |
| static const osg::BitVector | MTInfluenceMask |
| static const BitVector | InternalFieldMask = (1 << Attachment::InternalFieldId) |
| static const BitVector | ParentsFieldMask = (1 << Attachment::ParentsFieldId) |
| static const BitVector | NextFieldMask |
CoredNodePtr helper | |
| static const bool | isNodeCore = false |
Protected Member Functions | |
Constructors | |
| FCPtrAttributeMap (void) | |
| FCPtrAttributeMap (const FCPtrAttributeMap &source) | |
Destructors | |
| virtual | ~FCPtrAttributeMap (void) |
Field Get | |
| MFString * | getMFKeys (void) |
| Get the FCPtrAttributeMap::_mfKeys field. | |
| MFFieldContainerPtr * | getMFValues (void) |
| Get the FCPtrAttributeMap::_mfValues field. | |
| std::string & | getKeys (UInt32 index) |
| Get the value of the index element the FCPtrAttributeMap::_mfKeys field. | |
| MFString & | getKeys (void) |
| Get the FCPtrAttributeMap::_mfKeys field. | |
| FieldContainerPtr & | getValues (UInt32 index) |
| Get the value of the index element the FCPtrAttributeMap::_mfValues field. | |
| MFFieldContainerPtr & | getValues (void) |
| Get the FCPtrAttributeMap::_mfValues field. | |
| const MFFieldContainerPtr & | getValues (void) const |
| Get the FCPtrAttributeMap::_mfValues field. | |
Sync | |
| void | executeSyncImpl (FCPtrAttributeMapBase *pOther, const BitVector &whichField) |
| virtual void | executeSync (FieldContainer &other, const BitVector &whichField) |
Sync | |
| void | executeSyncImpl (Attachment *pOther, const BitVector &whichField) |
Sync | |
| void | executeSyncImpl (FieldContainer *pOther, const BitVector &whichField) |
MT Destruction | |
| virtual void | onDestroy (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) |
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 | |
| MFString | _mfKeys |
| MFFieldContainerPtr | _mfValues |
Fields | |
| SFBool | _sfInternal |
| MFFieldContainerPtr | _parents |
Member | |
| UInt32 | _shares |
Private Types | |
| typedef FCPtrAttributeMapBase | Inherited |
Private Member Functions | |
| void | operator= (const FCPtrAttributeMap &source) |
Static Private Member Functions | |
| static void | initMethod (void) |
Friends | |
| class | FieldContainer |
| class | FCPtrAttributeMapBase |
Definition at line 55 of file OSGFCPtrAttributeMap.h.
typedef FCPtrAttributeMapBase osg::FCPtrAttributeMap::Inherited [private] |
Reimplemented from osg::FCPtrAttributeMapBase.
Definition at line 59 of file OSGFCPtrAttributeMap.h.
typedef FCPtrAttributeMapPtr osg::FCPtrAttributeMapBase::Ptr [inherited] |
Definition at line 91 of file OSGFCPtrAttributeMapBase.h.
anonymous enum [inherited] |
Definition at line 93 of file OSGFCPtrAttributeMapBase.h.
00094 { 00095 KeysFieldId = Inherited::NextFieldId, 00096 ValuesFieldId = KeysFieldId + 1, 00097 NextFieldId = ValuesFieldId + 1 00098 };
anonymous enum [inherited] |
Definition at line 86 of file OSGAttachmentImpl.h.
00087 { 00088 ParentsFieldId = Inherited::NextFieldId, 00089 InternalFieldId = ParentsFieldId + 1, 00090 NextFieldId = InternalFieldId + 1 00091 };
anonymous enum [inherited] |
| FCPtrAttributeMap::FCPtrAttributeMap | ( | void | ) | [protected] |
| FCPtrAttributeMap::FCPtrAttributeMap | ( | const FCPtrAttributeMap & | source | ) | [protected] |
Definition at line 88 of file OSGFCPtrAttributeMap.cpp.
00088 : 00089 Inherited(source) 00090 { 00091 }
| FCPtrAttributeMap::~FCPtrAttributeMap | ( | void | ) | [protected, virtual] |
Reimplemented from osg::FieldContainer.
Definition at line 99 of file OSGFCPtrAttributeMap.cpp.
References osg::FieldContainer::changed().
00100 { 00101 Inherited::changed(whichField, origin); 00102 }
Reimplemented from osg::Attachment.
Definition at line 104 of file OSGFCPtrAttributeMap.cpp.
References SLOG.
00106 { 00107 SLOG << "Dump FCPtrAttributeMap NI" << std::endl; 00108 }
| const MFString & osg::FCPtrAttributeMap::getKeys | ( | void | ) | const [inline] |
Provides read-only access to the keys multi-field of this attribute map. Among other things, this can be used for iterating over the contents of this attribute map.
Reimplemented from osg::FCPtrAttributeMapBase.
Definition at line 50 of file OSGFCPtrAttributeMap.inl.
References osg::FCPtrAttributeMapBase::getKeys().
Referenced by hasAttribute().
00051 { 00052 return FCPtrAttributeMapBase::getKeys(); 00053 }
| void FCPtrAttributeMap::setAttribute | ( | const std::string & | key, | |
| FieldContainerPtr | value | |||
| ) |
Sets the value associated with the named key in this attribute map. If this attribute map does not include the named key, then the key is added and assigned the given value. Otherwise, the value previously associated with the named key is changed to value.
It is the responsibility of the caller to use OSG::beginEditCP() and OSG::endEditCP() accordingly. Both fields of this container (Keys and Values) are edited by this method.
Definition at line 120 of file OSGFCPtrAttributeMap.cpp.
References osg::MField< FieldTypeT, fieldNameSpace >::begin(), osg::MField< FieldTypeT, fieldNameSpace >::end(), osg::FCPtrAttributeMapBase::getKeys(), osg::FCPtrAttributeMapBase::getValues(), and osg::MField< FieldTypeT, fieldNameSpace >::push_back().
00122 { 00123 MFString& keys = this->FCPtrAttributeMapBase::getKeys(); 00124 MFFieldContainerPtr& values = this->FCPtrAttributeMapBase::getValues(); 00125 00126 MFString::iterator i; 00127 unsigned int index(0); 00128 00129 // Find the index of key in _mfKeys. This index will be the index of the 00130 // value associated with key in _mfValues. 00131 for ( i = keys.begin(); i != keys.end(); ++i, ++index ) 00132 { 00133 if ( *i == key ) 00134 { 00135 values[index] = value; 00136 return; 00137 } 00138 } 00139 00140 // key was not found in _mfKeys, so we add key to _mfKeys and value to 00141 // _mfValues. 00142 keys.push_back(key); 00143 values.push_back(value); 00144 }
| bool osg::FCPtrAttributeMap::hasAttribute | ( | const std::string & | key | ) | const [inline] |
Queries this attribute map attachment to determine if it includes the named key. If it does, then true is returned. Otherwise, false is returned.
Definition at line 60 of file OSGFCPtrAttributeMap.inl.
References osg::MField< FieldTypeT, fieldNameSpace >::end(), osg::MField< FieldTypeT, fieldNameSpace >::find(), and getKeys().
Referenced by getAttribute().
| bool FCPtrAttributeMap::getAttribute | ( | const std::string & | key, | |
| FieldContainerPtr & | value | |||
| ) | const |
Attempts to look up the value associated with the named key in this attribute map. If this attribute map does not include key, then false is returned. Otherwise, value is set to the value associated with the named key, and true is returned.
Definition at line 152 of file OSGFCPtrAttributeMap.cpp.
References osg::MField< FieldTypeT, fieldNameSpace >::begin(), osg::MField< FieldTypeT, fieldNameSpace >::end(), osg::FCPtrAttributeMapBase::getKeys(), osg::FCPtrAttributeMapBase::getValues(), and hasAttribute().
Referenced by getAttribute().
00155 { 00156 if ( hasAttribute(key) ) 00157 { 00158 const MFString& keys = this->FCPtrAttributeMapBase::getKeys(); 00159 const MFFieldContainerPtr& values = 00160 this->FCPtrAttributeMapBase::getValues(); 00161 00162 // Find the index of key in _mfKeys. This index will be the index of 00163 // the value associated with key in _mfValues. 00164 unsigned int index(0); 00165 MFString::const_iterator i; 00166 for ( i = keys.begin(); i != keys.end(); ++i, ++index ) 00167 { 00168 if ( *i == key ) 00169 { 00170 // Assign the value associated with key. 00171 value = values[index]; 00172 return true; 00173 } 00174 } 00175 } 00176 00177 // _mfKeys does not contain key. 00178 return false; 00179 }
| FieldContainerPtr osg::FCPtrAttributeMap::getAttribute | ( | const std::string & | key | ) | const [inline] |
Attempts to look up the value associated with the named key in this attribute map. If this attribute map does not include key, then an empty string is returned. Otherwise, a copy of the value associated with the named key is returned.
Definition at line 71 of file OSGFCPtrAttributeMap.inl.
References getAttribute().
00073 { 00074 FieldContainerPtr value; 00075 getAttribute(key, value); 00076 return value; 00077 }
| FieldContainerPtr & osg::FCPtrAttributeMap::operator[] | ( | const std::string & | key | ) | [inline] |
Provides index access to this attribute map following the semantics of the STL map type. If this attribute map contains key, a reference to the value associated with that key is returned. Otherwise, key is added to this attribute map with NullFC as the value, and a reference to that newly added value is returned. Because NullFC is the default value for automatically created entries, users must be careful with this operator.
It is the responsibility of the caller to use OSG::beginEditCP() and OSG::endEditCP() accordingly. Both fields of this container (Keys and Values) may be edited by this method depending on the usage. In the case when a key/value pair is being changed or added, the fields will be edited. In the case when an unknown key is used for querying a value, both fields will be edited. When this operator is used solely to query an existing key's value, then no fields will be edited.
Definition at line 100 of file OSGFCPtrAttributeMap.inl.
References osg::MField< FieldTypeT, fieldNameSpace >::begin(), osg::MField< FieldTypeT, fieldNameSpace >::end(), osg::FCPtrAttributeMapBase::getKeys(), osg::FCPtrAttributeMapBase::getValues(), osg::NullFC, osg::MField< FieldTypeT, fieldNameSpace >::push_back(), and osg::MField< FieldTypeT, fieldNameSpace >::size().
00101 { 00102 MFString& keys = this->FCPtrAttributeMapBase::getKeys(); 00103 MFFieldContainerPtr& values = this->FCPtrAttributeMapBase::getValues(); 00104 00105 unsigned int index(0); 00106 MFString::iterator i; 00107 for ( i = keys.begin(); i != keys.end(); ++i, ++index ) 00108 { 00109 if ( *i == key ) 00110 { 00111 return values[index]; 00112 } 00113 } 00114 00115 keys.push_back(key); 00116 values.push_back(NullFC); 00117 00118 // The value we want to return is at the end of _mfValues. 00119 return values[values.size() - 1]; 00120 }
| void FCPtrAttributeMap::initMethod | ( | void | ) | [static, private] |
| void osg::FCPtrAttributeMap::operator= | ( | const FCPtrAttributeMap & | source | ) | [private] |
| osg::FieldContainerType & osg::FCPtrAttributeMapBase::getClassType | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::Attachment.
Definition at line 58 of file OSGFCPtrAttributeMapBase.inl.
References osg::FCPtrAttributeMapBase::_type.
Referenced by osg::FCPtrAttributeMapBase::create(), and osg::fcptrAttributeMap().
00059 { 00060 return _type; 00061 }
| osg::UInt32 osg::FCPtrAttributeMapBase::getClassTypeId | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::Attachment.
Definition at line 65 of file OSGFCPtrAttributeMapBase.inl.
References osg::FCPtrAttributeMapBase::_type, and osg::TypeBase::getId().
00066 { 00067 return _type.getId(); 00068 }
| FieldContainerType & FCPtrAttributeMapBase::getType | ( | void | ) | [virtual, inherited] |
Reimplemented from osg::Attachment.
Definition at line 117 of file OSGFCPtrAttributeMapBase.cpp.
References osg::FCPtrAttributeMapBase::_type.
00118 { 00119 return _type; 00120 }
| const FieldContainerType & FCPtrAttributeMapBase::getType | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::Attachment.
Definition at line 122 of file OSGFCPtrAttributeMapBase.cpp.
References osg::FCPtrAttributeMapBase::_type.
00123 { 00124 return _type; 00125 }
| UInt32 FCPtrAttributeMapBase::getContainerSize | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::Attachment.
Definition at line 137 of file OSGFCPtrAttributeMapBase.cpp.
00138 { 00139 return sizeof(FCPtrAttributeMap); 00140 }
Reimplemented from osg::Attachment.
Definition at line 203 of file OSGFCPtrAttributeMapBase.cpp.
References osg::FCPtrAttributeMapBase::_mfKeys, osg::FCPtrAttributeMapBase::_mfValues, osg::MField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::Attachment::getBinSize(), osg::FCPtrAttributeMapBase::KeysFieldMask, osg::FieldBits::NoField, and osg::FCPtrAttributeMapBase::ValuesFieldMask.
00204 { 00205 UInt32 returnValue = Inherited::getBinSize(whichField); 00206 00207 if(FieldBits::NoField != (KeysFieldMask & whichField)) 00208 { 00209 returnValue += _mfKeys.getBinSize(); 00210 } 00211 00212 if(FieldBits::NoField != (ValuesFieldMask & whichField)) 00213 { 00214 returnValue += _mfValues.getBinSize(); 00215 } 00216 00217 00218 return returnValue; 00219 }
| void FCPtrAttributeMapBase::copyToBin | ( | BinaryDataHandler & | pMem, | |
| const BitVector & | whichField | |||
| ) | [virtual, inherited] |
Reimplemented from osg::Attachment.
Definition at line 221 of file OSGFCPtrAttributeMapBase.cpp.
References osg::FCPtrAttributeMapBase::_mfKeys, osg::FCPtrAttributeMapBase::_mfValues, osg::MField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::Attachment::copyToBin(), osg::FCPtrAttributeMapBase::KeysFieldMask, osg::FieldBits::NoField, and osg::FCPtrAttributeMapBase::ValuesFieldMask.
00223 { 00224 Inherited::copyToBin(pMem, whichField); 00225 00226 if(FieldBits::NoField != (KeysFieldMask & whichField)) 00227 { 00228 _mfKeys.copyToBin(pMem); 00229 } 00230 00231 if(FieldBits::NoField != (ValuesFieldMask & whichField)) 00232 { 00233 _mfValues.copyToBin(pMem); 00234 } 00235 00236 00237 }
| void FCPtrAttributeMapBase::copyFromBin | ( | BinaryDataHandler & | pMem, | |
| const BitVector & | whichField | |||
| ) | [virtual, inherited] |
Reimplemented from osg::Attachment.
Definition at line 239 of file OSGFCPtrAttributeMapBase.cpp.
References osg::FCPtrAttributeMapBase::_mfKeys, osg::FCPtrAttributeMapBase::_mfValues, osg::MField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::Attachment::copyFromBin(), osg::FCPtrAttributeMapBase::KeysFieldMask, osg::FieldBits::NoField, and osg::FCPtrAttributeMapBase::ValuesFieldMask.
00241 { 00242 Inherited::copyFromBin(pMem, whichField); 00243 00244 if(FieldBits::NoField != (KeysFieldMask & whichField)) 00245 { 00246 _mfKeys.copyFromBin(pMem); 00247 } 00248 00249 if(FieldBits::NoField != (ValuesFieldMask & whichField)) 00250 { 00251 _mfValues.copyFromBin(pMem); 00252 } 00253 00254 00255 }
| FCPtrAttributeMapPtr osg::FCPtrAttributeMapBase::create | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::Attachment.
Definition at line 72 of file OSGFCPtrAttributeMapBase.inl.
References osg::AttachmentPtr::dcast(), osg::FCPtrAttributeMapBase::getClassType(), osg::NullFC, and osg::FCPtrAttributeMapBase::shallowCopy().
Referenced by osg::fcptrAttributeMap().
00073 { 00074 FCPtrAttributeMapPtr fc; 00075 00076 if(getClassType().getPrototype() != OSG::NullFC) 00077 { 00078 fc = FCPtrAttributeMapPtr::dcast( 00079 getClassType().getPrototype()-> shallowCopy()); 00080 } 00081 00082 return fc; 00083 }
| FCPtrAttributeMapPtr osg::FCPtrAttributeMapBase::createEmpty | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::Attachment.
Definition at line 87 of file OSGFCPtrAttributeMapBase.inl.
References osg::FieldContainer::newPtr().
00088 { 00089 FCPtrAttributeMapPtr returnValue; 00090 00091 newPtr(returnValue); 00092 00093 return returnValue; 00094 }
| FieldContainerPtr FCPtrAttributeMapBase::shallowCopy | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::Attachment.
Definition at line 128 of file OSGFCPtrAttributeMapBase.cpp.
References osg::FieldContainer::newPtr().
Referenced by osg::FCPtrAttributeMapBase::create().
00129 { 00130 FCPtrAttributeMapPtr returnValue; 00131 00132 newPtr(returnValue, dynamic_cast<const FCPtrAttributeMap *>(this)); 00133 00134 return returnValue; 00135 }
| MFString * osg::FCPtrAttributeMapBase::getMFKeys | ( | void | ) | [inline, protected, inherited] |
Definition at line 101 of file OSGFCPtrAttributeMapBase.inl.
References osg::FCPtrAttributeMapBase::_mfKeys.
00102 { 00103 return &_mfKeys; 00104 }
| MFFieldContainerPtr * osg::FCPtrAttributeMapBase::getMFValues | ( | void | ) | [inline, protected, inherited] |
Definition at line 108 of file OSGFCPtrAttributeMapBase.inl.
References osg::FCPtrAttributeMapBase::_mfValues.
00109 { 00110 return &_mfValues; 00111 }
| std::string & osg::FCPtrAttributeMapBase::getKeys | ( | UInt32 | index | ) | [inline, protected, inherited] |
Definition at line 117 of file OSGFCPtrAttributeMapBase.inl.
References osg::FCPtrAttributeMapBase::_mfKeys.
00118 { 00119 return _mfKeys[index]; 00120 }
| MFString & osg::FCPtrAttributeMapBase::getKeys | ( | void | ) | [inline, protected, inherited] |
Reimplemented in osg::FCPtrAttributeMap.
Definition at line 124 of file OSGFCPtrAttributeMapBase.inl.
References osg::FCPtrAttributeMapBase::_mfKeys.
Referenced by getAttribute(), getKeys(), operator[](), and setAttribute().
00125 { 00126 return _mfKeys; 00127 }
| FieldContainerPtr & osg::FCPtrAttributeMapBase::getValues | ( | UInt32 | index | ) | [inline, protected, inherited] |
Definition at line 138 of file OSGFCPtrAttributeMapBase.inl.
References osg::FCPtrAttributeMapBase::_mfValues.
00139 { 00140 return _mfValues[index]; 00141 }
| MFFieldContainerPtr & osg::FCPtrAttributeMapBase::getValues | ( | void | ) | [inline, protected, inherited] |
Definition at line 145 of file OSGFCPtrAttributeMapBase.inl.
References osg::FCPtrAttributeMapBase::_mfValues.
Referenced by getAttribute(), operator[](), and setAttribute().
00146 { 00147 return _mfValues; 00148 }
| const MFFieldContainerPtr & osg::FCPtrAttributeMapBase::getValues | ( | void | ) | const [inline, protected, inherited] |
Definition at line 152 of file OSGFCPtrAttributeMapBase.inl.
References osg::FCPtrAttributeMapBase::_mfValues.
00153 { 00154 return _mfValues; 00155 }
| void FCPtrAttributeMapBase::executeSyncImpl | ( | FCPtrAttributeMapBase * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Definition at line 258 of file OSGFCPtrAttributeMapBase.cpp.
References osg::FCPtrAttributeMapBase::_mfKeys, osg::FCPtrAttributeMapBase::_mfValues, osg::Attachment::executeSyncImpl(), osg::FCPtrAttributeMapBase::KeysFieldMask, osg::FieldBits::NoField, osg::MField< FieldTypeT, fieldNameSpace >::syncWith(), and osg::FCPtrAttributeMapBase::ValuesFieldMask.
Referenced by osg::FCPtrAttributeMapBase::executeSync().
00260 { 00261 00262 Inherited::executeSyncImpl(pOther, whichField); 00263 00264 if(FieldBits::NoField != (KeysFieldMask & whichField)) 00265 _mfKeys.syncWith(pOther->_mfKeys); 00266 00267 if(FieldBits::NoField != (ValuesFieldMask & whichField)) 00268 _mfValues.syncWith(pOther->_mfValues); 00269 00270 00271 }
| void Attachment::executeSyncImpl | ( | Attachment * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Definition at line 306 of file OSGAttachment.cpp.
References osg::Attachment::_parents, osg::Attachment::_sfInternal, osg::FieldContainer::executeSyncImpl(), osg::Attachment::InternalFieldMask, osg::FieldBits::NoField, osg::Attachment::ParentsFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::syncWith(), and osg::SField< FieldTypeT, fieldNameSpace >::syncWith().
Referenced by osg::Attachment::executeSync(), osg::StringAttributeMapBase::executeSyncImpl(), osg::StateChunkBase::executeSyncImpl(), osg::RenderOptionsBase::executeSyncImpl(), osg::FCPtrAttributeMapBase::executeSyncImpl(), osg::DVRVolumeTextureBase::executeSyncImpl(), osg::DVRLookupTableBase::executeSyncImpl(), osg::DVRIsoSurfaceBase::executeSyncImpl(), osg::DVRClipObjectsBase::executeSyncImpl(), and osg::SimpleAttachment< AttachmentDescT >::executeSyncImpl().
00308 { 00309 Inherited::executeSyncImpl(pOther, whichField); 00310 00311 if(FieldBits::NoField != (InternalFieldMask & whichField)) 00312 { 00313 _sfInternal.syncWith(pOther->_sfInternal); 00314 } 00315 00316 if(FieldBits::NoField != (ParentsFieldMask & whichField)) 00317 { 00318 _parents.syncWith(pOther->_parents); 00319 } 00320 }
| 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 FCPtrAttributeMapBase::executeSync | ( | FieldContainer & | other, | |
| const BitVector & | whichField | |||
| ) | [protected, virtual, inherited] |
Reimplemented from osg::Attachment.
Definition at line 144 of file OSGFCPtrAttributeMapBase.cpp.
References osg::FCPtrAttributeMapBase::executeSyncImpl().
00146 { 00147 this->executeSyncImpl((FCPtrAttributeMapBase *) &other, whichField); 00148 }
| MFFieldContainerPtr & Attachment::getParents | ( | void | ) | [inherited] |
| const MFFieldContainerPtr & Attachment::getParents | ( | void | ) | const [inherited] |
Definition at line 100 of file OSGAttachment.cpp.
References osg::Attachment::_parents.
00101 { 00102 return _parents; 00103 }
| MFFieldContainerPtr * Attachment::getMFParents | ( | void | ) | [inherited] |
Definition at line 105 of file OSGAttachment.cpp.
References osg::Attachment::_parents.
Referenced by osg::DVRLookupTable::changed().
00106 { 00107 return &_parents; 00108 }
| void Attachment::addParent | ( | FieldContainerPtr | parent | ) | [inherited] |
Definition at line 110 of file OSGAttachment.cpp.
References osg::Attachment::_parents, and osg::MField< FieldTypeT, fieldNameSpace >::push_back().
| void Attachment::subParent | ( | FieldContainerPtr | parent | ) | [inherited] |
Definition at line 115 of file OSGAttachment.cpp.
References osg::Attachment::_parents, osg::MField< FieldTypeT, fieldNameSpace >::end(), osg::MField< FieldTypeT, fieldNameSpace >::erase(), and osg::MField< FieldTypeT, fieldNameSpace >::find().
00116 { 00117 MFFieldContainerPtr::iterator parentIt = _parents.find(parent); 00118 00119 if(parentIt != _parents.end()) 00120 { 00121 _parents.erase(parentIt); 00122 } 00123 }
| Int32 Attachment::findParent | ( | FieldContainerPtr | parent | ) | [inherited] |
Definition at line 125 of file OSGAttachment.cpp.
References osg::Attachment::_parents, osg::MField< FieldTypeT, fieldNameSpace >::begin(), osg::MField< FieldTypeT, fieldNameSpace >::end(), and osg::MField< FieldTypeT, fieldNameSpace >::find().
00126 { 00127 MFFieldContainerPtr::iterator parentIt = _parents.find(parent); 00128 00129 if(parentIt != _parents.end()) 00130 { 00131 return parentIt - _parents.begin(); 00132 } 00133 else 00134 { 00135 return -1; 00136 } 00137 }
| SFBool & Attachment::getInternal | ( | void | ) | [inherited] |
Definition at line 142 of file OSGAttachment.cpp.
References osg::Attachment::_sfInternal.
00143 { 00144 return _sfInternal; 00145 }
| const SFBool & Attachment::getInternal | ( | void | ) | const [inherited] |
Definition at line 147 of file OSGAttachment.cpp.
References osg::Attachment::_sfInternal.
00148 { 00149 return _sfInternal; 00150 }
| SFBool * Attachment::getSFInternal | ( | void | ) | [inherited] |
Definition at line 152 of file OSGAttachment.cpp.
References osg::Attachment::_sfInternal.
00153 { 00154 return &_sfInternal; 00155 }
| void Attachment::setInternal | ( | bool | bVal | ) | [inherited] |
Definition at line 157 of file OSGAttachment.cpp.
References osg::Attachment::_sfInternal, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00158 { 00159 _sfInternal.setValue(bVal); 00160 }
| void Attachment::onDestroy | ( | void | ) | [protected, virtual, inherited] |
Reimplemented from osg::FieldContainer.
Reimplemented in osg::CubeTextureChunk, osg::TextureChunk, osg::ShaderParameterChunk, and osg::SHLChunk.
Definition at line 285 of file OSGAttachment.cpp.
Referenced by osg::TextureChunk::onDestroy(), and osg::ShaderParameterChunk::onDestroy().
| 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] |
friend class FieldContainer [friend] |
Reimplemented from osg::FCPtrAttributeMapBase.
Definition at line 117 of file OSGFCPtrAttributeMap.h.
friend class FCPtrAttributeMapBase [friend] |
Definition at line 118 of file OSGFCPtrAttributeMap.h.
const osg::BitVector FCPtrAttributeMapBase::KeysFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << FCPtrAttributeMapBase::KeysFieldId)
Definition at line 100 of file OSGFCPtrAttributeMapBase.h.
Referenced by osg::FCPtrAttributeMapBase::copyFromBin(), osg::FCPtrAttributeMapBase::copyToBin(), osg::FCPtrAttributeMapBase::executeSyncImpl(), and osg::FCPtrAttributeMapBase::getBinSize().
const osg::BitVector FCPtrAttributeMapBase::ValuesFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << FCPtrAttributeMapBase::ValuesFieldId)
Definition at line 101 of file OSGFCPtrAttributeMapBase.h.
Referenced by osg::FCPtrAttributeMapBase::copyFromBin(), osg::FCPtrAttributeMapBase::copyToBin(), osg::FCPtrAttributeMapBase::executeSyncImpl(), and osg::FCPtrAttributeMapBase::getBinSize().
const osg::BitVector FCPtrAttributeMapBase::MTInfluenceMask [static, inherited] |
Initial value:
(Inherited::MTInfluenceMask) |
(static_cast<BitVector>(0x0) << Inherited::NextFieldId)
Reimplemented from osg::FieldContainer.
Definition at line 104 of file OSGFCPtrAttributeMapBase.h.
std::string FCPtrAttributeMapBase::_mfKeys [protected, inherited] |
Definition at line 164 of file OSGFCPtrAttributeMapBase.h.
Referenced by osg::FCPtrAttributeMapBase::copyFromBin(), osg::FCPtrAttributeMapBase::copyToBin(), osg::FCPtrAttributeMapBase::executeSyncImpl(), osg::FCPtrAttributeMapBase::getBinSize(), osg::FCPtrAttributeMapBase::getKeys(), and osg::FCPtrAttributeMapBase::getMFKeys().
FieldContainerPtr FCPtrAttributeMapBase::_mfValues [protected, inherited] |
Definition at line 165 of file OSGFCPtrAttributeMapBase.h.
Referenced by osg::FCPtrAttributeMapBase::copyFromBin(), osg::FCPtrAttributeMapBase::copyToBin(), osg::FCPtrAttributeMapBase::executeSyncImpl(), osg::FCPtrAttributeMapBase::getBinSize(), osg::FCPtrAttributeMapBase::getMFValues(), and osg::FCPtrAttributeMapBase::getValues().
const BitVector Attachment::InternalFieldMask = (1 << Attachment::InternalFieldId) [static, inherited] |
Definition at line 93 of file OSGAttachmentImpl.h.
Referenced by osg::Attachment::copyFromBin(), osg::Attachment::copyToBin(), osg::Attachment::executeSyncImpl(), and osg::Attachment::getBinSize().
const BitVector Attachment::ParentsFieldMask = (1 << Attachment::ParentsFieldId) [static, inherited] |
Definition at line 94 of file OSGAttachmentImpl.h.
Referenced by osg::SharePtrGraphOp::addAttachmentParent(), osg::SharePtrGraphOp::clearAttachmentParent(), osg::SharePtrGraphOp::compareFCs(), osg::Attachment::copyFromBin(), osg::Attachment::copyToBin(), osg::Attachment::executeSyncImpl(), osg::Attachment::getBinSize(), osg::Surface::onDestroy(), osg::Geometry::onDestroy(), osg::Particles::setColors(), osg::Geometry::setColors(), osg::Surface::setControlPoints(), osg::Geometry::setIndices(), osg::Geometry::setLengths(), osg::Particles::setNormals(), osg::Geometry::setNormals(), osg::Particles::setPositions(), osg::Geometry::setPositions(), osg::Geometry::setSecondaryColors(), osg::Particles::setSecPositions(), osg::Geometry::setTexCoords(), osg::Geometry::setTexCoords1(), osg::Geometry::setTexCoords2(), osg::Geometry::setTexCoords3(), osg::Geometry::setTexCoords4(), osg::Geometry::setTexCoords5(), osg::Geometry::setTexCoords6(), osg::Geometry::setTexCoords7(), osg::Surface::setTextureControlPoints(), osg::Geometry::setTypes(), osg::AttachmentContainer::subAttachment(), osg::AttachmentContainer::~AttachmentContainer(), and osg::Particles::~Particles().
SFBool osg::Attachment::_sfInternal [protected, inherited] |
Definition at line 165 of file OSGAttachmentImpl.h.
Referenced by osg::Attachment::copyFromBin(), osg::Attachment::copyToBin(), osg::Attachment::executeSyncImpl(), osg::Attachment::getBinSize(), osg::Attachment::getInternal(), osg::Attachment::getSFInternal(), and osg::Attachment::setInternal().
MFFieldContainerPtr osg::Attachment::_parents [protected, inherited] |
Definition at line 166 of file OSGAttachmentImpl.h.
Referenced by osg::Attachment::addParent(), osg::Attachment::copyFromBin(), osg::Attachment::copyToBin(), osg::Attachment::dump(), osg::Attachment::executeSyncImpl(), osg::Attachment::findParent(), osg::Attachment::getBinSize(), osg::Attachment::getMFParents(), osg::Attachment::getParents(), and osg::Attachment::subParent().
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