#include <OSGMaterialDrawable.h>
Inheritance diagram for osg::MaterialDrawable:

Public Types | |
| typedef MaterialDrawablePtr | Ptr |
| enum | { MaterialFieldId = Inherited::NextFieldId, NextFieldId = MaterialFieldId + 1 } |
Public Member Functions | |
action handler | |
| *virtual Action::ResultE | drawPrimitives (DrawActionBase *action) |
| initialize the static features of the class, e.g. action callbacks | |
| Action::ResultE | drawActionHandler (Action *action) |
| initialize the static features of the class, e.g. action callbacks | |
| Action::ResultE | renderActionHandler (Action *action) |
| initialize the static features of the class, e.g. action callbacks | |
Sync | |
| *virtual void | changed (BitVector whichField, UInt32 origin) |
| react to field changes | |
Output | |
| *virtual void | dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const |
| output the instance for debug purposes | |
Field Set | |
| *void | setMaterial (const MaterialPtr &value) |
| Set the value of the MaterialDrawable::_sfMaterial field. | |
FieldContainer Get | |
| *virtual FieldContainerType & | getType (void) |
| virtual const FieldContainerType & | getType (void) const |
| virtual UInt32 | getContainerSize (void) const |
Field Get | |
| *SFMaterialPtr * | getSFMaterial (void) |
| Get the MaterialDrawable::_sfMaterial field. | |
| MaterialPtr & | getMaterial (void) |
| Get the value of the MaterialDrawable::_sfMaterial field. | |
| const MaterialPtr & | getMaterial (void) const |
| Get the value of the MaterialDrawable::_sfMaterial 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) |
Clone | |
| *virtual FieldContainerPtr | shallowCopy (void) const =0 |
Static Public Member Functions | |
Class Get | |
| *static FieldContainerType & | getClassType (void) |
| access the type of the class | |
| static UInt32 | getClassTypeId (void) |
| access the numerical type of the class | |
Static Public Attributes | |
| static const osg::BitVector | MaterialFieldMask |
| static const osg::BitVector | MTInfluenceMask |
| static const BitVector | ParentsFieldMask = (1 << NodeCore::ParentsFieldId ) |
| static const BitVector | AttachmentsFieldMask |
| static const BitVector | NextFieldMask |
static stat elem | |
| *static StatElemDesc< StatIntElem > | statNTriangles |
| static StatElemDesc< StatIntElem > | statNLines |
| static StatElemDesc< StatIntElem > | statNPoints |
| static StatElemDesc< StatIntElem > | statNVertices |
| static StatElemDesc< StatIntElem > | statNPrimitives |
Protected Member Functions | |
Constructors | |
| * | MaterialDrawable (void) |
| Constructor. | |
| MaterialDrawable (const MaterialDrawable &source) | |
| Copy Constructor. | |
Destructors | |
| *virtual | ~MaterialDrawable (void) |
| Destructor. | |
Sync | |
| *void | executeSyncImpl (MaterialDrawableBase *pOther, const BitVector &whichField) |
| virtual void | executeSync (FieldContainer &other, const BitVector &whichField) |
Sync | |
| *void | executeSyncImpl (DrawableBase *pOther, const BitVector &whichField) |
Protected Attributes | |
Fields | |
| *SFMaterialPtr | _sfMaterial |
Private Types | |
| typedef MaterialDrawableBase | Inherited |
Private Member Functions | |
| void | operator= (const MaterialDrawable &source) |
Static Private Member Functions | |
| static void | initMethod (void) |
| initialize the static features of the class, e.g. action callbacks | |
Friends | |
| class | FieldContainer |
| class | MaterialDrawableBase |
Definition at line 57 of file OSGMaterialDrawable.h.
|
|
Reimplemented from osg::MaterialDrawableBase. Reimplemented in osg::Geometry, osg::GeometryBase, osg::Slices, osg::SlicesBase, osg::Particles, osg::ParticlesBase, osg::DVRGeometry, osg::DVRGeometryBase, osg::Surface, and osg::SurfaceBase. Definition at line 61 of file OSGMaterialDrawable.h. |
|
|
Reimplemented from osg::DrawableBase. Reimplemented in osg::GeometryBase, osg::SlicesBase, osg::ParticlesBase, osg::DVRGeometryBase, and osg::SurfaceBase. Definition at line 90 of file OSGMaterialDrawableBase.h. |
|
|
Reimplemented from osg::NodeCore. Definition at line 92 of file OSGMaterialDrawableBase.h. 00093 { 00094 MaterialFieldId = Inherited::NextFieldId, 00095 NextFieldId = MaterialFieldId + 1 00096 };
|
|
|
Definition at line 65 of file OSGMaterialDrawable.cpp. 00065 : 00066 Inherited() 00067 { 00068 }
|
|
|
Definition at line 72 of file OSGMaterialDrawable.cpp. 00072 : 00073 Inherited(source) 00074 { 00075 }
|
|
|
Definition at line 79 of file OSGMaterialDrawable.cpp.
|
|
|
Reimplemented in osg::Geometry, osg::Slices, osg::Particles, and osg::Surface. Definition at line 87 of file OSGMaterialDrawable.cpp. References osg::Action::Continue, and FWARNING. Referenced by drawActionHandler(), and renderActionHandler(). 00088 { 00089 FWARNING (("You should overload drawPrimitives in your code\n")); 00090 00091 return Action::Continue; 00092 }
|
|
|
|
||||||||||||
|
Reimplemented from osg::Drawable. Reimplemented in osg::Geometry, osg::Slices, osg::Particles, osg::DVRGeometry, and osg::Surface. Definition at line 153 of file OSGMaterialDrawable.cpp. References osg::Drawable::changed(). Referenced by osg::Particles::changed(), and osg::Geometry::changed(). 00154 { 00155 Inherited::changed(whichField, origin); 00156 }
|
|
||||||||||||
|
Reimplemented from osg::Drawable. Reimplemented in osg::Geometry, osg::Slices, osg::Particles, osg::DVRGeometry, and osg::Surface. Definition at line 160 of file OSGMaterialDrawable.cpp. References SLOG. 00162 { 00163 SLOG << "Dump MaterialDrawable NI" << std::endl; 00164 }
|
|
|
Reimplemented from osg::MaterialDrawableBase. Reimplemented in osg::Geometry, osg::Slices, and osg::Particles. Definition at line 46 of file OSGMaterialDrawable.inl. References osg::MaterialDrawableBase::_sfMaterial, osg::SField< FieldTypeT, fieldNameSpace >::getValue(), and osg::setRefdCP(). 00047 { 00048 setRefdCP(_sfMaterial.getValue(), value); 00049 }
|
|
|
Reimplemented from osg::Drawable. Reimplemented in osg::Geometry, osg::Slices, osg::Particles, osg::DVRGeometry, and osg::Surface. Definition at line 147 of file OSGMaterialDrawable.cpp.
|
|
|
|
|
|
Reimplemented from osg::DrawableBase. Reimplemented in osg::GeometryBase, osg::SlicesBase, osg::ParticlesBase, osg::DVRGeometryBase, and osg::SurfaceBase. Definition at line 58 of file OSGMaterialDrawableBase.inl. References osg::MaterialDrawableBase::_type. 00059 { 00060 return _type; 00061 }
|
|
|
Reimplemented from osg::DrawableBase. Reimplemented in osg::GeometryBase, osg::SlicesBase, osg::ParticlesBase, osg::DVRGeometryBase, and osg::SurfaceBase. Definition at line 65 of file OSGMaterialDrawableBase.inl. References osg::MaterialDrawableBase::_type, and osg::TypeBase::getId(). 00066 { 00067 return _type.getId(); 00068 }
|
|
|
Reimplemented from osg::DrawableBase. Reimplemented in osg::GeometryBase, osg::SlicesBase, osg::ParticlesBase, osg::DVRGeometryBase, and osg::SurfaceBase. Definition at line 106 of file OSGMaterialDrawableBase.cpp. References osg::MaterialDrawableBase::_type. 00107 { 00108 return _type; 00109 }
|
|
|
Reimplemented from osg::DrawableBase. Reimplemented in osg::GeometryBase, osg::SlicesBase, osg::ParticlesBase, osg::DVRGeometryBase, and osg::SurfaceBase. Definition at line 111 of file OSGMaterialDrawableBase.cpp. References osg::MaterialDrawableBase::_type. 00112 { 00113 return _type; 00114 }
|
|
|
Reimplemented from osg::DrawableBase. Reimplemented in osg::GeometryBase, osg::SlicesBase, osg::ParticlesBase, osg::DVRGeometryBase, and osg::SurfaceBase. Definition at line 117 of file OSGMaterialDrawableBase.cpp. 00118 { 00119 return sizeof(MaterialDrawable); 00120 }
|
|
|
Definition at line 75 of file OSGMaterialDrawableBase.inl. References osg::MaterialDrawableBase::_sfMaterial. 00076 { 00077 return &_sfMaterial; 00078 }
|
|
|
Definition at line 83 of file OSGMaterialDrawableBase.inl. References osg::MaterialDrawableBase::_sfMaterial, and osg::SField< FieldTypeT, fieldNameSpace >::getValue(). Referenced by osg::Surface::buildSurface(), osg::Surface::clone(), osg::Geometry::clone(), drawActionHandler(), osg::RenderAction::dropGeometry(), osg::Geometry::dump(), osg::Geometry::MergeIndex(), and renderActionHandler(). 00084 { 00085 return _sfMaterial.getValue(); 00086 }
|
|
|
Definition at line 90 of file OSGMaterialDrawableBase.inl. References osg::MaterialDrawableBase::_sfMaterial, and osg::SField< FieldTypeT, fieldNameSpace >::getValue(). 00091 { 00092 return _sfMaterial.getValue(); 00093 }
|
|
|
Reimplemented from osg::DrawableBase. Reimplemented in osg::GeometryBase, osg::SlicesBase, osg::ParticlesBase, osg::DVRGeometryBase, and osg::SurfaceBase. Definition at line 179 of file OSGMaterialDrawableBase.cpp. References osg::MaterialDrawableBase::_sfMaterial, osg::SField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::DrawableBase::getBinSize(), osg::MaterialDrawableBase::MaterialFieldMask, and osg::FieldBits::NoField. Referenced by osg::SlicesBase::getBinSize(), osg::ParticlesBase::getBinSize(), and osg::GeometryBase::getBinSize(). 00180 { 00181 UInt32 returnValue = Inherited::getBinSize(whichField); 00182 00183 if(FieldBits::NoField != (MaterialFieldMask & whichField)) 00184 { 00185 returnValue += _sfMaterial.getBinSize(); 00186 } 00187 00188 00189 return returnValue; 00190 }
|
|
||||||||||||
|
Reimplemented from osg::DrawableBase. Reimplemented in osg::GeometryBase, osg::SlicesBase, osg::ParticlesBase, osg::DVRGeometryBase, and osg::SurfaceBase. Definition at line 192 of file OSGMaterialDrawableBase.cpp. References osg::MaterialDrawableBase::_sfMaterial, osg::SField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::DrawableBase::copyToBin(), osg::MaterialDrawableBase::MaterialFieldMask, and osg::FieldBits::NoField. Referenced by osg::SlicesBase::copyToBin(), osg::ParticlesBase::copyToBin(), and osg::GeometryBase::copyToBin(). 00194 { 00195 Inherited::copyToBin(pMem, whichField); 00196 00197 if(FieldBits::NoField != (MaterialFieldMask & whichField)) 00198 { 00199 _sfMaterial.copyToBin(pMem); 00200 } 00201 00202 00203 }
|
|
||||||||||||
|
Reimplemented from osg::DrawableBase. Reimplemented in osg::GeometryBase, osg::SlicesBase, osg::ParticlesBase, osg::DVRGeometryBase, and osg::SurfaceBase. Definition at line 205 of file OSGMaterialDrawableBase.cpp. References osg::MaterialDrawableBase::_sfMaterial, osg::SField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::DrawableBase::copyFromBin(), osg::MaterialDrawableBase::MaterialFieldMask, and osg::FieldBits::NoField. Referenced by osg::SlicesBase::copyFromBin(), osg::ParticlesBase::copyFromBin(), and osg::GeometryBase::copyFromBin(). 00207 { 00208 Inherited::copyFromBin(pMem, whichField); 00209 00210 if(FieldBits::NoField != (MaterialFieldMask & whichField)) 00211 { 00212 _sfMaterial.copyFromBin(pMem); 00213 } 00214 00215 00216 }
|
|
||||||||||||
|
Definition at line 219 of file OSGMaterialDrawableBase.cpp. References osg::MaterialDrawableBase::_sfMaterial, osg::DrawableBase::executeSyncImpl(), osg::MaterialDrawableBase::MaterialFieldMask, osg::FieldBits::NoField, and osg::SField< FieldTypeT, fieldNameSpace >::syncWith(). Referenced by osg::MaterialDrawableBase::executeSync(), osg::SlicesBase::executeSyncImpl(), osg::ParticlesBase::executeSyncImpl(), and osg::GeometryBase::executeSyncImpl(). 00221 { 00222 00223 Inherited::executeSyncImpl(pOther, whichField); 00224 00225 if(FieldBits::NoField != (MaterialFieldMask & whichField)) 00226 _sfMaterial.syncWith(pOther->_sfMaterial); 00227 00228 00229 }
|
|
||||||||||||
|
Definition at line 182 of file OSGDrawableBase.cpp. References osg::NodeCore::executeSyncImpl(). Referenced by osg::DrawableBase::executeSync(), and osg::MaterialDrawableBase::executeSyncImpl(). 00184 { 00185 00186 Inherited::executeSyncImpl(pOther, whichField); 00187 00188 00189 }
|
|
||||||||||||
|
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::DrawableBase. Reimplemented in osg::GeometryBase, osg::SlicesBase, osg::ParticlesBase, osg::DVRGeometryBase, and osg::SurfaceBase. Definition at line 124 of file OSGMaterialDrawableBase.cpp. References osg::MaterialDrawableBase::executeSyncImpl(). 00126 { 00127 this->executeSyncImpl((MaterialDrawableBase *) &other, whichField); 00128 }
|
|
|
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 |