#include <OSGInline.h>
Inheritance diagram for osg::Inline:

Public Types | |
| typedef InlinePtr | Ptr |
| enum | { UrlFieldId = Inherited::NextFieldId, LoadedFieldId = UrlFieldId + 1, NextFieldId = LoadedFieldId + 1 } |
Public Member Functions | |
Sync | |
| *virtual void | changed (BitVector whichField, UInt32 origin) |
Dump | |
| *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 |
Field Get | |
| *MFString * | getMFUrl (void) |
| Get the Inline::_mfUrl field. | |
| SFBool * | getSFLoaded (void) |
| Get the Inline::_sfLoaded field. | |
| bool & | getLoaded (void) |
| Get the value of the Inline::_sfLoaded field. | |
| const bool & | getLoaded (void) const |
| Get the value of the Inline::_sfLoaded field. | |
| std::string & | getUrl (const UInt32 index) |
| Get the value of the index element the Inline::_mfUrl field. | |
| MFString & | getUrl (void) |
| Get the Inline::_mfUrl field. | |
| const MFString & | getUrl (void) const |
| Get the Inline::_mfUrl field. | |
Field Set | |
| *void | setLoaded (const bool &value) |
| Set the value of the Inline::_sfLoaded 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 |
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 InlinePtr | create (void) |
| create a new instance of the class | |
| static InlinePtr | createEmpty (void) |
| create an empty new instance of the class, do not copy the prototype | |
Static Public Attributes | |
| static const osg::BitVector | UrlFieldMask |
| static const osg::BitVector | LoadedFieldMask |
| static const osg::BitVector | MTInfluenceMask |
| static const BitVector | ParentsFieldMask = (1 << NodeCore::ParentsFieldId ) |
| static const BitVector | AttachmentsFieldMask |
| static const BitVector | NextFieldMask |
Protected Types | |
| typedef InlineBase | Inherited |
Protected Member Functions | |
Draw | |
| *Action::ResultE | drawEnter (Action *action) |
| Action::ResultE | drawLeave (Action *action) |
Constructors | |
| * | Inline (void) |
| Inline (const Inline &source) | |
Destructors | |
| *virtual | ~Inline (void) |
Sync | |
| *void | executeSyncImpl (InlineBase *pOther, const BitVector &whichField) |
| virtual void | executeSync (FieldContainer &other, const BitVector &whichField) |
Protected Attributes | |
Fields | |
| *MFString | _mfUrl |
| SFBool | _sfLoaded |
Private Member Functions | |
| void | operator= (const Inline &source) |
| prohibit default function (move to 'public' if needed) | |
Static Private Member Functions | |
Init | |
| *static void | initMethod (void) |
Friends | |
| class | FieldContainer |
| class | InlineBase |
Definition at line 52 of file OSGInline.h.
|
|
Reimplemented from osg::InlineBase. Definition at line 76 of file OSGInline.h. |
|
|
Definition at line 91 of file OSGInlineBase.h. |
|
|
Reimplemented from osg::NodeCore. Definition at line 93 of file OSGInlineBase.h. 00094 { 00095 UrlFieldId = Inherited::NextFieldId, 00096 LoadedFieldId = UrlFieldId + 1, 00097 NextFieldId = LoadedFieldId + 1 00098 };
|
|
|
Definition at line 72 of file OSGInline.cpp. 00072 : 00073 Inherited() 00074 { 00075 }
|
|
|
Definition at line 77 of file OSGInline.cpp. 00077 : 00078 Inherited(source) 00079 { 00080 }
|
|
|
Definition at line 85 of file OSGInline.cpp.
|
|
||||||||||||
|
Reimplemented from osg::AttachmentContainer. Definition at line 55 of file OSGInline.cpp. References osg::AttachmentContainer::changed(). 00056 { 00057 Inherited::changed(whichField, origin); 00058 }
|
|
||||||||||||
|
Reimplemented from osg::NodeCore. Definition at line 63 of file OSGInline.cpp. References SLOG. 00065 { 00066 SLOG << "Dump Inline NI" << std::endl; 00067 }
|
|
|
Definition at line 92 of file OSGInline.cpp. References osg::Action::Continue, osg::DrawActionBase::selectVisibles(), and osg::Action::Skip. Referenced by initMethod(). 00093 { 00094 DrawAction *da = dynamic_cast<DrawAction *>(action); 00095 00096 if(da->selectVisibles() == 0) 00097 return Action::Skip; 00098 00099 return Action::Continue; 00100 }
|
|
|
Definition at line 102 of file OSGInline.cpp. References osg::Action::Continue. Referenced by initMethod(). 00103 { 00104 return Action::Continue; 00105 }
|
|
|
Definition at line 110 of file OSGInline.cpp. References drawEnter(), drawLeave(), osg::InlineBase::getClassType(), osg::osgTypedMethodFunctor2BaseCPtrRef(), osg::DrawAction::registerEnterDefault(), and osg::DrawAction::registerLeaveDefault(). 00111 { 00112 DrawAction::registerEnterDefault( 00113 getClassType(), 00114 osgTypedMethodFunctor2BaseCPtrRef<Action::ResultE, 00115 InlinePtr , 00116 CNodePtr , 00117 Action *>(&Inline::drawEnter)); 00118 00119 DrawAction::registerLeaveDefault( 00120 getClassType(), 00121 osgTypedMethodFunctor2BaseCPtrRef<Action::ResultE, 00122 InlinePtr , 00123 CNodePtr , 00124 Action *>(&Inline::drawLeave)); 00125 }
|
|
|
|
|
|
Reimplemented from osg::NodeCore. Definition at line 58 of file OSGInlineBase.inl. References osg::InlineBase::_type. Referenced by osg::InlineBase::create(), and initMethod(). 00059 { 00060 return _type; 00061 }
|
|
|
Reimplemented from osg::NodeCore. Definition at line 65 of file OSGInlineBase.inl. References osg::InlineBase::_type, and osg::TypeBase::getId(). 00066 { 00067 return _type.getId(); 00068 }
|
|
|
Reimplemented from osg::NodeCore. Definition at line 117 of file OSGInlineBase.cpp. References osg::InlineBase::_type. 00118 { 00119 return _type; 00120 }
|
|
|
Reimplemented from osg::NodeCore. Definition at line 122 of file OSGInlineBase.cpp. References osg::InlineBase::_type. 00123 { 00124 return _type; 00125 }
|
|
|
Reimplemented from osg::NodeCore. Definition at line 137 of file OSGInlineBase.cpp. 00138 { 00139 return sizeof(Inline); 00140 }
|
|
|
Definition at line 101 of file OSGInlineBase.inl. References osg::InlineBase::_mfUrl. 00102 { 00103 return &_mfUrl; 00104 }
|
|
|
Definition at line 108 of file OSGInlineBase.inl. References osg::InlineBase::_sfLoaded. 00109 { 00110 return &_sfLoaded; 00111 }
|
|
|
Definition at line 116 of file OSGInlineBase.inl. References osg::InlineBase::_sfLoaded, and osg::SField< FieldTypeT, fieldNameSpace >::getValue(). 00117 { 00118 return _sfLoaded.getValue(); 00119 }
|
|
|
Definition at line 123 of file OSGInlineBase.inl. References osg::InlineBase::_sfLoaded, and osg::SField< FieldTypeT, fieldNameSpace >::getValue(). 00124 { 00125 return _sfLoaded.getValue(); 00126 }
|
|
|
Definition at line 138 of file OSGInlineBase.inl. References osg::InlineBase::_mfUrl. 00139 { 00140 return _mfUrl[index]; 00141 }
|
|
|
Definition at line 145 of file OSGInlineBase.inl. References osg::InlineBase::_mfUrl. 00146 { 00147 return _mfUrl; 00148 }
|
|
|
Definition at line 152 of file OSGInlineBase.inl. References osg::InlineBase::_mfUrl. 00153 { 00154 return _mfUrl; 00155 }
|
|
|
Definition at line 130 of file OSGInlineBase.inl. References osg::InlineBase::_sfLoaded, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
|
|
|
Reimplemented from osg::NodeCore. Definition at line 202 of file OSGInlineBase.cpp. References osg::InlineBase::_mfUrl, osg::InlineBase::_sfLoaded, osg::SField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::MField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::NodeCore::getBinSize(), osg::InlineBase::LoadedFieldMask, osg::FieldBits::NoField, and osg::InlineBase::UrlFieldMask. 00203 { 00204 UInt32 returnValue = Inherited::getBinSize(whichField); 00205 00206 if(FieldBits::NoField != (UrlFieldMask & whichField)) 00207 { 00208 returnValue += _mfUrl.getBinSize(); 00209 } 00210 00211 if(FieldBits::NoField != (LoadedFieldMask & whichField)) 00212 { 00213 returnValue += _sfLoaded.getBinSize(); 00214 } 00215 00216 00217 return returnValue; 00218 }
|
|
||||||||||||
|
Reimplemented from osg::NodeCore. Definition at line 220 of file OSGInlineBase.cpp. References osg::InlineBase::_mfUrl, osg::InlineBase::_sfLoaded, osg::SField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::MField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::NodeCore::copyToBin(), osg::InlineBase::LoadedFieldMask, osg::FieldBits::NoField, and osg::InlineBase::UrlFieldMask. 00222 { 00223 Inherited::copyToBin(pMem, whichField); 00224 00225 if(FieldBits::NoField != (UrlFieldMask & whichField)) 00226 { 00227 _mfUrl.copyToBin(pMem); 00228 } 00229 00230 if(FieldBits::NoField != (LoadedFieldMask & whichField)) 00231 { 00232 _sfLoaded.copyToBin(pMem); 00233 } 00234 00235 00236 }
|
|
||||||||||||
|
Reimplemented from osg::NodeCore. Definition at line 238 of file OSGInlineBase.cpp. References osg::InlineBase::_mfUrl, osg::InlineBase::_sfLoaded, osg::SField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::MField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::NodeCore::copyFromBin(), osg::InlineBase::LoadedFieldMask, osg::FieldBits::NoField, and osg::InlineBase::UrlFieldMask. 00240 { 00241 Inherited::copyFromBin(pMem, whichField); 00242 00243 if(FieldBits::NoField != (UrlFieldMask & whichField)) 00244 { 00245 _mfUrl.copyFromBin(pMem); 00246 } 00247 00248 if(FieldBits::NoField != (LoadedFieldMask & whichField)) 00249 { 00250 _sfLoaded.copyFromBin(pMem); 00251 } 00252 00253 00254 }
|
|
|
Definition at line 72 of file OSGInlineBase.inl. References osg::AttachmentContainerPtr::dcast(), osg::InlineBase::getClassType(), osg::FieldContainerType::getPrototype(), osg::NullFC, and osg::InlineBase::shallowCopy(). Referenced by osg::VRMLInlineDesc::init(). 00073 { 00074 InlinePtr fc; 00075 00076 if(getClassType().getPrototype() != OSG::NullFC) 00077 { 00078 fc = InlinePtr::dcast( 00079 getClassType().getPrototype()-> shallowCopy()); 00080 } 00081 00082 return fc; 00083 }
|
|
|
Definition at line 87 of file OSGInlineBase.inl. References osg::FieldContainer::newPtr(). 00088 { 00089 InlinePtr returnValue; 00090 00091 newPtr(returnValue); 00092 00093 return returnValue; 00094 }
|
|
|
Implements osg::FieldContainer. Definition at line 128 of file OSGInlineBase.cpp. References osg::FieldContainer::newPtr(). Referenced by osg::InlineBase::create(). 00129 { 00130 InlinePtr returnValue; 00131 00132 newPtr(returnValue, dynamic_cast<const Inline *>(this)); 00133 00134 return returnValue; 00135 }
|
|
||||||||||||
|
Definition at line 257 of file OSGInlineBase.cpp. References osg::InlineBase::_mfUrl, osg::InlineBase::_sfLoaded, osg::NodeCore::executeSyncImpl(), osg::InlineBase::LoadedFieldMask, osg::FieldBits::NoField, osg::SField< FieldTypeT, fieldNameSpace >::syncWith(), osg::MField< FieldTypeT, fieldNameSpace >::syncWith(), and osg::InlineBase::UrlFieldMask. Referenced by osg::InlineBase::executeSync(). 00259 { 00260 00261 Inherited::executeSyncImpl(pOther, whichField); 00262 00263 if(FieldBits::NoField != (UrlFieldMask & whichField)) 00264 _mfUrl.syncWith(pOther->_mfUrl); 00265 00266 if(FieldBits::NoField != (LoadedFieldMask & whichField)) 00267 _sfLoaded.syncWith(pOther->_sfLoaded); 00268 00269 00270 }
|
|
||||||||||||
|
Definition at line 180 of file OSGNodeCore.inl. References osg::NodeCore::_parents, osg::AttachmentContainer::executeSyncImpl(), osg::FieldBits::NoField, osg::NodeCore::ParentsFieldMask, and osg::MField< FieldTypeT, fieldNameSpace >::syncWith(). Referenced by osg::NodeCore::executeSync(), osg::StateSortingGroupBase::executeSyncImpl(), osg::LightEnvBase::executeSyncImpl(), osg::LightBase::executeSyncImpl(), osg::InlineBase::executeSyncImpl(), osg::GroupBase::executeSyncImpl(), osg::DVRVolumeBase::executeSyncImpl(), and osg::DrawableBase::executeSyncImpl(). 00182 { 00183 Inherited::executeSyncImpl(pOther, whichField); 00184 00185 if(FieldBits::NoField != (ParentsFieldMask & whichField)) 00186 { 00187 _parents.syncWith(pOther->_parents); 00188 } 00189 }
|
|
||||||||||||
|
||||||||||||
|
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().
|
|
||||||||||||
|
Reimplemented from osg::NodeCore. Definition at line 144 of file OSGInlineBase.cpp. References osg::InlineBase::executeSyncImpl(). 00146 { 00147 this->executeSyncImpl((InlineBase *) &other, whichField); 00148 }
|
|
|
Definition at line 56 of file OSGNodeCore.inl. Referenced by osg::Surface::FindClosestPoint(). 00057 { 00058 return _parents; 00059 }
|
|
|
Definition at line 62 of file OSGNodeCore.inl. References osg::NodeCore::_parents. 00063 { 00064 return _parents; 00065 }
|
|
|
Definition at line 68 of file OSGNodeCore.inl. References osg::NodeCore::_parents. 00069 { 00070 return &_parents; 00071 }
|
|
|
Definition at line 237 of file OSGNodeCore.inl. References osg::NodeCore::_parents, and osg::MField< FieldTypeT, fieldNameSpace >::size(). Referenced by osg::Transform::changed(). 00238 { 00239 for(UInt32 i = 0; i < _parents.size(); i++) 00240 { 00241 _parents[i]->invalidateVolume(); 00242 } 00243 }
|
|
|
Reimplemented from osg::FieldContainer. Reimplemented in osg::MaterialPool. Definition at line 142 of file OSGNodeCore.inl.
|
|
|
Definition at line 150 of file OSGNodeCore.inl. References osg::NodeCore::_parents, and osg::MField< FieldTypeT, fieldNameSpace >::push_back(). 00151 { 00152 _parents.push_back(parent); 00153 }
|
|
|
Definition at line 156 of file OSGNodeCore.inl. References osg::NodeCore::_parents, osg::MField< FieldTypeT, fieldNameSpace >::end(), osg::MField< FieldTypeT, fieldNameSpace >::erase(), and osg::MField< FieldTypeT, fieldNameSpace >::find(). 00157 { 00158 MFNodePtr::iterator parentIt = _parents.find(parent); 00159 00160 if(parentIt != _parents.end()) 00161 { 00162 _parents.erase(parentIt); 00163 } 00164 }
|
|
|
Reimplemented in osg::Geometry. Definition at line 170 of file OSGNodeCore.inl. Referenced by osg::MaterialPool::add(), osg::NodeCore::dump(), and osg::MaterialPool::sub().
|
|
|
Definition at line 352 of file OSGAttachmentContainer.cpp. Referenced by osg::AttachmentContainer::subAttachment(), and osg::AttachmentContainer::~AttachmentContainer(). 00353 { 00354 return AttachmentContainerPtr(*this); 00355 }
|
|
|
Reimplemented in osg::Billboard, osg::InverseTransform, and osg::Transform. Definition at line 224 of file OSGNodeCore.inl.
|
|
|
Reimplemented in osg::Geometry, osg::Slices, osg::Particles, osg::DVRVolume, osg::Surface, osg::Billboard, osg::InverseTransform, osg::ProxyGroup, and osg::Transform. Definition at line 232 of file OSGNodeCore.inl. Referenced by osg::Billboard::adjustVolume().
|
|
||||||||||||
|
Definition at line 84 of file OSGAttachmentContainer.cpp. References osg::addRefCP(), osg::beginEditCP(), osg::endEditCP(), osg::NullFC, and osg::subRefCP(). Referenced by osg::AttachmentContainer::AttachmentContainer(), osg::Node::onCreate(), and osg::Image::setAttachmentField(). 00086 { 00087 UInt32 key; 00088 00089 if(fieldContainerP == NullFC) 00090 return; 00091 00092 key = (UInt32 (fieldContainerP->getGroupId()) << 16) | binding; 00093 00094 addRefCP(fieldContainerP); 00095 00096 beginEditCP(fieldContainerP, Attachment::ParentsFieldMask); 00097 { 00098 fieldContainerP->addParent(getPtr()); 00099 } 00100 endEditCP (fieldContainerP, Attachment::ParentsFieldMask); 00101 00102 AttachmentMap::iterator fcI = _attachmentMap.getValue().find(key); 00103 00104 if(fcI != _attachmentMap.getValue().end()) 00105 { 00106 beginEditCP((*fcI).second, Attachment::ParentsFieldMask); 00107 { 00108 (*fcI).second->subParent(getPtr()); 00109 } 00110 endEditCP ((*fcI).second, Attachment::ParentsFieldMask); 00111 00112 subRefCP((*fcI).second); 00113 00114 (*fcI).second = fieldContainerP; 00115 } 00116 else 00117 { 00118 _attachmentMap.getValue()[key] = fieldContainerP; 00119 } 00120 }
|
|
||||||||||||
|
Definition at line 122 of file OSGAttachmentContainer.cpp. References osg::AttachmentContainer::_attachmentMap, osg::beginEditCP(), osg::endEditCP(), osg::AttachmentContainer::getPtr(), osg::SField< FieldTypeT, fieldNameSpace >::getValue(), osg::NullFC, osg::Attachment::ParentsFieldMask, and osg::subRefCP(). 00124 { 00125 UInt32 key; 00126 00127 AttachmentMap::iterator fcI; 00128 00129 if(fieldContainerP == NullFC) 00130 return; 00131 00132 key = (UInt32(fieldContainerP->getGroupId()) << 16) | binding; 00133 00134 fcI = _attachmentMap.getValue().find(key); 00135 00136 if(fcI != _attachmentMap.getValue().end()) 00137 { 00138 beginEditCP(fieldContainerP, Attachment::ParentsFieldMask); 00139 { 00140 (*fcI).second->subParent(getPtr()); 00141 } 00142 endEditCP (fieldContainerP, Attachment::ParentsFieldMask); 00143 00144 subRefCP((*fcI).second); 00145 00146 _attachmentMap.getValue().erase(fcI); 00147 } 00148 }
|
|
||||||||||||
|
Definition at line 150 of file OSGAttachmentContainer.cpp. References osg::AttachmentContainer::_attachmentMap, osg::SField< FieldTypeT, fieldNameSpace >::getValue(), and osg::NullFC. Referenced by osg::Image::findAttachmentField(), and osg::Image::setAttachmentField(). 00152 { 00153 UInt32 key = (UInt32(groupId) << 16) | binding; 00154 00155 AttachmentMap::iterator fcI = _attachmentMap.getValue().find(key); 00156 00157 if(fcI == _attachmentMap.getValue().end()) 00158 { 00159 return NullFC; 00160 } 00161 |