#include <OSGShaderParameter.h>
Inheritance diagram for osg::ShaderParameter:

TypeId's | |
| enum | SHPType { SHPTypeUnknown = 0, SHPTypeBool, SHPTypeInt, SHPTypeReal, SHPTypeVec2s, SHPTypeVec3s, SHPTypeVec4s, SHPTypeVec2f, SHPTypeVec3f, SHPTypeVec4f, SHPTypeMatrix, SHPTypeString } |
| SHPType | getTypeId (void) |
Output | |
| *virtual void | dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const |
| bool | hasChanged (void) |
| void | resetChanged (void) |
Destructors | |
| *virtual | ~ShaderParameter (void) |
| void | setTypeId (SHPType type) |
| void | setChanged (void) |
Sync | |
| *void | executeSyncImpl (ShaderParameterBase *pOther, const BitVector &whichField) |
| virtual void | executeSync (FieldContainer &other, const BitVector &whichField) |
Public Types | |
| typedef ShaderParameterPtr | Ptr |
| enum | { NameFieldId = Inherited::NextFieldId, NextFieldId = NameFieldId + 1 } |
Public Member Functions | |
Clone | |
| *virtual FieldContainerPtr | shallowCopy (void) const =0 |
Clone | |
| *virtual FieldContainerPtr | shallowCopy (void) const =0 |
Sync | |
| *virtual void | changed (BitVector whichField, UInt32 origin) |
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) |
Clone | |
| *virtual FieldContainerPtr | shallowCopy (void) const =0 |
Clone | |
| *virtual FieldContainerPtr | shallowCopy (void) const =0 |
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 | NameFieldMask |
| static const osg::BitVector | MTInfluenceMask |
| static const BitVector | AttachmentsFieldMask |
| static const BitVector | NextFieldMask |
Protected Member Functions | |
Constructors | |
| * | ShaderParameter (void) |
| ShaderParameter (const ShaderParameter &source) | |
Private Types | |
| typedef ShaderParameterBase | Inherited |
Private Member Functions | |
| void | operator= (const ShaderParameter &source) |
Static Private Member Functions | |
| static void | initMethod (void) |
Private Attributes | |
| bool | _changed |
| SHPType | _typeid |
Friends | |
| class | FieldContainer |
| class | ShaderParameterBase |
Definition at line 55 of file OSGShaderParameter.h.
|
|
|
Reimplemented in osg::ShaderParameterBoolBase, osg::ShaderParameterIntBase, osg::ShaderParameterMatrixBase, osg::ShaderParameterRealBase, osg::ShaderParameterStringBase, osg::ShaderParameterVec2fBase, osg::ShaderParameterVec3fBase, and osg::ShaderParameterVec4fBase. Definition at line 90 of file OSGShaderParameterBase.h. |
|
|
Definition at line 87 of file OSGShaderParameter.h. 00088 { 00089 SHPTypeUnknown = 0, 00090 SHPTypeBool, 00091 SHPTypeInt, 00092 SHPTypeReal, 00093 SHPTypeVec2s, 00094 SHPTypeVec3s, 00095 SHPTypeVec4s, 00096 SHPTypeVec2f, 00097 SHPTypeVec3f, 00098 SHPTypeVec4f, 00099 SHPTypeMatrix, 00100 SHPTypeString 00101 };
|
|
|
Reimplemented from osg::AttachmentContainer. Definition at line 92 of file OSGShaderParameterBase.h. 00093 { 00094 NameFieldId = Inherited::NextFieldId, 00095 NextFieldId = NameFieldId + 1 00096 };
|
|
|
Definition at line 83 of file OSGShaderParameter.cpp. 00083 : 00084 Inherited(), 00085 _changed(false), 00086 _typeid(SHPTypeUnknown) 00087 { 00088 }
|
|
|
Definition at line 90 of file OSGShaderParameter.cpp. 00090 : 00091 Inherited(source), 00092 _changed(source._changed), 00093 _typeid(source._typeid) 00094 { 00095 }
|
|
|
Definition at line 97 of file OSGShaderParameter.cpp.
|
|
||||||||||||
|
Reimplemented from osg::AttachmentContainer. Reimplemented in osg::ShaderParameterBool, osg::ShaderParameterInt, osg::ShaderParameterMatrix, osg::ShaderParameterReal, osg::ShaderParameterString, osg::ShaderParameterVec2f, osg::ShaderParameterVec3f, and osg::ShaderParameterVec4f. Definition at line 128 of file OSGShaderParameter.cpp. References osg::AttachmentContainer::changed(). Referenced by osg::ShaderParameterVec4f::changed(), osg::ShaderParameterVec3f::changed(), osg::ShaderParameterVec2f::changed(), osg::ShaderParameterString::changed(), osg::ShaderParameterReal::changed(), osg::ShaderParameterMatrix::changed(), osg::ShaderParameterInt::changed(), and osg::ShaderParameterBool::changed(). 00129 { 00130 Inherited::changed(whichField, origin); 00131 }
|
|
||||||||||||
|
Reimplemented from osg::AttachmentContainer. Reimplemented in osg::ShaderParameterBool, osg::ShaderParameterInt, osg::ShaderParameterMatrix, osg::ShaderParameterReal, osg::ShaderParameterString, osg::ShaderParameterVec2f, osg::ShaderParameterVec3f, and osg::ShaderParameterVec4f. Definition at line 133 of file OSGShaderParameter.cpp. References SLOG. 00135 { 00136 SLOG << "Dump ShaderParameter NI" << std::endl; 00137 }
|
|
|
Definition at line 111 of file OSGShaderParameter.cpp. References _changed. 00112 { 00113 return _changed; 00114 }
|
|
|
Definition at line 116 of file OSGShaderParameter.cpp. References _changed. 00117 { 00118 _changed = false; 00119 }
|
|
|
Definition at line 106 of file OSGShaderParameter.cpp. References _typeid. 00107 { 00108 return _typeid; 00109 }
|
|
|
|
Definition at line 121 of file OSGShaderParameter.cpp. References _changed. Referenced by osg::ShaderParameterVec4f::changed(), osg::ShaderParameterVec3f::changed(), osg::ShaderParameterVec2f::changed(), osg::ShaderParameterString::changed(), osg::ShaderParameterReal::changed(), osg::ShaderParameterMatrix::changed(), osg::ShaderParameterInt::changed(), and osg::ShaderParameterBool::changed(). 00122 { 00123 _changed = true; 00124 }
|
|
|
Reimplemented in osg::ShaderParameterBool, osg::ShaderParameterInt, osg::ShaderParameterMatrix, osg::ShaderParameterReal, osg::ShaderParameterString, osg::ShaderParameterVec2f, osg::ShaderParameterVec3f, and osg::ShaderParameterVec4f. Definition at line 68 of file OSGShaderParameter.cpp.
|
|
|
|
|
|
Reimplemented from osg::AttachmentContainer. Reimplemented in osg::ShaderParameterBoolBase, osg::ShaderParameterIntBase, osg::ShaderParameterMatrixBase, osg::ShaderParameterRealBase, osg::ShaderParameterStringBase, osg::ShaderParameterVec2fBase, osg::ShaderParameterVec3fBase, and osg::ShaderParameterVec4fBase. Definition at line 58 of file OSGShaderParameterBase.inl. References osg::ShaderParameterBase::_type. 00059 { 00060 return _type; 00061 }
|
|
|
Reimplemented from osg::AttachmentContainer. Reimplemented in osg::ShaderParameterBoolBase, osg::ShaderParameterIntBase, osg::ShaderParameterMatrixBase, osg::ShaderParameterRealBase, osg::ShaderParameterStringBase, osg::ShaderParameterVec2fBase, osg::ShaderParameterVec3fBase, and osg::ShaderParameterVec4fBase. Definition at line 65 of file OSGShaderParameterBase.inl. References osg::ShaderParameterBase::_type, and osg::TypeBase::getId(). 00066 { 00067 return _type.getId(); 00068 }
|
|
|
Reimplemented from osg::AttachmentContainer. Reimplemented in osg::ShaderParameterBoolBase, osg::ShaderParameterIntBase, osg::ShaderParameterMatrixBase, osg::ShaderParameterRealBase, osg::ShaderParameterStringBase, osg::ShaderParameterVec2fBase, osg::ShaderParameterVec3fBase, and osg::ShaderParameterVec4fBase. Definition at line 106 of file OSGShaderParameterBase.cpp. References osg::ShaderParameterBase::_type. 00107 { 00108 return _type; 00109 }
|
|
|
Reimplemented from osg::AttachmentContainer. Reimplemented in osg::ShaderParameterBoolBase, osg::ShaderParameterIntBase, osg::ShaderParameterMatrixBase, osg::ShaderParameterRealBase, osg::ShaderParameterStringBase, osg::ShaderParameterVec2fBase, osg::ShaderParameterVec3fBase, and osg::ShaderParameterVec4fBase. Definition at line 111 of file OSGShaderParameterBase.cpp. References osg::ShaderParameterBase::_type. 00112 { 00113 return _type; 00114 }
|
|
|
Reimplemented from osg::AttachmentContainer. Reimplemented in osg::ShaderParameterBoolBase, osg::ShaderParameterIntBase, osg::ShaderParameterMatrixBase, osg::ShaderParameterRealBase, osg::ShaderParameterStringBase, osg::ShaderParameterVec2fBase, osg::ShaderParameterVec3fBase, and osg::ShaderParameterVec4fBase. Definition at line 117 of file OSGShaderParameterBase.cpp. 00118 { 00119 return sizeof(ShaderParameter); 00120 }
|
|
|
Definition at line 75 of file OSGShaderParameterBase.inl. References osg::ShaderParameterBase::_sfName. 00076 { 00077 return &_sfName; 00078 }
|
|
|
Definition at line 83 of file OSGShaderParameterBase.inl. References osg::ShaderParameterBase::_sfName, and osg::SField< FieldTypeT, fieldNameSpace >::getValue(). 00084 { 00085 return _sfName.getValue(); 00086 }
|
|
|
Definition at line 90 of file OSGShaderParameterBase.inl. References osg::ShaderParameterBase::_sfName, and osg::SField< FieldTypeT, fieldNameSpace >::getValue(). 00091 { 00092 return _sfName.getValue(); 00093 }
|
|
|
Definition at line 97 of file OSGShaderParameterBase.inl. References osg::ShaderParameterBase::_sfName, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
|
|
|
||||||||||||
|
||||||||||||
|
||||||||||||
|
Definition at line 219 of file OSGShaderParameterBase.cpp. References osg::ShaderParameterBase::_sfName, osg::AttachmentContainer::executeSyncImpl(), osg::ShaderParameterBase::NameFieldMask, osg::FieldBits::NoField, and osg::SField< FieldTypeT, fieldNameSpace >::syncWith(). Referenced by osg::ShaderParameterBase::executeSync(), osg::ShaderParameterVec4fBase::executeSyncImpl(), osg::ShaderParameterVec3fBase::executeSyncImpl(), osg::ShaderParameterVec2fBase::executeSyncImpl(), osg::ShaderParameterStringBase::executeSyncImpl(), osg::ShaderParameterRealBase::executeSyncImpl(), osg::ShaderParameterMatrixBase::executeSyncImpl(), osg::ShaderParameterIntBase::executeSyncImpl(), and osg::ShaderParameterBoolBase::executeSyncImpl(). 00221 { 00222 00223 Inherited::executeSyncImpl(pOther, whichField); 00224 00225 if(FieldBits::NoField != (NameFieldMask & whichField)) 00226 _sfName.syncWith(pOther->_sfName); 00227 00228 00229 }
|
|
||||||||||||
|
||||||||||||
|
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::AttachmentContainer. Reimplemented in osg::ShaderParameterBoolBase, osg::ShaderParameterIntBase, osg::ShaderParameterMatrixBase, osg::ShaderParameterRealBase, osg::ShaderParameterStringBase, osg::ShaderParameterVec2fBase, osg::ShaderParameterVec3fBase, and osg::ShaderParameterVec4fBase. Definition at line 124 of file OSGShaderParameterBase.cpp. References osg::ShaderParameterBase::executeSyncImpl(). 00126 { 00127 this->executeSyncImpl((ShaderParameterBase *) &other, whichField); 00128 }
|
|
||||||||||||
|
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 else 00162 { 00163 return (*fcI).second; 00164 } 00165 }
|
|
||||||||||||
|
Definition at line 57 of file OSGAttachmentContainerImpl.inl. 00060 { 00061 return findAttachment(type.getGroupId(), binding); 00062 }
|
|
|
Definition at line 170 of file OSGAttachmentContainer.cpp. References osg::AttachmentContainer::_attachmentMap. 00171 { 00172 return &_attachmentMap; 00173 }
|
|
|
Definition at line 352 of file OSGAttachmentContainer.cpp. Referenced by osg::AttachmentContainer::subAttachment(), and osg::AttachmentContainer::~AttachmentContainer(). 00353 { 00354 return AttachmentContainerPtr(*this); 00355 }
|